Sessions et accès PHP

Résolu/Fermé
Geopra Messages postés 187 Date d'inscription mercredi 16 septembre 2015 Statut Membre Dernière intervention 7 juin 2017 - Modifié par Geopra le 29/10/2016 à 11:25
Geopra Messages postés 187 Date d'inscription mercredi 16 septembre 2015 Statut Membre Dernière intervention 7 juin 2017 - 29 oct. 2016 à 12:23
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 643 Date d'inscription samedi 29 août 2015 Statut Membre Dernière intervention 13 novembre 2018 427
29 oct. 2016 à 11:44
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 187 Date d'inscription mercredi 16 septembre 2015 Statut Membre Dernière intervention 7 juin 2017 3
29 oct. 2016 à 11:50
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 643 Date d'inscription samedi 29 août 2015 Statut Membre Dernière intervention 13 novembre 2018 427
29 oct. 2016 à 11:56
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 187 Date d'inscription mercredi 16 septembre 2015 Statut Membre Dernière intervention 7 juin 2017 3
Modifié par Geopra le 29/10/2016 à 12:04
alors avec ça, ça change rien
0
Konseil Messages postés 643 Date d'inscription samedi 29 août 2015 Statut Membre Dernière intervention 13 novembre 2018 427
29 oct. 2016 à 12:08
remplace
$requser = $bdd->prepare('SELECT * FROM membres WHERE id =  ?');

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

Merci beaucoup ;)
0