clevo: Mailadresse testen

Hallo ich hab grad ein Kontaktformular geschrieben. Ich wollte gerne noch einen Test der Mailadresse einbauen. Mein Script sieht zur Zeit so aus:

<body>
<h1>Kontakt</h1>
<form action="<?php echo $PHP_SELF ?>"  method="POST">
<?php
if (isset($_POST['submit']))
{
$feld = "";
if (strlen($_REQUEST['mail'])==0) {
$feld = "EMail";
$art = "Keine Eingabe";
}
if (preg_match("/[1]+(.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+.)+([a-zA-Z]{2,4})/", $_REQUEST["mail"])) {
$feld = "Email";
$art = "Keine Emailadresse";
}
if (preg_match("/[^a-zßöüä_.- ]/i", $_REQUEST['name'])) {
$feld = "Name";
$art = "Ung&uuml;ltige Zeichen";
}
if (strlen($_REQUEST['text1'])==0) {
$feld = "Ihre Nachricht";
$art = "Keine Eingabe";
}
if ($tele == "y") {
if (strlen($_REQUEST['tel'])==0) {
$feld = "Telefon";
$art = "Keine Eingabe";
}
else if (preg_match("/[^0-9+\ /]/", $_REQUEST['tel'])) {
$feld = "Telefonnumer";
$art = "Ung&uuml;ltige Zeichen";
}
}
else{
if (preg_match("/[^0-9+\ /]/", $_REQUEST['tel'])) {
$feld = "Telefonnumer";
$art = "Ung&uuml;ltige Zeichen";
}
}
if ($feld != "")
{
echo "<center>$art bei Feld "$feld"<br>";
echo '<a href="'.$_SERVER['PHP_SELF'].'">&auml;ndern</a></center>';
}
else{
$extra = "From: $mail\r\n";
$extra .= "Content-Type: text/html\r\n Content-Transfer-Encoding:8bit\r\n";
$extra .= "X-Mailer: PHP ". phpversion();
if ($tele == "y") $text = "<body  bgcolor='#4A0000'><table>
<tr><td><b><font color='#999545'>Anfrage von :</font></b></td><td><font color='#999545'>$name</font></td></tr>
<tr><td><b><font color='#999545'>Telefonnummer :</font></b></td><td><font color='#999545'>$tel</font></td></tr>
<tr><td colspan='2'><b><font color='#999545'>R&uuml;ckruf erw&uuml;nscht!</font></b></td></tr>
<tr><td width='140'><b><font color='#999545'>Anfrage :</font></b></td><td width='200'><font color='#999545'>$text1</font></td></tr>
</table>";
else $text = "<body  bgcolor='#4A0000'><table>
<tr><td><b><font color='#999545'>Anfrage von :</font></b></td><td><font color='#999545'>$name</font></td></tr>
<tr><td><b><font color='#999545'>Telefonnummer :</font></b></td><td><font color='#999545'>$tel</font></td></tr>
<tr><td width='120'><b><font color='#999545'>Anfrage :</font></b></td><td wisth='200'><font color='#999545'>$text1</font></td></tr>
</table>";
mail("webmaster@himmelsbaeckerei.de", "Anfrage", $text, $extra);
echo '<h5>Ihre Email wurde an uns gesendet!<h5><br>Herzlichen Dank für die Anfrage.';
}
}
else
{
echo"<table align='center'>
    <tr>
        <td>Name </td>
        <td><input type='text' class='inputbox' name='name' size='33'></td>
    </tr>
    <tr>
        <td>EMail*&nbsp;</td>
        <td><input type='text' class='inputbox' name='mail' size='33'></td>
    </tr>
    <tr>
        <td>Telefon&nbsp;</td>
        <td><input type='text' class='inputbox' name='tel' size='33'></td>
    </tr>
    <tr>
        <td></td>
        <td><input type='checkbox' name='tele' value='y'>&nbsp;&nbsp;Bitte rufen Sie mich zur&uuml;ck.</td>
    </tr>
    <tr>
        <td>Ihre Nachricht*&nbsp;</td>
        <td><textarea name='text1' class='inputbox' rows='5' cols='30'></textarea></td>
    </tr>
 <tr>
        <td colspan='2'><center>* Erforderlich</center>
  </td>
 </tr>
 <tr>
        <td colspan='2'><center><input type='submit' class='select' name='submit' value='Absenden'>&nbsp;&nbsp;&nbsp;
  <input type='reset' class='select' value='Zur&uuml;cksetzen'></center></td>
 </tr>
</table>";
 }
?>
</form>
</body>

Der Test der Mailadresse ob sie mit @ Zeichen ist funktioniert aber nicht. Nur ob überhaupt etwas eingegeben ist. Was habe ich falsch gemacht?
Wäre cool wenn mir jemand helfen könnte.


  1. _a-zA-Z0-9- ↩︎

  1. echo $begrüßung;

    Der Test der Mailadresse ob sie mit @ Zeichen ist funktioniert aber nicht. Nur ob überhaupt etwas eingegeben ist. Was habe ich falsch gemacht?

    An welcher Stelle deines Scripts stimmt denn dessen Arbeitsweise nicht mit der von dir gedachten überein? Vergleiche die Variableninhalte und Ergebnisse von Ausdrücken mit dem von dir erwarteten und ermittle so erst einmal den fehlerhaft arbeitenden Teil.

    echo "$verabschiedung $name";