Exemple

L'exemple suivant implémente l'utilisation classique d'un CAPTCHA: Les données d'un formulaire soumis ne sont prise en considération que quand le CAPTCHA a correctement été résolu.

Créer un CAPTCHA numérique

L'exemple qui suit vous montre simplement comment générer une simple opération mathématique avec Text_CAPTCHA_Numeral.

<?php
require_once 'Text/CAPTCHA/Numeral.php';
$num       = new Text_CAPTCHA_Numeral;
$operation $num->getOperation();

/**
 * This will print the mathematical operation
 * that has been generated by the package.
 */
print $operation;
?>

Protéger un forumlaire avec un CAPTCHA numérique

Cet exemple vous présente comment protéger un formulaire en utilisant un CAPTCHA numérique. On génère une opération arithmétique et on conserve la réponse dans une variable de session

<?php
require_once 'Text/CAPTCHA/Numeral.php';
$numcap = new Text_CAPTCHA_Numeral;

if (isset(
$_POST['captcha']) && isset($_SESSION['answer'])) {
    if (
$_POST['captcha'] == $_SESSION['answer']) {
        
$errors[] = 'Ok.. Vous êtes probablement un humain..';
    } else {
        
$errors[] = 'Soit vous êtes maladroit, soit vous n\'êtes pas humain';
    }
}
    if (!empty(
$errors)) {
        foreach (
$errors as $error) {
            print 
"<h1><font color='red'>$error</font></h1><br />";
        }
    }


    print 
'
        <form name="capter" action="index.php?page=liveExample" method="post">
         <table>
          <tr>
           <th>What is this result pilgrim?: '
.$numcap->getOperation().'</th>
           <td><input type="text" value="" name="captcha" /></td>
          </tr>
          <tr>
           <th/>
           <td><input type="submit" value="Laissez moi vous prouver que je suis un humain!" /></td>
          </tr>
        </form>
    '
;
    
$_SESSION['answer'] = $numcap->getAnswer();
?>
Introduction (Previous) Information à propos de Text_CAPTCHA_Numeral et de son fonctionnement interne (Next)
Last updated: Sun, 29 Aug 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.