2012-11-29 5 views
1

Je travaille sur une mission et a couru dans ce problème bizarre.session active ne se charge pas, retourne WSOD - CodeIgniter

dire donc j'entre un nom d'utilisateur/mot de passe et je suis maintenant connecté. Je vais à un autre site Web, et que vous souhaitez revenir à la page Web que je connecté en. Voilà comment je mis en œuvre en prenant soin de cette situation:

//Controller 

public function index() 
    { 

     $loggedin = $this->alibrary->is_loggedin(); 


    if ($loggedin === false) 
    { 
     $this->load->view('normal_screen'); 
    } 

    if ($loggedin === true) 
    { 
     $this->load->view('homepage'); 
    } 
} 

Mais si je l'ai déjà connecté et revenir à la page Web j'obtenir un écran vide. Mais quand je ne suis pas connecté, il affiche l'écran normal. Je ne sais pas pourquoi je reçois une page blanche, quelqu'un pourrait-il expliquer? Merci

Répondre

1

Cela peut être ma préférence personnelle mais je réécrire votre code comme suit:.

public function index() 
{ 
    $loggedin = $this->alibrary->is_loggedin(); 

    // redirect non logged in users to another page 
    if (!$loggedin) { 
     redirect('your/url/to/normal_screen', 'location'); 
    } 

    // If they get this far we can assume they are logged in, so load the view 
    $this->load->view('homepage'); 

} 

Vous remarquerez que j'utilise redirect() lorsque l'utilisateur n'est pas connecté Ma préférence personnelle est de rediriger non Connectez-vous de nouveau à l'écran de connexion si vous tentez d'accéder à une partie du site qui nécessite une autorisation.

+0

Merci patron, je ne pas utiliser le code ci-dessus, au lieu de votre commentaire précédent m'a aidé comme le code ci-dessus serait charger les deux vues (normal_screen et page d'accueil) pour une raison quelconque. J'ai utilisé une instruction if/else. Merci encore – a7omiton

Questions connexes