2017-01-08 5 views
-2

私はナビゲーションテンプレート上にこのコードを持っています。codeigniter空のセッションナビゲーションテンプレート

<a href="<?php 
        if(!empty($session)){ 
        echo site_url('/pages/view/profile'); 
        }else{ 
        echo site_url('/pages/view/login'); }?>"> 

        <?php if(!empty($session['username'])){ echo 'Welcome '.$session['username'];}else{ echo 'Account'; }?></a> 

すでにナビゲーションコンテナ内に$session = $this->session->userdata();と宣言しています。

これは本当に簡単です。ユーザーがログに記録されている場合には、$session['username']が空であるかどうかを確認するために、アカウントリンクを「ようこそ」に変更したいだけでした。この部分は動作します。最初の部分はかなり面倒です。

2つの異なるビューにリンクしたいと思っています。私はビューを扱うページコントローラにビュー機能を持っています。

ユーザーが!empty($session)にログインしている場合は、プロファイルビューにリダイレクトされます。そうでない場合は、ログインビューにリダイレクトされます。

問題は、ブラウザのクッキーを削除してもプロファイルビューに常にリダイレクトされます(私はまだログアウト機能を使用していないので、ログアウトの手段としてクッキーを削除するだけです)私のコードをチェックしてください)。私のログインページにリダイレクトする必要がありますが、私のプロフィールページにリダイレクトされます。

私は間違っていますか?

+0

良い質問をする方法:http://stackoverflow.com/help/how-to-ask – Vickel

答えて

0

私はそれを得たと思う。クッキーを削除しても$セッションが表示され、Last_regenerateと値が表示されました。だから、それは私が!empty($session)を入力したときに常にfalseを返したことを意味すると思います。したがって$セッション配列は空ではありませんでした。

!empty($session)の代わりに、!empty($session['username'];を使用しました。

関連する問題