Problème page profil m'affiche le nom de tout mes membres

Fermé
Pins10 Messages postés 7 Date d'inscription vendredi 15 février 2013 Statut Membre Dernière intervention 19 février 2013 - 19 févr. 2013 à 14:40
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 - 19 févr. 2013 à 16:09
Salut a tous,

Après avoir fait l'espace membre de mon site je m'attaque maintenant aux profils ( je suis en local)

Le problème c'est que lorsque je demande a ma table d'afficher le login dans la page profil DU membre connecté il m'affiche au lieu de ça les login de tout les membres présent dans ma base de donné comme ci je lui demandais de tout les affichés :(

$reponse = $bdd->query('SELECT login FROM profil');
 
while ($info = $reponse->fetch())
{
     echo $info['login']; 
}
 
$reponse->closeCursor();


j'ai beau cherché mais je sais pas comment je dois m'y prendre pour qu'il affiche seulement le login du membre connecté, quelqu'un peut il m'aider?

merci d'avance
A voir également:

7 réponses

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
19 févr. 2013 à 14:42
il faut que tu rajoutes une clause WHERE dans ta requête pour identifier la ligne que tu souhaites afficher
0
Pins10 Messages postés 7 Date d'inscription vendredi 15 février 2013 Statut Membre Dernière intervention 19 février 2013
19 févr. 2013 à 15:02
salut,

la ligne que je souhaite affiché est déjà identifié
('SELECT login FROM profil')


Ici c'est la ligne login de la table profil

maintenant le problème est que je veux qu'il m'affiche le login du membre connecté, pas tout les login de ma bdd
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
19 févr. 2013 à 15:11
oui... donc, il faut ajouter un WHERE...

ta requête te renvoie toutes les lignes, c'est tout à fait normal.

Donc je répète, il faut que tu identifies la ligne que tu veux, grâce au where...
Quand tu arrives sur cette page, tu connais quoi de ton user ? Son id ? son login ?

Ta requête de connexion, elle ressemble à quoi ?
0
Pins10 Messages postés 7 Date d'inscription vendredi 15 février 2013 Statut Membre Dernière intervention 19 février 2013
19 févr. 2013 à 15:26
En fait a la base j'ai deux tables, une table membre et une table profil. Quand le membre s'enregistre sur le site il y a son id,son login,son pass , son email qui va dans la table membre et son id,son login,son email,son sex,son pays,sa date de naissance qui va dans la table "profil"

voici le code entier de ma page profil.php:

{
<?php
session_start();
try 
{
$bdd = new PDO('mysql:host=localhost;dbname=bddtest','root',''); 
}
catch (Exception $e)
{
	die('Erreur : '.$e->getMessage()); 
}
$bdd->exec("SET CHARACTER SET utf8");


$reponse = $bdd->query("SELECT login FROM profil");
 
while ($info = $reponse->fetch())
{
     echo $info['login']; 
}
 
$reponse->closeCursor();
 
 
?>


Pour l'instant je n'est encore rien fait sur cette page, j'essaye juste d'afficher le pseudo du membre qui la consulte.

Pour le WHERE je sais pas du tout ou le placer ici. j'ai essayé de différente façon et j'ai a chaque fois un message d'erreur :/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
19 févr. 2013 à 15:33
SELECT login FROM profil WHERE id='chose'

C'est le B-A-BA du SQL, je te conseille de pencher un peu dessus, sinon tu risques de buter très souvent sur ce genre de problème.

Pourquoi tu as 2 tables différentes ? Tu ne pourrais pas en avoir une seul en mettant de mot de passe dans la table profil ?
0
Pins10 Messages postés 7 Date d'inscription vendredi 15 février 2013 Statut Membre Dernière intervention 19 février 2013
19 févr. 2013 à 16:03
en effet il serait plus judicieux d'avoir qu'une seule table. J'apprends a coder en php/sql depuis seulement 15 jours et mon défaut je pense est de vouloir allez trop vite, du coup je fais certaines choses un peu n'importe comment .

donc je viens d'essayer avec le WHERE et l'id du membre c'est parfait je vois le pseudo en question mais que va il se passer maintenant si je me connecte avec un autre pseudo et que je vais dans la page profil? je risque de tomber sur le profil de l'id que j'ai choisis dans la requete non?
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
19 févr. 2013 à 16:09
Ce qu'on fait en général, c'est qu'on utilise une variable session, qui va permettre de garder des données d'une page à l'autre

à la connexion tu stock ton id dans $_SESSION['id'] et dans ton profil, tu utilises cet id

pour utiliser les variables sessions, tu dois commencer toutes tes pages où tu vas les utiliser par session_start(); (avant tout envoie de données html)

https://www.php.net/manual/fr/function.session-start.php
0