nordi
Erfahrenes Mitglied
Hi Leute, ich hab ein Problem mit meinem Formmailer! Ich weiß einfach nicht, warum er mit ne Fehlermeldung ausgibt!? Wäre super nett, wenn ihr mal über den Code rübergucken könntet! Er gibt mir eben immer die Fehlermeldung aus, wenn was nicht eingegeben wurde. "Ihr Emaiverkehr funktioniert nicht"
PHP:
<script language=JavaScript>
<!--
function isValid() {
var msg = "";
if (kontaktFormular.eMail.value.indexOf("@") < 1 ||
kontaktFormular.eMail.value.indexOf(".") < 1) {
msg += "- Die E-Mail-Adresse ist syntaktisch nicht korrekt.\n";
}
if(kontaktFormular.vorName.value == "") {
msg += "- Leeres Feld: Vorname:\n";
}
if(kontaktFormular.nachName.value == "") {
msg += "- Leeres Feld: Nachname:\n";
}
if(kontaktFormular.betreff1.value == "") {
msg += "- Leeres Feld: Betreff:\n";
}
if(kontaktFormular.nachricht.value == "") {
msg += "- Leeres Feld: Nachricht:\n";
}
if(msg == "") {
return true;
}
alert(msg);
return false;
}
-->
</script>
<?php
$formularAnzeigen = false;
if (!empty($_POST["senden"]) && (
empty($_POST["vorName"]) ||
empty($_POST["nachName"]) ||
empty($_POST["eMail"]) ||
empty($_POST["betreff1"]) ||
empty($_POST["nachricht"]))) {
$formularAnzeigen = true;
echo '<span style="color: #FF0000; font-size: x-large;">Bitte alle Pflichtfelder ausfuellen.</span>';
} else if (!empty($_POST["senden"]) &&
!isEmail($_POST["eMail"])) {
$formularAnzeigen = true;
echo '<span style="color: #FF0000; font-size: x-large;">Die E-Mail-Adresse ist nicht korrekt.</span>';
} else if (empty($_POST["senden"])) {
$formularAnzeigen = true;
}
if ($formularAnzeigen) {
?>
<form name="kontaktFormular" method="post" action="<?=$_SERVER[PHP_SELF]; ?>" onSubmit="return isValid()">
<table width="100%" border="0">
<!--anfang vorName-->
<tr>
<td><div align="center">*</div></td>
<td><strong>
Vorname:
</strong></td>
<td>
<input name="vorName" type="text" value="<?=$_POST['vorName']; ?>" /></td>
</tr>
<!--ende vorName-->
<!--anfang nachName-->
<tr>
<td><div align="center">*</div></td>
<td><strong>
Nachname:
</strong></td>
<td><input name="nachName" type="text" value="<?=$_POST['nachName']; ?>" /></td>
</tr>
<!--ende nachName-->
<!--anfang eMail-->
<tr>
<td><div align="center">*</div></td>
<td><strong>
E-Mail:
</strong></td>
<td><input name="eMail" type="text" id="eMail" value="<?=$_POST['eMail']; ?>" /></td>
</tr>
<!--ende eMail-->
<!--anfang betreff1-->
<tr>
<td><div align="center">*</div></td>
<td><strong>
Betreff:
</strong></td>
<td><input name="betreff1" type="text" id="betreff1" value="<?=$_POST['betreff1']; ?>" size="50" /></td>
</tr>
<!--ende betreff1-->
<!--anfang nachricht-->
<tr>
<td><div align="center">*</div></td>
<td><strong>
Nachricht:
</strong></td>
<td><textarea name="nachricht" cols="40" rows="10"><?=$_POST['nachricht']; ?></textarea></td>
</tr>
<!--ende nachricht-->
<tr>
<td colspan="3">
<div align="center">
<input name="senden" type="submit" value="Senden" />
</div>
</td>
</tr>
</table>
</form>
<?php
} else {
$eMail = '
Vorname:
'.$_POST['vorName'].'
Nachname:
'.$_POST['nachName'].'
E-Mail:
'.$_POST['eMail'].'
Betreff:
'.$_POST['betreff1'].'
Nachricht:
'.$_POST['nachricht'].'';
if (@mail("info@blablabla.de",
"Neue Nachricht vom Kontaktformular",
$eMail)) {
echo "Ihre Nachricht wurde an verschickt, vielen Dank!<br />";
} else {
echo "E-Mail-Verkehr funktioniert zur Zeit nicht<br />";
}
if ($_POST['kopie']) {
if (@mail($_POST['eMail'],
"FLAIRFORCE: Hier die Kopie Ihrer Nachricht",
$eMail)) {
echo "Sie haben eine Kopie der Nachricht zugeschickt bekommen.<br />";
}
}
}
function isEmail($email) {
$nonascii = "\x80-\xff";
$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";
if (preg_match("/^$regex$/",$email)) {
return true;
}
return false;
}
?>