tobixxx Geschrieben 10. Juni 2002 Geschrieben 10. Juni 2002 gbeintragen.php ------------------- <html> <head> </head> <title>Gästebuch</title> <body bgcolor="#C3C53F"> <center><h2>Gästebuch</h2></center><br> <form action="gbeingetragen.php" method="post"> <table> <tr><td> Name: </td> <td><input name="name" type="text" size="30" maxlength="30"><br> </td></tr> <tr><td>Email-Adresse: </td> <td><input name="email" type="text" size="50" maxlength="50"><br></td></tr> <tr><td>Url: (optional) </td> <td><input name="url" type="text" size="50" maxlength="50"><br></td> </table> <textarea name="text" cols="100" rows="6"></textarea><br> <input type="submit" value="Datensatz eintragen" > </form> </body> </html> geingetragen.php ------------------------ <? $verbindung = @mysql_connect("dieDatenbank","pw",""); if (!$verbindung) { echo "Keine Verbindung möglich!\n"; exit; } $fehler = 0; if ($name == '') { echo "Name muss angegeben werden<br>"; $fehler = 1; } if ($email == '') { echo "Email-Adresse muss angegeben werden<br>"; $fehler = 1; } if ($url == '') { $url = "keine"; } if ($text == '') { echo "Email-Adresse muss angegeben werden<br>"; $fehler = 1; } if ($text == '') { echo "Text muss angegeben werden<br>"; $fehler = 1; } if ($fehler == 0) { $abfrage = "INSERT INTO gaestebuch (ID,name,email,url,text) VALUES (25,$name,$email,$url,$text)"; echo "Datensatz wurde eingetragen"; } else { echo "Datensatz wurde nicht eingetragen"; } $erg = mysql_db_query("db",$abfrage,$verbindung); mysql_close($verbindung); ?> --------------------------------- Als ID soll einfach mal 25 eingetragen werden, werd ich später noch richtig machen, wenn das Eintragen ansich mal funktioniert. Die ID ist zwar als eindeutiger Primärschlüssel definiert, Nummer 25 ist aber noch nicht vorhanden.
Impulz Geschrieben 10. Juni 2002 Geschrieben 10. Juni 2002 was *genau* geht denn nicht? Haben die Variablen keinen Wert und er steigt vorher aus da fehler=1 oder schlaegt das Query fehl?
tobixxx Geschrieben 10. Juni 2002 Autor Geschrieben 10. Juni 2002 Fehler bringt er keinen, aber er schreibt nix in die MYSQL Datenbank
Tool-Time Geschrieben 10. Juni 2002 Geschrieben 10. Juni 2002 Original geschrieben von tobixxx gbeintragen.php ------------------- <? $verbindung = @mysql_connect("dieDatenbank","pw",""); if (!$verbindung) { echo "Keine Verbindung möglich!\n"; exit; } $fehler = 0; if ($name == '') { echo "Name muss angegeben werden<br>"; $fehler = 1; } if ($email == '') { echo "Email-Adresse muss angegeben werden<br>"; $fehler = 1; } if ($url == '') { $url = "keine"; } if ($text == '') { echo "Email-Adresse muss angegeben werden<br>"; $fehler = 1; } if ($text == '') { echo "Text muss angegeben werden<br>"; $fehler = 1; } if ($fehler == 0) { $abfrage = "INSERT INTO gaestebuch (ID,name,email,url,text) VALUES (25,$name,$email,$url,$text)"; echo "Datensatz wurde eingetragen"; } else { echo "Datensatz wurde nicht eingetragen"; } $erg = mysql_db_query("db",$abfrage,$verbindung); mysql_close($verbindung); ?>[/php] [/b] Ich bin mir zwar nicht sicher, aber ich glaube dein Fehler ist hier : [php]$verbindung = @mysql_connect("dieDatenbank","pw",""); richtig wäre $variable-deklaration = mysql_connect(($mysqlhost, $mysqluser, $mysqlpassword); [/php] Nur so zum Still, es muß zwar jeder selber wissen wie er schreibt [php] $abfrage = "INSERT INTO gaestebuch (ID,name,email,url,text) VALUES (25,$name,$email,$url,$text)"; echo "Datensatz wurde eingetragen"; } ich würde es so aufteilen, da es die Übersich etwas erhöht $abfrage = "insert gäestebuch"; $abfrage .= " (ID,'name','email','url','text') values"; $abfrage .= "(25,'$name,'$email', '$url', '$text')"; [/php] Hinweis: Alles was keine Zahl - sprich Int / boolen double ... -ist muß in Hochkomma ' ' gesetzt werden. Mfg Tool-Time Ps: um deine PHP Codes besser hier anzeigen zu lassen schreib es so [#php] code [#/php] (ohne #)
Tool-Time Geschrieben 10. Juni 2002 Geschrieben 10. Juni 2002 Original geschrieben von tobixxx $erg = mysql_db_query("db",$abfrage,$verbindung); mysql_close($verbindung); ?> [/php] [/b] Das scheint auch nicht so ganz zu passen : [php] $reg = mysql_db_query("db",$abfrage); Du muß hier nicht erneut $verbindung eintragen, da du schon am Anfang eine Verbindung zur DB aufgebaut hast.
tobixxx Geschrieben 10. Juni 2002 Autor Geschrieben 10. Juni 2002 Danke Tool-Time! Jetzt gehts. Eine Frage noch... wenn ich dann alle Datensätze mit Hilfe von PHP ausgebe dann geht das zwar, ich muss aber auf der Seite immer F5 drücken damit die Seite aktualisiert wird und die neuesten Datensätze angezeigt werden. Vermutlich muss da der Buffer gelöscht werden.... weiß jemand den PHP Befehl dafür?
Tool-Time Geschrieben 11. Juni 2002 Geschrieben 11. Juni 2002 Moin Füge am ende des Scriptes einfach : echo "<META http-equiv='refresh' content='30;URL=datei.php'>"; [/php] hinzu, dadurch wird die Site alle 30sec. neu geladen MfG Too-Time
tobixxx Geschrieben 11. Juni 2002 Autor Geschrieben 11. Juni 2002 Das hilft mir nicht weiter, ich kann ja nicht alle 30 Sekunden das Gästebuch neu laden...da kriegen die Leute ja nen Anfall beim lesen In ASP gibs ein paar Codezeilen die man in der Option Explicit einfügt, dann löscht er den Buffer wenn man die Seite aufruft...in PHP kenn ich mich aber leider (noch) nicht so gut aus
etreu Geschrieben 11. Juni 2002 Geschrieben 11. Juni 2002 Du willst also eine dynamische Änderung ohne die Seite neu zu laden? Wundert mich, dass das möglich ist. Ich kenn mich zwar auch noch nicht so richtig in dieser Materie aus, aber ich glaube nicht, das du da was finden würdest. Wenn doch dann poste doch deine Lösung hier. Zu reloaden der Seite könntest du auch noch javascript nutzen.
tobixxx Geschrieben 12. Juni 2002 Autor Geschrieben 12. Juni 2002 E-T du siehst das viel zu kompliziert. Ich suche einfach den Befehl womit die Seite immer neu geladen wird wenn man sie aufruft...und zwar dann nur einmal und nicht alle XX Sekunden. In VBScript sieht das ganze so aus: <%@ LANGUAGE=VBScript %> <% Option Explicit response.expires=0 %>
etreu Geschrieben 12. Juni 2002 Geschrieben 12. Juni 2002 Das macht PHP doch automatisch. Denn dafür ist es ja ne serverseitige Scriptsprache
Jaraz Geschrieben 13. Juni 2002 Geschrieben 13. Juni 2002 Hallo, Original geschrieben von E-T Das macht PHP doch automatisch. Denn dafür ist es ja ne serverseitige Scriptsprache nicht unbedingt... Um das Caching einer Seite zu verhindern, ist der folgende Code passend: header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") ." GMT"); header("Cache-Control: no-cache"); header("Pragma: no-cache"); header("Cache-Control: post-check=0, pre-check=0"); Gruß Jaraz
tobixxx Geschrieben 13. Juni 2002 Autor Geschrieben 13. Juni 2002 Danke Jaraz, genau das hab ich gesucht. Jetzt gehts
tobixxx Geschrieben 13. Juni 2002 Autor Geschrieben 13. Juni 2002 achja...wäre nett wenn du mir den Code ein bisschen erklärst...vor allem das Datum.
Jaraz Geschrieben 13. Juni 2002 Geschrieben 13. Juni 2002 Das Datum ist relativ egal, muss halt nur in der Vergangenheit liegen, wahrscheinlich sind diese Zeilen das erste mal einen Tag nach dem Datum gepostet worden. Der Rest überlagert sich eigentlich, da es bei Browsern aber keinen Standard gibt, ist doppelt gemoppelt besser. Gruß Jaraz
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden