当添加更多输入字段时,html/php表单会给我500个内部服务器错误

当添加更多输入字段时,html/php表单会给我500个内部服务器错误,php,html,forms,form-submit,Php,Html,Forms,Form Submit,您好,我的php和html表单有问题。我想做的是得到一个有7个输入字段的表单,其中6个是输入字段或文本区域,一个是复选框。我有一个隐藏字段,前3个框隐藏字段的名字和消息。我唯一的问题是,当我添加一个新的输入框时,它会显示500错误。我的代码如下: <?php // display form if user has not clicked submit if (!isset($_POST["submit"])) { ?> <form method="post" acti

您好,我的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";


问题是,在第二个示例中,当mail()函数接受5个变量时,您试图将6个变量传递给它。检查如何传递附加标题。

问题在于,在第二个示例中,当mail()函数接受5个变量时,您试图将6个变量传递给它。检查如何传递附加标题。

6个变量将导致:
警告:mail()最多需要5个参数,6个参数在您的网站中在线提供

解决方案示例:

    <?php
     //var_dump($_POST);
    if (isset($_POST["subject"]))
        {
        $subject = $_POST["subject"];
        $message = $_POST["message"];
        $first = $_POST["first_name"];
        $last = $_POST["last_name"];
        $name= "$first $last";
    }
        $message = wordwrap($message, 70);
        $first = wordwrap($first, 70);
        $last = wordwrap($last, 70);
        mail("summat@gmail.com",$subject,$message,$name,"subject: $subject\n");
        echo "Thank you for sending us feedback";
      ?>

对您的答复的答复:
Php:


6个变量将导致:
警告:mail()最多需要5个参数,6个参数在您的网站中在线提供

解决方案示例:

    <?php
     //var_dump($_POST);
    if (isset($_POST["subject"]))
        {
        $subject = $_POST["subject"];
        $message = $_POST["message"];
        $first = $_POST["first_name"];
        $last = $_POST["last_name"];
        $name= "$first $last";
    }
        $message = wordwrap($message, 70);
        $first = wordwrap($first, 70);
        $last = wordwrap($last, 70);
        mail("summat@gmail.com",$subject,$message,$name,"subject: $subject\n");
        echo "Thank you for sending us feedback";
      ?>

对您的答复的答复:
Php:



您的服务器错误日志中有什么?请打开PHP错误报告-在PHP.ini中,设置“display_errors=on”,重新启动Apache服务器并尝试找出问题所在,或者编辑您的问题并添加您收到的PHP错误消息,因此很容易看到更改。您的服务器错误日志中的diff@KarolyHorvathWhat是什么意思?请打开PHP错误报告-在PHP.ini中,设置“display_errors=on”,重新启动Apache服务器并尝试找出问题所在,或者编辑您的问题并添加您收到的PHP错误消息。然后发布diff,因此很容易看到这些变化。你说的diff@KarolyHorvathohhh更重要是什么意思?我该如何将变量添加到$header部分呢?它会像
mail(“summat@gmail.com“邮件,$subject,$message,$headers);”);
@tliokosohh更重要的是,我应该如何将变量添加到$header部分,就像
mail(“summat@gmail.com“邮件,$subject,$message,$headers);”
@tliokosI知道这可能是一个简单的问题$resthere是什么?还有两个我如何添加其他字段,因为我最后要做的是@user3489793名字、姓氏、公司、电子邮件、电话号码、说明$rest这里有一行我忘了删除(现在编辑了帖子)。我将编辑我的帖子,并为你剩下的问题添加一个示例谢谢你,因为这是我第一次使用
mail()
编辑我的答案。如果你还需要帮助,告诉我!修正了答案。好luckI知道这可能是个简单的问题什么是$rest?还有两个我如何添加其他字段,因为我最后要做的是@user3489793名字、姓氏、公司、电子邮件、电话号码、说明$rest这里有一行我忘了删除(现在编辑了帖子)。我将编辑我的帖子,并为你剩下的问题添加一个示例谢谢你,因为这是我第一次使用
mail()
编辑我的答案。如果你还需要帮助,告诉我!修正了答案。祝你好运
 <?php
 //var_dump($_POST);
if (isset($_POST["subject"]))
    {
    $subject = $_POST["subject"];
    $message = $_POST["message"];
    $first = $_POST["first_name"];
    $last = $_POST["last_name"];
    $company = $_POST["company"];
    $email = $_POST["email"];
    $telnr = $_POST["telnr"];
    $description = $_POST["description"];
    $therest = "First name= $first" . "\r\n" . "Last name= $last" . "\r\n" . "Last name= $last" . "\r\n" . "Company= $company" . "\r\n" . "Email= $email" . "\r\n" . "Telnr= $telnr" . "\r\n" . "Description= $description";          

    //echo "$therest <br>";
    $message = wordwrap($message, 70);
    $first = wordwrap($first, 70);
    $last = wordwrap($last, 70);
    mail("Your Email Address Here",$subject,$name,$therest,"subject: $subject\n");
    echo "Thank you for sending us feedback";
}
<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" ><br>
   last <input type="text" name="last_name" ><br>
   company <input type="text" name="company" ><br>
   email <input type="text" name="email" ><br>
   Telephone number <input type="text" name="telnr" ><br>
   Description <input type="text" name="description" ><br>
   <input type="submit" name="submit" value="Submit Feedback">
  </form>