Hallo,
ich möchte gerne die in einem Kontaktformular eingegebene Daten mit PHP auf Vollständigkeit prüfen. Bisher läuft die Prüfung mit Javascript (funktioniert allerdings bekanntermaßen nur bei denen, die JS aktiviert haben).
Hier zunächst das Formular:
Anrede:
Frau
Herr
Name: *
eMail: *
Betreff:
Nachricht: *
* Bitte unbedingt angeben!
So, dann die Prüfung per Javascript:
function ResetCheck () {
var chk = window.confirm("Wirklich alle Eingaben löschen?");
document.kontaktformular.name.focus();
return (chk);
}
function testemail(testString) {
var suche = /^[\w.-]{2,}\@(?:[a-z0-9-]{2,}\.)\*[a-z0-9-]{2,}\.[a-z]{2,4}$/i;
return suche.test(testString);
}
function pruefen () {
EingabeName = document.kontaktformular.name.value;
EingabeNachricht = document.kontaktformular.nachricht.value;
EingabeEmail = document.kontaktformular.email.value;
if (EingabeName == "") {
alert ("Bitte Namen eingeben!");
document.kontaktformular.name.focus();
return false;
}
else if (EingabeEmail == "" ) {
alert ("Bitte geben Sie uns eine eMail-Adresse an!");
document.kontaktformular.email.focus();
return false;
}
else if (!testemail(EingabeEmail)) {
alert ("keine gültige eMail-Adresse!");
document.kontaktformular.email.value="";
document.kontaktformular.email.focus();
return false;
}
else if (EingabeNachricht == "" ) {
alert ("Bitte hinterlassen Sie auch eine Nachricht!");
document.kontaktformular.nachricht.focus();
return false;
}
return true;
Und hier noch die Datei mailscript.php:
<?php $admin= '[email protected]';<br /> $subject= 'Formularanfrage www.akk-leo.de';
$subject2= 'Vielen Dank für Ihre Formularanfrage auf www.akk-leo.de';
$message= 'Nachrichten an '.$admin.' von '.$email.":\n\n";
foreach($HTTP\_POST\_VARS as $name=\> $value) {
$message.= "$name:blush:value\n";
}
mail($admin, $subject, $message, "From: $email");
mail($email, $subject2, $message, "From: $admin");
header('Location: http://'.getenv('HTTP\_HOST').'/docs/formdanke.php');
?\>
Wie kann ich die JS-Prüfung in das Mailscript mit einbauen und dem Benutzer eine sinnvolle Fehlermeldung geben? Das Formular sollte dann möglichst wieder angezeigt werden, so wie der Benutzer es ausgefüllt hat und dann die entsprechende Meldung dazu. Pflichtfelder sind Name, Email und Nachricht.
Vielen Dank schonmal für Eure Hilfe!
Kerstin