Php 使用$\u GET重定向用户

Php 使用$\u GET重定向用户,php,redirect,get,Php,Redirect,Get,我有一个php页面“view.php” 但我不希望任何人通过点击或手动键入www.domain.com/view.php直接查看页面,它必须来自index.php,并经历一些过程。即 index.php ==> view.php/id=$$$ 我尝试了$\u服务器['REQUEST\u URI'] if ($_SERVER['REQUEST_URI'] =='www.domain.com/view.php') header("location: index.php"); 但是没有起作用

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

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

index.php ==> view.php/id=$$$
我尝试了$\u服务器['REQUEST\u URI']

if ($_SERVER['REQUEST_URI'] =='www.domain.com/view.php')
header("location: index.php");
但是没有起作用

请任何人帮助

$\u服务器[“请求URI”]返回站点根相对路径,即“/view.php”或“/folder/file.php”。因此,您的代码应该是
if($\u SERVER[“REQUEST\u URI”]==“/view.php”){/*…*/}
。还建议放置
exit()在重定向头之后,以防止后续代码执行

如果(!$服务器[“HTTP\u REFERER”]=,您也可以像下面这样使用$服务器[“HTTP\u REFERER”]=”http://www.your-domain.com/index.php“{/*…*/}


有关更多信息,请参阅

尝试使用POST变量通过index.php文件中的表单发送

<form action="view.php" method="post">
<input type="hidden" vaue="test" name="KEY"/>
</form>

不过有不同的解决方案

为什么不使用.htaccess?服务器请求uri不可靠。@thatidiotguy会话变量是从index.php打印到view.php上的,如果我使用htaccess,还可以吗。。请suggestas@thatidiotguy说,服务器请求uri不可靠。查看您是否控制了用户所在的上一页。您可以在会话中设置cookie或其他内容,然后检查view.php上是否存在/是否正确的值将其放在文档根目录之外,并让index.php包含它。
if(isset($_POST['key'])){
//LOAD FILE
}