Problem mit Liste/Menü updaten

unso

Well-known member
ID: 242304
L
12 Juni 2006
2.024
151
Ich möchte eine Auswahlliste haben und dem User die Möglichkeit geben, den Wert zu ändern, doch leider trägt mir mein Script immer nur die 0 als Wert in Datenbank ein.
Die Auswahlliste:
Code:
<select name="name" size="1">
		<option value='1' <? if ($db['wert'] == 1) echo'SELECTED';?>>110000</option>
		<option value='2' <? if ($db['wert']== 2) echo'SELECTED';?>>120000</option>
		<option value='3' <? if ($db['wert'] == 3) echo'SELECTED';?>>130000</option>
		<option value='4' <? if ($db['wert'] == 4) echo'SELECTED';?>>140000</option>
                <option value='5' <? if ($db['wert'] == 5) echo'SELECTED';?>>150000</option>
		</select>

Den Speichern Button:
HTML:
<label>
  <input type="submit" name="speichern" id="speichern" value="speichern" />
  </label>

Und dann noch den PHP-Code zum speichern der Änderung:
PHP:
if ($_POST['speichern']){
	db_query("UPDATE db SET wert = ".$_POST['name']." WHERE uid='".$_SESSION['uid']."'");
	}

Falls mir jemand helfen könnte, wäre ich sehr dankbar ;)
 
Prüf mal ob in $_POST['name'] überhaupt was drin steht.
Es sieht so aus als ob in deiner Datenbank einfach der Standartwert 0 gesetzt wird.
Also einfach mal echo $_POST['name'] probieren und schauen was du übergibst.
Und vielleicht nen besseren Variablennamen als name wählen. Bsp. wert, so heißt das Feld ja auch in deiner Datenbank.
 
Es ist verdammt gefährlich, weil nicht überprüft wird, ob ein Integer vorliegt.
Im Worstcase übergibt jemand einen Spaltennamen und kann sich dadurch vllt. Zugriff auf geschützte Daten geben :!:
 
Was steht denn im <form>-Tag? Ich meine, ist die method korrekt mit "post" angegeben? Und wie mein Vorvorposter schon gesagt hat, gib mal den Inhalt von $_POST und evtl. auch von $_REQUEST aus:
PHP:
echo "<pre>\n";
print_r($_POST);
print_r($_REQUEST);
echo "</pre>\n";