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-ID: 224204

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

Ausgedruckt am: 24.11.2024 um 21:11 Uhr

SlainteMhath
SlainteMhath 11.12.2013 aktualisiert um 12:35:00 Uhr
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
Phoboz
Phoboz 11.12.2013 aktualisiert um 13:07:27 Uhr
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.
SlainteMhath
SlainteMhath 11.12.2013 um 13:19:46 Uhr
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..
colinardo
Lösung colinardo 11.12.2013, aktualisiert am 13.12.2013 um 10:52:09 Uhr
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
Phoboz
Phoboz 13.12.2013 um 10:52:48 Uhr
Goto Top
Danke habt mir wie immer weitergeholfen face-smile