• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Wert von value nach PHP über geben

P

Pippilangstrumpf

Guest
Ich möchte aus einem Dropdown Feld den Wert von value nach PHP übergeben.
Wer kann mir da helfen.


<form action="index.php">
<select name="zahl4" size="1" onchange="alert(this.form.zahl4.options[this.form.zahl4.selectedIndex].value)">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</form>
 
Werbung:
Du gibst deinen Optionen mit name="meineoptionen" einen Namen, dann kannst du mit $_GET['meineoptionen'] oder $_POST['meineoptionen'] den Wert bekommen
 
Bevor du allerdings $_POST oder $_GET abfangen kannst, müsstest du in der Form noch das enstsprechende method-Attribute setzen.
 
Werbung:
Egal ob ich $_GET[''] oder $_POST[''] anwende kommt folgende Fehlermeldung.
The requested URL /......../test/7 was not found on this server.
Ausgewählt hatte ich die 7 die dann hinten an die URL dran gehangen wurde.
Ich brauche aber den Wert in PHP um diesen weiter zu verarbeiten.

<select size="1" name="zahl3" onchange="location = this.options[this.selectedIndex].value;">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>

<?php
$_GET['zahl3'];
$_POST['zahl3'];
?>
 
Nein, so funktioniert das nicht. Du musst ein Formular mit dem form-Tag anlegen und darin dein select-Tag mit den Options. Im form-Tag musst Du ein action-Attribut notieren - das ist die Adresse einer anderen Seite mit dem PHP-Script und auf dieser Seite kannst Du dann die Werte abfragen. Außerdem musst Du im form-Tag ein method-Attribut notieren, das angibt, auf welche Weise die Parameter übertragen werden. Entsprechend musst Du sie dann abfragen. Und um das Ganze abzuschicken, notierst Du innerhalb des Formulars einen Button mit type="submit".
Einiges kannst Du auch bei SelfHTML nachlesen:
http://de.selfhtml.org/html/formulare/definieren.htm
Statt CGI wirst Du wahrscheinlich eine Seite mit PHP verwenden. Leider habe ich auf die Schnelle nichts gefunden, wo das mit den Formularen erklärt wird.
 
Mit type="submit" funktioniert das und habe keine Probleme damit. Jedoch bevor man eine Bestellung übergibt, absendet, muss man dem Kunden anzeigen was die Gesamtsumme ist. Das trupdown Feld muss vorher schon ausgelesen werden, bevor die Bestellung type="submit" übermittelt wird. Es muss doch eine Möglichkeit geben den Wert value zuvor nach PHP zu übergeben. Ich kann den Wert von value in einem allert Fesnster anzeigen zulassen, was mir aber nicht weiter hilft. Wenn du mir ein Beispiel posten könntest das würde mir helfen.

Hier ein Beispiel mit alert Fenster:

<html>
<head></head>
<body>
<form action="index.php" method="POST">
<select size="1" name="zahl3" onchange="location = alert( this.options[this.selectedIndex].value);">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>

<?php
$zahl3 = $_POST["zahl3"];
echo $zahl3;
?>
 
Werbung:
Es muss doch eine Möglichkeit geben den Wert value zuvor nach PHP zu übergeben.
So wie du dir das vorstellst, geht es nicht, weil PHP serverseitig läuft. Du kannst PHP nur ausführen, wenn Du eine neue Seite lädst, wie es beim Submit passiert oder über Ajax. Wenn Du einen Preis berechnen und anzeigen willst, kannst Du dies jedoch problemlos über Javascript tun:
Code:
onchange='document.getElementById("anzeigefeld").innerHTML = this.value;'
HTML:
<span id="anzeigefeld"></span>
Hoffe, dass dir dies jetzt weiter hilft.
 
Zuletzt bearbeitet von einem Moderator:
Es kommt immer : The requested URL / ...... /0000/7 was not found on this server. 7 Hatte ich ausgewählt
Was ist denn dan dem code falsch. Ich hab das Teil jetzt mal umbenannt nach test.

<html>
<head></head>
<body>
<form action="index.php" method="POST">

<select size="1" name="test" onchange="location = this.options[this.selectedIndex].value;">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</form>

<script>
document.getElementById("test").innerHTML = document.forms[0].test.value;
</script>

<span id="test"></span>

<?php
$wert = $_POST["id"];
echo $wert;
?>
 
Anscheinend hast Du dir mein Posting nicht richtig durchgelesen. (hatte allerdings noch einen Fehler mit den Hochkommas gemacht.) Nein, mit location leitest Du auf eine neue Seite um und der Wert, den Du da zuweist, ist natürlich keine gültige URL.
So ist es richtig:
Code:
<html>
<head></head>
<body>
<form action="index.php" method="POST">

<select size="1" name="test" onchange='document.getElementById("test").innerHTML = this.value;'>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</form>

Aktueller Wert: <span id="test"></span>
</body>
</html>
Kannst Du dir hier ansehen: http://jsfiddle.net/nkzs6fu1/
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
Ja das hat jetzt geklappt, allerdings krieg ich den Wert nicht nach PHP übergeben.
Was mach ich da falsch?

<html>
<head></head>
<body>
<form action="index.php" method="POST">
<select size="1" name="test" onchange='document.getElementById("test").innerHTML = this.value;'>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</form>
Aktueller Wert: <span id="test"></span>
</body>
</html>

<?php
$wert = $_POST["id"];
echo $wert;
?>
 
Habe ich doch geschrieben: PHP läuft serverseitig und um es aufzurufen, musst Du eine neue Seite aufrufen, wie es beim Submit passiert, oder über Ajax. Alles was Du clientseitig tun willst, musst Du mit Javascript machen
 
Werbung:
Wie soll ich das in eine neue Seite umleiten ?
Kannst du mir da ein code zeigen wie das geht.
 
Wie soll ich das in eine neue Seite umleiten ?
Am besten gar nicht, sondern die Berechnungen mit Javascript machen und erst am Schluss, wenn alles fertig ist, per Submit an die Zielseite übergeben.
 
Werbung:
Dann gib mir doch ein Link wo genau meine Problematik behandelt wird.
Ich bin Anfänger und meine Freizeit will ich nur mit Studium verbringen.
Zumindes könntest du mir einen Ansatz geben.
 
Man findet nur die Sache mit input type="submit"
Ich brauch den Wert value vorher, bevor abgeschickt wird.
Ich kann jetzt nicht noch java script stdieren.
Zumindes mal einen Ansatz könntest du geben.
 
Werbung:
Zurück
Oben