| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Kanadier
Anmeldedatum: 27.09.2008 Beiträge: 4
|
Verfasst am: 27.09.2008, 12:25 Titel: Ich werf (bald) das Handtuch |
|
|
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> </p>
<p> </p>
<p> </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 |
|
 |
Kanadier
Anmeldedatum: 27.09.2008 Beiträge: 4
|
Verfasst am: 29.09.2008, 15:07 Titel: |
|
|
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 |
|
 |
Kanadier
Anmeldedatum: 27.09.2008 Beiträge: 4
|
Verfasst am: 06.10.2008, 04:29 Titel: |
|
|
| ...hat denn keiner einen Tipp |
|
| Nach oben |
|
 |
Wegelagerer
Anmeldedatum: 08.10.2008 Beiträge: 3
|
Verfasst am: 08.10.2008, 08:02 Titel: |
|
|
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 |
|
 |
Wegelagerer
Anmeldedatum: 08.10.2008 Beiträge: 3
|
Verfasst am: 09.10.2008, 06:14 Titel: Und nochmal |
|
|
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 |
|
 |
Kanadier
Anmeldedatum: 27.09.2008 Beiträge: 4
|
Verfasst am: 09.10.2008, 16:39 Titel: |
|
|
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 |
|
 |
Wegelagerer
Anmeldedatum: 08.10.2008 Beiträge: 3
|
Verfasst am: 09.10.2008, 18:53 Titel: |
|
|
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 |
|
 |
|
|
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
|
|