phoboz
Goto Top

HTML Combobox in PHP. Bei Auswahl Button mit Link generieren

Guten Tag liebe Administratoren,

ich habe eine Frage zu dem o.g. Thema. Und zwar habe ich auf meiner Homepage ein HTML-Formular mit einer Combobox. Da in dem gesamten Script PHP und HTML gemixt sind, würde ich es auch hier gerne so versuchen. Wenn der Besucher in de Combobox eine Option auswählt, soll der richtige Button mit dem dazugehörigen Link generiert werden.

Code Beispiel, soweit bin ich jetzt:

<?php
$option = "";  
echo "<p><label for auswahl=\"auswahl\"><p><strong>Bitte w&auml;hlen Sie aus:</strong></p></label></p>";  
echo "<p><select name=\"auswahl\">";  
echo "<option value=\"1\">1</option>";  
echo "<option value=\"2\">2</option>";  
echo "<option value=\"3\">3</option>";  
echo "<option value=\"4\">4</option>";  
echo "</select></p>";  

// Bräuchte jetzt irgendwie eine Variabel, die je nach dem welche Option ausgewählt wurde, beschrieben wird.

if ($option = "1"){  
$button = "<input type=\"button\" value=\"1\" onclick=\"location.href='http://localhost/1.html';\">";  
}
if ($option = "2"){  
$button = "<input type=\"button\" value=\"2\" onclick=\"location.href='http://localhost/2.html';\">";  
}
if ($option = "3"){  
$button = "<input type=\"button\" value=\"3\" onclick=\"location.href='http://localhost/3.html';\">";  
}
if ($option = "4"){  
$button = "<input type=\"button\" value=\"4\" onclick=\"location.href='http://localhost/4.html';\">";  
}

echo $button;

?>

Es harpert daran, das ich nicht weiß, wie ich beim Auswählen die Variabel $option befüllen kann. Also sobald eine Option ausgewählt wird, soll der Button mit dem richtigen Link generiert werden.

Btw. Vielen Dank hatte vor einer Woche, das mit dem " ESCAPEN gelernt von euch, hat mit sehr weitergeholfen.


Grüße

Phoboz

Content-Key: 224204

Url: https://administrator.de/contentid/224204

Printed on: April 19, 2024 at 06:04 o'clock

Member: SlainteMhath
SlainteMhath Dec 11, 2013 updated at 11:35:00 (UTC)
Goto Top
Moin,

mit PHP (alleine) geht das gar nicht. PHP wird am Server ausgeführt, die Selektion in der Combobox geschieht im Browser.
Sowas macht man entweder mit Javascript / jQuery wenn der Link/Button tatsächlich in der bereits im Browser geladenen Seite geändert werden soll, oder in dem man am Server die die (_$POST) Variablen des Formulars auswertet und dann per HTML Header auf die gewünschte Seite redirected.

Etwa so:
if($_POST["option"]=="4") {  
  header('Location: http://www.example.com/'4.html);  
}

lg,
Slainte
Member: Phoboz
Phoboz Dec 11, 2013 updated at 12:07:27 (UTC)
Goto Top
Hi, hab ja n localserver (das oben ist nur ein Beispiel)

das mit den Post Variablen kenn ich bereits aber das geht ja erst wenn man ausgewählt hat und submitet

Wenn ich das Beispiel bei mir ausführe funktioniert alles Super, allerdings fehlt mir die option variable die wie o.g. je nach Auswahl befüllt werden soll.

Könnte mir jmd anhand des Beispiels vllt helfen. Wie würde das mit javascript aussehen. es soll bitte im selben Script ausgeführt werden wie ich mit post Varibeln von HTMl zu PHP übergebe weiß ich möchte ich in diesem Fall aber nicht, da das mein Problem nicht löst.
Member: SlainteMhath
SlainteMhath Dec 11, 2013 at 12:19:46 (UTC)
Goto Top
Schau mal hier: http://api.jquery.com/change/
(Unten auf der Seite ist Beispielcode mit einem Formular)

Wie du die location von dem Link änderst ist hier erklärt..
Member: colinardo
Solution colinardo Dec 11, 2013, updated at Dec 13, 2013 at 09:52:09 (UTC)
Goto Top
Tach auch,
<!doctype html>
<html>
<head>
<meta charset="utf-8">  
<title>Test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>  
<script type="text/javascript">  
$(document).ready(function() {
    $('#auswahl').change(function() {  
		var selval = this.value;
        $('#buttons').html('<input id="'+ selval +'" type="button" value="'+ selval +'">').click(function() {  
            document.location.href = "http://localhost/" + selval + ".html";  
        });
    });
});
</script>
</head>

<body>
  <select id="auswahl">  
    <option value="1">1</option>  
    <option value="2">2</option>  
    <option value="3">3</option>  
    <option value="4">4</option>  
  </select>
<div id="buttons">  
</div>
</body>
</html>
das ganze kannst du jetzt von mir aus alles mit PHP "echo'n" , wenn's dir Spaß macht ... face-wink
Wenn die Options variabel und nicht fest sind, kannst du sie ja mit einem Inline-PHP generieren:
Beispiel:
.
..
...
<body>
  <select id="auswahl">  
    <?php
  	for($i=1;$i <= 10;$i++){
		echo ("<option value=\"$i\">$i</option>\n");  
	}
    ?>
  </select>
...
..
.
oder die HTML-Fragmente vorher in einer Variablen speichern und dann an der entsprechenden Stelle im HTML ausgeben, ist übersichtlicher...

Grüße Uwe
Member: Phoboz
Phoboz Dec 13, 2013 at 09:52:48 (UTC)
Goto Top
Danke habt mir wie immer weitergeholfen face-smile