IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

ReCaptcha: Tout correctement installé mais script non-exécuté (pas de message d'erreur)


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2010
    Messages : 40
    Par défaut ReCaptcha: Tout correctement installé mais script non-exécuté (pas de message d'erreur)
    Bonjour tout le monde,

    J'ai installé un Captcha sur le site d'un ami pour les formulaires.
    page test ici:
    http://www.ericmigom.be/fr/commande_test.php

    J'ai suivi des tutos et le Captcha s'affiche bien dans la page web. Mais, au moment d'appuyer sur le bouton 'Envoyer', le fichier php (wita_commande.php) pour l'envoi du formulaire dans lequel se trouve aussi le code de validation Captcha se lance bien mais je n'ai pas le résultat escompté; à savoir:
    -le captcha est pas bon: echo--> oups pas bon, réessayer...
    -le captcha est bon: informations du formulaire envoyées vers adresse e-mail.

    Pas de message d'erreur php....

    Le fichier 'recaptchalib.php' est au bon endroit.

    code de 'wita_commande_php':
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <meta http-equiv="Refresh" content="4; url=commande_test.php">
     
     
    <?php
    $privatekey = "clef_publique_correcte";
    $resp = recaptcha_check_answer ($privatekey,
                                    $_SERVER["REMOTE_ADDR"],
                                    $_POST["recaptcha_challenge_field"],
                                    $_POST["recaptcha_response_field"]);
     
    if (!$resp->is_valid) { 
    	echo "<h3 style='color:orange;'>Oups, le captcha antispam n\'est pas valide. Veuillez recommencer. Merci.</h3>";
    }
    else{
    	$destinataire = "adresse_mail_correcte@blablabla.com";
    	$titre = "Site Eric Migom - Formulaire Commande";
     
    	$message = "Peinture(s) choisie(s): ".$_POST['chosenPainting']."\n";
    	$message .= "Nom et Prénom : ".$_POST['name']."\n";
    	$message .= "Email de la personne: ".$_POST['email']."\n";
     
    	mail ($destinataire, $titre, $message);
     
    	echo "<h3 style='color:orange;'>Votre message à bien été transmis à Eric Migom qui vous répondra.</h3>";
    	echo "<h4 style='color:mediumorchid;'>La page est redirigée automatiquement dans 5 secondes.</h4>";
    }
    ?>
    Quelle, où est l'erreur?
    Merci pour votre aide,
    V.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Par défaut
    Salut,

    Je ne connais pas captcha, mais il serait interessant que tu fasses un , car probablement que ta condition n'est pas bonne !

    Sinon ça peut également venir de l'appel de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     recaptcha_check_answer($a, $b, $c, $d);
    Tiens nous au courant

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2010
    Messages : 40
    Par défaut
    Merci beaucoup pour ta réponse, The Goion,

    Excuse mon ignorance à l'avance mais où dois-je placer?

    J'imagine à l'entrée du php, just avantQuant à l'appel recaptcha_check_answer que tu mentionnes, il fait partie du fichier 'recaptchalib.php' télchargeable sur le site Recaptcha (recaptchalib.php) qui est standard. Crois-tu qu'il faille y changer quelque chose

    Merci pour tes lumières,

    Vh.

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Par défaut
    Salut,

    Alors pour la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     recaptcha_check_answer($a, $b, $c, $d)
    , je ne pense pas qu'elle soit en cause. L'appel que tu en fait à l'air correct.

    Sinon pour le , il faut le mettre juste avant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!$resp->is_valid) ...
    puisqu'à ce moment là, $resp doit être renseigné. Ensuite tu fais le test avec une erreur et une réponse correct et tu nous dis ce qu'il y avait dans chacun des cas.

    Aussi, regardes du côté des paramètres que tu passes à la fonction, si les valeurs correspondent bien à celle qui t'on été donné sur recaptcha.net (privatekey, ...), car je doute que ta $privatekey valle "clef_publique_correcte"
    donc tu vas sur recaptcha.net tu ajoutes ton site et ça va te générer des clés du moins je pense car je n'ai jamais implémenter recaptcha

    donc en gros ton code doit ressembler à ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    <meta http-equiv="Refresh" content="4; url=commande_test.php">
     
     
    <?php
    $privatekey = "cle_donnee_sur_recaptcha";
    $resp = recaptcha_check_answer ($privatekey,
                                    $_SERVER["REMOTE_ADDR"],
                                    $_POST["recaptcha_challenge_field"],
                                    $_POST["recaptcha_response_field"]);
     
    echo "resp:br/>; var_dump($resp); exit;
    
    if (!$resp->is_valid) { 
    	echo "<h3 style='color:orange;'>Oups, le captcha antispam n\'est pas valide. Veuillez recommencer. Merci.</h3>";
    }
    else{
    	$destinataire = "adresse_mail_correcte@blablabla.com";
    	$titre = "Site Eric Migom - Formulaire Commande";
     
    	$message = "Peinture(s) choisie(s): ".$_POST['chosenPainting']."\n";
    	$message .= "Nom et Prénom : ".$_POST['name']."\n";
    	$message .= "Email de la personne: ".$_POST['email']."\n";
     
    	mail ($destinataire, $titre, $message);
     
    	echo "<h3 style='color:orange;'>Votre message à bien été transmis à Eric Migom qui vous répondra.</h3>";
    	echo "<h4 style='color:mediumorchid;'>La page est redirigée automatiquement dans 5 secondes.</h4>";
    }
    ?>
    Tiens nous au courant

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2010
    Messages : 40
    Par défaut
    Encore Merci pour ta réponse rapide, The Goion!

    Alors voilà ce que j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <meta http-equiv="Refresh" content="4; url=commande_test.php">
     
     
    <?php
    $privatekey = "cle_privee";
    $resp = recaptcha_check_answer ($privatekey,
                                    $_SERVER["REMOTE_ADDR"],
                                    $_POST["recaptcha_challenge_field"],
                                    $_POST["recaptcha_response_field"]);
     
    echo "resp:<br />";
    var_dump($resp); exit;
     
     
    if (!$resp->is_valid) { 
    	echo "<h3 style='color:orange;'>Oups, le captcha antispam n\'est pas valide. Veuillez recommencer. Merci.</h3>";
    }
    else{
    	$destinataire = "adresse_mail_correcte@blablabla.com";
    	$titre = "Site Eric Migom - Formulaire Commande";
     
    	$message = "Peinture(s) choisie(s): ".$_POST['chosenPainting']."\n";
    	$message .= "Nom et Prénom : ".$_POST['name']."\n";
    	$message .= "Email de la personne: ".$_POST['email']."\n";
     
    	mail ($destinataire, $titre, $message);
     
    	echo "<h3 style='color:orange;'>Votre message à bien été transmis à Eric Migom qui vous répondra.</h3>";
    	echo "<h4 style='color:mediumorchid;'>La page est redirigée automatiquement dans 5 secondes.</h4>";
    }
    ?>
    Note: évidemment, la valeur de ma clef est correcte, j'avais juste fait exprès de ne pas la réveler en la remplaçant par autre chose... Mais c'est bien la bonne que j'ai mise en vrai
    Tout comme l'e-mail de "mon client" n'est pas "adresse_mail_correcte@blablabla.com"

    Malheureusement, le résultat est toujours le même:
    le php se lance, page blanche, retour vers la page web du formulaire sans message d'erreur ni envoi des données remplies vers l'email...

    Par contre, j'ai remarqué que quand j'affiche la source de wita_commande.php; j'obtiens ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Refresh" content="4; url=commande_test.php">
    comme si, la totalité du code php était ignoré.

    Merci,
    Vh.

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Par défaut
    Il est normal que le php n'apparaisse pas dans le code source de la page produit par le navigateur. Le php est un langage serveur. Du coup le serveur php exécute le code php et retourne du code interprétable par le navigateur (html).

    Mais tu devrais enlever la redirection (
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Refresh" content="4; url=commande_test.php">
    ) pour faire tes tests dans un premier temps

Discussions similaires

  1. Formule Excel ok mais VBA non exécutable
    Par dutronephilippe dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 20/03/2014, 10h31
  2. [WS 2003] Domaine LOGON Script non exécuté
    Par Gandahar dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 16/05/2012, 09h25
  3. [Dojo] DOJO - Chrome - script non exécuté
    Par cougarg dans le forum Bibliothèques & Frameworks
    Réponses: 18
    Dernier message: 02/07/2010, 15h05
  4. driver jdbc installé mais mon non trouvé
    Par jashy dans le forum JDBC
    Réponses: 1
    Dernier message: 09/04/2010, 19h52
  5. Fichier ajouter mais ne s'exécute pas
    Par bruce207 dans le forum Installation, Déploiement et Sécurité
    Réponses: 12
    Dernier message: 31/05/2008, 12h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo