PHP-仅重定向一次
如何制作PHP-仅重定向一次,php,redirect,Php,Redirect,如何制作标题(“位置:/path”)只重定向一次 现在我有这个: //If account is locked by user. if($userdata['account_locked'] == 1): header("Location: /account/locked"); endif; 此脚本已在我的头文件中签入。但它不起作用,因为它只会创建一个循环重定向(无限循环) 我该怎么做,所以它只能重定向一次 提前谢谢 这很简单,但有点难看 if($userdata['account_
标题(“位置:/path”)代码>只重定向一次
现在我有这个:
//If account is locked by user.
if($userdata['account_locked'] == 1):
header("Location: /account/locked");
endif;
此脚本已在我的头文件中签入。但它不起作用,因为它只会创建一个循环重定向(无限循环)
我该怎么做,所以它只能重定向一次
提前谢谢 这很简单,但有点难看
if($userdata['account_locked'] == 1 && $_SERVER['HTTP_REFERER'] != 'http://'.$_SERVER['HTTP_HOST'].'/account/locked'):
header("Location: /account/locked");
endif;
//If account is locked by user.
if($userdata['account_locked'] == 1):
if ($_SERVER['REQUEST_URI'] != "/account/locked") header("Location: /account/locked");
endif;
您应该使用MVC,控制器应该知道循环
编辑
最好用
$_SERVER['PHP_SELF']
而不是
$_SERVER['REQUEST_URI'].
编辑:从URL更改为URI。此代码段是否显示在您即将访问的页面上?这是一个全局检查吗?也许这会有帮助:/account/locked
-页面的目的是什么?如果是某种“我同意”页面,你应该将$userdata['account\u locked']
设置为其他内容,然后1
@Joseph:这是一个全局检查,他说它在他的头文件中,我假设它包含在每个页面中。如果是这样,那么即使是“account locked”页面也有这个吗?然后它会重新定向到它自己!请从该页面中删除此代码以阻止它。非常感谢!这很有效。请注意,它不是$\u服务器['REQUEST\u URL'],而是$\u服务器['REQUEST\u URI']。注意UR末尾的I而不是L.:-)但是谢谢!!