ps है: के रूप में मैं कोई समाधान मिल गया और मेरे अपने php कैप्चा है कि एक इलाज :) काम कार्यान्वित मैं इस पर छोड़ दिया - http://www.the-art-of-web.com/php/captcha/गूगल reCAPTCHA जी recpatcha-प्रतिक्रिया PHP में कोई मूल्य नहीं
मैं बिताया है कई घंटे & दिन इस समस्या को हल करने का प्रयास कर रहे हैं, लेकिन मुझे लगता है कि यह समझ में नहीं आता है। मैंने कई अलग-अलग ट्यूटोरियल & ऑनलाइन प्रश्न पढ़े हैं।
बस ध्यान में रखने के लिए, मेरा PHP स्तर काफी मूल है।
मुझे मेरी PHP फ़ाइल में 'g-recaptcha-response' $ _POST मान नहीं मिल रहा है।
मैं महत्वपूर्ण कोड के नीचे की जरूरत संक्षेप है ...
फ़ाइल 1: contact.php
से पहले सिर टैग
<?php
session_start(); // start php session
// Setup session variables to save the form data
if(isset($_SESSION['contact_form_values'])){
extract($_SESSION['contact_form_values']);
}
include('contactengine.php');
?>
में हेड टैग
<script src='https://www.google.com/recaptcha/api.js'></script><!-- reCAPTCHA form -->
बीच फॉर्म टैग एक्शन = "" ताकि यह स्वयं को पोस्ट कर सके contactengine.php फ़ाइल में शामिल है ताकि यह केवल तब तक चलता है जब उपयोगकर्ता सबमिट बटन पर क्लिक करता है?
<form class="contactform" method="POST" action="">
<div class="g-recaptcha" data-sitekey="6Lc92gkTAAAAAFKjZEOlY0cg9G8ubmlVoC13Xf3T"></div>
फ़ाइल 2: contactengine.php
बीचइस
if($_SERVER["REQUEST_METHOD"] == "POST")
मैं
if(isset($_POST['g-recaptcha-response'])){
$captchaResponse = $_POST['g-recaptcha-response'];
}
है अब इस बिंदु जहां चर $ captchaResponse आबादी वाले नहीं किया जा रहा है क्योंकि मैं इस तरह के मूल्य को आउटपुट करता हूं:
if(!$captchaResponse){ // check the POST recaptcha response value
$resultMsg = 'Please check the captcha form. - '.$captchaResponse;
}
इसलिए मुझे $ resultMsg स्ट्रिंग में प्रतिक्रिया कोड का कोई दृश्य आउटपुट नहीं मिलता है।
केवल एक चीज जिसे मैं सोच सकता हूं इसे प्रभावित कर रहा है, contact.inep में शुरुआत में contactengine.php फ़ाइल भी शामिल है। और कार्रवाई के रूप में = "" है। लेकिन ट्यूटोरियल ने मुझे ऐसा करने के लिए निर्देशित किया। तो शायद नहीं ...
मैंने गाइड के रूप में http://www.9lessons.info/2014/12/google-new-recaptcha-using-php-are-you.html का उपयोग किया।
धन्यवाद बहुत उन्नत!
संभावित उपयोगी लिंक: https://developers.google.com/recaptcha/docs/faq –
अपने नेटवर्क ट्रैफ़िक को देखने के लिए अपने ब्राउज़र के देव उपकरण का उपयोग करें, देखें कि दृश्यों के पीछे क्या होता है। इसके अलावा unfiltered POST मानों को आउटपुट न करें (XSS हमलों से बचने के लिए) – m02ph3u5
धन्यवाद @ m02ph3u5, मैंने इसे डिबगिंग उद्देश्यों के लिए बस सेट अप किया है।इसके अलावा मैंने क्रोम में देव उपकरण का उपयोग किया है और प्रतिक्रिया जेसन में वापस आ रही है लेकिन इसे 'यूव्रेस' कहा जाता है। मैंने इस नाम को 'जी-रिकैप्चा-प्रतिक्रिया' और किसी किस्मत की जगह में भी करने की कोशिश की। मैं – Samuroid