Extraire une donnée depuis une BDD vers une variable en PHP
Résolu/Fermé
Snox5
Messages postés
1482
Date d'inscription
samedi 25 juin 2016
Statut
Contributeur
Dernière intervention
11 juin 2021
-
Modifié par Snox5 le 22/01/2017 à 01:51
Snox5 Messages postés 1482 Date d'inscription samedi 25 juin 2016 Statut Contributeur Dernière intervention 11 juin 2021 - 22 janv. 2017 à 17:02
Snox5 Messages postés 1482 Date d'inscription samedi 25 juin 2016 Statut Contributeur Dernière intervention 11 juin 2021 - 22 janv. 2017 à 17:02
A voir également:
- Extraire une donnée depuis une BDD vers une variable en PHP
- Extraire une video youtube - Guide
- Extraire son d'une video - Guide
- Extraire une photo d'une vidéo iphone - Guide
- Extraire une image d'un pdf - Guide
- Easy php - Télécharger - Divers Web & Internet
3 réponses
Utilisateur anonyme
22 janv. 2017 à 02:06
22 janv. 2017 à 02:06
Là sans un bout de code ou le nom des colonnes du tableau on aura du mal à t'expliquer, mais je te conseille de regarder de côté de PDO pour lancer une requête SQL et récupérer les données.
Sinon regarde ce tuto:
https://www.grafikart.fr/tutoriels/gestion-membre-229
Sinon regarde ce tuto:
https://www.grafikart.fr/tutoriels/gestion-membre-229
Snox5
Messages postés
1482
Date d'inscription
samedi 25 juin 2016
Statut
Contributeur
Dernière intervention
11 juin 2021
213
22 janv. 2017 à 11:45
22 janv. 2017 à 11:45
Salut ZeNairolf,
Merci pour ta réponse, et pour le lien du tutoriel, c'est effectivement ce que je souhaite faire.
Il était tard, j'ai oublié de mettre le code : ^^ (connect.php)
Mon problème se situe vers les lignes 27 à 30...
Et pour ce qui est de ma table users dans la base de données users mysql :
username
email
password (hash)
date (date d'inscription) AiD (A-I)
+++
Merci pour ta réponse, et pour le lien du tutoriel, c'est effectivement ce que je souhaite faire.
Il était tard, j'ai oublié de mettre le code : ^^ (connect.php)
Mon problème se situe vers les lignes 27 à 30...
<?php /*récupèration des variables POST des champs du formulaire*/ $email = isset($_POST['email']) ? $_POST['email'] : NULL; $password = isset($_POST['password']) ? $_POST['password'] : NULL; $hash_pass= openssl_digest($password, 'sha512'); /*connexion à la $db*/ require_once('pdodat.php'); /*vérification des données entrées dans les champs*/ if(empty ($email)) { header ('Locaion: login.php?form=error'); } elseif (empty($password)) { header ("Location: login.php?form=error"); } else { $reply = $bdd -> query("select * from users where email = '".$email."' and password= '".$hash_pass."'"); { $donnees = $reply->fetch(); } if (empty($donnees)) { header ('Location: login.php?form=unknow'); } else { /*récuperation de données dans la db*/ $requete = $bdd->query("select username from users where email='".$email."' and password= '".$hash_pass."'"); $username = $requete->fetch(); /*création des variables session*/ session_start(); $_SESSION['username'] =$username; $_SESSION['email'] = $email; header ('Location: dashboard.php'); } } ?>
Et pour ce qui est de ma table users dans la base de données users mysql :
username
password (hash)
date (date d'inscription) AiD (A-I)
+++
yg_be
Messages postés
23428
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 janvier 2025
1 559
Modifié par yg_be le 22/01/2017 à 12:33
Modifié par yg_be le 22/01/2017 à 12:33
bonjour, as-tu essayé
et ainsi?
plus simple, supprime ton second query, et fais directement:
var_dump($username);, pour comprendre?
et ainsi?
$data= $requete->fetch(); $username = $data->username;
plus simple, supprime ton second query, et fais directement:
/*récuperation de données dans la db*/ $username = $donnees->username;
Snox5
Messages postés
1482
Date d'inscription
samedi 25 juin 2016
Statut
Contributeur
Dernière intervention
11 juin 2021
213
Modifié par Snox5 le 22/01/2017 à 13:58
Modifié par Snox5 le 22/01/2017 à 13:58
Salut yg_be,
Merci pour ton aide,
Je précise juste : la page connect.php renvoie ensuite sur la page dashboard.php, qui elle, sert à afficher les info sur le membre.
Un extrait du code de (dashboard.php) :
J'ai donc remplacé
Ma page affiche dans le navigateur :
bienvenu @array(1) { ["username"]=> string(3) "Nox" } (Nox étant le nom d'utilisateur)
Votre email est : xxxxxxx@gmail.com
J'ai essayé ce que tu m'as demandé, mais ça n'a pas fonctionné.
+++
Merci pour ton aide,
Je précise juste : la page connect.php renvoie ensuite sur la page dashboard.php, qui elle, sert à afficher les info sur le membre.
Un extrait du code de (dashboard.php) :
<div class="box-content"> <ul> <ol><p>bienvenu @<?php echo($_SESSION['username']);?> </p></ol> <ol><p>Votre email est : <?php echo $_SESSION['email'];?></p></ol> </ul> </div>
J'ai donc remplacé
<ol><p>bienvenu @<?php echo($_SESSION['username']);?>par
<ol><p>bienvenu @<?php var_dump($_SESSION['username']);?>.
Ma page affiche dans le navigateur :
bienvenu @array(1) { ["username"]=> string(3) "Nox" } (Nox étant le nom d'utilisateur)
Votre email est : xxxxxxx@gmail.com
J'ai essayé ce que tu m'as demandé, mais ça n'a pas fonctionné.
+++
yg_be
Messages postés
23428
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 janvier 2025
1 559
22 janv. 2017 à 14:35
22 janv. 2017 à 14:35
quand j'ai suggéré d'utiliser
tu ne nous expliques pas ce que tu as changé dans connect.php, mais il me semble que cette page se comporte bien, puisque les variables $_SESSION sont peuplées.
je pense donc qu'il te reste à défaire ce que tu as fait dans dashboard.php, et tout devrait être correct.
si ce n'est pas le cas, explique-nous.
var_dump($username);, c'était en supposant que tu allais comprendre que c'était à ajouter après
$username = $requete->fetch();. en faisant cela, tu aurais pu comprendre ce qu'était $username à ce moment-là.
tu ne nous expliques pas ce que tu as changé dans connect.php, mais il me semble que cette page se comporte bien, puisque les variables $_SESSION sont peuplées.
je pense donc qu'il te reste à défaire ce que tu as fait dans dashboard.php, et tout devrait être correct.
si ce n'est pas le cas, explique-nous.
Snox5
Messages postés
1482
Date d'inscription
samedi 25 juin 2016
Statut
Contributeur
Dernière intervention
11 juin 2021
213
22 janv. 2017 à 17:02
22 janv. 2017 à 17:02
Re,
"en supposant que tu allais comprendre que [...]"
Si j'étais un expert en PHP et en bases de données, je ne serai pas ici à demander de l'aide...^^
J'ai finalement réussi après avoir lu un peu de documentation, fetch() retourne un tableau, enfin, une rangé dans mon cas. Il me faut donc préciser dans le code quelle colonne du tableau je souhaitait récupérer en variable. Au lieu de ça, je récupérer tout le tableau, d'où l'erreur...
Donc dans connect.php, j'ai apporté les modifs suivantes :
Ca fonctionne !
Merci à vous deux @yg_be et @ZeNairolf (+1 pour le tutoriel)
A++
"en supposant que tu allais comprendre que [...]"
Si j'étais un expert en PHP et en bases de données, je ne serai pas ici à demander de l'aide...^^
J'ai finalement réussi après avoir lu un peu de documentation, fetch() retourne un tableau, enfin, une rangé dans mon cas. Il me faut donc préciser dans le code quelle colonne du tableau je souhaitait récupérer en variable. Au lieu de ça, je récupérer tout le tableau, d'où l'erreur...
Donc dans connect.php, j'ai apporté les modifs suivantes :
$requete = $bdd->query("select * from users where email='".$email."' and password= '".$hash_pass."'"); $userinfos = $requete->fetch(); session_start(); $_SESSION['username'] =$userinfos[username]; $_SESSION['subdate'] = $userinfos[date]; $_SESSION['email'] = $userinfos[email]; header ('Location: dashboard.php');
Ca fonctionne !
Merci à vous deux @yg_be et @ZeNairolf (+1 pour le tutoriel)
A++