Problem mit INSERT
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anzeigen
beitrag
checken
daten
eintrag
error
fehler
formular
inhalt
insert
laut
manual
right
speicher
syntax
tabelle
transitional
versuchen
-
also ich habe zurMySQL Datenbank connectet und wollte nun daten aus nemm formular in die erstellte Tabelle News eintragen aber da taucht kein neuer Eintrag auf wenn ich es versuche.
<?php echo" <html>\n"; echo" <head>\n"; echo" <title>News Abschicken</title>\n"; echo" </head>\n"; echo" <body>\n"; echo" <form action=\"news_schreiben.php\" method=\"post\">\n"; echo" Titel:\n"; echo" <input type\"text\" name=\"titel\"></input>\n"; echo" <br>\n"; echo" <textarea name=\"inhalt\" rows=\"10\" cols=\"50\"></textarea>\n"; echo" <br>\n"; echo" <input type=\"submit\" name=\"absenden\" value=\"Absenden\"></input>\n"; echo" <input type=\"reset\" value=\"Reset\"></input>\n"; echo" </form>\n"; echo" </body>\n"; echo" </html>\n"; $sql = "INSERT INTO News (Titel, Inhalt, Datum) VALUES ('".$_Post['titel']."', '".$_Post['inhalt']."'), Now())"; mysql_query($sql) OR die(mysql_error()); echo "neue News eingetragen"; ?>
das m?sste doch laut code normal so gehn oder was hab ich falsch gemacht ? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
also ich habe zurMySQL Datenbank connectet und wollte nun daten aus nemm formular in die erstellte Tabelle News eintragen aber da taucht kein neuer Eintrag auf wenn ich es versuche.
<?php echo" <html>\n"; echo" <head>\n"; echo" <title>News Abschicken</title>\n"; echo" </head>\n"; echo" <body>\n"; echo" <form action=\"news_schreiben.php\" method=\"post\">\n"; echo" Titel:\n"; echo" <input type\"text\" name=\"titel\"></input>\n"; echo" <br>\n"; echo" <textarea name=\"inhalt\" rows=\"10\" cols=\"50\"></textarea>\n"; echo" <br>\n"; echo" <input type=\"submit\" name=\"absenden\" value=\"Absenden\"></input>\n"; echo" <input type=\"reset\" value=\"Reset\"></input>\n"; echo" </form>\n"; echo" </body>\n"; echo" </html>\n"; $sql = "INSERT INTO News (Titel, Inhalt, Datum) VALUES ('".$_Post['titel']."', '".$_Post['inhalt']."'), Now())"; mysql_query($sql) OR die(mysql_error()); echo "neue News eingetragen"; ?>
das m?sste doch laut code normal so gehn oder was hab ich falsch gemacht ?
Ok wollen wir dir mal helfen:
echo' <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>News Abschicken</title> </head> <body> <form action="news_schreiben.php" method="post">\n Titel: <input type"=text" name="titel"> <br> <textarea name="inhalt" rows="10" cols="50"></textarea> <br> <input type="submit" name="absenden" value="Absenden"> <input type="reset" value="Reset">; </form> </body> </html>';
So jetzt hast du alles in einem Echo, und du brauchst so auch nichts entwerten. So hast du nicht so viel Arbeit.
Und wenn du dir die Seite anzeigen l?sst, wirst du merken, dass sie auch richtig angeziegt wird.
Jetzt zum Speichern in der DB:
$titel = $_POST["titel"]; $inhalt = $_POSt["inhalt"]; //Hier f?gst zu deine Verbindungsdatei ein!!! $sql = "INSERT INTO News (Titel, Inhalt, Datum) VALUES ('".$titel."', '".$inhalt."'), Now())"; mysql_query($sql) OR die(mysql_error()); echo "neue News eingetragen";
-
Habe das nun mal so wie du probiert da kommt dann
Notice: Undefined index: titel in /home/webpages/lima-city/gnoraz/html/news_schreiben.php on line 48
Notice: Undefined index: inhalt in /home/webpages/lima-city/gnoraz/html/news_schreiben.php on line 49
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Now())' at line 8
Beitrag ge?ndert am 26.11.2005 10:14 von gnoraz -
Poste bitte nochmal deinen ganzen Code. Und bitte lass nichts aus.
Und sschreibe auch dr?ber wie die einzelen Dateien hei?en. -
Ok habe meinen Fehler gefunden hier jetzt alles richtig:
echo' <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>News Abschicken</title> </head> <body> <form action="news_schreiben.php" method="post"> Titel: <input type"=text" name="titel"> <br> <textarea name="inhalt" rows="10" cols="50"></textarea> <br> <input type="submit" name="absenden" value="Absenden"> <input type="reset" value="Reset"> </form> </body> </html>'; <?php error_reporting(E_ALL); $titel = $_POST["titel"]; $inhalt = $_POST["inhalt"]; //Hier f?gst zu deine Verbindungsdatei ein!!! $sql = "INSERT INTO News (Titel, Inhalt, Datum) VALUES ('".$titel."','".$inhalt."', Now())"; mysql_query($sql) OR die(mysql_error()); echo "neue News eingetragen"; ?>
-
ich sag nur register_globas.
bevor name und inhalt aufgeruffen werden einfach mal pr?fen ob auch was per post gesendet wurde:
if (isset($_POST['absenden']) && $_POST['absenden'] == 'Absenden') { //formular wurde gesendet also ein teitragen. // bzw. die inputs ?berpr?fen $titel = trim($_POST['titel']); $inhalt = trim($_POST['inhalt']); //hier uach ma pr?fen ob die //variablen auch net leer sind mit empty() $sql = "INSERT INTO News (Titel, Inhalt, Datum) VALUES ('".mysql_real_escape_string($titel)."', '".mysql_real_escape_string($inhalt)."'), Now())"; mysql_query($sql) OR die(mysql_error()); echo "neue News eingetragen"; } else { echo' <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>News Abschicken</title> </head> <body> <form action="news_schreiben.php" method="post">\n Titel: <input type"=text" name="titel"> <br> <textarea name="inhalt" rows="10" cols="50"></textarea> <br> <input type="submit" name="absenden" value="Absenden"> <input type="reset" value="Reset">; </form> </body> </html>'; }
entweder wird jetzt das formular angezeigt, oder es wird in die datenbank eingetragen.
zum nachlesen:
http://de3.php.net/manual/de/function.mysql-real-escape-string.php
http://de3.php.net/manual/de/function.empty.php
http://de3.php.net/manual/de/function.trim.php
http://de.php.net/register_globals -
Habs hinbekommen funktioniert nun danke sehr an alle ;)
-
@kirschbluete
Da er noch Anf?nger ist wollte ich es nicht zu schwer am Anfang machen!
Aber trotzdem danke f?r deinen Tipp -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage