使用$ _GET重定向用户

时间:2012-12-14 20:20:35

标签: php redirect get

我有一个php页面“view.php”

但我希望没有人通过点击或手动输入www.domain.com/view.php来直接查看页面,它必须来自index.php正在经历一些过程。即

index.php ==> view.php/id=$$$

我试过 $ _ SERVER ['REQUEST_URI'];

if ($_SERVER['REQUEST_URI'] =='www.domain.com/view.php')
header("location: index.php");

但是没有工作..

任何人都可以帮忙

2 个答案:

答案 0 :(得分:1)

尝试使用POST变量

通过index.php文件中的表单发送它
<form action="view.php" method="post">
<input type="hidden" vaue="test" name="KEY"/>
</form>

在你的view.php

if(isset($_POST['key'])){
//LOAD FILE
}

虽然有不同的解决方案

答案 1 :(得分:0)

$ _ SERVER [“REQUEST_URI”]返回站点根目录相对路径,即“/view.php”或“/folder/file.php”。所以你的代码应该是if ($_SERVER["REQUEST_URI"] == "/view.php") { /* ... */ }。还建议在重定向标头之后放置exit();以防止后续代码执行。

你也可以像这样使用$ _SERVER [“HTTP_REFERER”] if(!$_SERVER["HTTP_REFERER"] == "http://www.your-domain.com/index.php") { /* ... */ }

有关详细信息,请参阅http://php.net/manual/en/reserved.variables.server.php