Nur korrekt ausgefülltes Formular versenden

Hallo,
step by step taste ich mich voran.
Nun habe ich es auch schon geschafft, dass mein Formular per mail zugestellt wird.
Ich hoffe auch noch, dass der Code relativ sicher ist !?
Jeder Verbesserungstipp sei mir willkommen.
Nun möchte ich aber noch, dass das Formularmail mir nur zugestellt wird, wenn Name und mailadresse korrekt ausgefüllt sind.
Brauche einen Gedankenanstoß wie ich dies verwirklichen kann.
Wenn möglich in einem Anfängerdeutsch !
Danke

<?php $empfaenger = "info@xyzde" ;
$betreff = "Kontaktformular xyz" ; $von = "From: Kontaktformular " ;
$betreff = "Sie haben folgenden Betreff gewählt:-" ;
if (isset($_POST['CheckBox01'])) $betreff .= "Roller - ";
if (isset($_POST['CheckBox02'])) $betreff .= "LkW - ";
$anrede = $_POST ['anrede'];
$name = $_POST ['name'];
$email = $_POST ['email'];
$nachricht = $_POST ['nachricht'];
$name = strip_tags ($name); /* Entfernt Sonderzeichen in Namenfeld,Email,Nachricht */
$name = htmlspecialchars ($name);
$name = trim ($name);
$name = stripslashes ($name);

$email = strip_tags ($email);
$email = htmlspecialchars ($email);
$email = trim ($email);
$email = stripslashes ($email);

$nachricht = strip_tags ($nachricht);
$nachricht = htmlspecialchars ($nachricht);
$nachricht = trim ($nachricht);
$nachricht = stripslashes ($nachricht);
$nachricht = nl2br ($nachricht);


if(empty ($name))
{
echo "Name: Bitte tragen sie ihren Namen ein.
";}
else
{
echo 'Name: '.$anrede. ' '.$name.'
' ;}
/* Überprüft die E-Mail-Adresse auf Gültigkeit "habe ich irgendwo kopiert (*/
function mailCheck($email) {
return preg_match("/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-.]+\.([a-zA-Z]{2,4})$/", $email);
}
$mail_gepr = mailCheck ($email);
if($mail_gepr == "1")
{
echo " Ihre eMail Adresse lautet: $email";
}
else
{
echo " Ihr Mailadresse ist nicht OK. Bitte überprüfen sie diese!";
}
/* Überprüft die E-Mail-Adresse auf Gültigkeit*/

echo '
'.$betreff;
echo '
Nachricht:
';
echo $nachricht;
$mailnachricht = $betreff.
"\nName: ".$anrede. ' '.$name.
"\nMailadresse: ".$email.
"\nNachricht:\n".$nachricht;
mail($empfaenger,$betreff,$mailnachricht);
?>

hi,
das sieht ja schon ziemlich gut aus.
das hier:

$email = strip\_tags ($email);
$email = htmlspecialchars ($email);
$email = trim ($email);
$email = stripslashes ($email);

scheint mir ein wenig redundant.
kennst du die seite http://php.net/ ?
dort kannst du alle funktionen nachschlagen. im allgemeinen müssten diese strings nicht unbedingt so behandelt werden, solange sie nicht für einen sql befehl oder ähnlcihes eingesetzt werden, aber eine gewisse vorsicht schadet nie. stripslashes oder htmlspecialchars sollte bei weitem reichen. trim macht alles nur unleserlicher und strip_tags kann aus meiner sicht nur wirklich sinvoll mit einem zweiten argument eingesetzt werden.
bei

if($mail\_gepr == "1")

müsstest du die eins nicht in gänsefüsschen setzen, da eine integer-wert zurückgegeben wird. ausserdem kannst du die zeile

$mail\_gepr = mailCheck ($email);

weglassen, und

mailCheck($email)

direkt in der bedingung einfügen.
lg niemand

Danke für die Tipps.
Werde mich glich dransetzen.
Noch ne Idee bezüglich der Versendung?

hi
etwas habe ich noch ganz übersehen:
nach deinem skript wird das mail ja in JEDEM fall versendet, egal ob die felder richtig ausgefüllt wurden oder nicht. also musst du erstens die bedinungen verschachteln, da ja beide bedingungen erfüllt werden müssen, und die

mail()

-funktion muss innerhalb dieser verknüpften bedingungne anzutreffen sein, so dass sie nur aufgerufen wird wenn beide bedingungen erfüllt sind.
lg niemand