Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-仅重定向一次_Php_Redirect - Fatal编程技术网

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.:-)但是谢谢!!