DANKE, das hat jetzt prima funktioniert. Das Script geht jetzt bei mir.
Jetzt ist mir das mit die() auch klar. Da kann ich jetzt einiges machen.
Daten erst dann in DB speichern, wenn Felder OK sind
Einklappen
X
-
Ehrlich gesagt, nein. Ich hab keinen Tau, was ich da mache!
Ich bin auch kein Phpler sondern hab mir das was ich kann, Datenbankabfrage bzw speichern selbst beigebracht. Das war's auch schon. Ich kann etwas in enem vordefinierten Code umändern aber das war's dann auch schon.
Einen Kommentar schreiben:
-
Irgendwie so. Habe das jetzt nur ganz schnell zusammengetippt, damit Du einen Plan hast. Das ganze ist stilistisch immer noch schlecht, aber so erkennst Du wenigstens, was Du falsch gemacht hast.
Und jetzt schnell zu Amazon !
PHP-Code:if ($Nachname == "")
{
die("- Sie haben keinen <b>Nachnamen</b> eingegeben.
Gehen Sie bitte zurück und geben Sie nochmals die Daten ein!<br>");
}
if ($Vorname == "")
{
die("- Sie haben keinen <b>Vornamen</b> eingegeben.
Gehen Sie bitte zurück und geben Sie nochmals die Daten ein!<br>");
}
if ($Adresse == "")
{
die("- Sie haben keine <b>Adresse</b> eingegeben.
Gehen Sie bitte zurück und geben Sie nochmals die Daten ein!<br>");
}
if ($plz == "")
{
die("- Sie haben keine <b>PLZ</b> bzw. keinen <b>Ort</b> eingegeben.
Gehen Sie bitte zurück und geben Sie nochmals die Daten ein!<br>");
}
if ($Email == "")
{
die("- Sie haben keine <b>E-Mail</b> eingetragen.
Gehen Sie bitte zurück und geben Sie nochmals die Daten ein!<br>");
}
else if(!ereg("^[a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+.([a-zA-Z]{2,3})$", $Email))
{
die("Diese E-Mail Adresse ist nicht gültig.
Bitte gehen Sie zurück und geben Sie eine richtige E-Mail ein!<br>");
}
else if($Nachname && $Vorname && $Adresse && $plz && $Email)
{
echo "Alle Daten Sind OK<br><br>";
}
$sql = 'INSERT INTO zukunftsinvestments (Firma, Nachname, Vorname,
Adresse, plz, Email, Telefon, Nummer, Ort, Datum) VALUES
("$Firma","$Nachname", "$Vorname", "$Adresse", "$plz", "$Email",
"$Telefon", "$Nummer", "$Ort","$Datum")';
if (mysql_query($sql))
{
$Subject = "Anmeldung erfolgreich";
$Body = "Keine Ahnung was hier hin soll."
if (mail($Email, $Subject, $Body))
{
echo "Wir Danken für Ihre Anmeldung.<br>In den nächsten
Minunten wird Ihnen eine Anmeldebestätigung per E-Mail
an $Email zugesendet.";
}
else
{
echo "Sie sind in der Datenbank registriert, aber beim Versand
der Bestätigungsmail ist ein Fehler aufgetreten."
}
}
else
{
echo "<h1>Es ist ein Datenbankfehler aufgetreten!</h1>";
}
Einen Kommentar schreiben:
-
Hallo, das funktioniert bei mir nicht.
Es werden trotzdem die Daten in die Tabelle geschrieben.
PHP-Code:else if($Nachname && $Vorname && $Adresse && $plz && $Email) { die
("Bitte geben Sie die Daten, welche fehlen, im Formular ein!"); mail();}
LG m-werk
Einen Kommentar schreiben:
-
Du musst natürlich Deine Fehlermeldungen mit die() ausgeben. Dann bricht das Script die Ausführung ab und das SQL wird ebenfalls nicht ausgeführt.
Einen Kommentar schreiben:
-
Ich habe das immer so gelöst:
PHP-Code:if(isset($_POST['submit']))
{
if(empty($_POST[file]))
{
$error .= '<b>*</b> Du musst noch die Datei angeben!<br>';
}
if(empty($_POST[title]))
{
$error .= '<b>*</b> Du musst noch einen Titel angeben!<br>';
}
if(empty($_POST[forumbereich]))
{
$error .= '<b>*</b> Laberecke oder Funforum ??<br>';
}
if(empty($error))
{
$time = time();
$sql = $DB_site->query("INSERT INTO ......... ");
if($sql){
$status = '<b>*</b> Datei wurde in die Datenbank eingetragen!<br>';
// Hier kommen dann alle Mailsender functionen rein.
}else{
$status = '<b>*</b> Fehler beim eintragen der Datei in die Datenbank!<br>';
}
}
Sers
Der Boris
Einen Kommentar schreiben:
-
Hallo,
PHP-Code:else if($Nachname && $Vorname && $Adresse && $plz && $Email) {
echo"Alle Daten Sind OK<br><br>"; mail();}
Wenn ich anstelle von echo die("Alle Daten sind OK"); verwende, was macht das für einen Unterschied?
Ich muss doch eine verbindung mit else if und dem sql-statement herbekommen.
Ich bin mir nicht sicher, ob ich richtig liege:
muss vielleicht das sql-statement in der else if zwischen die { und }?
lg, m-werk
Einen Kommentar schreiben:
-
Ich hab mein sql-Statement hinter meiner Prüfung. Zuerst wird geprüft, dann wird gespeichert.
Wie soll das mit die() aussehen?
Einen Kommentar schreiben:
-
Setze doch das SQL Statement einfach hinter Deine Überprüfung und verwende oben statt "echo" einfach "die()".
Einen Kommentar schreiben:
-
Da du nicht in der lage warst, deinen code umzubrechen, kann ich nur halbe sätze lesen. Und das obwohl ich nen widescreen habe.
Ist dein Problem mit dem eintragen jetzt gelöst?
du kannst mittels JS (history.back) zurück springen. Aber warum gibst du dem user nicht auf der fehlerseite nen formular, wo seine angaben schon drin stehen evtl. die falschen Stellen sogar mit einem Stern(?) gekennzeichnet werden? Setzt natürlich ne saubere Strucktur deines dokumentes voraus.
Einen Kommentar schreiben:
-
Daten erst dann in DB speichern, wenn Felder OK sind
Hallo Leute,
Ich übermittle Daten in eine Datenbank und dabei wird zugleich dem User eine E-Mail als DANKE übermittelt.
Jetzt habe ich eine Abfrage eingebaut, so dass es gewisse Pflichtfelder im Formular gibt.
Jetzt möchte ich aber, dass nach der Prüfung der Pflichtfelder, erst dann die Daten in die Datenbank gespeichert werden, wenn folgender Code OK ist.
PHP-Code:if ($Nachname == ""){ echo "- Sie haben keinen <b>Nachnamen</b>
eingegeben. Gehen Sie bitte zurück und geben Sie nochmals die Daten ein!<br>";}
if ($Vorname == ""){ echo "- Sie haben keinen <b>Vornamen</b>
eingegeben. Gehen Sie bitte zurück und geben Sie nochmals die Daten ein!<br>";}
if ($Adresse == ""){ echo "- Sie haben keine <b>Adresse</b> eingegeben.
Gehen Sie bitte zurück und geben Sie nochmals die Daten ein!<br>";}
if ($plz == ""){ echo "- Sie haben keine <b>PLZ</b> bzw. keinen
<b>Ort</b> eingegeben. Gehen Sie bitte zurück und geben Sie nochmals die Daten ein!<br>";}
if ($Email == "")
{
echo "- Sie haben keine <b>E-Mail</b> eingetragen. Gehen Sie bitte
zurück und geben Sie nochmals die Daten ein!<br>";
}
elseif(!ereg("^[a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+.([a-zA-
Z]{2,3})$", $Email))
{
echo "Diese E-Mail Adresse ist nicht gültig. Bitte gehen Sie zurück und
geben Sie eine richtige E-Mail ein!<br>";
}
else if($Nachname && $Vorname && $Adresse && $plz && $Email) {
echo"Alle Daten Sind OK<br><br>"; mail();}
dann soll dieser Code ausgeführt werden, ansonsten kommt ja eh die
Fehlermeldung (siehe oben)
PHP-Code:$sql = "INSERT INTO zukunftsinvestments (Firma, Nachname, Vorname,
Adresse, plz, Email, Telefon, Nummer, Ort, Datum) VALUES (\"$Firma\",
\"$Nachname\", \"$Vorname\", \"$Adresse\", \"$plz\", \"$Email\",
\"$Telefon\", \"$Nummer\", \"$Ort\",\"$Datum\")";
$result=mysql_query($sql);
echo "Wir Danken für Ihre Anmeldung.<br>In den nächsten Minunten wird
Ihnen eine Anmeldebestätigung per E-Mail an $Email zugesendet.";
LG, m-werkZuletzt geändert von m-werk; 11.04.2006, 10:08.Stichworte: -
Einen Kommentar schreiben: