Afficher information php/mysql
Résolu
Office
-
afrnos Messages postés 59 Date d'inscription Statut Membre Dernière intervention -
afrnos Messages postés 59 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrais vous demander comment faire pour afficher une information qui se trouve dans ma base de donnée en fonction d'une condition avec session ?
Je m'explique, j'ai créé un accès membre à l'aide de tuto trouvé ici et sur google.
J'ai 4 pages (index.php, connexion.php, deconnexion.php et membre.php)
Je voudrai que dans ma page membre, je puisse afficher une information de la base de données en fonction de l'utilisateur connecté.
Je n'arrive que à afficher toute les informations d'une table mais je n'arrive pas à faire de condition.
Voir mon code :
Merci d'avance pour vos réponses,
Je voudrais vous demander comment faire pour afficher une information qui se trouve dans ma base de donnée en fonction d'une condition avec session ?
Je m'explique, j'ai créé un accès membre à l'aide de tuto trouvé ici et sur google.
J'ai 4 pages (index.php, connexion.php, deconnexion.php et membre.php)
Je voudrai que dans ma page membre, je puisse afficher une information de la base de données en fonction de l'utilisateur connecté.
Je n'arrive que à afficher toute les informations d'une table mais je n'arrive pas à faire de condition.
Voir mon code :
<?php session_start(); if (!isset($_SESSION['login'])) { header ('Location: index.php'); exit(); } ?> <html> <head> <title>Espace membre</title> </head> <body> Bienvenue <?php echo htmlentities(trim($_SESSION['login'])); ?>!<br /> <a href="deconnexion.php">Deconnexion</a> <?php try { // On se connecte à MySQL $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=formu', 'root', '', $pdo_options); // On récupère tout le contenu de la table membre $reponse = $bdd->query('SELECT page_perso FROM membre'); // On affiche chaque entrée une à une while ($donnees = $reponse->fetch()) { ?> <p> <strong>Votre page</strong> : <?php echo $donnees['page_perso']; ?><br /> <?php } $reponse->closeCursor(); // Termine le traitement de la requête } catch(Exception $e) { // En cas d'erreur précédemment, on affiche un message et on arrête tout die('Erreur : '.$e->getMessage()); } ?>
Merci d'avance pour vos réponses,
A voir également:
- Afficher information php/mysql
- Information d'identification réseau - Guide
- Afficher appdata - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Afficher taille dossier windows - Guide
3 réponses
Si j'ai bien compris, tu cherches à sélectionner une seule page perso, qui correspond à la page perso du membre connecté.
Et pour l'instant tu n'arrives qu'à sélectionner toutes les page perso, sans distinction ?
Alors c'est au niveau de ta requête SQL qu'il faut travailler :
Dans le code ci-dessus, tu selectionnes toutes les entrées de ta base de donnée, or si tu veux uniquement selectionner l'entrée du membre connecté, il faut rajouter une condition :
Mais entrer des variables directement dans un query(), ça peut se révéler dangereux, il faut donc faire comme ça :
Pense à remplacer id_membre par son équivalent dans ta table membre.
Et pour l'instant tu n'arrives qu'à sélectionner toutes les page perso, sans distinction ?
Alors c'est au niveau de ta requête SQL qu'il faut travailler :
// On récupère tout le contenu de la table membre $reponse = $bdd->query('SELECT page_perso FROM membre');
Dans le code ci-dessus, tu selectionnes toutes les entrées de ta base de donnée, or si tu veux uniquement selectionner l'entrée du membre connecté, il faut rajouter une condition :
// On récupère le contenu de la table correspondant au membre $reponse = $bdd->query('SELECT page_perso FROM membre WHERE id_membre = '.$_SESSION['login'].' ');
Mais entrer des variables directement dans un query(), ça peut se révéler dangereux, il faut donc faire comme ça :
// On récupère le contenu de la table correspondant au membre $reponse = $bdd->prepare('SELECT page_perso FROM membre WHERE id_membre = ? '); $reponse->execute(array($_SESSION['login']));
Pense à remplacer id_membre par son équivalent dans ta table membre.
Bonjour,
Merci pour ta réponse, en fait je voudrai que en fonction de la personne connecté je puisse afficher une donnée stocké dans ma base correspondant au compte.
Ex: Personne 1
Ma base de donnée contient la table membre et j'ai
id 1
login Personne 1
pass_md5 le pass
page_perso http://votre_lien_perso_.html
Donc lorsque Personne 1 se connecte elle voit d'après mon code :
Bienvenue Personne 1,
Déconnexion
Je voudrai pouvoir ajouter cela :
Bienvenue Personne 1,
Votre lien est : "page_perso"
Déconnexion
Merci encore pour votre aide,
Merci pour ta réponse, en fait je voudrai que en fonction de la personne connecté je puisse afficher une donnée stocké dans ma base correspondant au compte.
Ex: Personne 1
Ma base de donnée contient la table membre et j'ai
id 1
login Personne 1
pass_md5 le pass
page_perso http://votre_lien_perso_.html
Donc lorsque Personne 1 se connecte elle voit d'après mon code :
Bienvenue Personne 1,
Déconnexion
Je voudrai pouvoir ajouter cela :
Bienvenue Personne 1,
Votre lien est : "page_perso"
Déconnexion
Merci encore pour votre aide,
peux tu me dire pourquoi cela est dangereux ?
Quel est la différence entre
C'est pour celà qu'il faut d'abord passer par un prepare() puis un execute().
Pensez à mettre le sujet en résolu.