Hallo Zusammen,
ich bin über die Seite php-kurs.com hierrauf gestoßen. Eine wirklich interessante gut verständliche Seite. Es hapert bei mir nur momentan am Gästebuch, wo einträge in MYSQL gemacht werden sollen. Ich habe stundenlang schon rumexperimentiert, wo der Fehler liegen könnte. Ich bin der Meinung, dass ich die zusammenstellung (also die Reihenfolge) des Codes nicht gut gewählt haben könnte. Ich habe zumindest bemerkt, auch wenn ich einen Gästebucheintrag schreibe, kommt er nicht in die if Anweisung und startet quasi neu. Es folgt also kein Eintrag in MYSQL. Ich hoffe ihr könnt mal einen Blick über den kompletten Code werfen von geastebuch-eintrag.php.
Code:
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">
<?php
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
</head>
<body>
<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" value="Speichern" />
</form>
<?php
if ( $_POST['eintrag'] != "" ) <---------- hier liegt das mögliche Problem
{
echo "<h2>Eintrag speichern</h2>";
// hier kommt nun der entsprechende PHP-Code
define ( 'MYSQL_HOST', 'localhost' );
define ( 'MYSQL_BENUTZER', 'root' );
define ( 'MYSQL_KENNWORT', 'pw' );
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");
$sql = " INSERT INTO gaestebuch ";
$sql .= " SET ";
//$sql .= " id ='". $_POST['id'] ."', ";
$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());}
// exit;
}
echo '<p><a href="gaestebuch.php">Gästebuch anzeigen</a></p>';
exit;
?>
</body>
</html>
Alles anzeigen
Vielen Dank schonmal!