【问题标题】:simple PHP contact form returns 500 internal server error简单的 PHP 联系表单返回 500 内部服务器错误
【发布时间】:2013-06-08 22:39:20
【问题描述】:

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

代码如下:

<?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>";
  }
?>

非常感谢, 汤米

【问题讨论】:

    标签: php forms submit contact


    【解决方案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:我认为这不是代码错误,但这会对您有所帮助
    祝你好运 !

    【讨论】:

    • 谢谢!!这样可行!现在唯一的问题是电子邮件地址字段似乎没有随电子邮件一起发送。只是一些“Send@cpanel54.uk2.net”电子邮件,不管我在盒子里放了什么。有什么想法吗?非常感谢,汤米
    • ok 不要错过投票 ----- 将邮件功能更改为 mail('tburn76@gmail.com', $subject, $message, 'From: Alpha RooT ');将 alpha root 更改为您想要的任何名称:D 在这里编辑任何问题
    • 好的。谢谢那真的很有帮助,但是现在发送的电子邮件地址显示为 Alpha RooT 或我放在那里的任何内容。如何显示 $email 变量中的内容?
    • 将第二个回显改成这个回显 "
      Name :
      电子邮件:
      主题:
      消息:

      ";并在第 8 行下方添加一个带有 $name = $_REQUEST['name'] 的 linge ;并将邮件功能更改为 mail('tburn76@gmail.com', $subject, $message, 'From: '.$name.' ');跨度>
    • 太棒了,非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    相关资源
    最近更新 更多