0

因此,当我发送带有表单(POST)的电子邮件时,我可以很好地发送电子邮件,但是当我收到它时它是空白的(除了在 php 中定义的部分。就像它没有收到我的 POST 数据一样,当我知道它是。

PHP:

$parentName  = strip_tags($_POST['parentName']);
$studentName = strip_tags($_POST['studentName']);
$grade       = strip_tags($_POST['grade']);
$message     = strip_tags($_POST['message']);
$to          = "email@email.com";
$subject     = "Message From, ".$parentName;
$message     = "Student: ".$studentName."Grade: ".$grade."\r\n".$message;
$from        = "Message System";
$headers     = "From:" . $parentName;
mail($to,$subject,$message,$headers);

HTML:

<form class="form-horizontal" method="POST" action="php/syst.php" role="form">
    <div class="form-group">
     <label for="parentName" class="col-sm-5 control-label">Parent Name</label>
    <div class="col-sm-7"><input type="text" class="form-control" id="parentName" name="parentName" placeholder="John Doe"></div>
    </div>
    <div class="form-group">    
     <label for="studentName" class="col-sm-5 control-label">Student Name</label>
    <div class="col-sm-7"><input type="text" class="form-control" id="studentName" name="studentName" placeholder="John Doe"></div>
</div>
<div class="form-group">
      <label for="grade" class="col-sm-5 control-label">Grade</label>
    <div class="col-sm-7"><input type="text" class="form-control" id="grade" name="grade" placeholder="9 - 12"></div>
</div>
<div class="form-group">
     <label for="message" class="col-sm-5 control-label">Message</label>
    <div class="col-sm-7"><textarea class="form-control" id="message" name="message"></textarea></div>
     </div>
    <div class="form-group"><div class="col-sm-offset-2 col-sm-10">
<center>
    <div class="opit">
     <img id="loading" src="png/loa.gif">
    <button type="submit" id="send" class="btn btn-info">Send</button>
    </div>
    </center>
    </div>
    </div>
    </form>
4

1 回答 1

0

根据问题本身下的评论火车回答。

提交表单时,会将 POST/GET 数据发送到服务器。但是,如果服务器重定向到另一个页面,则该数据将丢失,除非编写重定向脚本以将该信息向前传递。

如果您想通过标头等重定向到某处的另一位代码,则需要处理 POST/GET 信息 - 这本身就是标头的一部分!

另一方面,在提交表单之前要小心 JavaScript 处理表单数据。过分热心的脚本可以轻松或意外地清除任何表单数据,然后愉快地继续提交表单 - 并且在尝试解决服务器代码中的问题时非常头疼。解决此问题的一个好方法是让函数 drop 发出警报,显示在进行任何更改后提交的数据。

于 2013-09-13T10:55:32.117 回答