Stoppt-den-Spam.info Foren-Übersicht
RegistrierenSuchenFAQMitgliederlisteBenutzergruppenLogin
Ich werf (bald) das Handtuch

 
Neues Thema eröffnen   Neue Antwort erstellen    Stoppt-den-Spam.info Foren-Übersicht -> Rechen Captcha
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Kanadier



Anmeldedatum: 27.09.2008
Beiträge: 4

BeitragVerfasst am: 27.09.2008, 12:25    Titel: Ich werf (bald) das Handtuch Antworten mit Zitat

Hallo an alle Experten!

Nach unzähligen Versuchen bekomme ich es einfach nicht hin, das Rechen-Captcha erfolgreich einzubinden. Trotz dass ich in meinem Formular das Captcha korrekt angezeigt bekomme, spielt es keine Rolle ob oder welches Ergebnis ich in das Textfeld eintrage. Richtig oder falsch, die Übermittlung findet in jedem Fall statt. Ich würde mich riesig freuen, wenn sich jemand meinen Code einmal unter die Lupe nimmt.

Link zur Seite: http://www.glund.de/fan.htm

Hier der Code: (rot = das eingebaute Rechen-Captcha)

<?php
while(list($key,$val) = each($_POST))
$$key = $val;
while(list($key,$val) = each($_GET))
$$key = $val;
include("danke.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"], "29jfkd921");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if(isset($_SESSION['rechen_captcha_spam']) AND $sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
unset($_SESSION['rechen_captcha_spam']);
}
?>



<html>
<head>
<title>Formel-1 Tipp</title>
</head>
<body bgcolor="B0C4DE" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<?php
print "Vielen Dank, Dein Tipp wurde an mich ";
$to = "$adminemail" ;
$from = "$email" ;
$subject = "$namederbestellung" ;
$message = "Hallo $admin ,\n\n $namederbestellung\n\nMeine Daten :\nFahrer : $fahrer\nGP : $gp\nName : $name\nOrt : $ort\nKommentar : $kommentar\n\nMfg\n$name" ;
if(mail($to,$subject,$message,"fromrnx-Priority: 1 (Highest)")) {
?>
<?php
} else {
print "<b>nicht</b> ";
}
print "versendet .";
print "<br><br><b>Deine Daten :</b><br>Fahrer : $fahrer<br>GP : $gp<br>Name : $name<br>Ort : $ort<br>Kommentar : $kommentar<br><br>Mfg<br>$admin";
?>
<div align="center">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<table width="790" height="20">
<tr bgcolor="336699" valign="top">
<td bgcolor="336699">
<div align="center"><font color="#FFFFFF"><u><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><a target="_top" href="index.html">Home</a></font></u></font></div>
</td>
<td>
<div align="center"><font color="#FFFFFF"><u><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><a target="_self" href="sitemap.htm">Sitemap</a></font></u></font></div>
</td>
<td>
<div align="center"><font color="#FFFFFF"><u><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><a href="mailto:klaus@glund.de">E-Mail</a></font></u></font></div>
</td>
<td>
<div align="center"><a target="_self" href="impress.htm"><font color="#FFFFFF"><u><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Impressum</font></u></font></a></div>
</td>
</tr>
</table>
</div>
</body>
</html>


Hoffe, das ich es durch eure Hilfe doch noch gebacken bekomme.

Gruß
Kanadier
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kanadier



Anmeldedatum: 27.09.2008
Beiträge: 4

BeitragVerfasst am: 29.09.2008, 15:07    Titel: Antworten mit Zitat

Hallo Experten!

Der Stand ist noch der gleiche.
Bin leider immer noch nicht weiter gekommen und würde mich über jede
Ünterstützung freuen.

Gruß
Kanadier
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kanadier



Anmeldedatum: 27.09.2008
Beiträge: 4

BeitragVerfasst am: 06.10.2008, 04:29    Titel: Antworten mit Zitat

...hat denn keiner einen Tipp
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wegelagerer



Anmeldedatum: 08.10.2008
Beiträge: 3

BeitragVerfasst am: 08.10.2008, 08:02    Titel: Antworten mit Zitat

Hi,

wenn ich micht nicht irre, liegt das daran, dass Du nicht prüfst, ob der Code korrekt eingegeben wurde. Dies musst Du mit einer If-then-Bedingung im eigentlich Code tun, dort wo Deine Mail versendet wird. Im else-Zweig könntest Du noch angeben, was passiert, wenn der Code falsch ist.

Ich hoffe, ich konnte Dir helfen.

VG.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wegelagerer



Anmeldedatum: 08.10.2008
Beiträge: 3

BeitragVerfasst am: 09.10.2008, 06:14    Titel: Und nochmal Antworten mit Zitat

Jetzt habe ich mir das nochmal genauer angeguckt.

Ich hatte mit meiner ersten Vermutung schon mehr oder weniger Recht.

Du hast in dem PHP-Code von Deinem Skript eine if-then-Bedingung. (ziemlich am Ende). Dort wird überprüft, ob der Code korrekt eingegeben ist. Deine Formularauswertung findet aber außerhalb der Bedingung statt. Dies bedeutet, dass zwar geprüft wird, ob der Code korrekt ist, aber egal, was diese Prüfung ergibt, wird Dein Formular trotzdem versendet.

Du musst also den Teil, wo Dein Formular verschickt wird, innerhalb der if-Bedingung einbauen (also vor der letzten }).

Dann müsste es gehen..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kanadier



Anmeldedatum: 27.09.2008
Beiträge: 4

BeitragVerfasst am: 09.10.2008, 16:39    Titel: Antworten mit Zitat

Hallo Wegelagerer

Besten Dank für Deine Mühe.

Könntest Du mir genau sagen wo und was ich an welcher Stelle eintragen sollte, damit das Captcha funktioniert.

Habe versucht es so hinzubekommen wie Du gesagt hast jedoch ohne Erfolg.

Blicke kaum noch durch.

Gruß
Kanadier
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wegelagerer



Anmeldedatum: 08.10.2008
Beiträge: 3

BeitragVerfasst am: 09.10.2008, 18:53    Titel: Antworten mit Zitat

Hallo, ja kann ich machen.

Also:

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"], "29jfkd921");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);

if(isset($_SESSION['rechen_captcha_spam']) AND $sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
unset($_SESSION['rechen_captcha_spam']);
// Hier musst Du Deinen Code einfügen, der das Formular auswertet.
// In etwa so:

print "Vielen Dank, Dein Tipp wurde an mich ";
$to = "$adminemail" ;
$from = "$email" ;
$subject = "$namederbestellung" ;
$message = "Hallo $admin ,\n\n $namederbestellung\n\nMeine Daten :\nFahrer : $fahrer\nGP : $gp\nName : $name\nOrt : $ort\nKommentar : $kommentar\n\nMfg\n$name" ;
if(mail($to,$subject,$message,"fromrnx-Priority: 1 (Highest)")) {
} else {
print "<b>nicht</b> ";
}
print "versendet .";
print "<br><br><b>Deine Daten :</b><br>Fahrer : $fahrer<br>GP : $gp<br>Name : $name<br>Ort : $ort<br>Kommentar : $kommentar<br><br>Mfg<br>$admin";
} else {
//Hier kannst du noch reinschreiben, was passieren soll, wenn der Sicherheitscode falsch eingegeben wurde.
}

?>


<html>
<head>
<title>Formel-1 Tipp</title>
</head>
<body bgcolor="B0C4DE" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">



So sollte das ungefähr aussehen. Ich habe jetzt nur Deinen Code an die richtige Stelle kopiert, aber nicht geguckt, ob der Code zur Formularauswertung korrekt ist.

Viele Grüße,

Wegelagerer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Stoppt-den-Spam.info Foren-Übersicht -> Rechen Captcha Alle Zeiten sind GMT
Seite 1 von 1

 
  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
You can attach files in this forum
You can download files in this forum