hallo ihr,
ich sitze jetzt schon eine ganze weile an einem kontaktformular. die fehlerprüfung scheint zu funktionieren, allerdings scheint die mail()-funktion nicht zu funktionieren - ich bekomme jedenfalls nix (hab das skript auf dem server online getestet).
beim ausfüllen und abschicken kommt keine fehlermeldung!
ich vermute irgendwelche klammern oder schleifen tun nicht richtig... bin grad nachtblind... :-/
====== anfang quellcode kontakt2.php =======
<?php if(isset($go)) {
// die variable $go wird bei submit in kontakt.php an kontakt2.php übergeben.
echo"<form action='kontakt2.php' method='post'>
[...htlm-code...]";
if($name=="") {echo"<font style='font-size:12px; color:#FF9900;'>Geben Sie bitte Ihren Namen an.</font>";}
echo"[...htlm-code...]";
if($plz=="")
{}
else if(!is_numeric($plz))
{
echo"<font style='font-size:12px; color:#FF9900;'>Bitte nur Zahlen angeben.</font>"; }
echo "[...htlm-code...]";
function check_email($email) {
// RegEx begin
$nonascii = "\x80-\xff"; # Non-ASCII-Chars are not allowed
$nqtext = "[^\\$nonascii\015\012"]";
$qchar = "\\[^$nonascii]";
$protocol = '(?:mailto:)';
$normuser = '[a-zA-Z0-9][a-zA-Z0-9_.-]*';
$quotedstring = ""(?:$nqtext|$qchar)+"";
$user_part = "(?:$normuser|$quotedstring)";
$dom_mainpart = '[a-zA-Z0-9][a-zA-Z0-9._-]*\.';
$dom_subpart = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\.)*';
$dom_tldpart = '[a-zA-Z]{2,5}';
$domain_part = "$dom_subpart$dom_mainpart$dom_tldpart";
$regex = "$protocol?$user_part@$domain_part";
// RegEx end
return preg_match("/^$regex$/",$email);
}
if($email=="")
{
echo "<font style='font-size:12px; color:#FF9900;'>Geben Sie bitte Ihre Email an.</font>";
}
else
if(!check_email($email)) {
echo "<font style='font-size:12px; color:#FF9900;'>Die Emailadresse ist nicht korrekt.</font>";;
}
echo"[...htlm-code...]";
if($tel=="")
{}
else if(!is_numeric($tel)) {
echo"<font style='font-size:12px; color:#FF9900;'>Bitte nur Zahlen angeben.</font>"; }
echo "[...htlm-code...]";
if($text=="") {
echo"<font style='font-size:12px; color:#FF9900;'>Geben Sie bitte eine Nachricht ein.</font>";}
echo"[...htlm-code...]";}
else{
//mailversand:
$empf = "blabla@blabla.net";
$subject = "Kontakt von Webseite";
$message .= "Von: " . $firma . ", " . $name . "\n";
$message .= "E-Mail: " . $email . "\n";
$message .= "URL: " . $url . "\n";
$message .= "Anschrift:" . "\n" . $strasse . "\n" . $plz . " " . $ort . "\n";
$message .= "Telefon: " . $tel . "\n";
$message .= "Nachricht: " . $text . "\n";
mail($empf,$subject,$message);
//ende mailversand
}
?>
====== ende quellcode kontakt2.php =======
vielen dank für eure hilfe!!