Komm leider nicht klar, wer kann Helfen

Hier werden Probleme rund um das Zahlen Captcha behandelt

Moderator: frameguard

Komm leider nicht klar, wer kann Helfen

Beitragvon Helly » 08.08.2007, 09:32

:oops:
Hallo
Bei mir geht das mit den Cod und Bild, nur wenn ich dann das hier einfüge geht nix mehr.. :?:

session_start();
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){
unset($_SESSION['captcha_spam']);
}else{
die ("Der Sicherheitscode ist falsch!");
}

Hier mal das ganze php script

<?php

session_start();
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){
unset($_SESSION['captcha_spam']);
}else{
die ("Der Sicherheitscode ist falsch!");
}



$mail_to="meine Email.adresse";
$from_name=$_POST['fromname'];
$from_mail=strtolower($_POST['frommail']);
$mail_subject=$_POST['mailsubject'];
$mail_text=$_POST['mailtext'];
$send=$_POST['s'];

if(trim($from_name)=="") $err_text.="Bitte gib Deinen Namen an.<br>";
if(trim($from_mail)=="")
$err_text.="Bitte gib Deine E-Mail-Adresse an.<br>";
else
if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail))
$err_text.="Bitte gib eine gültige E-Mail-Adresse an.<br>";
if(trim($mail_subject)=="") $err_text.="Bitte gib einen Betreff ein.<br>";
if(trim($mail_text)=="") $err_text.="Bitte gib einen Nachrichtentext ein.<br>";

if(strlen($mail_text)>1000) {
$mail_text=substr($mail_text,0,1000)."... (Text wurde gekürzt!)";
}
$from_name=str_replace(chr(34),"''",$from_name);
$mail_subject=str_replace(chr(34),"''",$mail_subject);
$from_name=stripslashes($from_name);
$from_mail=stripslashes($from_mail);
$mail_subject=stripslashes($mail_subject);
$mail_text=stripslashes($mail_text);

if(($send=="1") && (isset($err_text))) {
echo "<p><big><b>Fehler:</b></big><br>";
echo "$err_text</p>";
}
if(($send!="1") || (isset($err_text)))
{
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table style="color : #000; border-width : 2px; border-style : solid; border-color : #5bd #035 #068 #6cf" align="center" cellspacing="2" cellpadding="0" width="20%">
<tr><p><b>KONTAKTFORMULAR</b></p>
<td nowrap align=right>Dein Name:</td>
<td width=100%><input style="color : #ff0; background : #17a; border-width : 2px; border-style : solid; border-color : #068 #6cf #5bd #035" type="text" name="fromname" size=47 maxlength=50 value="<?php echo $from_name; ?>"></td></tr>
<tr><td nowrap align=right>Deine E-Mail Adresse:</td>
<td width=100%><input style="color : #ff0; background : #17a; border-width : 2px; border-style : solid; border-color : #068 #6cf #5bd #035" type="text" name="frommail" size=47 maxlength=50 value="<?php echo $from_mail; ?>"></td></tr>
<tr><td nowrap align=right>Betreff:</td>
<td width=100%><input style="color : #ff0; background : #17a; border-width : 2px; border-style : solid; border-color : #068 #6cf #5bd #035" type="text" name="mailsubject" size=47 maxlength=120 value="<?php echo $mail_subject; ?>"></td></tr>
<tr><td nowrap align=right valign=top>Text:<br><i>(1.000 Zeichen max)</i></td>
<td width=100%><textarea style="overflow: auto; color : #ff0; background : #17a; border-width : 2px; border-style : solid; border-color : #068 #6cf #5bd #035" cols="40" rows="10" name="mailtext"><?php echo $mail_text; ?></textarea></td></tr>
<tr>
<td></td>
</tr>
<tr><td nowrap align=right><img src="captcha/captcha.php" border="0" title="Sicherheitscode"></td>
<td width=100%><input style="color : #ff0; background : #17a; border-width : 2px; border-style : solid; border-color : #068 #6cf #5bd #035" type="text" name="sicherheitscode" size=10 maxlength=10 />
<input src="absenden.gif" alt="Absenden" style="border:0;" type="image" type="submit" value="Abschicken" />
<input type="hidden" name="s" value="1" />
</td></tr>
</table>
</form>

<?php
} else {
$header="From: $from_name <$from_mail>\n";
$header.="Reply-To: $from_mail\n";
$header.="Content-Type: text/plain";
$mail_date=gmdate("D, d M Y H:i:s")." +0000";
$send=0;

$absender = preg_replace( "/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "",
$_POST['absenderemail'] );
$absender = preg_replace( "/(content-type:|bcc:|cc:|to:|from:)/im", "",
$absender );
$txt = preg_replace( "/(content-type:|bcc:|cc:|to:|from:)/im", "",
$_POST['txt'] );
mail("rene@reneschmidt.de", "Mail vom Kontaktformular", $txt,
"From: $absender\n");

if(@mail($mail_to,$mail_subject,$mail_text,$header))
{
echo "<p><b>Deine E-Mail wurde abgesendet.</b></p>";
echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail\">Zurück zum Formular</a></p>";
}else{
echo "<p><b>Beim Versenden der E-Mail ist ein Fehler aufgetreten!</b></p>";
echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";
}
}
?>

