Also, jetzt funktioniert alles
Habe die Fehlermeldung noch in eine Box umgewandelt, damit es ein bisschen schöner aussieht (und natürlich um noch ein bisschen Eigeninitiative mit einzubringen, lieber timestamp
)
Hier noch mal ein Code-Beispiel:
PHP:
<?php
if (!isset($_POST['Beitrag']) Or Trim($_POST['Beitrag']) == "") {
$fehler = 1;
$fehlertext = "Bitte geben Sie einen Beitrag ein.";
?>
<script type="text/javascript">
alert("<?php echo $fehlertext; ?>");
</script>
<?php
Vielen Dank an alle Helfer!
Liebe Grüße
Ich hätte da doch noch mal eine Frage...
Nach der Prüfung und erfolgreichem Speichern des Formulars werden in den Formularfeldern trotzdem noch die eingegebenen Daten angezeigt. Das soll aber eigentlich nicht so sein, da direkt unter dem Formular das Gästebuch inklusive dem neuen Eintrag angezeigt wird.
Ich weiß, dass ich die Variablen einfach über
wieder zurücksetzen kann, allerdings klappt es an keiner Stelle des Scriptes, egal, wo ich es einfüge.
Logisch wäre natürlich direkt nach dem Speichern:
PHP:
<?php
//Wenn kein Fehler: Speichern
if ($fehler == 0) {
$sql = " INSERT INTO gbuch ";
$sql .= " SET ";
$sql .= " Name ='". $_POST['Name'] ."', ";
$sql .= " Email ='". $_POST['Email'] ."', ";
//UTC Zeit festlegen:
date_default_timezone_set('Europe/Berlin');
$sql .= " Datum ='". date("Y-m-d H:i:s") ."', ";
$sql .= " Beitrag='". $_POST['Beitrag'] ."' ";
?>
<script type="text/javascript">
alert("<?php echo "Eintrag gespeichert. Vielen Dank!" ?>");
</script>
<?php
$_POST['Name'] = "";
$_POST['Email'] = "";
$_POST['Beitrag'] = "";
//Zugriff auf die MySQL Datenbank:
$db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
if ( ! $db_link ){
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/Speichern der Daten
$db_erg = mysql_query( $sql );
if ( ! $db_erg ){
die('Ungültige Abfrage: ' . mysql_error());
}
Das funktioniert aber leider nicht
Kann mir jemand helfen?