Bonjour,
voila j'ai un formulaire de commande avec un captcha, le formulaire fonctionne bien et le captcha aussi mais le probleme qui se pose c'est ou inseret le code de vérification du captcha.
je vous envoi mon script pour mieu comprendre, tel qu'il est le porbleme est que quand les champs du formulaire sont rempli est exacte il est possible d envoyer les données sans remplir le code du captcha.
<?php $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>"; $msg_ok = "Votre demande a bien été prise en compte."; $message = $msg_erreur; define('MAIL_DESTINATAIRE','xxxxxx_AT_xxxxx.xx'; define('MAIL_SUJET','yyyyyyyyyyyyyyyyyyyyy'); // vérification des champs if (empty($_POST['Nom'])) $message .= "Votre Nom<br/>"; if (empty($_POST['Prenom'])) $message .= "Votre Prénom<br/>"; if (empty($_POST['Adresse'])) $message .= "Votre adresse<br/>"; if (empty($_POST['Ville'])) $message .= "Votre Ville<br/>"; if (empty($_POST['CP'])) $message .= "Votre code postal<br/>"; if (empty($_POST['Mail'])) $message .= "Votre adresse mail<br/>"; if (empty($_POST['Phone'])) $message .= "Votre numéro de téléphone<br/>"; if (empty($_POST['Login'])) $message .= "Votre Login ftp<br/>"; if (empty($_POST['Pass'])) $message .= "Votre mot de passe<br/>"; // si un champ est vide, on affiche le message d'erreur if (strlen($message) > strlen($msg_erreur)) { echo $message; // sinon c'est ok } else {foreach($_POST as $index => $valeur) {$$index = stripslashes(trim($valeur)); }$interets = $_POST['interets'];$sqlinterets = ''; for ($i=0; $i<count($interets); $i++){$sqlinterets .= $interets[$i];$sqlinterets .= ', '; } //Préparation de l'entête du mail: $mail_entete = "MIME-Version: 1.0\r\n"; $mail_entete .= "From: {$_POST['Nom']} " ."<{$_POST['email']}>\r\n"; $mail_entete .= 'Reply-To: '.$_POST['Mail']."\r\n"; $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"'; $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n"; $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n"; // préparation du corps du mail $mail_corps .= "Message de :$Nom $Prenom\n"; $mail_corps .= "Adresse : $Adresse, $CP $Ville\n"; $mail_corps .= "Adresse e-mail : $Mail\n"; $mail_corps .= "Numéro de téléphone : $Phone\n"; $mail_corps .= "Login et password : $Login , $Pass\n"; $mail_corps .= "Pack demandé : $Pack\n"; $mail_corps .= "Type d'acces : $Acces\n"; $mail_corps .= "Type du serveur : $TypeSrv\n"; $mail_corps .= "Type du payement : $Paiement\n"; $mail_corps .= "Forfait : $Forfait\n"; // envoi du mail if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) { //Le mail est bien expédié echo $msg_ok;} else { //Le mail n'a pas été expédié echo 'Une erreur est survenue lors de l\'envoi du formulaire par email'; } } ?>
est ce que qqn peux m'aider a palcer le code du captcha pour éviter cela???
Merci