:? Hoffe auf Hilfe
MfG Helly
Helly
 
Beiträge: 6
Registriert: 08.08.2007, 09:19

Beitragvon Rob [Admin] » 08.08.2007, 16:36

Versuchs mal so:

Code: Alles auswählen
<?php
session_start();

$mail_to="meine Email.adresse";
$from_name=$_POST['fromname'];
$from_mail=strtolower($_POST['frommail']);
$mail_subject=$_POST['mailsubject'];
$mail_text=$_POST['mailtext'];
$send=$_POST['s'];

if(trim($from_name)=="") $err_text.="Bitte gib Deinen Namen an.<br>";
if(trim($from_mail)=="")
$err_text.="Bitte gib Deine E-Mail-Adresse an.<br>";
else
if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail))
$err_text.="Bitte gib eine gültige E-Mail-Adresse an.<br>";
if(trim($mail_subject)=="") $err_text.="Bitte gib einen Betreff ein.<br>";
if(trim($mail_text)=="") $err_text.="Bitte gib einen Nachrichtentext ein.<br>";

if(strlen($mail_text)>1000) {
$mail_text=substr($mail_text,0,1000)."... (Text wurde gekürzt!)";
}
$from_name=str_replace(chr(34),"''",$from_name);
$mail_subject=str_replace(chr(34),"''",$mail_subject);
$from_name=stripslashes($from_name);
$from_mail=stripslashes($from_mail);
$mail_subject=stripslashes($mail_subject);
$mail_text=stripslashes($mail_text);

if(($send=="1") && (isset($err_text))) {
echo "<p><big><b>Fehler:</b></big><br>";
echo "$err_text</p>";
}
if(($send!="1") || (isset($err_text)))
{
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table style="color : #000; border-width : 2px; border-style : solid; border-color : #5bd #035 #068 #6cf" align="center" cellspacing="2" cellpadding="0" width="20%">
<tr><p><b>KONTAKTFORMULAR</b></p>
<td nowrap align=right>Dein Name:</td>
<td width=100%><input style="color : #ff0; background : #17a; border-width : 2px; border-style : solid; border-color : #068 #6cf #5bd #035" type="text" name="fromname" size=47 maxlength=50 value="<?php echo $from_name; ?>"></td></tr>
<tr><td nowrap align=right>Deine E-Mail Adresse:</td>
<td width=100%><input style="color : #ff0; background : #17a; border-width : 2px; border-style : solid; border-color : #068 #6cf #5bd #035" type="text" name="frommail" size=47 maxlength=50 value="<?php echo $from_mail; ?>"></td></tr>
<tr><td nowrap align=right>Betreff:</td>
<td width=100%><input style="color : #ff0; background : #17a; border-width : 2px; border-style : solid; border-color : #068 #6cf #5bd #035" type="text" name="mailsubject" size=47 maxlength=120 value="<?php echo $mail_subject; ?>"></td></tr>
<tr><td nowrap align=right valign=top>Text:<br><i>(1.000 Zeichen max)</i></td>
<td width=100%><textarea style="overflow: auto; color : #ff0; background : #17a; border-width : 2px; border-style : solid; border-color : #068 #6cf #5bd #035" cols="40" rows="10" name="mailtext"><?php echo $mail_text; ?></textarea></td></tr>
<tr>
<td></td>
</tr>
<tr><td nowrap align=right><img src="captcha/captcha.php" border="0" title="Sicherheitscode"></td>
<td width=100%><input style="color : #ff0; background : #17a; border-width : 2px; border-style : solid; border-color : #068 #6cf #5bd #035" type="text" name="sicherheitscode" size=10 maxlength=10 />
<input src="absenden.gif" alt="Absenden" style="border:0;" type="image" type="submit" value="Abschicken" />
<input type="hidden" name="s" value="1" />
</td></tr>
</table>
</form>

<?php
} else {
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){
unset($_SESSION['captcha_spam']);

$header="From: $from_name <$from_mail>\n";
$header.="Reply-To: $from_mail\n";
$header.="Content-Type: text/plain";
$mail_date=gmdate("D, d M Y H:i:s")." +0000";
$send=0;

$absender = preg_replace( "/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "",
$_POST['absenderemail'] );
$absender = preg_replace( "/(content-type:|bcc:|cc:|to:|from:)/im", "",
$absender );
$txt = preg_replace( "/(content-type:|bcc:|cc:|to:|from:)/im", "",
$_POST['txt'] );
mail("rene@reneschmidt.de", "Mail vom Kontaktformular", $txt,
"From: $absender\n");

if(@mail($mail_to,$mail_subject,$mail_text,$header))
{
echo "<p><b>Deine E-Mail wurde abgesendet.</b></p>";
echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail\">Zurück zum Formular</a></p>";
}else{
echo "<p><b>Beim Versenden der E-Mail ist ein Fehler aufgetreten!</b></p>";
echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";
}

}else{
die ("Der Sicherheitscode ist falsch!");
}

}
?>


