0

我试图实现一个简单的表单供访客与我联系。我正在使用 php(我是一个非常初学者)并且遇到了返回 500 内部服务器错误的问题。表单显示正常,一切正常,就在我按下提交时它发生了。表格在这个页面

代码如下:

<?php 
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
  {
  //send email
  $email = $_REQUEST['email'] ;
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ;
  mail('tburn76@gmail.com', $subject,
  $message, 'From:' . $email);
  echo "Thank you for using our mail form";
  }
else
//if "email" is not filled out, display the form
  {
  echo "<form method='post' action='mailform.php'>
  Email : <input name='email' type='text'><br>
  Subject: <input name='subject' type='text'><br>
  Message:<br>
  <textarea name='message' rows='15' cols='40'>
  </textarea><br>
  <input type='submit'  value='Send'>
  </form>";
  }
?>

非常感谢,汤米

4

1 回答 1

1

这是您的托管服务提供商的问题。500 是服务器错误而不是编程,但您应该在此之前执行此操作

将您的第二回声更改为此

  echo "<form method='post' action='".$_SERVER['PHP_SELF']."' name='email'>
  Email : <input name='email' type='text'><br>
  Subject: <input name='subject' type='text'><br>
  Message:<br>
  <textarea name='message' rows='15' cols='40'>
  </textarea><br>
  <input type='submit' name='email' value='Send'>
  </form>";

代码将是

<?php 
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
  {
  //send email
  $email = $_REQUEST['email'] ;
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ;
  mail('tburn76@gmail.com', $subject,
  $message, 'From:' . $email);
  echo "Thank you for using our mail form";
  }
else
//if "email" is not filled out, display the form
  {
  echo "<form method='post' action='".$_SERVER['PHP_SELF']."' name='email'>
  Email : <input name='email' type='text'><br>
  Subject: <input name='subject' type='text'><br>
  Message:<br>
  <textarea name='message' rows='15' cols='40'>
  </textarea><br>
  <input type='submit' name='email' value='Send'>
  </form>";
  }
?>

PS:我认为这不是代码错误,但这会帮助你
好运!

于 2013-06-08T22:46:58.597 回答