成功页面不应该直接打开,而是仅在表单填写时 - 在PHP中重定向

时间:2013-07-12 22:45:32

标签: php header

我有一个header语句,在填写表单后重定向。所以我的表单在form.php上然后如果填写它重定向到成功页面“success.php”。我希望成功页面只有通过表单才能打开,而不是直接在浏览器中键入www.domain.com/success.php。我怎么能实现这个目标?非常感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

检查POST变量是否设置为提交按钮。如,

<input type="submit" name="Submit" value="Submit Form" />

然后在success.php上的PHP代码中:

if ( ! isset($_POST['Submit']) ) {
    die();
}

这个die()s但您可以让它显示不同的响应或将其重定向到表单页面(带标题(“Location:http://www.fadsf.com/form”))

答案 1 :(得分:0)

我在这里和那里找到了一些可能性:

  1. 正如Jonathan Kuhn所提议的,尝试使用会话变量:在调用页面之前设置它,并在加载时检查它。如果没有设置,你会有一个“入侵者”。
  2. 使用$_SERVER["REMOTE_ADDR"]检查用户的IP。如果它不是本地主机IP(例如127.0.0.1),则会有“不受欢迎的访问者”。
  3. 将PHP文件放在服务器的web目录之外,以便无法直接使用浏览器进行访问。