سرمایه گذاری متفاوت در سال نو 🍎🌱 ۳۵٪ تخفیف نوروزی ➕ حضور رایگان در مسترمایند نخبگان صنعت نرم‌افزار 💻✅
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ فراز توانا
recaptcha
کیوان علی محمدی حل شده توسط کیوان علی محمدی

سلام و عرض ادب

آقای محمدی سوالی که داشتم این هست که من می‌خوام از recaptcha استفاده کنم تو فرما و اومدم تو قسمت فایل jquery که ajax رو می‌نویسیم secretKey رو به این شکل نوشتم

let secret_key = 'secretKey';

ولی حالا نمی‌دونم که چطور responseKey رو بگیرم تا بتونم تو فایل ajax.php اینا رو تطبیق بدم؟

و اینکه روشی که دارم میرم درست هست یا نه؟

سلام.

<!DOCTYPE HTML>
<head>
  <script src="https://code.jquery.com/jquery-3.0.0.min.js" integrity="sha256-JmvOoLtYsmqlsWxa7mDSLMwa6dZ9rrIdtrrVYRnDRH0=" crossorigin="anonymous"></script>
  <script src="contact.js"></script>
  <script src='https://www.google.com/recaptcha/api.js'></script>
</head>
<body>
  <form id="contactForm">
    <input type="text" id="name" placeholder="Your name..."/>
    <br>
    <input type="text" id="email" placeholder="Your email..."/>
    <br>
    <textarea id="message" placeholder="Your message..."></textarea>
    <br>
    <div class="g-recaptcha" data-sitekey="YOUR_KEY"></div>
    <br>
    <input type="submit" />
  </form>
</body>
$(document).ready(function() {
  var contactForm = $("#contactForm");
  //We set our own custom submit function
  contactForm.on("submit", function(e) {
    //Prevent the default behavior of a form
    e.preventDefault();
    //Get the values from the form
    var name = $("#name").val();
    var email = $("#email").val();
    var message = $("#message").val();
    //Our AJAX POST
    $.ajax({
      type: "POST",
      url: "mail.php",
      data: {
        name: name,
        email: email,
        message: message,
        //THIS WILL TELL THE FORM IF THE USER IS CAPTCHA VERIFIED.
        captcha: grecaptcha.getResponse()
      },
      success: function() {
        console.log("OUR FORM SUBMITTED CORRECTLY");
      }
    })
  });
});
<?php
$name=stripslashes($_POST["name"]);
$email=stripslashes($_POST["email"]);
$message=stripslashes($_POST["message"]);
$secret="YOUR_SECRET";
$response=$_POST["captcha"];
$verify=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret={$secret}&response={$response}");
$captcha_success=json_decode($verify);
if ($captcha_success->success==false) {
  //This user was not verified by recaptcha.
}
else if ($captcha_success->success==true) {
  //This user is verified by recaptcha
}

 

بهترین پاسخ
کیوان علی محمدی ۲۸ اسفند ۱۳۹۸، ۰۸:۲۲

login.php

 

<div class="auth-wrapper">
    <div class="login-wrapper">
        <?php if(isset($wp_auth_options['login_form_title'])) : ?>
           <h3 class="login-title"><?php echo $wp_auth_options['login_form_title'] ?></h3>
        <?php endif; ?>
        <div class="alert" style="disply:none">
        </div>
         <form action="" method="post" id="loginform">
            <div class="form-row">
                <input type="email" name="user_email" id="user_email" placeholder="ایمیل خود را وارد کنید">
            </div>
            <div class="form-row">
                <input type="password" name="user_password" id="user_password" placeholder="کلمه عبور خود را وارد کنید">
            </div>
            <div class="form-row">
                <button class="submit-login" name="submitlogin">ورود</button>
            </div>
        </form>
    </div>
</div>


register.php

 

<div class="auth-wrapper">
    <div class="register-wrapper">
        <?php if(isset($wp_auth_options['register_form_title'])) : ?>
           <h3 class="login-title"><?php echo $wp_auth_options['register_form_title'] ?></h3>
        <?php endif; ?>
        <div class="alert" style="disply:none">
       </div>
        <form action="" method="post" id="registerform">
            <div class="form-row">
                <input type="text" name="user_first_name" id="user_first_name"  placeholder="نام">
            </div>   
            <div class="form-row">
                <input type="text" name="user_last_name" id="user_last_name" placeholder="نام خانوادگی">
            </div>            
               <div class="form-row">
                <input type="email" name="user_email" id="user_email" placeholder="ایمیل خود را وارد کنید">
            </div>
            <div class="form-row">
                <input type="password" name="user_password" id="user_password" placeholder="کلمه عبور خود را وارد کنید">
            </div>
            <div class="form-row">
                <button class="submit-register" name="submitregister">ثبت نام</button>
            </div>
        </form>
    </div>
</div>


همه چی کار میکنه طبق آموزش شما انجام دادم الان فقط می‌خوام کپچای گوگل رو بهش اضافه کنم نمی‌تونم میشه راهنمایی کنید چه شکلی بتونم کپچای گوگل رو روش فعال کنم کار کنه پلاگین‌های کپچا و کد رو نصب میکنم هیچ کدام عمل نمیکنه

urmialiyam ۳۰ فروردین ۱۳۹۹، ۱۷:۱۹