我的 php 联系表单正在重定向错误 500

My php contact form is redirecting on an error 500

我几个小时前启动了我的网站,但我无法使用我的联系表! 我遵循了很多教程,但是 none 对我有用,一定是某处出错了...

这是我的 HTML 表格,在我的主页上可见,index.html :

<form action="mail.php" class="contact-form" method="POST">
<fieldset>

    <input name="obj" type="text"><br>
    <textarea name="message"></textarea>

    <input name="from-name" type="text"><br> 
    <input name="from-mail" type="text"><br> 

    <input type="submit" value="Send">

</fieldset></form>

这是我的 mail.php 文件的内容,与我服务器上的 index.html 位于同一个文件夹中。 mail.php 仅包含以下代码,没有其他内容。

<?php $name = $_POST['from-name'];
$email = $_POST['from-mail'];
$obj = $_POST['obj'];
$message = $_POST['message'];

$formcontent="from: $name \n Message: $message";
$recipient = "XXX.XXX@gmail.com";
$subject = "$obj";
$mailheader = "from: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!" . " -" . "<a href="index.html"> Return Home</a>";
?>

所以在这里,每当我点击我的提交按钮时,Chrome 立即将我重定向到服务器错误 500,没有消息发送。 我哪里做错了?

改变这个

echo "Thank You!" . " -" . "<a href="index.html"> Return Home</a>";

至此

echo "Thank You!" . " -" . "<a href='index.html'> Return Home</a>";

改进代码

if (!mail($recipient, $subject, $formcontent, $mailheader)) {
    die("Error!");
}
else
{
    echo "Thank You!" . " -" . "<a href='index.html'>Return Home</a>";
}

当您的 php 代码出现致命错误但错误显示已关闭时,会出现“500 内部服务器错误”。您可以试试看错误。

在您的 php 文件中:

ini_set('display_errors', 1);

在 .htaccess 文件中:

php_flag display_errors 1