【发布时间】:2014-05-14 21:41:06
【问题描述】:
您好,我的 php 和 html 表单有问题。我想要做的只是得到一个包含 7 个输入字段的表单,其中 6 个是输入字段或文本区域,一个是复选框。我有一个隐藏字段,前 3 个框是隐藏字段的名字和消息。我唯一的问题是当我添加一个新的输入框时,它会显示 500 错误。我的代码如下:
<?php
// display form if user has not clicked submit
if (!isset($_POST["submit"]))
{
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
<input type="hidden" name="subject" value="can you create me an account"><br>
Message: <textarea rows="10" cols="40" name="message"></textarea><br>
first <input type="text" name="first_name" >
<input type="submit" name="submit" value="Submit Feedback">
</form>
<?php
}
else
// the user has submitted the form
{
// Check if the "subject" input field is filled out
if (isset($_POST["subject"]))
{
$subject = $_POST["subject"];
$message = $_POST["message"];
$first = $_POST["first_name"];
$message = wordwrap($message, 70);
$first = wordwrap($first, 70);
// send mail
mail("summat@gmail.com",$subject,$message,$first,"subject: $subject\n");
echo "Thank you for sending us feedback";
当我添加一个新的输入框时,我的代码如下所示:
<?php
// display form if user has not clicked submit
if (!isset($_POST["submit"]))
{
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
<input type="hidden" name="subject" value="can you create me an account"><br>
Message: <textarea rows="10" cols="40" name="message"></textarea><br>
first <input type="text" name="first_name" >
last <input type="text" name="last_name" >
<input type="submit" name="submit" value="Submit Feedback">
</form>
<?php
}
else
// the user has submitted the form
{
// Check if the "subject" input field is filled out
if (isset($_POST["subject"]))
{
$subject = $_POST["subject"];
$message = $_POST["message"];
$first = $_POST["first_name"];
$last = $_POST["last_name"];
$message = wordwrap($message, 70);
$first = wordwrap($first, 70);
$last = wordwrap($last, 70);
// send mail
mail("summat@gmail.com",$subject,$message,$first,$last,"subject: $subject\n");
echo "Thank you for sending us feedback";
当我添加它们时,所有内容都显示在屏幕上,但当我按下提交时,我得到:
500 - 内部服务器错误。你的资源有问题 正在寻找,无法显示。
什么都没有提交。是因为它在发送之前超时,还是因为太多数据,或者我只是错过了一些非常基本的东西?
任何帮助将不胜感激。
【问题讨论】:
-
您的服务器错误日志中有什么内容?
-
请打开 PHP 错误报告 - 在 php.ini 中,设置“display_errors=on”,重新启动您的 Apache 服务器并尝试找出问题所在或编辑您的问题并添加 PHP 错误您收到的消息。
-
并发布差异,以便轻松查看更改。
-
差异是什么意思@KarolyHorvath
标签: php html forms form-submit