Nicht mehr ganz neu hier
Ich habe ein Gästebuch nach einem tutorial nachgeschrieben. Die Datei Gaestebuch.php funktioniert zeigt die Daten an.
Dann habe ich das Formular erstellt und da habe ich das Problem das ich nicht weiß wo ich den Code von php packen soll. So wie ich es positioniert habe bekomme ich folgenden Fehlermeldung
SQL:
Ungültige Abfrage: Query was empty
gaestebuch-Eintrag.php
Vielleicht liegt es an der Reihenfolge.
Ein Tipp wäre gut.
PHP:
<!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
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 = "
SELECT
*
FROM gaestebuch
ORDER BY datum
";
// ausführen des mysql-Befehls
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
// Anzeige der Anzahl der Einträge
$anzahl_eintraege = mysql_num_rows($db_erg);
echo "<p>Anzahl der Gästebuch-Einträge: $anzahl_eintraege </p>";
while ($daten = mysql_fetch_array( $db_erg, MYSQL_ASSOC)) {
//Ausgabe der Daten
echo "<pre>";
print_r ($daten);
echo "</pre>";
}
echo $daten['name'];
while ($daten = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
// Aushabe der Daten
echo "ID: ";
echo $daten['id'];
echo "<br />";
echo "Name: ";
echo $daten['name'];
echo "<br />";
echo "E-Mail: ";
echo $daten['email'];
echo "<br />";
echo "URL: ";
echo $daten['url'];
echo "<br />";
echo "Datum: ";
echo $daten['datum'];
echo "<br />";
echo "Gästebucheintrag: ";
echo $daten['eintrag'];
echo "<br />";
}
mysql_free_result( $db_erg );
?>
</body>
</html>
SQL:
Ungültige Abfrage: Query was empty
gaestebuch-Eintrag.php
PHP:
<!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
if ( $_POST['eintrag'] != "" )
{
echo "<h2>Eintrag speichern</h2>";
// hier kommt nun der entsprechende PHP-Code
$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'] ."' ";
exit;
}
?>
<?PHP
echo "<hr />SQL: $sql<hr />";
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
// E-Mail mit dem Problem zukommen gelassen werden
// die Fehlermeldung für den Programmierer sollte
// das Problem ausgeben mit: mysql_error()
die('keine Verbindung zur Zeit möglich - später probieren ');
}
$db_sel = mysql_select_db( MYSQL_DATENBANK )
or die("Auswahl der Datenbank fehlgeschlagen");
// ausführen des mysql-Befehls
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
echo '<p><a href="gaestebuch.php">Gästebuch anzeigen</a></p>';
exit;
?>
<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>
</body>
</html>
Vielleicht liegt es an der Reihenfolge.
Ein Tipp wäre gut.