else Teil

Hier werden Probleme rund um das Rechen Captcha behandelt

Moderator: frameguard

else Teil

Beitragvon holzmichel » 06.01.2007, 13:09

Hallo erstmal,
und ein dickes Lob an die Autoren dieser Seite.

Obwohl ich bisher keinen blassen Schimmer von html, geschweige denn von php scripts hatte, ist es mir gelungen Euer Script in ein Kontaktformular zu integrieren. Nur leider bekomme ich die else Schleife nicht hin.
Wenn das Ergebnis des Rechen Captchas falsch oder nicht eingegeben wurde, wird eine leere Seite angezeigt und es ist nicht sofort zu erkennen, dass das Formular nicht abgeschickt wurde.
Obwohl ich für das eigentliche Scipt eine else Schleife habe, bekomme ich es nicht hin, auch für das Rechen-captcha eins zu integrieren, Anfänger eben :oops:

Hier nun mein Sript:

<?php
session_start();
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
$sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "1a2b3c4d5");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if($sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
unset($_SESSION['rechen_captcha_spam']);

$Empfaenger = "xy@holzmichel.de";

if($_REQUEST['Send'])
{
if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']))
{
echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zur&uuml;ck</a> und f&uuml;llen Sie alle Felder aus!";
}
else
{
$Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
while(list($Formularfeld, $Wert)=each($_REQUEST))
{
if($Formularfeld!="Send")
{
$Mailnachricht .= $Formularfeld.": ".$Wert."\n";
}
}
$Mailnachricht .= "\nDatum/Zeit: ";
$Mailnachricht .= date("d.m.Y H:i:s");
$Mailbetreff = "Kontakt: ";
$Mailbetreff .= $_REQUEST['Betreff'];
mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
echo"Vielen Dank f&uuml;r Ihre eMail!";
}
}
else
{
echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontaktformular.html\">Seite</a>.";
}
}
?>

Vielen dank für die Hilfe
holzmichel
holzmichel
 
Beiträge: 2
Registriert: 06.01.2007, 12:47

Beitragvon Sebi » 06.01.2007, 19:55

Hallo,

versuchs mal hiermit:

Code: Alles auswählen
<?php
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}

$Empfaenger = "xy@holzmichel.de";

if($_REQUEST['Send'])
{
if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']))
{
echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zur&uuml;ck</a> und f&uuml;llen Sie alle Felder aus!";
}
else
{
$Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
while(list($Formularfeld, $Wert)=each($_REQUEST))
{
if($Formularfeld!="Send")
{
$Mailnachricht .= $Formularfeld.": ".$Wert."\n";
}
}
$Mailnachricht .= "\nDatum/Zeit: ";
$Mailnachricht .= date("d.m.Y H:i:s");
$Mailbetreff = "Kontakt: ";
$Mailbetreff .= $_REQUEST['Betreff'];

session_start();
$sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "1a2b3c4d5");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if($sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
unset($_SESSION['rechen_captcha_spam']);

mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
echo"Vielen Dank f&uuml;r Ihre eMail!";
}
else
{
echo "Der eingetragene Sicherheitscode ist falsch";
}
}
}
?>
Sebi
 
Beiträge: 44
Registriert: 26.12.2006, 12:05

else Teil

Beitragvon holzmichel » 06.01.2007, 22:18

Hallo Sebi,
vielen Dank für deine schnelle Antwort.

Klappt supi :D

Gruss vom alten
Holzmichel
holzmichel
 
Beiträge: 2
Registriert: 06.01.2007, 12:47


Zurück zu Rechen Captcha

Wer ist online?

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

cron