Kreiskaptcha per Javascript prüffen.

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Kreiskaptcha per Javascript prüffen.

    Moin moin,

    hab mir mal das Captcha Script runtergeladen und würde nun gerne wissen wie ich das per Javascript prüffen kann.

    Der Beispiel-Code ist:

    Quellcode

    1. <?php session_start();?>
    2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3. <html xmlns="http://www.w3.org/1999/xhtml">
    4. <head>
    5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    6. <title>Circle-Captcha</title>
    7. </head>
    8. <body>
    9. <?php
    10. if(isset($_POST['button_x']) && isset($_POST['button_y'])) {
    11. if(!empty($_SESSION['circle_x']) && !empty($_SESSION['circle_y']) && !empty($_SESSION['circle_r'])){
    12. //Is button_x and button_y within the cirle? / Abfrage, ob Punkt (button_x, button_y) im Kreis liegt
    13. $dx = $_POST['button_x'] - $_SESSION['circle_x'];
    14. $dy = $_POST['button_y'] - $_SESSION['circle_y'];
    15. $r1 = sqrt($dx * $dx + $dy * $dy);
    16. if ($r1 < $_SESSION['circle_r']){echo "OK";}else{echo "WRONG!";}
    17. }
    18. }
    19. ?>
    20. <form id="form1" name="form1" method="post" action="<?=$_SERVER['PHP_SELF'];?>">
    21. <label>
    22. <input type="image" src="kreiscaptcha.php" style="cursor:crosshair;" name="button" id="button" value="Send" />
    23. </label>
    24. </form>
    25. </body>
    26. </html>
    Alles anzeigen



    Ich hab mir überlegt, den PHP Code in eine andere Datei zu verpacken und das ganze dann per POST/GET aufrufen.
    Nur wenn ich das mit Javascript dann zB. so mache => 'captcha.php?button'+was_komm_hier_hin weiss ich nicht was da hinkommt :P !?
  • puh, knifflige Frage! Ich weiß gar nicht ob dir das bewusst ist ;)

    normale Wert kannst du aus dem Formularkonext mit this.elementname adressieren. Bei images geht das leider nicht.
    Und Auch kommt die Variable ja im Browser als elementname_x bzw elementname_y an - das funktioniert auch nicht.

    Mein Test lief wie folgt:

    Quellcode

    1. <form method="post" onsubmit="alert('beim submit_x: '+this['foo_x']); alert('beim submit_x: '+this.foo_x);this.foo,return false">
    2. <input name="foo" id="foo" type="image" src="foo" onclick="alert('beim click: '+this.x);" style="width:200px;height:200px" value="test"/>
    3. </form>


    Bliebt dir vermutlich nichts anderes, als mit den Offset Werten zu arbeiten