0

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

4

2 回答 2

0

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

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

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

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

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

于 2013-07-12T22:50:14.853 回答
0

我在这里和那里发现了一些可能性:

  1. 正如 Jonathan Kuhn 建议的那样,尝试使用会话变量:在调用页面之前设置它,并在加载时检查它。如果未设置,则您遇到了“入侵者”。
  2. 用于$_SERVER["REMOTE_ADDR"]检查用户的 IP。如果它不是本地主机 IP(例如 127.0.0.1),您会得到一个“不受欢迎的访问者”。
  3. 将 PHP 文件放在服务器的 web 目录之外,这样就不能直接用浏览器访问它。
于 2013-07-12T22:55:39.653 回答