Mailformular PHP
Hallo
Ich habe versucht ein Kontaktformular mit Überprüfungsfunktionen etc. zu gestalten sowie es mit der
mail()-Funktion auszustatten. Leider funktionniert irgendetwas nicht. Z.B. wenn ich das Formular
abschicke kommt die Fehlermeldung, dass diese Seite nicht gefunden wurde. Vielleicht liegt es
in der Programmierzeile <form action="<?php echo PHP_SELF ?>" method="post"> wegen dem
PHP_SELF??? Der erste Teil sind die PHP-Befehle und im zweiten Teil meiner Kontaktseite
sind/ist die <form></form>-Anweisungen etc..Ich habe mich auch schon bei meinem Provider
gemeldet und der meinte, dass auf deren Server alles schon "vorbereitet" sei und ich
mit der mail()-Funktion es "problemlos" raufladen könne. Beiliegend habe ich noch
meine Programmierung des Kontaktformulars hinzugefügt. Vielleicht kann anhand meines
Codierung jemand den "Fehler" entdecken....
Besten Dank für jede Hilfe bzw. Hinweise!
Gruss Pixelmaster
Codierung der "mail_1.php"-Seite:
<body>
<h1>Anmeldung</h1>
<p>Bitte füllen Sie die nachfolgenden Eingabefelder aus:</p>
<?php
//überprüfen ob Variable submit vorhanden ist
if(isset($submit)){
//überprüfen ob mindestens 3 Zeichen im Namensfeld
if(strlen($vorname)<3){
$error_msg="<font face='verdana' color='blue'>- Sie Ihren Vornamen nicht eingetragen haben!</font>";
}
//überprüfen ob mindestens 3 Zeichen im Namensfeld
if(strlen($nachname)<3){
$error_msg="<font face='verdana' color='blue'>- Sie Ihren Nachnamen nicht eingetragen haben!</font>";
}
//überprüfen ob mindestens 3 Zeichen im Namensfeld
if(strlen($ort)<4){
$error_msg="<font face='verdana' color='blue'>- Sie den Ortsnamen nicht eingetragen haben!</font>";
}
//überprüfen ob Emailadresse formal richtig
if(!ereg("^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+.)+([a-zA-Z]{2,4})$",$email)){
$error_msg="<font face='verdana' color='blue'>- Sie keine gültige Emailadresse eingetragen haben!</font>";
}
//Formular noch nicht ausgeführt - Formular anzeigen
if(isset($error_msg)){
//Nicht alle Felder korrekt ausgefüllt
echo "<font face='verdana' color='#FF0000'>Das Formular konnte nicht ausgefüllt werden werden, weil</font>";
echo "$error_msg<br><br>";
echo "<a href=mail_1.php><font face='verdana'>Zurück zum Formular</a></font>";
}
else{
//Alle Felder ausgefüllt - Email generieren
$recipient="pixelmaster@info.com";
$subject="Kontaktformular";
$header="From: " . $email . "n";
$mail_body="Das Anfrage-Formular wurde am " . date("d.m.Y.") . " um " . date("H:i") . "h abgeschicktn";
$mail_body.=$anfrage . "nn ---- Ende der Nachricht ----";
mail($recipient,$subject,$mail_body,$header);
//Speichern der Daten in ein File
$kontaktfile=fopen("kontakt.log","a");
fputs($kontaktfile, date("d.m.Y,H:i:s", time()) . ",". $REMOTE_ADDR . "," . $name . "," . $infos . ","
. $email . "," . $anfrage."n");
fclose($kontaktfile);
//Formular ausgeführt - Meldung ausgeben
echo "<h1>Besten Dank für Ihr Interesse!</h1>";
}
}
else{
//Formular noch nicht aufgeführt - Formular anzeigen
?>
<form action="<?php echo PHP_SELF ?>" method="post">
<table bgcolor="#FFFF66" width="100%">
<tr>
<td><p>Vorname:</td>
<td><input type="text" name="vorname" id="vorname"></td>
</tr>
<tr>
<td><p>Nachname:</td>
<td><input type="text" name="nachname" id="nachname"></td>
</tr>
<tr>
<td><p>Wohnort:</td>
<td><input type="text" name="ort" id="ort"></td>
</tr>
<tr>
<tr>
<td><p>Emailadresse:</td>
<td><input type="text" name="email" id="email"></td>
</tr>
<td><input type="Submit" value="Abschicken"></td>
<td><input type="Reset" value="Zurücksetzen"></td>
</tr>
<tr>
<td><input type="hidden" name="abgeschickt" value="1"></td>
</tr>
</table>
</form>
<?php
}
?>
</body>
|