Ich habe das Gästebuchtutorial auf <!-- m --><a class="postlink" href="http://www.php-kurs.com/beispiel-gaestebuch-programmieren-in-php-und-mysql.htm">http://www.php-kurs.com/beispiel-gaeste ... -mysql.htm</a><!-- m --> nachgearbeitet
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
error_reporting(E_ALL);
define ( 'MYSQL_HOST', 'localhost' );
define ( 'MYSQL_BENUTZER', 'root' );
define ( 'MYSQL_KENNWORT', '' );
define ( 'MYSQL_DATENBANK', 'homepageanwendungen' );
$db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
if ( ! $db_link )
{
// hier sollte dann später dem Programmierer eine<br />
// E-Mail mit dem Problem zukommen gelassen werden<br />
// die Fehlermeldung für den Programmierer sollte<br />
// das Problem ausgeben mit: mysql_error()<br />
die('keine Verbindung zur Zeit möglich - später probieren ');
}
$db_sel = mysql_select_db( MYSQL_DATENBANK )
or die("Auswahl der Datenbank fehlgeschlagen");
// SQL-Befehl für den Zugriff
$sql = " INSERT INTO gaestebuch ";
$sql .= " SET ";
$sql .= " name ='". $_POST['name'] ."', ";
$sql .= " email ='". $_POST['email'] ."', ";
$sql .= " url ='". $_POST['url'] ."', ";
$sql .= " datum ='". date("Y-m-d H:i:s") ."', ";
$sql .= " eintrag='". $_POST['eintrag'] ."' ";
echo "<hr />SQL: $sql<hr />";
// ausführen des mysql-Befehls
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
?>
<form name="" action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="POST" enctype="text/html">
<p>Ihr Name:<br />
<input type="text" name="name" value="" size="50" maxlength="150" />
</p>
<p>Ihre E-Mail-Adresse:<br />
<input type="text" name="email" value="" size="50" maxlength="150" />
</p>
<p>Ihre Homepage:<br />
<input type="text" name="url" value="" size="50" maxlength="150" />
</p>
<p>Gästebucheintrag:<br />
<textarea name="eintrag" rows="10" cols="50"></textarea>
</p>
<input type="Submit" name="" value="speichern" />
</form>
<a href="gaestebuch.php">Gästebuch anzeigen</a>
</body>
</html>
und bekomme dann folgende Fehlermeldung
Notice: Undefined index: name in /Applications/xampp/xamppfiles/htdocs/Gastbuchhp/Tutorial/gaestebuch-eintrag2.php on line 31
Notice: Undefined index: email in /Applications/xampp/xamppfiles/htdocs/Gastbuchhp/Tutorial/gaestebuch-eintrag2.php on line 32
Notice: Undefined index: url in /Applications/xampp/xamppfiles/htdocs/Gastbuchhp/Tutorial/gaestebuch-eintrag2.php on line 33
Notice: Undefined index: eintrag in /Applications/xampp/xamppfiles/htdocs/Gastbuchhp/Tutorial/gaestebuch-eintrag2.php on line 35
Ich habe dann SET durch Value ersetzt
$sql = " INSERT INTO gaestebuch ";
$sql .= " VALUE ";
$sql .= " name ='". $_POST['name'] ."', ";
$sql .= " email ='". $_POST['email'] ."', ";
$sql .= " url ='". $_POST['url'] ."', ";
$sql .= " datum ='". date("Y-m-d H:i:s") ."', ";
$sql .= " eintrag='". $_POST['eintrag'] ."' ";
echo "<hr />SQL: $sql<hr />";
die obigen Fehlermeldungen blieben und zusätzlich
SQL: INSERT INTO gaestebuch VALUE name ='', email ='', url ='', datum ='2011-03-04 11:41:11', eintrag=''
Ungültige Abfrage: 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 'name ='', email ='', url ='', datum ='2011-03-04 11:41:11', eintrag='' at line 1
Der Eintrag kommt zwar in der Datenbank an aber ohne Inhalt. Wäre dankbar für jede Hilfe sitze schon Stunden am probieren.