2014-12-02 189 views
0

我在Windows 7上使用最小版本的php-login:http://www.php-login.net/。当用户登录时,登录验证并且验证的响应为True或False。响应返回的index.php具有这种代码php-login登录后选择页面

if ($login->isUserLoggedIn() == true) { 
include("views/logged_in.php"); 

我想给用户一个机会选择他们到登录后的页面,但该页面只能访问当用户登录任何想法?让我知道你是否需要更多信息,或者我想要做什么不清楚。谢谢

=======以下更新========================= 我修改了下面的代码,以便如果用户登录验证返回true时,用户被定向到具有这两个链接的页面,当用户单击链接时,用户获得Access Forbidden错误消息。

if ($login->isUserLoggedIn() == true) { 
    include("views/choose-pages.htm"); 
} else { 
    include("views/not_logged_in.php"); 
} 
+0

包含另一个页面,而不是logged_in.php,或重新设计logged_in.php,在用户有一个形式,它可以选择在哪里跳。处理并重定向。 – vaso123 2014-12-02 12:08:28

+0

'if($ login-> isUserLoggedIn()== true){'已经确认了。包括其他页面或制作一些'hrefs' – Daan 2014-12-02 12:08:39

+0

我不确定我了解如何限制“包含”页面的基本过程,以及我了解该页面如何限制访问,但是如果我呈现带有其他页面,我向登录用户提供一系列指向各种页面的链接,例如,显示指向blue.php和green.php的链接,这两个php页面不会仅限于登录用户,因为它们没有通过通过登录验证。至少,就我理解这个过程而言,它似乎起作用。 – user1218122 2014-12-02 12:43:08

回答

1

您可以修改not_logged_in.php并提交2个按钮,如Google,普通的“Google搜索”和“我感觉幸运”。

<input type="submit" name="login" value="Log in green" /> 
<input type="submit" name="login" value="Log in blue" /> 

然后修改的index.php

if ($login->isUserLoggedIn() == true) { 

if ($_POST["login"] == "Log in green") { 
include("green.php"); 
} else { 
include("blue.php"); 
} 

} 
+0

我喜欢这种方式,我有来自登录验证的“真实”响应,但我从哪里获得($ _POST [“登录”]响应?是否有某种方式可以从登录验证获得更多的True/False ?我可以使用单独的登录页面,例如login-green.php和login-blue.php,并在该页面中放置一个变量或其他内容,但是,我不知道如何将其与True/False一起传递。 – user1218122 2014-12-02 14:42:09

+0

只需在not_logged_in.php或您的自定义登录表单页面中设置2提交具有相同名称和不同值的按钮 – user3173104 2014-12-02 15:13:17

+0

我尝试过,当用户登录时进入验证并返回“true”到index.php。它们是不同的按钮,返回的结果是“真”,例如,它不返回“真绿色”,可用于确定哪个按钮被点击,它只返回登录有效的响应。无法为此修改php-login。也许我n是否使用不同的用户注册和登录脚本? – user1218122 2014-12-02 18:52:39

0

好吧,试着创建一个主页面(main.php),在这个页面中写下选择页面的代码,它的容易!

if ($login->isUserLoggedIn() == true) { 
include("views/main.php"); 
} 
+0

请纠正我,如果我错了,但我的理解是,如果我包含views/main.php,并且该页面有链接到green.php和blue.php这两个PHP页面将可访问是否用户登录? main.php只能被登录的用户访问,但是从main.php链接的页面不可能限制访问?那是对的吗? – user1218122 2014-12-02 12:37:38

+0

简单的民俗,用户不能访问任何页面没有正确登录! – BinaryMan 2014-12-02 13:05:21

0

你可以存储你的页面的名字/在MySQL数据库链接,然后再得到一个数组mysql数据库中的网页链接/名称,并把它后,你的代码正确的用户登录后会EXCUTE 。像这样:

if ($login->isUserLoggedIn() == true) { 
///Your array of pages here /// 

编辑:

基于您的评论,你可以这样做:

if ($login->isUserLoggedIn() == false) { 
header(location someotherpage.php) 

你可以把这些代码在blue.php,green.php等等等等

第二个编辑:

我希望我理解正确的话,如果是这样,那么你可以使用这样的事情:

if ($login->isUserLoggedIn() == false) { 
echo "access denied"; 

你甚至可以用下拉菜单的方式填充你的页面名称和链接,以便用户可以选择一个并进入该页面。

+0

如果我向登录用户提供一系列指向各种页面的链接,例如,显示指向blue.php和green.php的链接,那么这两个php页面不会仅限于登录用户,因为它们没有通过登录验证。至少,就我理解这个过程而言,它似乎起作用。 – user1218122 2014-12-02 12:42:25

+0

请查看我的编辑。 – user3806613 2014-12-02 12:53:36

+0

谢谢,我感谢帮助。下面的代码会很有用,因为我想要一个未登录的用户转到特定页面。但是,我仍然需要给登录的用户选择哪个页面。我试过:include(“views/choose-pages.htm”);并且当登录用户点击choose-pages.htm上的链接时,他们会收到“Access Forbidden”错误消息。 if($ login-> isUserLoggedIn()== false){ header(location someotherpage.php) – user1218122 2014-12-02 13:01:32