PHP-код дает мне ошибку при отправке формы - PullRequest
0 голосов
/ 14 декабря 2018

Я следовал учебному пособию по Google CAPTCHA и имею простую форму.Я включил в нее всю свою информацию и получаю сообщение об ошибке при отправке формы.Я считаю, что он имеет дело с последним блоком кода, но может быть ошибочным.

PHP-код

    $user_name      = filter_var($_POST["name"], FILTER_SANITIZE_STRING);
    $user_email     = filter_var($_POST["email"], FILTER_SANITIZE_EMAIL);
    $user_phone     = filter_var($_POST["phone"], FILTER_SANITIZE_STRING);
    $content   = filter_var($_POST["content"], FILTER_SANITIZE_STRING);

    if(empty($user_name)) {
        $empty[] = "<b>Name</b>";       
    }
    if(empty($user_email)) {
        $empty[] = "<b>Email</b>";
    }
    if(empty($user_phone)) {
        $empty[] = "<b>Phone Number</b>";
    }   
    if(empty($content)) {
        $empty[] = "<b>Comments</b>";
    }

    if(!empty($empty)) {
        $output = json_encode(array('type'=>'error', 'text' => implode(", ",$empty) . ' Required!'));
        die($output);
    }

    if(!filter_var($user_email, FILTER_VALIDATE_EMAIL)){ //email validation
        $output = json_encode(array('type'=>'error', 'text' => '<b>'.$user_email.'</b> is an invalid Email, please correct it.'));
        die($output);
    }

    //reCAPTCHA validation
    if (isset($_POST['g-recaptcha-response'])) {

        require('component/recaptcha/src/autoload.php');        

        $recaptcha = new \ReCaptcha\ReCaptcha(SECRET_KEY, new \ReCaptcha\RequestMethod\SocketPost());

        $resp = $recaptcha->verify($_POST['g-recaptcha-response'], $_SERVER['REMOTE_ADDR']);

          if (!$resp->isSuccess()) {
                $output = json_encode(array('type'=>'error', 'text' => '<b>Captcha</b> Validation Required!'));
                die($output);               
          } 
    }

    $toEmail = "myemail@gmail.com";
    $mailHeaders = "From: " . $user_name . "<" . $user_email . ">\r\n";
    if (mail($toEmail, "Contact Mail", $content, $mailHeaders)) {
        $output = json_encode(array('type'=>'message', 'text' => 'Hi '.$user_name .', thank you for the comments. We will get back to you shortly.'));
        die($output);
    } else {
        $output = json_encode(array('type'=>'error', 'text' => 'Unable to send email, please contact'.SENDER_EMAIL));
        die($output);
    }
}
?>

Я получаю ошибку

Невозможно отправить электронное письмо, пожалуйста, свяжитесь с SENDER_EMAIL

, что явно указано в выражении "else".У меня есть ключи Google Catpcha в файле, который указан выше в constant.php.

HTML-код:

<h1>Contact Form</h1>
<<p id="welcome">Send your comments through this form and we will get back to you. </p>
    <div id="central">
        <div class="content">
            <div id="message">
            <form id="frmContact" action="contact.php" method="POST" novalidate="novalidate">
                <div class="label">Name:</div>
                <div class="field">
                    <input type="text" id="name" name="name" placeholder="enter your name here" title="Please enter your name" class="required" aria-required="true" required>
                </div>
                <div class="label">Email:</div>
                <div class="field">         
                    <input type="text" id="email" name="email" placeholder="enter your email address here" title="Please enter your email address" class="required email" aria-required="true" required>
                </div>
                <div class="label">Phone Number:</div>
                <div class="field">         
                    <input type="text" id="phone" name="phone" placeholder="enter your phone number here" title="Please enter your phone number" class="required phone" aria-required="true" required>
                </div>
                <div class="label">Comments:</div>
                <div class="field">         
                    <textarea id="comment-content" name="content" placeholder="enter your comments here"></textarea>            
                </div>
                <div class="g-recaptcha" data-sitekey="6Le8bIEUAAAAAO9jdjwAUk57TcIP3fR4WnmVxyWm"></div>     
                <div id="mail-status"></div>            
                <button type="Submit" id="send-message" style="clear:both;">Send Message</button>
            </form>
            <div id="loader-icon" style="display:none;"><img src="img/loader.gif" /></div>
            </div>      
        </div><!-- content -->
    </div><!-- central -->  
...