如何保持表单重发数据?

时间:2013-11-30 17:08:47

标签: php html forms

我有一个表单,您可以向某人发送电子邮件,如果我重新加载页面,它会发送一封电子邮件。我怎么做它所以不这样做?一个论坛说它改为GET,但也没有用。邮件功能没有显示。

<form action="index.php" method="GET">
<textarea name="comment" cols="16.5" rows="5" style="resize: none;" maxlength="240">            </textarea>
<input type="submit" value="Send Comment" />
<?php
if (isset($_GET['comment'])) {
$com = mysql_real_escape_string($_GET['comment']);
if (!empty($com)) {
if (strlen($com) <= 240 && strlen($com) >= 5) {                                         $mail = mail('__________', 'Comments', $com);
}
}
}
?>
</form>

2 个答案:

答案 0 :(得分:2)

将带有POST的表单发送到另一个页面:说upload.php,然后在upload.php中,在检查表单后添加此代码:

header( 'Location: form_page.php' );

这样就可以重新加载表单页面而不会出现此问题。

答案 1 :(得分:0)

在链接(GET)中添加sent参数(例如:index.php),并在发送邮件前检查是否未设置。

<form action="index.php?sent=true" method="GET">
  <textarea name="comment" cols="16.5" rows="5" style="resize: none;" maxlength="240"></textarea>
  <input type="submit" value="Send Comment" />
  <?php
  if (!isset($_GET['sent'])) {

     // Your code for sending the mail here...

  }
?>
</form>