2015-02-23 89 views
0

管理员可以在他的网站中看到他的所有用户个人资料,因此他点击了用户链接,他可以以用户身份登录。现在问题是我设置了会话名称用户和管理员一样。现在我需要在私人浏览器中打开用户配置文件。其他明智的会议冲突发生。所以我如何能在私人浏览器中打开它,我无法改变会话名称too.if我确实需要机会,整个网站。是有可能做或不在私人浏览中打开一个新标签

help me to do it 
+0

抱歉,您无法强制用户进入隐私浏览模式。最好为管理员和用户创建两个不同的会话信息。像$ _SESSION ['user']和$ _SESSION ['admin'] – 2015-02-23 11:38:58

+0

为什么downvote?当然,英语不是最好的,但问题本身是一个很好的问题,我认为... – 2015-02-23 11:45:02

回答

0

你不能去做。它取决于用户,它将在私人浏览器或默认浏览器中打开。你不能改变浏览器的行为。尤其是因为并非所有的浏览器甚至都有这样的功能!

0

你不能这样做,你不能干涉浏览器的功能,它取决于用户在哪种模式下打开你的网站。

为你想要做什么......

// have a session which specifies the type of user. 
$_SESSION["utype"] = "admin" // or user 

,并以此来显示相应的内容。

0

您无法强制链接在任何浏览器中以隐藏浏览模式打开,因此您需要使用其他人提到的$_SESSION来跟踪您的唯一用户会话。

您还需要根据当前用户实现唯一的URL结构。 Gmail的通过使用下面的URL结构实现此功能:

在URL中示出的数/0/指的是每个当前登录的用户的保持记住,该号码是而不是用户ID或任何潜在的敏感信息,但只是一个索引来引用s中的值分裂国家。

的幕后,$_SESSION的一个简单的例子是如下:

$_SESSION['authenticated_users'] = [  
    0 => [ 
     'user_id' => 123, 
     'username' => 'John', 
     'user_role' => 'admin', 
    ], 
    1 => [ 
     'user_id' => 456, 
     'username' => 'Jill', 
     'user_role' => 'customer', 
    ], 
    2 => [ 
     'user_id' => 789, 
     'username' => 'Mark', 
     'user_role' => 'customer', 
    ], 
]; 

您需要将代码组织以这样一种方式,它验证请求的URL之间的当前用户和认证用户在$_SESSION

在只有一个用户登录到网站(例如客户)的情况下,您不需要在URL中显示/0/部分。

相关问题