0

我有一个 php 表单,我正在重定向:

http://wthdesign.net/contact.php

到这个网址:

http://wthdesign.net/contact.php?status=thanks

一旦我的表格被发送:

但我的问题是,如果表单一开始从未发送过,我该如何阻止访问此 url?

4

2 回答 2

2

您只需要在表单中创建会话,并且您需要检查会话是否使用 isset 函数设置。如果没有,请在开始时使用 die。

if (!isset($_SESSION['thank'])) die;
于 2013-08-10T17:51:15.007 回答
1

向我们展示contact.php的源代码

确实 SESSION 是最好的方法,并像这样设置会话。

if (mail(...)) {
  $_SESSION['allow_show_thanks'] = 1;
}

你有某种开关盒来处理状态吗?

if (status == "thanks") {


} else {
  // show form
}

将其更改为

if (status == "thanks" && (isset($_SESSION['allow_show_thanks'] && $_SESSION['allow_show_thanks'] == 1) ) {
   // show thanks when status equals "thanks" AND SESSION['allow_show_thanks'] == 1

} else {
  // show form
}
于 2013-08-10T17:51:29.580 回答