====== Pxxo_Widgets_Form_Captcha ======
Ce Widget permet de créer une validation visuelle en invitant l'utilisateur à lire un texte affiché sous forme d'image. Ce widget est très utile pour lutter contre le Spam et les robots en tout genre.
* [[http://demo.pxxo.net/widgets/demos/tester/Pxxo_Widgets_Form_Captcha/|Exemple d'utilisation en ligne]]
* [[http://demo.pxxo.net/widgets/demos/tester/Pxxo_Widgets_Form_Generic/|Exemple d'utilisation en ligne dans un Form_Generic]]
* [[fr:install|Installer]]
===== Paramètres =====
^ Nom ^ Valeur par défaut ^ Description ^
| form_enable | true | Mettre false si on désire intégrer le widget dans un formulaire déjà existant |
===== Retours =====
Pour savoir si le formulaire a été soumit, il suffit de tester le mode du widget formulaire :
...
$this->putWidget('CAPTCHA',$captcha);
if ($captcha->getMode() == 'submit') { ... }
Un fois assuré que le formulaire vient d'être soumit, il est possible de savoir si l'utilisateur s'est trompé de texte ou pas en utilisant la méthode ''getValide()'' :
...
$this->putWidget('CAPTCHA',$captcha);
if ($captcha->getMode() == 'submit') {
if ($captcha->getValide())
echo 'Le bon texte a été entré';
else
echo 'Le mauvais texte a été entré';
}
===== Exemples : =====
Le captcha tout seul :
require_once "Pxxo/Widgets/Form/Captcha.php";
$params = array();
$obj = new Pxxo_Widgets_Form_Captcha($params);
$obj->main();
$message = '';
if ($obj->getMode() == 'submit')
{
$message = ($obj->getValide() ? 'Le bon code a été entré' : 'Le mauvais code a été entré');
}
$obj->dumphead();
echo $message;
$obj->dump();
Le captcha intégré dans un formulaire générique ([[pxxo_widgets_form_generic|Pxxo_Widgets_Form_Generic]])
require_once 'Pxxo/Widgets/Form/Generic.php';
$params = array();
$params['groups'] = array('Vos coordonnées');
$params['fields'] = array('Nom', 'Prénom', 'Fonction', 'Courriel', 'Recopiez le texte');
$params['required'] = array(true, null, null, true, null);
$params['types'] = array(null, null, 'textarea', 'mail', 'captcha');
$params['sizes'] = array(10, 20, array(5, 25), 40, null);
$obj1 = new Pxxo_Widgets_Form_Generic($params);
$obj1->main();
$obj1->dumphead();
$obj1->dump();