Problem mit Gästebuch

Rollo

Erfahrenes Mitglied
Hallo ihr da drausen auf Tutorials.de.

Seit einiger Zeit probier ich mich in PHP und MySQL. Eigentlich eine sehr schöne Sache. Nur habe ich ein Problem. Mein Verarbeitungsscript für mein Gästebuch funktioniert nicht. Ich bekomme immer meine festgelegte Ausgabe "Beim Eintragen ist ein Fehler aufgetreten".
Was ist an meinem Script falsch?
PHP:
<html>
<head>
<title>Eintrag hinzuf&uuml;gen</title>
</head>
<body>
<?php

$DatabasePointer = mysql_connect("localhost","root","");
mysql_select_db("mydatabase", $DatabasePointer);

$SQL="INSERT_INTO_gaestebuch (Name, Titel, E-Mail, Homepage, Eintrag, Erstellt)
VALUES('".$REQUEST['Name']."','".$REQUEST['Titel']."','".$REQUEST['E-Mail']."','".$REQUEST['Homepage']."','".$REQUEST['Eintrag']."',NOW(''))";
mysql_query($SQL, $DatabasePointer);

if(mysql_affected_rows($DatabasePointer) == 1)
{
?>
<p>Vielen Dank f&uuml;r Deinen Eintrag!<br>
<a href="gaestebuch.php">zur&uuml;ck</a></p>
<?php
}
else
{
?>
<p>Beim Eintragen ist ein Fehler aufgetreten.<br>
<a href="javascript:history.back();">zur&uuml;ck</a></p>
<?php
}
?>
</body>
</html>

für schnelle Antworten wäre ich euch sehr dankbar.
Mfg Rollo
 
Versuch mal folgendes und sach was der script ausgibt:

PHP:
<html>
<head>
<title>Eintrag hinzuf&uuml;gen</title>
</head>
<body>
<?php

$DatabasePointer = mysql_connect("localhost","root","");
mysql_select_db("mydatabase", $DatabasePointer);

$SQL="INSERT INTO
gaestebuch (Name, Titel, E-Mail, Homepage, Eintrag, Erstellt)

VALUES
('".$REQUEST['Name']."',
'".$REQUEST['Titel']."',
'".$REQUEST['E-Mail']."',
'".$REQUEST['Homepage']."',
'".$REQUEST['Eintrag']."',
NOW(''))";
mysql_query($SQL, $DatabasePointer) OR die(mysql_error());

if(mysql_affected_rows($DatabasePointer) == 1)
{
?>
<p>Vielen Dank f&uuml;r Deinen Eintrag!<br>
<a href="gaestebuch.php">zur&uuml;ck</a></p>
<?php
}
else
{
?>
<p>Beim Eintragen ist ein Fehler aufgetreten.<br>
<a href="javascript:history.back();">zur&uuml;ck</a></p>
<?php
}
?>
</body>
</html>
 
Danke für deine Hilfe.

Bei dem Script tritt folgender Fehler auf:

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 '-Mail, Homepage, Eintrag, Erstellt) VALUES ('', '', '', '', '', NOW(''))' at line 2

Ich habe keine Ahnung was das heisen mag.
 
Hi Rollo,
der Fehler liegt beim SQL-Statement, und zwar an den Underscores bei INSERT_INTO_gaestebuch,
desweiteren müsste es $_REQUEST heißen. Probier mal dies:
PHP:
$sql = "INSERT INTO
            gaestebuch (Name, Titel, E-Mail, Homepage, Eintrag, Erstellt)
        VALUES(
            '" . mysql_real_escape_string($_REQUEST['Name']) . "',
            '" . mysql_real_escape_string($_REQUEST['Titel']) . "',
            '" . mysql_real_escape_string($_REQUEST['E-Mail'])  . "', 
            '" . mysql_real_escape_string($_REQUEST['Homepage']) . "',
            '" . mysql_real_escape_string($_REQUEST['Eintrag']) . "',
            NOW()
        )";

Gruß
Marvin
 
Ich dank dir. Ich hab das Gefühl immer weiter voran zu kommen. Jetzt hab ich den Fehler Query was empty.
 
Zeig nochmal den Script wie du ihn jetzt hast.
Vielleicht hat sich ein Tippfehler eingeschlichen.
Und lass mal $_REQUEST ausgeben.
Also die Werte.
 
Also so sieht das Script jetzt aus.
PHP:
<html> 
<head> 
<title>Eintrag hinzuf&uuml;gen</title> 
</head> 
<body> 
<?php 

$DatabasePointer = mysql_connect("localhost","root",""); 
mysql_select_db("mydatabase", $DatabasePointer); 

$sql = "INSERT INTO 
            gaestebuch (Name, Titel, E-Mail, Homepage, Eintrag, Erstellt) 
        VALUES( 
            '" . mysql_real_escape_string($_REQUEST['Name']) . "', 
            '" . mysql_real_escape_string($_REQUEST['Titel']) . "', 
            '" . mysql_real_escape_string($_REQUEST['E-Mail'])  . "',  
            '" . mysql_real_escape_string($_REQUEST['Homepage']) . "', 
            '" . mysql_real_escape_string($_REQUEST['Eintrag']) . "', 
            NOW() 
        )";  


mysql_query($SQL, $DatabasePointer) OR die(mysql_error()); 

if(mysql_affected_rows($DatabasePointer) == 1) 
{ 
?> 
<p>Vielen Dank f&uuml;r Deinen Eintrag!<br> 
<a href="gaestebuch.php">zur&uuml;ck</a></p> 
<?php 
} 
else 
{ 
?> 
<p>Beim Eintragen ist ein Fehler aufgetreten.<br> 
<a href="javascript:history.back();">zur&uuml;ck</a></p> 
<?php 
} 
?> 
</body> 
</html>
 
Ups danke dir. Ja das mit dem Query kommt nun nicht mehr :).
Aber dafür: 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 '-Mail, Homepage, Eintrag, Erstellt) VALUES( '', ' at line 2

*heul
 
Zurück