1.3k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von Einsteiger_in (43 Punkte)
Ich habe mir einen kleinen PHP-Skript nachgeschrieben, mit dem per URL Daten in
einen Datenbank eingetragen werden sollen.

<?php
include("dbconnect.php");


$artikelnummer = $_POST["artikelnummer"];
$bestelldatum = $_POST["bestelldatum"];


$eintragen = mysql_query("INSERT INTO lyon (artikelnummer, bestelldatum)
VALUES ('$artikelnummer', '$bestelldatum')");
?>

Nach Eingabe der URL
http://.../eintragen.php?artikelnummer=1234567890&bestelldatum=09-08-2011

Wird zwar jeweils ein Datensatz eingetragen, dieser ist aber leer.
Wo liegt der Fehler?

3 Antworten

0 Punkte
Beantwortet von Einsteiger_in (43 Punkte)
Danke ich habe es bereits selbst herausgefunden. Wer kommt drauf?
:-)
0 Punkte
Beantwortet von supermax Experte (4.8k Punkte)
Wohl $_GET und $_POST verwechselt.

Nebenbei solltest du auf jeden Fall die Werte mit mysql_real_escape_string() escapen, bevor du sie in die DB einträgst, also
$artikelnummer = mysql_real_escape_string( $_GET["artikelnummer"] );
$bestelldatum = mysql_real_escape_string( $_GET["bestelldatum"] );
0 Punkte
Beantwortet von tomham Mitglied (407 Punkte)

$artikelnummer = $_POST["artikelnummer"];
$bestelldatum = $_POST["bestelldatum"];


$eintragen = mysql_query("INSERT INTO lyon (artikelnummer, bestelldatum)
VALUES ('$artikelnummer', '$bestelldatum')");


Kan so garnicht funktionieren ...
wenn dann
$artikelnummer=$_POST['artikelnummer'];
$bestelldatum=$_POST['bestelldatum']; /* im POST ein einfaches Hochkomma*/
$sql="INSERT INTO lyon (artikelnummer, bestelldatum) VALUES ("$artikelnummer", "$bestelldatum"); /* hier dann doppelte Hochkommas */
$eintragen=mysql_query ($sql);

Und wie Supermax schon sagte hast du POST und GET vertauscht ... im URL was mitgeben wird über $_GET['field1'] ausgelesen ...
LG Tom
...