2012-03-06 215 views
-3

oK,因为我原来的问题对大多数人没有意义,我会详细解释。我有一些会员系统是通过基于codeigniter框架的一些教程制作的。在我的主页上,我有3个按钮分别包含登录,注册,忘记通行证。当我测试登录并以用户身份输入我的详细信息时,我仍然可以看到登录按钮,这是没有道理的,因为它应该在我登录时隐藏。对于我上面提到的其他功能也是如此。用户登录时隐藏注册和登录按钮?

现在我正在尝试一些方法,如if($_SESSION['user'] == "") {来实现我的目标,但没有任何成功。

任何想法如何正确地做到这一点?

感谢

+0

好吧,我做了一些更新的问题。我想现在很清楚。 – 2012-03-06 16:04:57

+0

您猜错了,此代码不包含相关的代码。我们不知道您是如何标记用户已登录的,因此不可能说出如何对未知数量做出反应。这个问题不清楚。 – 2012-03-11 18:40:37

+0

这很好,我通过了,并可以解决它我自己的。不管怎么说,多谢拉。 – 2012-03-12 08:09:05

回答

3
<div id='nav'> 
<?php 

if(is_logged_in()) 
{ 
    if(is_admin()) 
    { 
     echo anchor('admin','Admin Dashboard'); 
    } 

    echo anchor('user/logout','Logout'); 
    echo anchor('users/profile','Profile' . '&nbsp;[' . $_SESSION['user_name'] . ']'); 

} 
else 
{ 
    echo anchor('user/login','Login'); 
    echo anchor('user/signup','Signup');       
} 

echo '&nbsp;' . anchor(base_url(),'Home'); 
?> 

</div> 
+0

非常感谢@Marian的帮助。它与我所需要的非常接近。现在唯一的问题是,我不知道如何单独设置按钮中的代码,以便他们根据用户登录/注销显示或隐藏。 – 2012-03-06 16:15:41

0

我不明白的问题,因为如果你写的登录系统或当用户编程登录就可以知道......真的应该没有问题。你可以根据这个“登录”变量从控制器加载不同的视图,或者将变量传递给你的视图,该视图基本上是$ displayLogin ...如果是,显示登录信息,如果不是,则不显示。

需要了解更多关于您的设置以明显提供更多有用的信息。

+0

我对原来的问题做了一些修改,所以现在应该清楚了,我想。谢了哥们。 – 2012-03-06 16:21:19

1

如果您使用被记录在

if(!isset($_SESSION)){ 
    //echo links 
} 

会议确保未设置()所有的$ _SESSION瓦尔在注销

+0

谢谢@Makura,在这种情况下使用什么变量shoudl?任何罚款?或基于用户的var?好吧,如果我想让这发生在按钮链接上,怎么办? – 2012-03-06 16:17:24

+0

任何变量,您的登录脚本使用,如果不确定使用$ _SESSION没有var – MakuraYami 2012-03-07 08:43:19

+1

事实证明,使用tank_auth会话功能解决了这个问题。谢谢 – 2012-03-07 19:39:11