Etant débutant sur CodeIgniter, je cherche une solution pour sécuriser mon URL.
Mon model
public function getUsersDetails($id){
$this->db->where('id', $id);
$query = $this->db->get('users');
return $query->row();
}
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);
var_dump(isset($id));
var_dump($id);
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');
}
}
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.
Avec ce code, j'obtiens bien mon id dans var_dump mais isset($id) me retourne toujours TRUE
isset vérifie si ta variable est définie et si elle ne vaut pas NULL. L'utiliser est donc inapproprié dans ton cas puisque la variable $i est donnée en argument et est forcément déclarée. Voilà pourquoi elle te retourne toujours TRUE.
tu dois vérifier si ta méthode getUserDetails renvoie une ligne et non faire des isset et compagnie. A quoi ça sert de récupérer l'id en session et venir encore faire passer $id à ta méthode profile ?
Bonjour à tous,voilà je suis en train de finaliser mon projet php avec le framework Codeigniter3 et je me rends compte que quand je tape une URL même en partant de mon login ben ça fonctionnne que noramlement non donc j'aimerais savoir comme on s'y prend
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Je ferme ce sujet. En cas de désaccord, me contacter par MP.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)