2014-10-31 45 views
1

林在警予新後沒有用戶和更改菜單,這是我的問題:Yii的認證,如果日誌中

  1. 如何建立會話檢測,如果用戶無法登錄。
  2. 用戶登錄後顯示並隱藏div。
  3. 尚未登錄隱藏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> 

在這裏,我的日誌後,希望在「登錄」和「註冊」應該是隱藏,然後顯示一個新的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 
} 
+0

讀取和從上到下HTTP明白這一點://www.yiiframework.com/doc/guide/ – gvgvgvijayan 2014-10-31 06:05:23

+0

學習如何使用netbeans ide與yii插件https://netbeans.org/features/php/ – gvgvgvijayan 2014-10-31 06:40:44

+0

順便說一句,使用全帽標籤被認爲是一種很好的做法正常(a-la「聯繫人」)文本並設置css「文本轉換:大寫」。 – Cthulhu 2014-10-31 07:06:13

回答

0
  1. 如何設置會話以檢測用戶是否未登錄。

不需要會話。

<?php if(Yii::app()->user->isGuest): ?> 
     <?php echo 'Hi Guest'; ?> 
    <?php endif; ?> 
  • 用戶之後登錄顯示和隱藏的div。 & 3.尚未登錄隱藏div。

    <?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; ?> 
    
  • +0

    1.不工作...我粘貼在頁面頂部...登錄後仍然回聲... 2.爲什麼閃光消息? 2類似於3 3.工作但登錄後沒有顯示... – TheSmile 2014-10-31 06:27:53

    +0

    現在檢查點1的作品,對於點2我認爲你喜歡向用戶顯示通知或者其他你喜歡做的事情請詳細張貼。對於第3點無法理解你想說什麼。 – gvgvgvijayan 2014-10-31 06:34:14

    +0

    '點1->'我沒有說第1點的工作,登錄/沒有登錄也回聲。 '點2->'我的意思是登錄顯示「註銷」隱藏「登錄」和「註冊」...我提到了問題。 '點3->'好的,它的工作。但登錄後,我需要再次點2。 – TheSmile 2014-10-31 06:49:48

    0

    ,我發現我的第2點的答案:使用用戶> ID(原因我沒有使用原來提供的登錄控制器)

     <?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 } ?>