Hallo ihr,
bin ganz neu im Forum und ganz neu im Thema PHP, MySQL etc.
Ich bin gerade dabei, ein kleines simples "Gästebuch" zu entwickeln. Datenbank ist angelegt, Daten sind drin, Daten werden gelesen und korrekt ausgespuckt (Nur die Umlaute wollen noch nicht so). Beim Schreiben in die DB habe ich jedoch Probleme. Und zwar sobald ich die Seite öffne, wo man die Daten eingeben kann, erzeugt er mir schon einen Eintrag - natürlich leer. Wenn ich dann Daten in der Maske eingebe und auf speichern klicke, sagt er mir alles dass alles ok ist, es wurde jedoch trotzdem nichts in die DB geschrieben. Da ich absolut neu bin habe ich gar keine Ahnung woran das liegen könnte. Ich vermute das es an irgend einer Reihenfolge liegt.
Hier der Code:
Ich hoffe ihr könnt mir helfen!
Vielen Dank und
beste Grüße,
Flo
bin ganz neu im Forum und ganz neu im Thema PHP, MySQL etc.
Ich bin gerade dabei, ein kleines simples "Gästebuch" zu entwickeln. Datenbank ist angelegt, Daten sind drin, Daten werden gelesen und korrekt ausgespuckt (Nur die Umlaute wollen noch nicht so). Beim Schreiben in die DB habe ich jedoch Probleme. Und zwar sobald ich die Seite öffne, wo man die Daten eingeben kann, erzeugt er mir schon einen Eintrag - natürlich leer. Wenn ich dann Daten in der Maske eingebe und auf speichern klicke, sagt er mir alles dass alles ok ist, es wurde jedoch trotzdem nichts in die DB geschrieben. Da ich absolut neu bin habe ich gar keine Ahnung woran das liegen könnte. Ich vermute das es an irgend einer Reihenfolge liegt.
Hier der Code:
PHP-Code:
<?php
// Prüfen ob ein Eintrag gemacht wurde
if ( $_POST['beschreibung'] != "" )
{
echo "<h2>Eintrag gespeichert</h2>";
// hier kommt nun der entsprechende PHP-Code
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>Ihr Vorname:<br />
<input type="text" name="vorname" value="" size="50" maxlength="150" />
<p>Ihre E-Mail-Adresse:<br />
<input type="text" name="email" value="" size="50" maxlength="150" />
</p>
<p>Gästebucheintrag:<br />
<textarea name="beschreibung" rows="10" cols="50"></textarea>
</p>
<input type="Submit" name="" value="speichern" />
</form>
<?php
//Verbindung zur Datenbank herstellen
define ( 'MYSQL_HOST', 'example.com' );
define ( 'MYSQL_BENUTZER', '****' );
define ( 'MYSQL_KENNWORT', '****' );
define ( 'MYSQL_DATENBANK', '****' );
$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");
// MySQL Befehl zusammenbauen, sodass diese Daten gespeichert werden
$sql = " INSERT INTO entry ";
$sql .= " SET ";
$sql .= " name ='". $_POST['name'] ."', ";
$sql .= " vorname ='". $_POST['vorname'] ."', ";
$sql .= " email ='". $_POST['email'] ."', ";
$sql .= " date ='". date("Y-m-d H:i:s") ."', ";
$sql .= " beschreibung='". $_POST['beschreibung'] ."' ";
// MySQL Befehl Konstrukt zur Kontrolle ausgeben
// echo "<hr />SQL: $sql<hr />";
// ausführen des mysql-Befehls
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die ('Ungültige Abfrage: ' . mysql_error());
}
// Link zum Gästebuch
echo '<p><a href="gaestebuch.php">Gästebuch anzeigen</a></p>';
exit;
?>
Vielen Dank und
beste Grüße,
Flo
Kommentar