php表单提交错误500

php表单提交错误500,php,forms,internal-server-error,Php,Forms,Internal Server Error,我正试图在我的网站上添加一个简单的带有recaptcha的联系人表单,但并不是很成功。每当我尝试测试我的表单时,我总是收到一个错误500。表单指向位于我的服务器上的单独php文件 我对php真的很陌生,我正在努力找出哪里出了问题。以下是表单的html: <form method="post" action="form.php" id="contact-form" class="col s12"> <div class="row"> <d

我正试图在我的网站上添加一个简单的带有recaptcha的联系人表单,但并不是很成功。每当我尝试测试我的表单时,我总是收到一个错误500。表单指向位于我的服务器上的单独php文件

我对php真的很陌生,我正在努力找出哪里出了问题。以下是表单的html:

<form method="post" action="form.php" id="contact-form" class="col s12">   
    <div class="row">
        <div class="input-field col m6 s12">
            <input id="first_name" type="text" class="validate">
            <label for="first_name">First Name</label>
        </div>
        <div class="input-field col m6 s12">
            <input id="last_name" type="text" class="validate">
            <label for="last_name">Last Name</label>
        </div>
    </div>
    <div class="row">
        <div class="input-field col s12">
            <input id="email" type="email" class="validate"required>
            <label for="email">Email</label>
        </div>
    </div>
    <div class="row">
        <div class="input-field col s12">
            <textarea id="msg" class="materialize-textarea"></textarea>
            <label for="msg">Message</label>
        </div>
    </div>
    <div class="row">
        <div class="col s12 m6">
            <div class="g-recaptcha" data-sitekey="xxxx-Xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxx" data-type="image"></div>
        </div>
        <div class="col s12 m6">
            <button class="btn btn-large waves-effect waves-light" type="submit" name="action">Send Message</button>
        </div>
    </div>
</form>
我的php/html有什么问题吗?还是别的什么?我的Web服务器在Ubuntu 14.04上使用php5 fpm和nginx。谢谢你的帮助

线

echo '<p>Captcha failed.<p>'
应该是

$message2 = '<p><b>Here is a copy of your message: </b><br/><br/>'.$first_name.' '.$last_name.'wrote: <br/><br/></p><p>'.$msg.'</p>';

在PHP文件的开头(afrer
将HTML提交按钮更改为

<button class="btn btn-large waves-effect waves-light" type="submit" name="action" value="Send Message">Send Message</button>
发送消息
并修改您的php脚本

if语句

e、 g


$message2 = '<p><b>Here is a copy of your message: </b><br/><br/>'.$first_name.' '.$last_name.'wrote: <br/><br/></p><p>'.$msg.'</p>';
error_reporting(E_ALL);
ini_set('display_errors', 1);
<button class="btn btn-large waves-effect waves-light" type="submit" name="action" value="Send Message">Send Message</button>
<?php
if(isset($_POST['action']))
{
    $secret='xxx-Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
    $sitekey='xxx-Xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxx';
    $first_name=$last_name=$email=$msg="";

    $email = test_input($_POST["email"]);
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
          $emailErr = "Invalid email format"; 
    }
    $msg = test_input($_POST["msg"]);

    if (isset($_POST['first_name'])) {
        $first_name=$_POST['first_name'];
        if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
              $nameErr = "Only letters and white space allowed"; 
        }
    }
    if (isset($_POST['last_name'])) {
        $last_name=$_POST['last_name'];
        if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
              $nameErr = "Only letters and white space allowed"; 
        }
    }
    $response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=".$captcha);
    if ($response.success==false) {
        echo '<p>Captcha failed.<p>';
        exit;
    }

    $toEmail='contact@example.org';

    $message = '<p><b>First Name: </b>'.$first_name.'</p>'.
    '<p><b>Last Name: </b>'.$last_name.'</p>'.
    '<p><b>Email: </b>'.$email.'</p>'.
    '<p><b>Message: </b><br/>'.$msg.'</p>';
    $headers = 'From: first last <contact@example.org> '."rn".
    'Reply-To: '.$first_name.$last_name.' <'.$email.'> '. "rn".
    'Content-type: text/html'. "rn".
    'X-Mailer: PHP/'.phpversion();

    $message2 = '<p><b>Here is a copy of your message: </b><br/><br/>'.$first_name.' '.$last_name.'wrote: <br/><br/></p>'.'<p>'.$msg'</p>' 
    $headers2 = 'From:'.$toEmail."rn".'Reply-To: '.$toEmail."rn".
    'Content-type: text/html'. "rn".
    'X-Mailer: PHP/'.phpversion();

    mail($toEmail,'New Inquery from Website',$message,$headers);
    mail($email,'Copy of your form submission',$message2,$headers2);
    }

    function test_input($data) {
        $data = trim($data);
        $data = stripslashes($data);
        $data = htmlspecialchars($data);
        return $data;
    }
?>