我已经开始为网站制作php电子邮件表单了,我不确定它是否是代码中的内容或其他东西,但我一直在显示内部服务器错误在线测试。
以下是php和html代码作为示例。
HTML
<form action="form.php" method="post" name="Contact form">
<p>First Name:
<input name="first_name" type="text" />
</p>
<p>
Last Name:
<input name="last_name" type="text" />
</p>
<p>
Email:
<input name="email" type="text" />
</p>
<p>
Message:
<textarea name="message" id="textarea" cols="30" rows="5"></textarea>
</p>
<p>
<input type="submit" name="Submit" id="Submit" value="Submit" />
<input type="reset" name="reset" id="reset" value="Reset" />
</p>
</form>
PHP
<?php
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$first_name = $_POST['email'];
$first_name = $_POST['message'];
$to = "joel@justjoel.co.uk";
$subject = "New Message";
mail ($to, $subject, $message, "From:" . $first_name . $last_name);
echo "Your message has been sent";
?>
这是错误消息
内部服务器错误
服务器遇到内部错误或配置错误,无法完成您的请求。
请与服务器管理员webmaster @ localhost联系,告知他们错误发生的时间,以及可能导致错误的任何操作。
服务器错误日志中可能提供了有关此错误的更多信息。
Apache / 2.2.3(CentOS)服务器在justjoel.co.uk端口80
答案 0 :(得分:-1)
您未正确分配变量:
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$first_name = $_POST['email'];
$first_name = $_POST['message'];
应该是:
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];
$message = $_POST['message'];
我的猜测是,这会导致它在以后尝试访问$message
时失败