Sessions et accès PHP [Résolu/Fermé]

Signaler
Messages postés
187
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
7 juin 2017
-
Messages postés
187
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
7 juin 2017
-
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 ! :)

1 réponse

Messages postés
636
Date d'inscription
samedi 29 août 2015
Statut
Membre
Dernière intervention
13 novembre 2018
351
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é.
Messages postés
636
Date d'inscription
samedi 29 août 2015
Statut
Membre
Dernière intervention
13 novembre 2018
351
remplace
$requser = $bdd->prepare('SELECT * FROM membres WHERE id =  ?');

par:
$requser = $bdd->prepare('SELECT * FROM membres WHERE id =  "$getid"');
Messages postés
187
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
7 juin 2017
2
ah si c'est bon ça fonctionne :), j'avais mis un espace en trop ! :)

Merci beaucoup ;)
Messages postés
187
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
7 juin 2017
2
et donc par exemple, si je veux continuer sur le site en tant qu'utilisateur connecté, pour avoir acces a certaines fonctionnalités, je dois mettre
if(isset($_GET['id']) AND $_GET['id'] > 0 AND isset($_SESSION["id"]) AND $_SESSION["id"] > 0)
à chaque fois en haut de la page ?
Messages postés
636
Date d'inscription
samedi 29 août 2015
Statut
Membre
Dernière intervention
13 novembre 2018
351
Ca dépend si tu as pas besoin d'avoir une variable GET id, tu mets juste:
if(isset($_SESSION["id"]) AND $_SESSION["id"] > 0)


Sinon pour ta page profil.php change comme ça:
if(isset($_GET['id']) AND $_GET['id'] > 0 AND isset($_SESSION["id"]) AND $_SESSION["id"] > 0 AND  $_GET['id']  == $_SESSION["id"] )


Mais bon tu dois revoir un peu ton code pour que tout marche parfaitement car là je pense pas que tu puisse visiter d'autres profils que le tient.
Messages postés
187
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
7 juin 2017
2
ok