2011-01-23 103 views
0

我有一个PHP文件包含在其他页面,这就是为什么我想修改代码,所以它不会永远循环。如果文件没有被称为“somename.php”,那么重定向

基本上我想从任何其他页面重定向,如果用户不是一个成员的飞溅页面,当我们到达splash.php并且它一次又一次地执行相同的重定向(无限循环)时出现错误。

所以我想修改的代码只执行,如果当前页面不是splash.php

感谢

if (!isMember()) { 
    header('Location: ' . MY_URL_ROOT . 'splash.php'); 
} 

回答

2

以下就足够了:

if (!isMember() && $_SERVER['PHP_SELF'] != MY_URL_ROOT . 'splash.php') { 
    header('Location: ' . MY_URL_ROOT . 'splash.php'); 
    exit(); 
} 

顺便说一句,你应该总是除非您特别希望服务器继续处理脚本的其余部分,否则请在使用标题重新定向后调用exit

+0

+1,删除我的。 `PHP_SELF`比`REQUEST_URI`更好,因为前者将排除任何查询字符串。 – Yahel 2011-01-23 17:09:27

相关问题