2010-02-27 4 views
0

c'est la fonction que j'ai, dans mon contrôleur de connexion, qui stocke les données dans un tableau, puis définissez le userdataCodeIgniter: stocker plus d'informations dans la session

function validate_credentials() 
    { 
    $this->load->model('membership_model'); 
    $query = $this->membership_model->validate(); 

    if($query): 
    $data = array(
    'username' => $this->input->post('username'), 
    //add usertype 
    //add email 
    //add deposit money 
    'is_logged_in' => true 
    ); 
    $this->session->set_userdata($data); 
    //should redirect to last view 
    redirect('home/index'); 
    else: 
    $this->index(); 
    endif; 
    }// end of validate_credentials() 

Je voudrais stocker plus d'informations comme le usertype, email, depost, etc ... les données sont stockées dans la base de données. Comment puis-je obtenir les données du modèle au contrôleur? ou n'est-ce pas recommandé?

par exemple avec le type d'utilisateur Je veux vérifier dans les vues si l'utilisateur est un administrateur et afficher certaines options pour les admins seulement.

Répondre

0

Vous pouvez utiliser la gestion de session CI classique effectuée dans CI.

$this->session->set_userdata('usertype', 'admin'); 

Pour vérifier le type d'utilisation. J'ai généralement une classe d'authentification qui vérifie si l'utilisateur connecté est un administrateur. par exemple. A propos de la sauvegarde des informations, en utilisant la session, ce n'est probablement pas le plus sûr. Je recommande généralement de vérifier les informations utilisateur à la volée plutôt que de tout stocker dans la session CI.

+0

à la volée? vous voulez interroger la base de données à chaque fois et ne pas la stocker dans une session. Mais les sessions sont économes, si vous pouviez encore me faire savoir comment stocker plus d'informations dans les sessions. – Christophe

+0

interrogez la base de données à chaque fois afin que l'utilisateur dont le type d'utilisateur a été modifié alors qu'il était connecté puisse travailler dès qu'il charge la page. –

+0

Quoi qu'il en soit, pour stocker des informations, il suffit d'utiliser $ this-> session-> set_userdata ('usertype', 'admin'); –

Questions connexes