Problème captcha

Fermé
netanonima Messages postés 36 Date d'inscription vendredi 26 décembre 2008 Statut Membre Dernière intervention 3 février 2013 - Modifié par netanonima le 3/02/2013 à 12:18
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 3 févr. 2013 à 15:08
Bonjour,

je n'arrive pas à configurer correctement un script de captcha.

J'ai une erreur de parenthèse à la vérification des champs email et captcha.

<?php 
 session_start(); 
 $_SESSION['security_number']=rand(10000,99999);  
if(isset($_POST['email']) and isset($_POST['sujet']) and isset($_POST['message'])) 
{ 
        $destinataire = 'altordj@gmail.com'; 
        $email = htmlentities($_POST['email']); 
  $_POST['number_inserted_by_user']==$_SESSION['security_number']; 
        if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_'{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_'{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',str_replace('&','&',$email))) 
        { 
                $sujet = 'Contact: '.stripslashes($_POST['sujet']); 
                $message = stripslashes($_POST['message']); 
                $headers = "From: <".$email.">\n"; 
                $headers .= "Reply-To: ".$email."\n"; 
                $headers .= "Content-Type: text/plain; charset=\"iso-8859-1\""; 
                if(mail($destinataire,$sujet,$message,$headers)) 
    if($_POST['number_inserted_by_user']==$_SESSION['security_number'])  
                { 
                        echo "<script type=\"text/javascript\">alert(\"Votre message a bien été envoyé.\"); window.location =\"index.php\";</script>"; 
                } 
                else  
                { 
                        echo "<script type=\"text/javascript\">alert(\"Une erreur s'est produite lors de l'envoi du message.\"); window.location =\"index.php\";</script>"; 
                } 
        } 
        else if ($_POST['number_inserted_by_user']==$_SESSION['security_number'])  
        { 
                echo "<script type=\"text/javascript\">alert(\"L'e-mail que vous avez entré est invalide.\"); window.location =\"index.php\";</script>"; 
        } 
        else if ($_POST['number_inserted_by_user']!=$_SESSION['security_number']) and ($email = htmlentities($_POST['email'])) 
        { 
                echo "<script type=\"text/javascript\">alert(\"Le code de vérification entré est faux, prière de réessayer.\"); window.location =\"index.php\";</script>"; 
        } 
} 
else 
{ 
?> 
    <p id="08"> 
<ul class="cont1"> 
<form action="" method="post"> 
        <fieldset> 
        <legend>Formulaire de contact</legend><BR> 
        <label for="email" style="display:inline-block;width:100px;"><strong>Votre Email</strong></label> <input type="text" name="email" id="email" /><br /> 
        <label for="sujet" style="display:inline-block;width:100px;"><strong>Sujet</strong></label> <input type="text" name="sujet" id="sujet" /><br /> 
        <label for="message"><strong>Message:</strong></label><br /> 
        <textarea cols="70" rows="4" name="message" id="message"></textarea><br /> 
        <label for="number_inserted_by_user" style="display:inline-block;width:100px;"> 
  <strong><img src="script/image.php" alt="well, this is out capcha image" /></strong></label> <input type="text" name="number_inserted_by_user" id="number_inserted_by_user" /><br />     
        <input type="submit" value="Envoyer" /> 
    </fieldset> 
</form> 
<BR> 
</ul> 
 </p>   
<?php 
} 
?> 



Si quelqu'un peut m'aider ce serait hyper classe.

D'avance merci.


1 réponse

JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 3/02/2013 à 15:11
Salut,

Ceci n'est pas a ça place ...
$_POST['number_inserted_by_user'] == $_SESSION['security_number']; 

ça c'est faux, et il manque une parenthèse ...
$email = htmlentities($_POST['email'])

Je pense que la logique de ton script est aussi fausse, vu que $_SESSION['security_number'] change de valeur a chaque actualisation !

Mettez en résolu quand c'est résolu -.- ...
0