Drop Down auswahl, wert übergabe

Achim

Member
ID: 42574
L
19 Mai 2006
10
0
Hallo.

Ich habe ein Drop Down Menü in einer Seite von mir ausgebaut, wo der User sich eine Option aussuchen kann, und diese dann abspeichert.

Die angeführten Optionen werden aus einer Tabelle der mysql-db gelesen und angezeigt.
Anschließend möchte ich mit dem Speicherbutton den Wert übergeben und in der Datenbank unter dem Benutzer abspeichern.
Dieses funktioniert jedoch nicht.
Genauer: Der Wert wird nicht auf die nächste Seite mit übernommen.

Anbei der Code:

Auf dieser Seite (Name kurz: eintb) wird wie man sehen kann, alle Optionen ausgegeben... Dieses funktioniert so auch.
PHP:
<select name=\"cat1\" class=\"hauptsiteeingabefeld\">\n";
 while ($data = mysql_fetch_array($result))   {     
   echo "<option value='" . $data["cat1"] . "'>";
   echo $data["cat_name"] . "</option>\n";	}
   echo "</select>\n";

Auf dieser Seite (Name kurz: eintbs) wird nachdem alle Werte übergeben worden sind, diese überprüft und anschließend mit einem SQL-Anweisung die Daten in die mysql-db gesichert.
Bei diesem Abschnitt funktioniert die Übergabe jedoch schon nicht.
Die ausgewählte Option wird mir nicht ausgeworfen.
Sprich es wird kein Wert übergeben und somit anschließend nichts in die Taballe geschrieben.
$ort=$_POST[ort]; wird jedoch korrekt übergeben, angezeigt und auch richtig abgespeichert.
PHP:
if($_GET['action'] == "edit"){

	$ort=$_POST[ort];
	$cat1=$_POST[cat1];

echo"$cat1";
}

Benutze ich hier die falsche Methode um einen ausgewählten Wert aus einem Drop Down Menü zu übergeben?
Ich hätte auch schon versucht das ich einfach hergehe, und $cat1=$data["cat1"] anstatt $cat1=$_POST[cat1]; angebe...
Jedoch in den erstaunlichsten Varianten genauso missglückt.
Ich hoffe mein Text ist soweit klar verständlich und das mir hier bald einer helfen kann :(

LG Achim
 
Ich hoffe mein Text ist soweit klar verständlich und das mir hier bald einer helfen kann :(
Nicht wirklich verständlich, drum frag ich mal nach:
  • Wie sieht dein Formular aus ?
    HTML:
    <form action="eintbs.php?action=edit" method="post">
    So ?
  • Kriegst du die Werte korrekt im $_POST[]-Array ?
    Teste mit
    PHP:
    print_r($_POST);
  • Wo genau verschwindet der Wert ? Kommst du bis zum mysql_query() ?
Ein Fehler, der sofort auffällt:
PHP:
$ort=$_POST[ort]; 
$cat1=$_POST[cat1];
muss heißen
PHP:
$ort=$_POST['ort']; 
$cat1=$_POST['cat1'];
String-Indizes in Hochkommata.
 
hier ist auchnoch ein fehler
PHP:
<select name="cat1\" class=\"hauptsiteeingabefeld\">\n";
muss heissen
<select name=\"cat1\" class=\"hauptsiteeingabefeld\">\n";
da hasst du vergessen das " zu maskieren

mfg
Gsus

EDIT: habe gerade mal den richtigen code in nen zitat gepackt weil der phpeditor irgendwie das \ verschluckt?! daher gehe ich mavon aus das es in deinem code auch steht...

mfg
Gsus
 
Danke für eure schnelle Mitarbeit :)
Den Fehler hab ich schon mit Hilfe eines alten Klammers entdeckt.
Es hätte mir so wie ich es beschrieben habe keiner Helfen können, da ich einen Fehler gemacht habe, den man nur korrigieren kann, wenn man die Datenbank gesehn hat (Struktur)
Ich hatte in der Datenbank gar keine Spalte Namens cat1

So lautet es nun richtig:

PHP:
<select name=\"cat1\" class=\"hauptsiteeingabefeld\">\n";

while ($data = mysql_fetch_array($result)) { 
	echo "<option value='" . $data["cat_id"] . "'>";
	echo $data["cat_name"] . "</option>\n";
}
echo "</select>\n";

@ Gsus das mit dem \" hatte ich mich hier im Forum nur verschrieben.
War keien Absicht,...
Aber muss trotzdem deine gute Aufmerksamkeit loben....

DANKE EUCH :)