如何在谷歌验证码中提供所需

时间:2016-10-04 06:15:00

标签: javascript php recaptcha

我的PHP:

include_once ('db.php');

$capt_err = '';
$error = 0;

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $name = $_POST['name'];
    $email = $_POST['email'];
    $phone = $_POST['phone'];
    $message = $_POST['message'];
    $captcha = $_POST['g-recaptcha-response'];
    if (!$captcha) {
        echo '<script language="javascript">';
        echo 'alert("please check the captcha!");';

        // echo 'window.location.href="#mymodal";';

        echo '</script>';
        exit();
    }
    else {
        $response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=6LcoHioTAAAAAHvJ0FIRLC-VWVmpBSs_-7igEkXh&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']);
    }

    if ($response . success == false) {
        echo '<h2>You are spammer ! Get the @$%K out</h2>';
    }
    else {
        $result = mysqli_query($mysqli, "INSERT INTO vibodha_feedback (`id`,`name`,`email`,`phone`,`message`,`date`) VALUES('','$name','$email','$phone','$message',now())");
        echo "<script>" . "alert('Your Message has been sucessfully sent.')" . "</script>";
    }
}

// header('location:testimonials.php');

我的HTML:

<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>"  method="post">
    <fieldset>
        <label for="name">Name:</label>
        <input type="text" id="name" name="name" required>
        <label for="mail">Email:</label>    
        <input type="email" id="email" name="email" required>
        <label for="phone">Phone:</label>
        <input type="number" id="phone" name="phone" required>
        <label for="message">Message:</label>   
        <textarea id="message" name="message" required></textarea>
        <div class="g-recaptcha" data-sitekey="6LewHioTAAAAANGO-VChqdjsoZARTVOxsrgPW6T8"></div>
    </fieldset>
    <button type="submit">Send!</button>
</form>

我的JavaScript: 该脚本默认为g-recapcha(谷歌),谷歌只有recaptcha选项..不提供所需的选项。

我在php代码中写了验证。验证码是空的警报将来(参考php代码)

我的代码中的上述三个部分..我在div类中给出了,,, div没有被采用,那么如何在验证码中给出。

2 个答案:

答案 0 :(得分:0)

尝试这样的事情

 <input type="text" class="inputcontact" id="captcha_contact" placeholder="Cod securitate" name="captcha" onchange="isEmpty('captcha_contact', 'hiba-captcha_contact')">
                <div id="error-captcha_contact"><span style="font-size: 8px;"></span></div>

JS档案:

        jQuery(document).ready(function () {
            jQuery('#contact_send').click(function () {
var minden_ok = true;
             if (minden_ok == true) {
                    minden_ok = isEmpty('captcha_contact', 'error-captcha_contact');
                }
 if (minden_ok == true) {
    //your code here
  }
        });



function isEmpty(ID, errorID) {
var value= jQuery('#' + ID).val();
if (value.length > 0) {
    jQuery("#" + errorID).hide("slow");
    jQuery("#" + ID).css("border-color", "");
    return true;
} else {
    jQuery("#" + errorID + " span:first").text("Please fill !");
    jQuery("#" + ID).css("border-color", "red");
    jQuery("#" + errorID).show("slow");
    jQuery("#" + ID).focus();
    return false;
}

答案 1 :(得分:0)

你可以通过$ _POST ['g-recaptcha-response'];

来获得它

include_once ('db.php');

$capt_err = '';
$error = 0;

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $name = $_POST['name'];
    $email = $_POST['email'];
    $phone = $_POST['phone'];
    $message = $_POST['message'];
       if($_POST['g-recaptcha-response']=='') 
       {
       echo '<script language="javascript">';
        echo 'alert("please check the captcha!");';

        // echo 'window.location.href="#mymodal";';

        echo '</script>';
        exit();
       }

    else {
        $response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=6LcoHioTAAAAAHvJ0FIRLC-VWVmpBSs_-7igEkXh&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']);
    }

    if ($response . success == false) {
        echo '<h2>You are spammer ! Get the @$%K out</h2>';
    }
    else {
        $result = mysqli_query($mysqli, "INSERT INTO vibodha_feedback (`id`,`name`,`email`,`phone`,`message`,`date`) VALUES('','$name','$email','$phone','$message',now())");
        echo "<script>" . "alert('Your Message has been sucessfully sent.')" . "</script>";
    }
}

// header('location:testimonials.php');