Php Yii身份验证(如果不是用户)并在登录后更改菜单

Php Yii身份验证(如果不是用户)并在登录后更改菜单,php,yii,Php,Yii,我是yii的新手,这是我的问题: 如何设置会话以检测用户是否未登录 用户登录后显示和隐藏div 尚未登录隐藏分区 菜单栏/导航栏: <div class="rightPane"> <div class="menuWrapper"> <div class="menuItem"> <a href="#"><?php echo Yii::t('labels', 'HOME'); ?></a>

我是yii的新手,这是我的问题:

  • 如何设置会话以检测用户是否未登录
  • 用户登录后显示和隐藏div
  • 尚未登录隐藏分区
  • 菜单栏/导航栏:

         <div class="rightPane">
     <div class="menuWrapper">
        <div class="menuItem">
            <a href="#"><?php echo Yii::t('labels', 'HOME'); ?></a>
        </div>                        
    </div>
    <div class="menuWrapper">
        <div class="menuItem">
            <a ><?php echo Yii::t('labels', 'CONTACT'); ?></a>
        </div>                        
    </div>
    <div class="menuWrapper">
        <div class="menuItem">
            <a href="#modal" ><?php echo Yii::t('labels', 'SIGNIN'); ?></a>
    </div>                  
    </div>
    <div class="menuWrapper">
        <div class="menuItem">
            <a href="<?php echo Yii::app()->baseUrl ?>/register"><?php echo Yii::t('labels', 'REGISTER'); ?></a>
        </div>                        
    </div>
     <div class="menuWrapper">
          <div class="menuItem">
              <a href="#" ><?php echo Yii::t('labels', 'signout'); ?></a>
          </div>                        
     </div>
    
    $username = $_POST['username'];
    $userpass = $_POST['userpass']; 
    
    
    $record=Games::model()->findByAttributes(array('email'=>$username));
    
    if($record===null){
        //somethings
    }else if($this->checkPassword($record->password,$userpass)){
        //somethings
    
    }else
    {
        $this->_id=$record->id;
        $this->_email=$record->email;
    
        Yii::app()->user->setState('id', $record->id);
        Yii::app()->user->setState('email', $record->email);
    
        //go to somethings
    }
    
  • 如何设置会话以检测用户是否未登录
  • 不需要开会

        <?php if(Yii::app()->user->isGuest): ?>
           <?php echo 'Hi Guest'; ?>
        <?php endif; ?>
    
    
    
  • 用户登录后显示和隐藏分区(&3)。尚未登录隐藏分区

    <?php if(!Yii::app()->user->isGuest): ?>
        <div class="menuWrapper">
          <div class="menuItem">
             <a ><?php echo Yii::t('labels', 'CONTACT'); ?></a>
          </div>                        
        </div>
    <?php else: ?>
    
    <div class="menuWrapper">
        <div class="menuItem">
            <a href="#modal" ><?php echo Yii::t('labels', 'SIGNIN'); ?></a>
        </div>                  
    </div>
    <div class="menuWrapper">
        <div class="menuItem">
            <a href="<?php echo Yii::app()->baseUrl ?>/register">
            <?php echo Yii::t('labels', 'REGISTER'); ?></a>
        </div>                        
    </div>
    <?php endif; ?>
    
    
    

  • 我找到了第2点的答案:使用用户->id(我没有使用原始提供的登录控制器的原因)

    
    
    自上而下阅读并理解此内容学习如何将netbeans ide与yii插件结合使用顺便说一句,对于大写标签来说,使用普通(a-la“Contact”)文本并设置css
    文本转换:大写
    @Cthulhu它不分大小写。。。显示字在其他php上。。。php名为“标签”。。。这只是一个变量,用来调用它。不工作。。。我粘贴在页面的顶部。。。登录后仍然回音。。。2.为什么要发短信?2与3相似。工作,但登录后没有显示…现在检查第1点的作品,第2点我认为你喜欢显示通知用户或其他一些事情,你喜欢它做请精心张贴。对于第3点,我不明白你想说什么。
    第1点->
    我没有说第1点有效,登录/不登录也可以<代码>第2点->我的意思是登录显示“注销”隐藏“登录”和“注册”。。。我已经提过这个问题<代码>第3点->好的,可以了。但登录后,我需要第2点。您好,请您现在检查您是否获得了预期的结果担心一切都不起作用<代码>第1点->相同的结果,登录/未登录也会返回<代码>第2点->登录时,“注销”仍然隐藏“登录”和“注册”仍然显示。
          <?php if(!Yii::app()->user->id){ ?>
        <div class="menuWrapper">
            <div class="menuItem">
                <a href="#modal" ><?php echo Yii::t('labels', 'SIGNIN'); ?></a>
        </div>                  
        </div>
        <div class="menuWrapper">
            <div class="menuItem">
                <a href="<?php echo Yii::app()->baseUrl ?>/register"><?php echo Yii::t('labels', 'REGISTER'); ?></a>
            </div>                        
        </div>
        <?php }else{ ?>
         <div class="menuWrapper">
            <div class="menuItem">
                <a href="#" ><?php echo Yii::t('labels', 'signout'); ?></a>
            </div>                        
        </div>
     <?php } ?>