Hallo zusammen,
da ich nun schon unzählbare Foren durchkämmt und viel an meinem Quellcode rumprobiert habe, poste ich mein Problem nun einfach mal selbst und hoffe, dass ich so eine Lösung finde...
Aktueller Stand:
Es geht darum, dass ich für eine Website ein Gästebuch erstellt habe. Dazu gibt es ein Formular mit den Feldern Name, Email und Beitrag. Unter dem Formular gibt es noch den Button "speichern".
Wenn ich in alle Felder etwas eintrage, klappt das mit dem Speichern auch alles einwandfrei.
Das Problem:
Das Problem ist jetzt aber, dass die Eingabe nicht gespeichert wird, sobald ein Feld leer bleibt. Das Formular wird nach dem Klicken auf "speichern" ohne die vorher getätigten Einträge erneut angezeigt.
Deshalb möchte ich gerne beim Klick auf "speichern" überprüfen, ob in alle Felder etwas eingetragen wurde. Falls ein Feld leer ist, soll eine Fehlerausgabe erscheinen, welche z.B. ausgibt "Bitte geben Sie Ihren Namen ein.".
Der evtl. schon eingegebene Text in den anderen Feldern soll dabei nicht gelöscht, sondern weiter angezeigt werden, damit der User nicht noch ein mal von vorne anfangen muss.
Ein Auszug vom Quellcode:
Um das Ganze kurz zu verdeutlichen...
Da ich ein blutiger Anfänger bin und noch nicht so wirklich durchblicke, weiß ich nicht, ob der letzte Teil (das was nach dem else kommt) überhaupt richtig ist... Ich habe einfach mal versucht, es irgendwie logisch anzugehen...
Ich würde mich sehr freuen, wenn mir jemand weiterhelfen könnte!
Vielen Dank schon mal im voraus für eure Mühe!
Liebe Grüße!
da ich nun schon unzählbare Foren durchkämmt und viel an meinem Quellcode rumprobiert habe, poste ich mein Problem nun einfach mal selbst und hoffe, dass ich so eine Lösung finde...
Aktueller Stand:
Es geht darum, dass ich für eine Website ein Gästebuch erstellt habe. Dazu gibt es ein Formular mit den Feldern Name, Email und Beitrag. Unter dem Formular gibt es noch den Button "speichern".
Wenn ich in alle Felder etwas eintrage, klappt das mit dem Speichern auch alles einwandfrei.
Das Problem:
Das Problem ist jetzt aber, dass die Eingabe nicht gespeichert wird, sobald ein Feld leer bleibt. Das Formular wird nach dem Klicken auf "speichern" ohne die vorher getätigten Einträge erneut angezeigt.
Deshalb möchte ich gerne beim Klick auf "speichern" überprüfen, ob in alle Felder etwas eingetragen wurde. Falls ein Feld leer ist, soll eine Fehlerausgabe erscheinen, welche z.B. ausgibt "Bitte geben Sie Ihren Namen ein.".
Der evtl. schon eingegebene Text in den anderen Feldern soll dabei nicht gelöscht, sondern weiter angezeigt werden, damit der User nicht noch ein mal von vorne anfangen muss.
Ein Auszug vom Quellcode:
Um das Ganze kurz zu verdeutlichen...
PHP:
<?php
if ( $_POST['Name'] != "" && $_POST['Email'] != "" && $_POST['Beitrag'] != "")
{
$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'] ."' ";
echo "<h2>Eintrag gespeichert</h2>";
//Zugriff auf die MySQL Datenbank:
//...
// ausführen des mysql-Befehls/Speichern der Daten
//...
} // if-Bedingung zu Ende
//Falls ein Feld leer ist und vorher schon mal auf speichern gedrückt wurde, Fehlerausgabe...
else
{
if ($_POST['schon_mal_gespeichert'] == "submit" )
{
if ( $_POST['Name'] == "" )
{
echo "Bitte geben Sie Ihren Namen ein!";
}
if ( $_POST['Email'] == "" )
{
echo "Bitte geben Sie Ihre Email-Adresse ein!";
}
if ( $_POST['Beitrag'] == "" )
{
echo "Bitte geben Sie einen Text ein!";
}
}
Da ich ein blutiger Anfänger bin und noch nicht so wirklich durchblicke, weiß ich nicht, ob der letzte Teil (das was nach dem else kommt) überhaupt richtig ist... Ich habe einfach mal versucht, es irgendwie logisch anzugehen...
Ich würde mich sehr freuen, wenn mir jemand weiterhelfen könnte!
Vielen Dank schon mal im voraus für eure Mühe!
Liebe Grüße!