Sessions et accès PHP

Résolu
Geopra Messages postés 198 Statut Membre -  
Geopra Messages postés 198 Statut Membre -
Bonjour,

Mon objectif est le suivant :

1 - Soit l'utilisateur est connecté, soit il ne l'est pas
2 - Si il est connecté, alors il peut accéder à sa page de profil, et la modifier, et à une autre page de profil (qui n'est pas la sienne) sans pouvoir la modifier.
3 - Sil il ne l'est pas, il peux accéder à sa page, ou a une autre page de profil, sans pouvoir la modifier.

Pour l'instant, si l'utilisateur est connecté, il peut modifier son profil, et si il ne l'est pas il ne peux pas.

Mon problème est que après avoir cliqué sur "déconnecter", si j'entre dans la barre d'adresse "www.###/profil?id=#", je peux accéder à la modification de mon profil, sans être connecté...

Voici le code de la page de profil :

https://textup.fr/179771UQ

Voici le code de déconnexion :

https://textup.fr/179772qk

Voici le code de connexion :

https://textup.fr/179773A5

Merci d'avance ! :)

A voir également:

1 réponse

Konseil Messages postés 694 Statut Membre 430
 
A première vue, j'ai l'impression qu'il suffit de renseigner la variable id dans l'adresse de la page profil.php
if(isset($_GET['id']) AND $_GET['id'] > 0)


pour bien faire, tu dois t'assurer:
- que la variable session existe
- que l'id de session de l'utilisateur est bien égal à l'id du profil visité.
0
Geopra Messages postés 198 Statut Membre 3
 
oui, mais si je ne suis pas connecté, et que j'entre l'adresse avec l'id, je peux qd même y accéder à la page, c'est uin peu embetant^^
0
Konseil Messages postés 694 Statut Membre 430
 
Bah oui parceque sur ta page profil.php, tu ne fais pas de vérifications pour voir si une session existeessaye ça déjà remplace
if(isset($_GET['id']) AND $_GET['id'] > 0)

par
if(isset($_GET['id']) AND $_GET['id'] > 0 AND isset($_SESSION["id"]) AND $_SESSION["id"] > 0)
0
Geopra Messages postés 198 Statut Membre 3
 
alors avec ça, ça change rien
0
Konseil Messages postés 694 Statut Membre 430
 
remplace
$requser = $bdd->prepare('SELECT * FROM membres WHERE id =  ?');

par:
$requser = $bdd->prepare('SELECT * FROM membres WHERE id =  "$getid"');
0
Geopra Messages postés 198 Statut Membre 3
 
ah si c'est bon ça fonctionne :), j'avais mis un espace en trop ! :)

Merci beaucoup ;)
0