2017-08-14 192 views
0

這是我的PHP代碼:如何在表單提交後重置recaptcha?

function post_captcha($user_response) { 
    $fields_string = ''; 
    $fields = array(
     'secret' => '', 
     'response' => $user_response 
    ); 
    foreach($fields as $key=>$value) 
    $fields_string .= $key . '=' . $value . '&'; 
    $fields_string = rtrim($fields_string, '&'); 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, 'https://www.google.com/recaptcha/api/siteverify'); 
    curl_setopt($ch, CURLOPT_POST, count($fields)); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, True); 
    $result = curl_exec($ch); 
    curl_close($ch); 
    return json_decode($result, true); 
} 
$res = post_captcha($_POST['g-recaptcha-response']); 
if (!$res['success']) { 
     die('MF005'); 
} else { 
if ($mail->send()) { 
$send_arEmail = $autoresponder->Send(); 
}} 

這裏是我的JavaScript代碼:

<script src="https://www.google.com/recaptcha/api.js" async defer></script> 
<script> 
function onSubmit(token) { 
    document.getElementById("i-recaptcha").submit(); 
} 
</script> 

這是我的驗證碼:

<div class="g-recaptcha" data-sitekey="" ></div> 

這是屁股在提交:

<button class="button rounded" type="submit" data-callback="onSubmit">Send</button> 

這也是我的表單ID:

<form id="i-recaptcha"> 

**

此上述功能正在工作,但提交表格後,仍然驗證碼 是選中後,我想將其重置爲取消選中,一旦用戶點擊提交 按鈕。

**

在此先感謝

回答

0

,你可以使用它像這樣。它基於版本。

爲版本1

Recaptcha.reload(); 

的版本2

grecaptcha.reset(); 
+0

我添加了這兩種JavaScriptbut它不工作。我如何添加它? – James

+0

你使用哪個版本? – Bhautik

+0

我不知道哪個版本,你可以看到我的上面的代碼。請給我一個解決方案。謝謝 – James