1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Installing recaptcha to my inquiry form

Discussion in 'PHP & Perl' started by Husbarn, Jul 11, 2014.

  1. Husbarn

    Husbarn Junior Member

    Joined:
    Dec 19, 2012
    Messages:
    160
    Likes Received:
    20
    I want to install recaptcha to my inquiry form and I need some help with the code.

    I'm talking about this recaptcha - https://developers.google.com/recaptcha/docs/php?hl=de

    I'm using Wordpress (with my own hosting).

    Example page how that "send inquiry" button looks like - http://www.camarocarplace.com/cars/modified-2010-chevrolet-camaro/

    I already added that "recaptchalib.php" file to my theme files and I can access it from my wp panel>editor. However, I don't need to touch it, because I just need to have it there and I need to add that code (in that link, given below "quick start") where my inquiry form is.

    As I understand, I need to add this code
    Code:
    require_once('recaptchalib.php');
      $publickey = "your_public_key"; // you got this from the signup page
      echo recaptcha_get_html($publickey);
    to the file where my inquiry form is.

    I've found that file and here is the code for that inquiry form (this is the whole code from .php file:
    Code:
    <?php
    if($_POST)
    {
        $yourname = $_POST['inq_name'];
        $youremail = $_POST['inq_email'];
        $inq_phone = $_POST['inq_phone'];
        $frnd_comments = $_POST['inq_msg'];
        $pid = $_POST['pid'];
    
        $post_title = '<a href="'.get_permalink($post->ID).'">'.$post->post_title.'</a>'; 
        $to_name = get_post_meta($post->ID,'name',true);
        $to_email = get_post_meta($post->ID,'email',true);
        if($to_email=='')
        {
            $to_email = get_option('admin_email');    
        }
        ///////Inquiry EMAIL START//////
        global $upload_folder_path;
        $clientdestinationfile =   get_bloginfo( 'template_directory', 'false' )."/library/notification/send_inquiry.txt";
        $message1 = file_get_contents($clientdestinationfile);
        $filecontent_arr1 = explode('[SUBJECT-STR]',$message1);
        $filecontent_arr2 = explode('[SUBJECT-END]',$filecontent_arr1[1]);
        $subject = $filecontent_arr2[0]. __(' for ').'"'.$post->post_title.'"';
        
        $client_message = $filecontent_arr2[1];
        $yourname_link = __('<br>From : ').$yourname.__('<br>Phone : ').$inq_phone.'<br><br>Sent from - <b><a href="'.get_option('siteurl').'">'.get_option('blogname').'</a></b>.';
        /////////////customer email//////////////
        $search_array = array('[#$to_name#]','[#$post_title#]','[#$frnd_subject#]','[#$frnd_comments#]','[#$your_name#]');
        $replace_array = array($to_name,$post_title,$frnd_subject,nl2br($frnd_comments),$yourname_link);
        $client_message = str_replace($search_array,$replace_array,$client_message);
    /*    echo "From : $youremail  Name : $yourname <br>";
        echo "To : $to_email  Name : $to_name <br>";
        echo "Subject $subject <br>";
        echo "$client_message";
        exit;*/
        if($to_email)
        {
            sendEmail($youremail,$yourname,$to_email,$to_name,$subject,$client_message,$extra='');
        }
        //////Inquiry EMAIL END////////    
        $url = get_permalink($post->ID);
        if(strstr($url,'?'))
          {
              $url = $url."&send_inquiry=success";
          }else
          {
                $url = $url."?send_inquiry=success";              
          }
        wp_redirect($url);
    }
    ?>    
    So, I need that captcha to this inquiry form. If you go to that URL above (camaro site) and click on "send inquiry" (red button on the right side), an inquiry form appears. That code above is of that form and I need to add this recaptcha to this form, so that this captcha must be resolved before people can click on "send" button or at least if that captcha isn't resolved correctly, they won't be able to send this form.

    Any ideas how to make this work?
     
    Last edited: Jul 11, 2014
  2. Husbarn

    Husbarn Junior Member

    Joined:
    Dec 19, 2012
    Messages:
    160
    Likes Received:
    20
    Actually the popup form code is this
    Code:
    <form method="post" name="agt_mail_agent" id="agt_mail_agent" action="<?php echo get_permalink($post->ID); ?>" >
      <input type="hidden" name="pid" id="agt_mail_agent_pid" value="<?php echo $post->ID;?>" />
      <input type="hidden" name="sendact" value="send_inqury" />
        <h3><?php echo SEND_INQUIRY;?> </h3>
        <p id="inquiry_send_success" class="sucess_msg" style="display:none;"></p>
        <div class="row  clearfix" ><label><?php _e('Your Name');?> :  <span>*</span></label><input name="inq_name" id="agt_mail_name" type="text"  /><span id="span_agt_mail_name"></span></div>
         <div class="row  clearfix" ><label><?php _e('Email');?> :  <span>*</span></label><input name="inq_email" id="agt_mail_email" type="text"  /><span id="span_agt_mail_email"></span></div>
        <div class="row  clearfix" ><label><?php _e('Contact Info');?> :</label><input name="inq_phone" id="agt_mail_phone" type="text"  /></div>
        <div class="row  clearfix" ><label><?php _e('Comments');?> :  <span>*</span></label>
         <textarea name="inq_msg" id="agt_mail_msg" cols="" rows="" ><?php echo SEND_INQUIRY_SAMPLE_CONTENT;?></textarea>
         <span id="span_agt_mail_msg"></span>
        </div>
        <input name="Send" type="submit"  value="<?php _e('Send');?>" class="button clearfix" />
     </form>
    That form above (in my first post) is the form where the data from the form is sent to.