Fehlermeldung nach dem Senden

Hier werden Probleme rund um das Zahlen Captcha behandelt

Moderator: frameguard

Fehlermeldung nach dem Senden

Beitragvon MarkusL » 16.03.2008, 16:29

Hallo brauche dringend Hilfe!

Meine Page liegt auf einem anderen Server wie die anderen Daten ( captcha.php-File mit den zugehörigen Bild und Schriftart, auch das formmailer.php)
Wenn ich über den direkt-link eingebe zeigt mir es das captch-Bild mit Zahlen an, auch wenn ich meine Seite auf dem anderen Server öffne wir alles korrekt angezeigt. Nur wenn ich versuche das Formular zu versenden kommt von dem Server auf dem der Formmailer und das captcha liegt folgender Fehrlermeldung

Meldung vom FormMailer
Der eingebene Captcha-Code ist falsch!

Zurück zum Formular


Was hab ich falsch gemacht - kann mir jemand weiterhelfen.
Gruß Markus
MarkusL
 
Beiträge: 2
Registriert: 16.03.2008, 16:20

Beitragvon Steef389 » 19.03.2008, 01:04

Verständnisfrage:

Möglichkeit 1:
Code: Alles auswählen
Server 1                                                    Server 2
                           Link / Frame
Seite            ------------------------>           Formmailer



Möglichkeit 2:
Code: Alles auswählen
Server 1                                                    Server 2
                             include()
Seite            ------------------------>           Formmailer


Also, wie wird der Formmailer eingebunden?
Steef389
 
Beiträge: 57
Registriert: 20.06.2007, 20:31

Beitragvon MarkusL » 19.03.2008, 03:03

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>&nbsp;</td><td>&nbsp;</td></tr>";
$text2 .= "<tr><td>&nbsp;</td><td>&nbsp;</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>&nbsp;</td><td>&nbsp;</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']);
}
?>



MarkusL
 
Beiträge: 2
Registriert: 16.03.2008, 16:20

Beitragvon Steef389 » 19.03.2008, 14:18

Ich konnte keinen fehler erkennen.
Wird die Sessionvariable fehlerfrei übermittelt?
Du kannst die Sessionvariable mit print_r($_SESSION); abfragen
Steef389
 
Beiträge: 57
Registriert: 20.06.2007, 20:31


Zurück zu Zahlen Captcha

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron