====== 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();