Erklärung:

if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){
unset($_SESSION['captcha_spam']);

HIER KOMMT DEIN MAIL VERSAND

}else{
die ("Der Sicherheitscode ist falsch!");
}


Wenn du dies einfach an den Anfang setzt, dann wird natürlich nichts ausgeführt.
Rob [Admin]
Site Admin
 
Beiträge: 143
Registriert: 23.12.2006, 12:27

Beitragvon Helly » 08.08.2007, 17:03

:( Danke für die Antwort..
Das hatte ich auch schon mal Probiert.
Da kommt immer

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /web/kont-probe.php:1) in /web/kont-probe.php on line 27

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /web/kont-probe.php:1) in /web/kont-probe.php on line 27

mit..
:?: Was kann man noch Probieren..
MfG Helmut
Helly
 
Beiträge: 6
Registriert: 08.08.2007, 09:19

Beitragvon Rob [Admin] » 08.08.2007, 17:09

Helly hat geschrieben:Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /web/kont-probe.php:1) in /web/kont-probe.php on line 27


Das liegt an deinem Editor, du verwendest UTF-8 als codierung, das mag aber PHP nicht und es gibt diesen Fehler, weil ein sogenannter BOL ausgegeben wird.

Deine Datei nach ANSI konvertieren. Kann auch helfen, dies am Anfang einzufügen:

<?php /* ?>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<?php */ ?>
<?php
session_start();
//ETC.
Rob [Admin]
Site Admin
 
Beiträge: 143
Registriert: 23.12.2006, 12:27

Beitragvon Helly » 08.08.2007, 17:54

:cry: Sorry geht auch nicht..

Aber Danke schon mal für die Mühe.. :wink:

Sieht immer noch so aus..

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /web/kont-probe.php:1) in /web/kont-probe.php on line 30

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /web/kont-probe.php:1) in /web/kont-probe.php on line 30


MfG Helly
Helly
 
Beiträge: 6
Registriert: 08.08.2007, 09:19

Beitragvon Rob [Admin] » 08.08.2007, 17:57

Wird die Datei includiert?
Rob [Admin]
Site Admin
 
Beiträge: 143
Registriert: 23.12.2006, 12:27

Beitragvon Helly » 13.09.2007, 15:25

:oops:
Leider geht es nicht beim FF und Netscape..
Finde den Fehler nicht.. :x

Hab mir ein anderes Formular gesucht..
Danke noch mal für die Hilfe.
Helly
 
Beiträge: 6
Registriert: 08.08.2007, 09:19


Zurück zu Zahlen Captcha

Wer ist online?

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

cron