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.
| 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 |
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é'; }
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)
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();