最小 PHP 联系表的内部服务器错误

Internal Server Error With Minimal PHP Contact Form

此站点托管在共享主机上,不幸的是,主机似乎唯一提供的是访问日志,而不是 PHP 错误日志,所以我无法找出具体的错误这里。

我正在尝试在 PHP 中做一个非常简单的联系人表单,没有太多的验证或复杂性。出现 500 错误,但我确信我忽略了一些基本的东西。

非常感谢任何帮助。

HTML:

<form name="htmlform" method="post" action="collins_contact.php">
<table width="450px" cellpadding="20px">
<tr><td>&nbsp;</td></tr>
<tr>
 <td align="left">
  <label for="first_name">First Name</label>
 </td>
 <td valign="top">
  <input type="text" name="first_name" maxlength="50" size="30">
 </td>
</tr>

<tr><td>&nbsp;</td></tr>

<tr>
 <td align="left">
  <label for="last_name">Last Name</label>
 </td>
 <td valign="top">
  <input type="text" name="last_name" maxlength="50" size="30">
 </td>
</tr>

<tr><td>&nbsp;</td></tr>

<tr>
 <td align="left">
  <label for="email">Email Address</label>
 </td>
 <td valign="top">
  <input type="text" name="email" maxlength="80" size="30">
 </td>

</tr>

<tr><td>&nbsp;</td></tr>

<tr>
 <td align="left">
  <label for="telephone">Telephone</label>
 </td>
 <td valign="top">
  <input type="text" name="phone" maxlength="30" size="30">
 </td>
</tr>

<tr><td>&nbsp;</td></tr>

<tr>
 <td align="left">
  <label for="comments">Questions / Comments</label>
 </td>
 <td valign="top">
  <textarea name="message" maxlength="1000" cols="25" rows="6"></textarea>
 </td>

<tr><td>&nbsp;</td></tr>

</tr>
<tr>
 <td colspan="2" style="text-align:center">
  <input type="submit" value="Submit">
 </td>
</tr>
<tr><td>&nbsp;</td></tr>

</table>
</form>

PHP

<?php
if (isset($_POST["first_name"]) && isset($_POST["email"]) && isset($_POST["message"])) {
    $name = $_POST["first_name"];
    $email = $_POST["email"];
    $subject = "Contact Form Submission";
    $message = $_POST["message"];

    $header = "from: $name <$email>";
    $to = "contact@domain.com";

    if (mail($to, $subject, $message, $header)) {
        header("Location: index.html");
    } else {
        echo("Error With Form Submission");
    }
}
?>

需要将 php 文件的权限更改为 0644,然后才有效。