• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

captcha :D

HTMLPro

Mitglied
hallo community,
ich habe auf dieser seite
Vorwort - Captcha Tutorial - stoppt-den-spam.info
ein script captcha script gefunden. alles funktioniert tadellos aber mit welchem code kann ich da einen button machen und wenn man auf ihn klickt soll angezeigt werden das die eingabe falsch war? mir wurde bereits dieser code gezeigt
PHP:
Code:if(empty($_POST["Formularfeldname"])) die("Fehler!");
keine ahnung aber wo der hin soll und wie ich den mit der überprüfung verbinde.
hier das script: (ich habe das hintergrundbild captcha.png und eine schriftdatei :D)

captcha.php
PHP:
<?php 
   session_start(); 
   unset($_SESSION['captcha_spam']); 
   function randomString($len) { 
      function make_seed(){ 
         list($usec , $sec) = explode (' ', microtime()); 
         return (float) $sec + ((float) $usec * 100000); 
      } 
      srand(make_seed());   
                        
      //Der String $possible enthält alle Zeichen, die verwendet werden sollen 
      $possible="ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789"; 
      $str=""; 
      while(strlen($str)<$len) { 
        $str.=substr($possible,(rand()%(strlen($possible))),1); 
      } 
   return($str); 
   } 
   $text = randomString(5);  //Die Zahl bestimmt die Anzahl stellen 
   $_SESSION['captcha_spam'] = $text; 
          
   header('Content-type: image/png'); 
   $img = ImageCreateFromPNG('captcha.PNG'); //Backgroundimage 
   $color = ImageColorAllocate($img, 0, 0, 0); //Farbe 
   $ttf = $_SERVER['DOCUMENT_ROOT']."/captcha/XFILES.TTF"; //Schriftart 
   $ttfsize = 25; //Schriftgrösse 
   $angle = rand(0,5); 
   $t_x = rand(5,30); 
   $t_y = 35; 
   imagettftext($img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $text); 
   imagepng($img); 
   imagedestroy($img); 
?>
und
formular.php
PHP:
<?php 
session_start(); 
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){ 
unset($_SESSION['captcha_spam']); 
// 
// 
//Hier kommt das ursprüngliche Script hin. 
// 
// 
} 
?> 
</head>
<tr> 
<td><img src="captcha/captcha.php" border="0" title="Sicherheitscode"></td> 
<td><input type="text" name="sicherheitscode" size="5"></td> 
</tr>
ich danke für jegliche hilfe.
LG HTMLPro
 
captcha/captcha.php:

PHP:
<?php

session_start();
unset($_SESSION['captcha_spam']);

function make_seed()
{
    list($usec, $sec) = explode(' ', microtime());
    return (float) $sec + ((float) $usec * 100000);
}

function randomString($len)
{
    srand(make_seed());

    //Der String $possible enthält alle Zeichen, die verwendet werden sollen
    $possible = "ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789";
    $str = "";
    while (strlen($str) < $len) {
        $str.=substr($possible, (rand() % (strlen($possible))), 1);
    }
    return($str);
}

$text = randomString(5);  //Die Zahl bestimmt die Anzahl stellen
$_SESSION['captcha_spam'] = $text;

header('Content-type: image/png');
$img = ImageCreateFromPNG('captcha.PNG'); //Backgroundimage
$color = ImageColorAllocate($img, 0, 0, 0); //Farbe
$ttf = __DIR__ . "/XFILES.TTF"; //Schriftart
$ttfsize = 25; //Schriftgrösse
$angle = rand(0, 5);
$t_x = rand(5, 30);
$t_y = 35;
imagettftext($img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $text);
imagepng($img);
imagedestroy($img);

index.php

PHP:
<?php

session_start();

$captchaSolved = false;
$isPostRequest = false;

if (isset($_POST['sicherheitscode'])) {
    $isPostRequest = true;
}

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

    $captchaSolved = true;
}

?><!DOCTYPE html>

<html>

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Demo</title>
    </head>

    <body>

        <?php if (!$captchaSolved) : ?>

            <?php if ($isPostRequest) : ?>
                <p>Captcha falsch eingegeben!</p>
            <?php endif; ?>

        <form method="post" action="">
            <p>
                <img src="captcha/captcha.php" border="0" title="Sicherheitscode" />
            </p>

            <p>
                <input type="text" name="sicherheitscode" size="5" />
            </p>

            <p>
                <input type="submit" value="Abschicken" />
            </p>
        </form>
        
        <?php else : ?>
        
        <p>Eingabe okay.</p>

        <?php endif; ?>

    </body>

</html>
 
Zurück
Oben