Guten Tag zusammen,
nachdem ich die Überprüfung meines Formulares soweit fertig habe, wird die mail auf einmal nicht mehr versandt! Ich poste mal meinen bisher geschriebenen Code:
PHP
<?php
$fehler = false; // wird auf true gesetzt wenn Fehler
if(isset($_POST['senden']))
{
$name = $_POST['name'];
$name = trim($name); // Leerzeichen entfernen
$name = strip_tags($name); // entferne alle SGML Tags
$email = $_POST['email'];
$email = trim($email); // Leerzeichen entfernen
$email = strip_tags($email); // entferne alle SGML Tags
$nachricht = $_POST['nachricht'];
$nachricht = trim($nachricht); // Leerzeichen entfernen
$nachricht = strip_tags($nachricht); // entferne alle SGML Tags
$durchgang = $_POST['durchgang'];
$empfaenger = 'emailadresse@mail.de'; // wurde entfernt
$betreff = 'Nachricht von Kontaktformular http://domain.de';
$mailkopf = 'From: ' .$email. "\r\n";
}
if (!isset($_POST['senden']) || $durchgang != true)
{
$fehler = true;
}
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post" id="kontaktform">';
if($durchgang==true && empty($name))
{
$fehler_name = 'leer';
$fehler = true;
}
elseif($durchgang==true && !empty($name) && preg_match('#\d#', $name))
{
$fehler_name = 'Ungültiger Name';
$fehler = true;
}
else
{
if($durchgang==true && isset($name) && !preg_match('#\d#', $name))
{
$fehler_name = 'Gültig';
$fehler = true;
}
}
echo '<p>Name*: '.$fehler_name.'<br /><input type="text" name="name" value="'.$name.'" /></p>';
if($durchgang==true && empty($email))
{
$fehler_email = 'leer';
$fehler = true;
}
elseif($durchgang==true && !empty($email) && !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
{
$fehler_email = 'Ungültige Email!';
$fehler = true;
}
else
{
if($durchgang==true && isset($email) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
{
$fehler_email = 'Gültig';
$fehler = true;
}
}
echo '<p>Email*: '.$fehler_email.'<br /><input type="text" name="email" value="'.$email.'" /></p>';
if($durchgang==true && empty($nachricht))
{
$fehler_nachricht = 'leer';
$fehler = true;
}
else
{
if($durchgang==true && isset($nachricht))
{
$fehler_nachricht = 'Gültig';
$fehler = true;
}
}
echo '<p>Ihre Nachricht*: '.$fehler_nachricht.'<br /><textarea name="nachricht" rows="15" cols="32">'.$nachricht.'</textarea></p>';
echo '<p id="mailkopie"><input type="checkbox" name="email_kopie" value="kopie" /> Möchten Sie eine Kopie dieser E-Mail erhalten?</p>';
echo '<p><input type="hidden" name="durchgang" value="1" /></p>';
echo '<p><input type="submit" name="senden" value="Absenden" id="sendebutton" /></p>';
echo '<p id="pflichtfelder">*Pflichtfelder</p>';
echo '</form>';
if($fehler === false)
{
if (mail($empfaenger,$betreff,$nachricht,$mailkopf))
{
if($_POST['email_kopie'] == 'kopie')
{
$betreff = 'Ihre Nachricht an http://domain.de';
mail($email,$betreff,$nachricht,$mailkopf);
}
echo '<p>Ihre Nachricht wurde erfolgreich versandt!</p>';
}
else
{
echo '<p>Ein Fehler ist aufgetreten</p>';
}
}
?>
Alles anzeigen
Ich kann keinen Fehler entdecken, vielleicht stehe ich gerade auf dem Schlauch. Leider ist es moentan nicht online verfügbar da mein Webspace gerade nicht funktioniert. Habe deshalb den kompletten Code gepostet, Emailadresse ist im Orginal natürlich korrekt gewesen, aber in öffentlichen Bereichen soll SIe nicht unbedingt stehen.
Danke für Hinweise