MySQL eintrag von Usern durch PHP

Him

ich möchte einen MySQL (datenbank) eintrag machen, wo user von meiner seite einen Witz hinterlassen können. Habe sogar schon ein paar sachen aber es kommt immer ein Fehler!!!

Datenbank:

ID|Witz|Name|e-Mail
ID kömmt automatisch (und daran liegt glaub ich auch der fehler!!)

HTML Formular:

Ihr Name:       

e-Mail:            

Ihre Nachricht:

Php datei (uebername.php)

<?php include("verbindung.php");
$sql ="INSERT INTO Witze VALUES ('', '$\_POST[Witz]', '$\_POST[name]', '$\_POST[e-Mail]')"; mysql\_query($sql); mysql\_close(); ?\> DER ERROR: Parse error: syntax error, unexpected '-', expecting ']' in /users/daflo99/www/filemanager/mysql/uebername.php on line 3

$sql =„INSERT INTO Witze VALUES (’’, ‚$_POST[Witz]‘,
‚$_POST[name]‘, ‚$_POST[e-Mail]‘)“;

schreib mal lieber:

$sql = 'INSERT INTO Witze (Witz, Name, E-Mail) VALUES (\'%s\',\'%s\',\'%s\')';
$sql = sprintf($sql,
mysql\_escape\_string($\_POST['Witz']),
mysql\_escape\_string($\_POST['name']),
mysql\_escape\_string($\_POST['e-Mail'])
);

Damit sind dann die Eingabedaten von dem Formular gleich geprüft. Beim Hinzufügen von Feldern in der DB musst du dein Skript nicht unbedingt anpassen (falls du noch ein timstamp oder ähnliches hinzufügst) und es sieht übersichtlicher aus (okay subjektiv) (ich weiß und es ist langsamer, aber sowas kann man heutzutage glaube ich verkraften :smile:).

hi,
danke für die schnelle antowrt …
also ich bin jetz langsam echt am verzweifeln !!! es kommt zwar keine fehler meldung mehr aber i-wie wenn ich in die db schau is nichts drinnen !! möchtest du villt. mal schaun ?? ich schikke dir jetzt einfach mal die passwörter und so … (per e-mail)

LG FLo

oh dann kann es sein, dass ich mich irgendwo vertippt habe?!?!

Du kannst mal noch zwei Sachen zur Fehleranalyse hinzufügen:

Um den fertigen SQL-String auszugeben:
echo $sql;

und nach dem du mysql_query($sql); aufgerufen hast noch

echo mysql_error(); // um die Fehlermeldung von Mysql auszugeben.

hi,
hab des mal eingebaut … und was dann ausgegeben wird passt glaub ich auch …

INSERT INTO Witze (Witz, Name, E-Mail) VALUES (‚witze sind toll‘,‚mein name‘,‚[email protected]‘)

und ein fehler kommt auch nicht!!
und es nix drinnen !! wenn du evtl mal schauen könntestz?? hab dir mein pw per email geschikkt

lg flo

INSERT INTO Witze (Witz, Name, E-Mail)

kanns denn sein, dass die Tabellenspalten garnicht so heissen?
bzw ist ein bindestrich in Variablennamen eher pfui… auf gross-kleinschreibung würde ich da auch pfeifen… alles klein -> geringere Fehleranfälligkeit.

hi danke ich hab jetzt mal alles auf klein geändert und das e-Mail auf email geändert … werde es morgen dann mal mit dem php teil testen

lg flo

Hi,

ich habe leider keine E-Mail erhalten ?!?!? Sonst gucke ich gerne mal nach.

Wie schaust du denn nach, ob die Werte in der DB stehen? Evtl. ist ja auch da was falsch… Ansonsten kannst du noch mal die Position des Aufrufes von echo mysql_error(); überprüfen, ob es auch nach dem mysql_query aufgerufen wird.

Bye.