Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    php framework codeingiter session

    ciao a tutti io uso codeigniter framework php volevo chiedervi in che modo posso controllare se user session è vero o falso quando viene chiamato un controller e il suo metodo . io controllo in questo modo non so se lo faccio nel modo giusto e sicuro grazie mille
    Codice PHP:
    class UserLoggedSuccessProfile extends CI_Controller{
        
        public function 
    __construct() {
            
    parent::__construct();
            if(
    $this->session->userdata('logged_in') === false){
                
    $this->load->view('header/header');
                
    $this->load->view('deny');
                
    $this->load->view('footer/footer');        
            }
        }

        public function 
    profile(){
            if(
    $this->session->userdata('logged_in') === true){
            
    $this->load->view('header/header');
            
    $this->load->view('user_profile');
            
    $this->load->view('footer/footer');
            }
        }

    shiviphpdevelopment

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Il controllo nella funzione profile penso sia ridondante, il costruttore viene sempre eseguito e se trova l'utente non loggato dovrebbe reindirizzarlo alla view deny senza eseguire la funzione profile, suindi se arrivi alla funzione profile l'utente è sicuramente loggato.

    Prova a togliere il controllo nella funzione profile e vedi se il sistema funziona correttamente.

    L'unica cosa è che penso dovresti usare redirect() nel costruttore invece che $this->load->view().

  3. #3
    si all'inizio ho fatto solo nel costruttore però quando mi manda sulla pagina deny sotto mi visualizza anche il contenuto della view user_profile per quello dopo ho voluto controllare anche li se la session è vero o falso
    shiviphpdevelopment

  4. #4
    però se uso redirect devo creare un nuovo controller che mi manda a caricare user_profile view ?
    shiviphpdevelopment

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    si all'inizio ho fatto solo nel costruttore però quando mi manda sulla pagina deny sotto mi visualizza anche il contenuto della view user_profile per quello dopo ho voluto controllare anche li se la session è vero o falso
    Per questo ti ho detto che dovrai usare redirect() e non il load->view(), redirect() dovrebbe inibire la chiamata alla funzione profile.

    Non devi creare un nuovo controller, puoi anche mettere semplicemente un'altra funzione dentro UserLoggedSuccessProfile fatta così
    Codice PHP:
    public function access_denied()
    {
        
    $this->load->view('deny');

    e chiamarla così col redirect

    redirect('UserLoggedSuccessProfile/access_denied');

    Se però prevedi di usare la view deny anche da altre parti, allora la funzione access_denied ti conviene metterla nel controller principale.

  6. #6
    se faccio mi hai detto mi da errore
    La pagina web ha generato un loop di reindirizzamento
    shiviphpdevelopment

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Ti appare un messaggio d'errore? Cosa dice?
    Puoi postare il codice come ce l'hai adesso?

    Intanto puoi provare a mettere un exit(); dopo il redirect(), anche se non dovrebbe servire.

  8. #8
    ok adesso sistemo tutto il mio codice e lunzioni dp t faccio sapere perchè ho fatto un casinò non casico neanche io
    shiviphpdevelopment

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.