Bonjour a tous et surtout bravo pour ce site que je viens de découvrir !!!
Je réalise un espace membre en suivant le tutoriel du site mais j ai un ptit souci de compréhension :

  • lors du formulaire d'inscription je récupère dans ma BDD plusieurs info (ville, département...)
    Lors de la connexion via le login et password comment afficher les différentes information de l'utilisateur (ville, département...?
    Dois je les faire passer en session avec le login et et password ou dois-je seulement les afficher sur la page privée de l'utilisateur une fois qu'il est connecté ?

Merci d'avance

10 réponses


diabloscorn
Auteur
Réponse acceptée

Merci a tous pour vos réponses !!
Comme vous me l'avez conseillé j ai fait passer toutes ces info en session lors de la connexion du membre !

Que sur la page privée je pense mais pour les affiché tu peut faire un requete mais faudraique t'enregistre aussi l'id de l'utilisateur. Car dans la requete tu fais

$req = SELECT * FROM membre

puis dans la boucle tu trie les information. Désoler de pas pouvoir faire plus je suis pas trop alaise en SQL.

Bonjour,
tu peut utiliser le sélecteur (*), comme dit Gorgio, et les mettre dans les sessions, mais si tu n'affiche toute ces informations sur une seul page, je te conseil de ne les afficher qu'une fois, dans la page en question.

Salut :)

Moi aussi j'ai un espace membre et mes membres peuvent voir leur profil et le profil des autres membres.

Ce que j'ai fait c'est une page profil où dans l'url je fait passer un id_membre ou rien.

Si il y a rien, je dis que c'est le membre qui est connecté qui consulte son profil, donc $_SESSION'id_membre'];

Si il y a un id_membre dans l'url, je le récupère avec $_GET'id'] par exemple et après je fais une requête SQL.

<?php
$req = $bdd->prepare('SELECT * FROM membre WHERE id_membre = :id');
$req->bindValue(':id', $_GET'id'], PDO::PARAM_INT);
$req->execute();
$profil = $req->fetch();
?>

Et comme ça après tu peux afficher les données de ton membre, par exemple :

<h3>Avatar:</h3>
<img src="images/avatars/<?php echo $profil'avatar']; ?>"/><br />
<h3>Coordonées</h3>
<?php echo $profil'ville']; ?>

Ce n'est peut être pas la meilleure solution mais elle fonctionne bien sur mon site :)

Ce n'est pas ce que l'ont ta conseillé...

En effet, il te suffit de faire passer qu'une seule info, l'id_membre.
Le reste tu peux les récupérer comme je te l'ai expliquer...

@Wilose : Je débute en php et je me suis inspiré du tuto sur l'Espace Membre disponible sur ce site. J'ai fait passer les info en session dans une fonction qui est appellé sur la page privée. Après en terme de programmation je ne sais pas si c'est le mieux, j ai considéré qu'à l avenir il m'était plus facile a modifié une fonction ultérieurement dans un fichier php externe ?

C'est une possibilité, mais si tu n'affiche c'est info que sur la page privée, à ta place, dans les session je ne ferrais passé que l'id du membre, et ensuite avec une requête sql aller chercher toute les info par rapport à cette id sans pour autant les stocker dans les sessions.
Ton code serra plus léger, imagine par la suite que tu code une fonction qui permette aux membres de changer son profil, tu vas être obliger de changer toutes les sessions, de même si plus tard tu créer un nouveau champ, (par exemple "site web") tu auras beaucoup de code à modifier.

Mon premier site web j'ai aussi fonctionner avec les sessions, j'avais fait une page privée, qui quelques temps après n'était plus privé, c'est à dire que tous les membre pouvais voir certaines des info de tous le monde, ce qui m'obligeais à faire passer l'id du membre auquel on veut rendre visite dans l'url pour ensuite afficher son profil, donc mes sessions son vite devenus inutile.

C'est à toi de décider, bonne chance..

Merci Wilose pour cet éclaircissemet !

Wilose à raison, la simplicité du code règne dans le fait de ne faire passer que l'id_membre dans les $_SESSION et ainsi récupérer en les infos selon celui ci.