Phade Geschrieben 3. November 2006 Geschrieben 3. November 2006 Moin, und ein neues Problemchen tut sich mir auf. Und zwar habe ich auf einer HTML-Seite ein paar Radiobuttons aufgelistet. Nun möchte ich, wenn ich einen ausgewählt habe und auf den Submitbutton geklickt habe, dass sich eine entsprechende Seite öffnet. Hat da eventuell eine Idee oder "Anregung"? Im voraus thx Zitieren
robotto7831a Geschrieben 3. November 2006 Geschrieben 3. November 2006 In Abhängigkeit soll hinweis.html, danke.html, auskunft.html usw. geöffent werden? Das muss man über JavaScript regeln. Je nach Auswahl des Radio Buttons wird durch JS die entsprechende Seite aufgerufen. Oder Du machst in PHP eine direkte Weiterleitung. Das ist aber unschön. Frank Zitieren
Phade Geschrieben 3. November 2006 Autor Geschrieben 3. November 2006 1In Abhängigkeit soll hinweis.html, danke.html, auskunft.html usw. geöffent werden? 2Das muss man über JavaScript regeln. Je nach Auswahl des Radio Buttons wird durch JS die entsprechende Seite aufgerufen. Oder Du machst in PHP eine direkte Weiterleitung. 3Das ist aber unschön. Frank 1 Richtig, ich wähle einen Radiobutton aus und klicke anschließend auf einen Submitbutton der dann die entsprechende Seite(die zum Radiobutton gehört) öffnent. 2 Ist das leichter zu erstellen als in PHP? 3 Hmmm....wieso ist das unschön? Gibt es da Sicherheitsprobleme oder ist das zu kompliziert? thx Zitieren
etreu Geschrieben 3. November 2006 Geschrieben 3. November 2006 Du kannst ja auch auf der Seite, an die das Formular geschickt wird den Inhalt deiner Zieldatei einbinden - Stichwort include() und require(). So geht es auch ohne Javascript und Weiterleitung. Zitieren
robotto7831a Geschrieben 3. November 2006 Geschrieben 3. November 2006 Wenn man es über PHP macht dann muss man nach dem Absenden erst überprüfen welche Seite denn aufgerufen wird und in einer Weiterleitung die richtige Seite aufrufen. Mit JavaScript kann man direkt die richtige Seite aufrufen. Der Nachteil ist, wenn jemand JS abgeschaltet hat funktioniert das nicht mehr. Oder Du includierst die einzelnen Seiten mit PHP. Dann wird egal welche Seite man aufgerufen hat die Seite anzeige.php aufgerufen und diese includiert die anderen Seiten. Frank Zitieren
ZuVieL Geschrieben 3. November 2006 Geschrieben 3. November 2006 sind die checkboxen in einem formular? soll also die neue seite mit nach dem klicken auf den submit button geöffnet werden? Zitieren
Phade Geschrieben 3. November 2006 Autor Geschrieben 3. November 2006 sind die checkboxen in einem formular? soll also die neue seite mit nach dem klicken auf den submit button geöffnet werden? Richtig. Genau so möchte ich es haben.... Zitieren
ZuVieL Geschrieben 3. November 2006 Geschrieben 3. November 2006 was ich mich jetzt dadrunter vorstellen konnte ist das: <? $seite = $_REQUEST[seite]; if(!empty($seite)) { header("Location: $seite"); } echo' <form action="'.$PHP_SELF.'" method="POST"> <br><input type="Radio" name="seite" value="http://fachinformatiker.de">http://fachinformatiker.de <br><input type="Radio" name="seite" value="http://www.ebay.de">http://www.ebay.de <br><input type="Radio" name="seite" value="http://www.google.de">http://www.google.de <br><input type="Submit" name="" value="Abschicken"> </form> '; ?> [/PHP] Zitieren
Phade Geschrieben 3. November 2006 Autor Geschrieben 3. November 2006 Genau soetwas habe ich gesucht..... gucke gleich mal ob ich das ürgentwie in meine seite gebastelt bekomme... thx Zitieren
etreu Geschrieben 3. November 2006 Geschrieben 3. November 2006 Wenn du keine absoluten URLs hast geht es auch so (Beispiel angepasst): <? $seite = $_REQUEST[seite]; if(!empty($seite)) { include("$seite.html"); } else { echo <<<AUSWAHL <form action="$PHP_SELF" method="POST"> <br><input type="Radio" name="seite" value="hinweis">hinweis <br><input type="Radio" name="seite" value="danke">danke <br><input type="Submit" name="" value="Abschicken"> </form> AUSWAHL; } ?> [/PHP] Zitieren
Phade Geschrieben 3. November 2006 Autor Geschrieben 3. November 2006 Ich habe das jetzt so geschrieben...: <html> <body bgcolor="black"> <font color="green" size="4"> <div align="center"> <h1><u> Adminpage </u></h1> <p> <hr color="green"> <div align="center"> <?php $seite = $_REQUEST[seite]; if(!empty($seite)) { header("Location: $seite"); } printf(" <form action='.$PHP_SELF.' method='POST'> <br><input type='Radio' name='seite' value='http://fachinformatiker.de'>http://fachinformatiker.de <br><input type='Radio' name='seite' value='http://www.ebay.de'>http://www.ebay.de <br><input type='Radio' name='seite' value='http://www.google.de'>http://www.google.de <br><input type='Submit' name='' value='Abschicken'> </form> "); ?> </div> </font> </body> </html> [/PHP] Doch irgentwie gibt er mir nach dem Absende-Button noch folgendes aus: [code] http://fachinformatiker.de http://www.ebay.de http://www.google.de "); echo "$seite"; ?> [/code] Vor "); echo "$seite";?> kommt noch der Absende-Button.... Ich finde gerade nicht den fehler.... Und das öffnen der Seiten geht auch nicht....stehe gerade vorm Bahnhof Zitieren
SatansEier Geschrieben 3. November 2006 Geschrieben 3. November 2006 das sollte auch gehen: <?php if($_POST['seite1']) $output=implode(file("seite1.htm"),""); if($_POST['seite2']) $output=implode(file("seite2.htm"),""); if(!empty($output)) echo $ouput; ?> <form action="seite.php" method="POST"> <br><input type="Radio" name="seite1" value="hinweis">hinweis <br><input type="Radio" name="seite2" value="danke">danke <br><input type="Submit" name="" value="Abschicken"> </form> [/PHP] getestet hab ich`s aber nicht ^^ Zitieren
Phade Geschrieben 3. November 2006 Autor Geschrieben 3. November 2006 das sollte auch gehen: <?php if($_POST['seite1']) $output=implode(file("seite1.htm"),""); if($_POST['seite2']) $output=implode(file("seite2.htm"),""); if(!empty($output)) echo $ouput; ?> <form action="seite.php" method="POST"> <br><input type="Radio" name="seite1" value="hinweis">hinweis <br><input type="Radio" name="seite2" value="danke">danke <br><input type="Submit" name="" value="Abschicken"> </form> [/PHP] heißt das, das ich zum Beispiel, wenn ich 20 Radiobuttons habe, 20 mal if... schreiben muss?? Zitieren
ZuVieL Geschrieben 3. November 2006 Geschrieben 3. November 2006 heißt das, das ich zum Beispiel, wenn ich 20 Radiobuttons habe, 20 mal if... schreiben muss?? nein <?php if($_POST['seite']) $output=implode(file($_POST['seite']),""); if(!empty($output)) echo $ouput; ?> <form action="seite.php" method="POST"> <br><input type="Radio" name="seite" value="seite1.html">hinweis <br><input type="Radio" name="seite" value="seite2.html">danke <br><input type="Submit" name="" value="Abschicken"> </form> [/PHP] habs nicht getestet. du gibst einfach die seite im value des buttons an Zitieren
SatansEier Geschrieben 3. November 2006 Geschrieben 3. November 2006 in dem fall schon, aber du kannst natürlich auch tricksen: <? $site = $_POST['seite']; $output = implode(file($site.".htm"),""); echo $output; ?> <form action="seite.php" method="POST"> <br><input type="Radio" name="seite" value="seite 1">seite 1 <br><input type="Radio" name="seite" value="seite 2">seite 2 <br><input type="Radio" name="seite" value="seite 3">seite 3 <br><input type="Radio" name="seite" value="seite 4">seite 4 <br><input type="Radio" name="seite" value="seite 5">seite 5 <br><input type="Submit" name="" value="Abschicken"> </form> [/PHP] EDIT: hihi zuVieL =) welche der beiden lösungen wohl besser ist *lalalala*...darüber lässt sich streite. Zitieren
ZuVieL Geschrieben 3. November 2006 Geschrieben 3. November 2006 in dem fall schon, aber du kannst natürlich auch tricksen: <? $site = $_POST['seite']; $output = implode(file($site.".htm"),""); echo $output; ?> <form action="seite.php" method="POST"> <br><input type="Radio" name="seite" value="seite 1">seite 1 <br><input type="Radio" name="seite" value="seite 2">seite 2 <br><input type="Radio" name="seite" value="seite 3">seite 3 <br><input type="Radio" name="seite" value="seite 4">seite 4 <br><input type="Radio" name="seite" value="seite 5">seite 5 <br><input type="Submit" name="" value="Abschicken"> </form> [/PHP] EDIT: hihi zuVieL =) welche der beiden lösungen wohl besser ist *lalalala*...darüber lässt sich streite. sollte beides das gleiche bewirken Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.