如何将用户重定向到他们自己的个人资料页面?

时间:2013-08-13 04:33:25

标签: php url redirect

所有用户都有自己的个人资料页面:

www.mysite.com/profile.php?id=13

我现在要做的是将它们重定向到自己的个人资料页面,以防他们只输入:

www.mysite.com/profile.php

我试过这个,但我继续获得重定向循环:

 if ((preg_match("{(?:profile)\.php$}", $_SERVER["PHP_SELF"])) && 
 (!empty($_SESSION["id"])) )
     {
         redirect ("profile.php?id=$id");        
     }

我错过了一步吗?

2 个答案:

答案 0 :(得分:1)

$_SERVER['PHP_SELF']包含当前正在执行的脚本的文件名,因此您的条件将始终匹配。

我会使用类似的东西:

if ( empty($_GET['id') && !empty($_SESSION['id']) )

答案 1 :(得分:0)

$ _ SERVER [“PHP_SELF”]将始终返回profile.php,以防它附加id或不是ie。为什么你的正则表达式总是匹配得很好而且你正在永远地进行重定向循环

为什么不制作这样的正则表达式: -

if ((preg_match("/^\/profile\.php$/", $_SERVER[REQUEST_URI])) && 
 (!empty($_SESSION["id"])) )
     {
         redirect ("profile.php?id=$id");        
     }