Bonjour,

Etant débutant sur CodeIgniter, je cherche une solution pour sécuriser mon URL.

Mon controller

public function profile($id){ 

        $data = array(); 
        if($this->isUserLoggedIn){ 
            $con = array( 
                'id' => $this->session->userdata('userId') 
            ); 
            $data['user'] = $this->user->getRows($con);
            $data['title'] = "Mon compte";
            $data['users'] = $this->user->getUsersDetails($id);

            // Pass the user data and load view 
            $this->load->view('elements/header', $data); 

            if($id > 0 AND isset($id)){

                $this->load->view('users/profile', $data);

            }else {
                $this->load->view('errors/error_profile', $data);
            }

            $this->load->view('elements/footer'); 

        }else{ 
            redirect('users/login'); 
        } 
    } 

Mon model

public function getUsersDetails($id){
        $this->db->where('id', $id);    
        $query = $this->db->get('users');
        return $query->row();
    }

J'aimerai obtenir des solutions concernants l'url, c'est à dire que si l'utilisateur met une id d'un membre qui n'éxiste pas (ex : "profile/1511616") ça affiche une erreur, et que l'id 0 n'éxiste pas non plus.

Merci

1 réponse


GeoffreyB
Auteur
Réponse acceptée

J'ai trouvé la solution, merci

if (empty($data['users'])){
  show_404();
} else {
  $this->load->view('users/profile', $data);
}