optionfeld auslesen

anfeanger83

Mitglied
Hallo ich möchte bei dem Optionfeld sowohl den Value als auch die Options parameter auslesen.
aslo in meinem fall z.B. die $sid und die 3 wenn gewählt, oder halt $sid und die 5

while($row = mysql_fetch_array($result)){
$sid = $row['id'];


printf("<td> <form method='get' action='bewerten.php'>Bitte bewerten:
<select name='bewertung'><option value='$sid'>1</option>
<option value='$sid'>2</option>
<option value='$sid'>3</option>
<option value='$sid'>4</option>
<option value='$sid'>5</option></select>
<input type='submit' name='submit' value='submit'>
</td> </form>\n");
}

mit $bewertung = $_POST['bewertung']; bekomm ich den Value nur wie bekomm ich den passenden Option wert dazu ?
 
Der wird von HTML nicht übertragen, da value den Wert überschreibt und dieser somit nur als Auszeichnung dient.
 
Hi Du,

brauchst Du denn überhaupt die Bezeichnung der Option? Dafür ist eben genau "value" gedacht, das den Wert dieser Option wiedergibt. Bei Deinem Beispiel kannst Du doch den value = Bewertungsnote setzen. Im HTML Skript würde dann eben stehen:

HTML:
<option value="1">1</option>

Wie Felix bereits anmerkte werden die Erklärungen im option Tag nicht beachtet, was auch keinen Sinn macht. Bei Mehrsprachigen Websites wird sich diese Bezeichnung sicherlich ändern, der value wird aber immer der gleiche sein, mit dem Du dann im PHP Skript arbeitest.

Website in Deutsch:
HTML:
<option value="1">sehr gut</option>

Website in Englisch:
HTML:
<option value="1">very good</option>

Nun musst Du im PHP nur noch den value Wert auslesen und (WICHTIG!!) ihn überprüfen ob er gültig ist (also z.B. zw. 1 und 6 liegt) - ansonsten kann man Dein Bewertungsskript herrlich manipulieren: in der Adresszeile z.B. bewertung=5000 eingeben.
 
Zurück