2017-05-21 2 views
1

J'essaie d'ajouter des reCaptcha Google à ma page Web, mais j'ai des problèmes. Pour une raison quelconque, j'ai reçu une erreur "variable indéfinie" sur la variable $ captcha, et "undefined index" pour la "g-recaptcha-response".Problème de reCaptcha, indice de notice PHP non défini

<?php 
require 'PHPMailer/PHPMailerAutoload.php'; 

$name = $_REQUEST['names']; 
$number = $_REQUEST['cell']; 
$email = $_REQUEST['email']; 
$message = $_REQUEST['message']; 
$captcha = null; 

if(isset($_POST['g-recaptcha-response'])){ 
    $captcha=$_POST['g-recaptcha-response']; 
    echo 'RESPONSE RECEIVED'; 
} 

if(!$captcha){ 
    echo 'RESPONSE NOT RECEIVED'; 
    echo '<h2>Please check the the captcha form.</h2>'; 
    exit; 
} 

Voici un extrait de la forme Html:

<form name="contact form" method="POST" action="sendemail_1.php" id="main-contact-form"> 
    <div class="form-group"> 
     <input type="text" name="name" id="names" class="form-control" required="required" placeholder="Name"> 
    </div> 
    <div class="form-group"> 
     <input type="email" name="email" id="emails" class="form-control" required="required" placeholder="Email"> 
    </div> 
    <div class="form-group"> 
     <input type="text" name="number" id="numbers" class="form-control" required="required" placeholder="Number"> 
    </div> 
    <div class="form-group"> 
     <textarea name="message" id="messages" required="required" class="form-control" rows="8" placeholder="Your text here"></textarea> 
    </div> 
    <div class="form-group"> 
     <div class="g-recaptcha" data-sitekey="6LeVTyIUAAAAAHsB-2XIbO8x59nqi2yhesv98Xo7"></div> 
    </div> 
    <div class="form-group"> 
     <input type="submit" name="submit" class="btn btn-submit" value="Submit"> 
    </div> 
</form> 

Merci à l'avance!

Répondre

0

cette

if(!$captcha){ 
    echo 'RESPONSE NOT RECEIVED'; 
    echo '<h2>Please check the the captcha form.</h2>'; 
    exit; 
} 

devrait être cette

if(!isset($_POST['g-recaptcha-response']))){ 
    echo 'RESPONSE NOT RECEIVED'; 
    echo '<h2>Please check the the captcha form.</h2>'; 
    exit; 
} 

Parce que captcha $ n'existe pas si le premier si échec

+0

Impressionnant! On dirait que cela a fonctionné pour cette question, mais maintenant je reçois un autre problème. Index indéfini: cellule, index indéfini: noms. Une idée de ce qui pourrait en être la cause? Cela a marché avant d'ajouter le code reCaptcha. Merci! – cs1923

+0

dans quelle ligne est thronw cet avertissement? parce que le reste du code semble correct. –

+0

lignes 4 et 5 ... je n'ai littéralement aucune idée -> PHP Avis: Undefined index: cellule dans /var/app/current/sendemail_1.php sur la ligne 5 -> PHP Avis: Indéfini index: noms dans/var/app /current/sendemail_1.php à la ligne 4 – cs1923