Espace membre, question de compréhension [debutant]

Répondre
fabinus
le 07/05/2014 à 11:48
fabinus
Hello
je me lance dans la programmation PHP/MYSQL dans un but précis:
créer un site avec espace membre affichant bien entendu des infos différentes pour chaque membre;

Certains diront que je brûle les étapes, je préfére dire que j'avance sur plusieurs tableaux à la fois.

J'ai besoin de comprendre comment techniquement, la connexion d'un utilisateur à un espace membre va permettre l'affichage des infos liés à ce membre , et non à un autre.
Un exemple concret pour mieux m'expliquer.
Grossièrement, j'ai 3 tables sql:
- membre (avec user, password, email, equipe
- équipe (nom équipe, lieu, adresse, user de membre)
- joueur (nom joueur, endurance, nom de equipe)

J'ai du mal à capter comment lors de la connexion du membre avec son user, password, l'equipe associé va s'afficher uniquement à lui, est ce uniquement par une clé entre les tables (id membre par exemple)
je suis assez vague du à ma méconnaissance actuelle mais je pense que c'est un sujet/problème relativement classique.
Quelqu'un peut il m’éclairer ?
merci bcp
Bonne journée à tous :)
LupusMic
le 07/05/2014 à 13:28
LupusMic
En fait, c'est ton boulot de faire cette sélection.

La notion qu'il faut que tu comprennes, c'est la notion de session. Quand tu identifie un utilisateur avec son couple identifiant/mot de passe, tu conserve en session son identifiant.

Par exemple, tu exécute la requête suivante :
sql
select id from membre where user = 'toto' and password='tamere'


Et récupère l'identifiant 'id' que tu sauvegarde en session:
php
<?php $_SESSION['membre.id'] = $query_rows[0]['id'];


PHP va écrire le tableau spécial $_SESSION quelque part (généralement un fichier), et y associer un cookie. Lorsque l'utilisateur viendra à nouveau sur le site, pour peu que le cookie n'ait pas expiré, PHP va recharger la session associée à l'identifiant contenu dans le cookie, et le mettre à disposition du script.

Du coup, tu pourras construire ta requête à partir de cette information :
<?php
$sql = sprintf('select * from equipe where membre_id = %s', $db->real_escape_string($_SESSION['membre.id']);


Le plus dur à comprendre dans l'affaire, c'est que toutes ces opérations se font de manière indépendantes, découplées. La session est là pour faire le lien et conserver l'état de la session utilisateur entre deux requêtes HTTP.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours