Sessions et accès PHP

Résolu
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

  1. 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
    1. 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
    2. 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
    3. alors avec ça, ça change rien
      0
    4. remplace
      $requser = $bdd->prepare('SELECT * FROM membres WHERE id =  ?');

      par:
      $requser = $bdd->prepare('SELECT * FROM membres WHERE id =  "$getid"');
      0
    5. ah si c'est bon ça fonctionne :), j'avais mis un espace en trop ! :)

      Merci beaucoup ;)
      0