PHP Gäste buch

Hallo liebe Community,

ich habe egsern mein erstes Gästebuch programmiert.
Es gabs chon mehrere Fehler, die ich aber wiede rbeheben konnt. Jetzt habe ich eine neuen Fehler, wo ich nicht weis, wo es dran liegt.
Hier mal die Adresse, wo das Gästebuch liegt:

homepagehilfe4u.bplaced.de/Simples/

Wäre nett, wenn ich hilfe bekomme.
Das Problem ist, wenn man alles ausgefüllt hat und auf Eintragen klickt. Dann komt ein fehler.

Wenn Ihr den Code der eintragen.php benötigt einfach schreiben.

Gruß
Pascal

Auf Deutsch: „Anzahl Spalten weicht von der Anzahl Werte ab.“

Das bezieht sich auf eine deiner SQL-Abfragen. Also untersuche diese.

Auf Deutsch: „Anzahl Spalten weicht von der Anzahl Werte ab.“

Das bezieht sich auf eine deiner SQL-Abfragen. Also untersuche diese.[/quote]

Du meinst also diese Zeile?

$sql = mysql_query ("INSERT INTO `gb` (`name`, `text`, `date`) VALUES ('".$name.",".$text.",".$date."')") or die (mysql_error());

Ich meine überhaupt keine bestimmte Zeile, weil ich dein Script nicht kenne. (Und nein, das ist keine Aufforderung, es jetzt einfach hier rein zu klatschen.)

Wenn du mehrere Stellen im Script hast, wo die Meldung herkommen könnte - dann ergänze die Ausgabe der Fehlermeldung um eine entsprechende Information, um welche Stelle es sich jeweils handelt - … or die("Stelle XY: ".mysql_error())

Und lass dir die dynamisch generierte Query zur Kontrolle ausgeben. (Nicht alles als Einzeiler schreiben, sondern die Query erst mal in einer Variablen definieren, die dann anschließend an mysql_query übergeben wird.)

Und dass du das error_reporting von PHP vernünftig eingestellt hast, davon darf hoffentlich ausgegangen werden(?).

Also da ich ein PHP-Neuling bin, schreibe ich mal den Code rein, von der eibtragen.php

[code]<?php
$db = mysql_connect(‘localhost’,‘homepagehilfe4u’,’******’) or die (mysql_error());
$connect = mysql_select_db(‘homepagehilfe4u’) or die (mysql_error());

echo’’;

//Variable füllen

$name = mysql_real_escape_string($_POST[“name”]);
$text = mysql_real_escape_string($_POST[“text”]);
$antwort = mysql_real_escape_string($_POST[“antwort”]);

//Felder ausgefüllt?
if(($name == “”) OR ($text == “”) OR ($antwort == “”))

{
echo’ Bitte fülle alle Felder aus!’;
exit;
}

if ($antwort != 7)
{
echo’ Falsche Antwort’;
exit;
}

$datum1 = date(“d.m.y”);
$datum2 = date (“H:i:s”);
$datum = $datum1 ." - “. datum2;
$sql = mysql_query (“INSERT INTO gb (name, text, date) VALUES (’”.$name.”,".$text.",".$date."’)") or die (mysql_error());

if($sql)
{
echo’ Eintrag erfolgreich hinzugefügt!’;
header(“Locate: index.php”);
}
$closedb = mysql_close($db);
?>[/code]

War ja klar :whata:

Ich habe dir ein paar explizite Hinweise gegeben - also versuche bitte, diese umzusetzen. Und frag nach, wenn du etwas nicht verstehst.

Wenn du Programmieren willst, musst du auch Fehlersuche lernen.

ICh suche ja die ganze zeit, aber mit deinen Fachausdrücken oben im Beitrag, komme ich noch nciht zurecht und es wäre hilfreich, wenn du es in PHPNewby sprache ausdrücken könntet! :wink:

Noch mal: Wenn du etwas nicht verstehst, dann frage bitte explizit nach.

Hinweise, die du nicht verstehst, einfach nur ignorieren, ist doch wohl etwas dümmlich, meinst du nicht?

Anscheinend ist hier wohl keiner in der Lage mir richtig zu helfen! Hir gibt man nur Tipps anstatt Lösungen was ist das den für ein Forum dann?

Ich habe nach einer Lösung gesucht und nicht nach Tipps, wo ich anch suchen muss! :frowning:

Natürlich gebe ich dir Tipps - was denn sonst …?

Du willst Programmieren, und dabei helfe ich dir gerne, in dem ich dir Wege aufzeige, wie man dabei vorgeht, wenn man Fehler finden will - damit du das dann selber machen kannst.

Wenn du das - auf diesem Wege was dazu lernen - nicht willst, sondern nur „die Lösung“ bekommen, dann bist du bei mir an der falschen Adresse, sorry. Dann musst du wohl auf jemand anderen warten.

Ich habe aber nur die eine SQL-Abfrage und ich finde dort keinen fehler! :frowning:

$sql = mysql_query ("INSERT INTO `gb` (`name`, `text`, `date`) VALUES ('".$name.",".$text.",".$date."')") or die (mysql_error());

Vielleicht hast du ja ein besseres Auge als ich!

Noch mal: [quote=“chrisb”]Und lass dir die dynamisch generierte Query zur Kontrolle ausgeben. (Nicht alles als Einzeiler schreiben, sondern die Query erst mal in einer Variablen definieren, die dann anschließend an mysql_query übergeben wird.)[/quote]

Und wenn dir das Stichwort error_reporting nichts sagt - dann informiere dich bitte!

Prinzipiell würde ich behaupten, dass deine Syntax ab VALUEabsoluter Murks ist… vergleiche sie mal mit denen der zigtausend Tutorials zu dem Thema - insbesondere im Betracht auf die Nutzung von Hochkommata und Anführungszeichen…

:hail: kerbination!

Danke Danke Danke für diesen Tipp!

closed!

Hallo Pascal,

versuche es mal damit:

MfG