|
Formulare
- mit JavaScript überprüfen, mit PHP versenden Immer noch
sehr hoher Beliebtheit erfreuen sich die allseits bekannten
Formmailer. Mit ihnen ist es dem Webmaster möglich, seinen Besucher einen schnellen Weg
des eMail-Versendens zu bieten. Wobei der Besucher noch nicht mal ein eigenes
Mail-Programm bzw. eine eigene eMail-Adresse benötigt....
Dieses Tutorial beschäftigt sich mit dem Überprüfen des ausgefüllten Formulares
per JavaScript und dem schnellen Versenden mit PHP.
Als allererstes legt man sich seine HTML-Datei mit dem gewünschten Formular
an. Ein Beispielformular wäre dieses hier:
<form method="post" action="formular.php" name="formular">
<input type="text" name="name" value="Ihr Name"><br /><br />
<input type="text" name="mail" value="Ihre eMail-Adresse">
<input type="submit" name="senden" value="senden">
</form>
Die Felder "reipient" und "subject" stehen hier jeweils für die Adresse des
Empfängers und für den Betreff der beim Empfänger ankommenden eMail.
Um das Formular auf seine Richtigkeit zu überprüfen, legen wir folgenden JavaScript-Code
auf unserer Formular-Seite an:
<script language="JavaScript">
<!--
// Formular-Checker
function check(forms){
name=document.forms[0].elements[0].value;
email=document.forms[0].elements[1].value;
mailat=email.indexOf("@");
maildot=email.indexOf(".");
if(name==""){alert("Bitte überprüfe deinen Namen!");
document.forms[0].elements[0].focus();
return(false);}
if (email!=""){
if ((mailat==-1)||(maildot==-1))
{alert("Bitte überprüfe deine eMail-Adresse!");
document.forms[0].elements[1].focus();
return(false);}}
// -->
</script>
Jetzt wird das Feld "name" geprüft ob es ausgefüllt ist und das Feld "mail" wird
nach einem "@" oder einem "." durchsucht. Sollte also eine eMail-Adresse in
Form von "heino@laut" angegeben werden, wird eine Fehlermeldung ausgegeben,
da der "." fehlt.
Wenn das Formular dann richtig ausgefüllt wurde, können wir mit dem Versenden
beginnen. Hierzu verwenden wir die in dem <form>-Tag angegebene "formular.php",
in der folgendes steht:
<?php
$admin = "webmaster@domain.de";
$subject = "Formular wurde ausgefüllt!";
while(list($name,$value)=each($HTTP_POST_VARS)) {
$message.="$name: $value\n\n";
}
mail($admin,$subject,$message,"From: $mail");
echo "Vielen Dank für das Ausfüllen des Formulares!"
?>
Mit dieser kurzen Datei werden die Daten an die angegeben eMail-Adresse (hier webmaster@domain.de)
gesendet. Den Text, für das Bedanken, kann man natürlich ebenfalls beliebig ändern...
Und schon ist unser kurzes Formular fertig!
|
|