Das ist mein script vom formmailer.php . Evtl. ist irgendwo der Wurm drin...ich bin in disen Sachen der volle Laie
Hab jetzt alles auf meine eingen Webspace wo auch meine Page ist. Hab auch durchgetest, captch-bild und Zahlen kommen, jedoch wird nach dem eingeben der Zaheln ins Formular und senden anschließend wieder die selbige Fehlermeldung angezeigt.
Meldung vom FormMailer
Der eingebene Captcha-Code ist falsch!
Zurück zum Formular
<?
//tragen Sie hier bitte ihre email-adresse ein
//sie muss sich zwischen den 2 hochkommas befinden
//die emailadresse muss zur domain passen, wo sie das script hosten
//bsp: email@myDomain.de funktioniert nur, wenn das script auf myDomain.de liegt!!!
$Ihre_EMail_Adresse = 'info@meineadresse.de';
// eingaben escapen, falls auto escape aus ist
if (!get_magic_quotes_gpc()) {
foreach ($_POST AS $key => $value) {
//echo $_POST[$key] = addslashes($value);
$_POST[$key] = addslashes($value);
}
}
// texte einbinden
include("messages.php");
//begin captcha-abschnitt
if (isset($_POST[email]) AND !isset($_POST[sicherheitscode]))
die($MSG['head'].$MSG['no_captcha'].$MSG['back_to']);
session_start();
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']) {
unset($_SESSION['captcha_spam']);
$ip = $_SERVER['REMOTE_ADDR'];
$datum = date("d.m.Y");
$zeit = date("H:i");
#geändert, damit auch für php5 geeignet
#$https = $HTTP_POST_VARS;
$https = $_POST;
$email = $_POST['email'];
$sender = $_POST['sender'];
$betreff = $_POST['betreff'];
$url = $_POST['url'];
$rec2 = $_POST["email2"];
$copy = $_POST["copy"];
$copyto = $_POST["SenderMail"];
$strFrom = $Ihre_EMail_Adresse;
$typ = $_POST["typ_sender"];
$reply_to = $Ihre_EMail_Adresse;
if (isset($_POST['mailformat']) AND $_POST['mailformat'] == "html"){
$text = "<html><head><title>$betreff</title></head><body>";
$text .= "Sie haben eine Mail am $datum um $zeit erhalten!<br /><br />";
$text2 = $text."Sie haben ein Formular am $datum um $zeit ausgefüllt!<br />
Dabei wurden folgende Angaben übermittelt:<br /><br />";
}
else {
$text="Sie haben eine Mail am $datum um $zeit erhalten!\n
___________________________________________________
\n";
$text2="Sie haben ein Formular am $datum um $zeit ausgefüllt!\n
Dabei wurden folgende Angaben übermittelt:\n
___________________________________________________
\n";
}
$hidden_fields = array('next', 'url','copy','email','typ_sender','sender','mailformat');
if (isset($_POST['mailformat']) AND $_POST['mailformat'] == "html") {
$text .= "<table>";
foreach ($https as $key => $value)
{
if (! in_array($key, $hidden_fields))
$text = $text."<tr><td>".$key." :</td><td>".stripslashes($value)."</td></tr>\n\n";
$text2 = $text2."<tr><td>".$key." :</td><td>".stripslashes($value)."</td></tr>\n\n";
}
$text .= "<tr><td> </td><td> </td></tr>";
$text2 .= "<tr><td> </td><td> </td></tr>";
$text .= "<tr><td>Datum :</td><td>$datum</td></tr>";
$text .= "<tr><td>Uhrzeit :</td><td>$zeit</td></tr>";
$text .= "<tr><td>IP :</td><td>$ip</td></tr>";
$text .= "<tr><td> </td><td> </td></tr>";
$text .= "<tr><td colspan=\"2\">".$_SERVER['HTTP_USER_AGENT']."</td></tr>";
$text .= "</table></body></html>";
$text2 .= "</table></body></html>";
}
else {
foreach ($https as $key => $value)
{
if (!in_array($key, $hidden_fields))
$text = $text."".$key." : ".stripslashes($value)."\n\n";
$text2 = $text2."".$key." : ".stripslashes($value)."\n\n";
}
$text = $text."\n
__________________________
\nDatum:".$datum."\nUhrzeit:".$zeit." Uhr\nIP:".$ip."\n".$_SERVER['HTTP_USER_AGENT'];
}
#echo $text;
if(empty($betreff)) {$betreff="Formularübermittlung";}
if(empty($email)) {$email= $strFrom;}
if(empty($url)) {$url='http://linzmaier-haustechnik.de';}
if (empty($typ)) {$reply_to=$sender;}
if ($typ ==1) {$reply_to = $_POST["SenderMail"];}
if ($typ ==0) {
if (empty($copyto)) $reply_to = $_POST["Sender"];
else $reply_to = $_POST["SenderMail"];}
# Maximale Größe des Attachments in Bytes:
# könnte man auch weglassen
$max_attach_size = 1200000;
$filesize = false;
//schreiben der logdatei
#$datei = fopen("log.txt", "a+");
$datei = fopen(date("m")."_".date("Y").".txt", "a+");
fwrite($datei, $datum.' - '.$zeit.' - '.$email. "\n");
fclose($datei);
// Dateien zählen
$count = count($_FILES['upload']['name']);
// Boundary festlegen:
$boundary = md5(uniqid(rand()));
// Anfang des Mail-Headers
// (musste ausgelagert werden)
if ($count == 0) {
$header = "From: FormMailer<".$strFrom.">\r\n";
$header .= "X-Sender-IP: $ip\n";
if (isset($_POST['mailformat']) AND $_POST['mailformat'] == "html") {
$header .= "Content-Type: text/html\n";
$header .= "\nContent-Transfer-Encoding: 8bit";
}
else $header .= "Content-Type: text/plain\n";
$header .= "Reply-To: ".$reply_to."\r\n";
}
else {
$header = "From: FormMailer<".$strFrom.">\r\n";
$header .= "X-Sender-IP: ".$ip."\n";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n";
$header .= "This is a multi-part message in MIME format.\n";
// Mail-Text:
$header .= "--".$boundary;
if (isset($_POST['mailformat']) AND $_POST['mailformat'] == "html")
$header .= "\nContent-Type: text/html\n";
else $header .= "\nContent-Type: text/plain\n";
$header .= "\n\n".$text."\n\n";
$text = "";
}
// schleife für alle dateien
// fügt für jede datei den entsprechenden header eintrag hinzu
// jede datei wird auch wieder auf die grösse überprüft
for ($i = 0;$i < $count;$i++) {
//print_r($_FILES['upload']);
if ($_FILES['upload']['name'][$i] == "t") {
$int_filesize = $_FILES['upload']['size'];
$str_filename = $_FILES['upload']['name'];
$tmp_filename = $_FILES['upload']['tmp_name'];
$filetype = $_FILES['upload']['type'];
}
else {
$int_filesize = $_FILES['upload']['size'][$i];
$str_filename = $_FILES['upload']['name'][$i];
$tmp_filename = $_FILES['upload']['tmp_name'][$i];
$filetype = $_FILES['upload']['type'][$i];
}
if ($int_filesize > $max_attach_size)
{
$filesize = false;
echo "<h3>Meldung vom FormMailer</h3>";
echo "Ihr Attachment <b>".$str_filename."</b> ist zu groß (".number_format($int_filesize/1000,0,",","")." KB) - Maximalgröße: ".number_format($max_attach_size/1000,0,",","")." KB<br>";
echo "<br><a href=\"javascript:history:back()\">Zurück zum Formular</a>";
}
else
{// Wenn Attachment vorhanden und grösse ok, dann MIME-Mail erstellen:
$filesize = true;
if ($tmp_filename && $filesize == true)
{
// Datei einlesen und codieren:
$datei_content = fread(fopen($tmp_filename,"r"),filesize($tmp_filename));
$datei_content = chunk_split(base64_encode($datei_content),76,"\n");
// Attachment:
$header .= "\n--".$boundary;
$header .= "\nContent-Type: ".$filetype."; name=\"".$str_filename."\"";
$header .= "\nContent-Transfer-Encoding: base64";
$header .= "\nContent-Disposition: attachment; filename=\"".$str_filename."\"";
$header .= "\n\n".$datei_content;
// Ende:
if ($i == $count-1) $header .= "\n--".$boundary."--";
}
}
}
// Checken der bad words
$bad_words = file_get_contents("bad_words.txt");
$bad_words = explode("\r\n",$bad_words);
foreach ($bad_words AS $value) {
if (strpos($text,$value) !== FALSE) die($MSG['head'].$MSG['bad_word'].$MSG['back_to']);
if (strpos($header,$value) !== FALSE) die($MSG['head'].$MSG['bad_word'].$MSG['back_to']);
}
mail($email,$betreff,$text,$header) or die ("Fehler beim Übermitteln!");
//hier werden dann noch die kopien abgefrühstückt
if ($rec2 != "") mail($rec2,$betreff,$text,$header);
if ($copy != "") mail($copyto,$betreff,$text2,$header);
header("Location: ".$url);
#}
#}
}
else {
echo($MSG['head'].$MSG['captcha_wrong'].$MSG['back_to']);
}
?>