Veröffentlicht 3. Juli 200223 j Hi Ich hab noch ein kleines Problem: Ich will von einem Webform also z.B. <form action = "test.php" method = "post"> <input name="name1"> <input name="zahl1"> <input type = "submit" name="submit"> <input type = "reset"> </form> per PHP mit dem folgenden Befehl Daten in SQL eintragen. Wenn ich nun submit drücke kommt nur ein leerer Eintrag in SQL an,d.h Textfelder sind leer, Zahlen=0. Setz ich für die Variablen name1 und zahl1 Werte ein, werden diese in SQL eingetragen, die Verbindung klappt also, nur werden die Variablen nicht mit Werten belegt, kann mir da einer helfen? <?php if(isset($HTTP_POST_VARS["submit"])) { $db = mysql_connect("localhost", "root", ""); mysql_db_query("datenbank", "insert test (name1, zahl1) values ('$name1', '$zahl1')"); mysql_close($db); } ?> Noxy
3. Juli 200223 j Das es in Deinem Code-Beispiel heißen müßte: <input type=text name=zahl1> ist Dir klar?
3. Juli 200223 j Dein SQL-String ist nicht richtig: $Verbindung=mysql_connect($Server,$User,$pass); $SQL_insert="INSERT INTO $Tabelle VALUES (...)"; $insert=mysql_query($SQL_insert,$Verbindung); [/PHP]
3. Juli 200223 j Danke erstmal für die Antworten, aber ich hab rausgefunden, dass es irgendwie am Web Form liegen muss, da folgendes auch nicht funktioniert und ausgibt:"W1 ist:": ----test1.html------ <form action="test1.php" method = "post"> <input input type="text" name="w1"> w1<p> <input type = "submit" name="submit"> </form> ----------------------- ----test1.php------- <?php echo "W1 ist: $w1"; ?> ------------------------
3. Juli 200223 j Es könnte sein, daß du nicht direkt auf die Post-Vars über ihren Namen zugreifen kannst. Probier mal, bei jeder Variable, die du aus dem Form haben willst stattdessen $HTTP_POST_VARS["variable"] zu schreiben - dann dürfte es gehen...
3. Juli 200223 j Hi Ich hab jetzt folgendes gemacht, mag nicht so schön ausschauen geht aber: $status = $HTTP_POST_VARS["status"]; Wenn noch einer einen besseren Vorschlag hat, immer her damit, aber da es momentan funktioniert danke ich allen für ihre Tips!!! Noxy
4. Juli 200223 j Original geschrieben von Noxy Hi Ich hab jetzt folgendes gemacht, mag nicht so schön ausschauen geht aber: $status = $HTTP_POST_VARS["status"]; Wenn noch einer einen besseren Vorschlag hat, immer her damit, aber da es momentan funktioniert danke ich allen für ihre Tips!!! Noxy Die AFAIK einzige andere Möglichkeit wäre, in der php.ini "register_globals" auf On zu setzen, wenn du die Möglichkeit hast. Allerdings wird meist sowieso aus Sicherheitsgründen davon abgeraten... Davon abgesehen: Wenn du immer schön $HTTP_POST_VARS davor schreibst, läufst du auch nicht so schnell Gefahr, verschiedene Variablen gleich zu benennen...
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.