Bonsoir
Après des jours de recherche, je n'arrive toujours pas à identifier l'erreur.
J'ai fait des multitudes de recherches, relu des cours mais en vain. Je suis perdue
Je vous explique: J'ai fait un mini site sur lequel l'utilisateur doit s'inscrire(pseudo, email), je récupère alors les infos que j'envoie dans ma BDD avec la date du jour qui sera donc sa date d'inscription. Puis lorsqu'il revient, il doit se connecter et là, je voudrai afficher Bonjour xxx son pseudo (ça c'est ok ) ET sa date d'inscription stockée dans la BDD;
Ma question est : comment puis-je rédiger ma requête pour lui dire 'va récupérer le pseudo qui vient de se connecter et compare le à ceux de la BDD et envoie moi la date d'inscription correspondante. J'ai beau essayé la méthode des sessions, des cookies, rien ne fonctionne; J'ai soit des messages d'erreur, soit aucune info ne s"affiche là où je voudrai récupérer la date.
Merci beaucoup de votre aide.
Je copie mon code ci-dessous et la dernière erreur générée est :
"Fatal error: Uncaught Error: Call to a member function fetch() on string in C:\"
<?php
session_start(); //sur chaque page (1ère et 2ème)
$_SESSION['id'] = '?'; // j'ai créé des variables sessions sur la 1ère page
$_SESSION['Pseudo'] = '?';
$_SESSION['Email'] = '?';
$_SESSION['pass'] = '?';
//connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
<!Doctype HTML>
<html lang="fr">
<div class="presentation">
<?php
// requête en fonction de l'Email du membre
$reponse =$bdd->query = ("SELECT *from joueurs WHERE Email= '" . $_SESSION["Email"] . "' ");
$donnees=$bdd->prepare ("SELECT (Pseudo,DateInscription) FROM joueurs WHERE Email ='" . $_SESSION['Email'] . "' ");
/*on met le résultat dans un tableau $data-On fait une boucle "fetch" pour parcourir les lignes des visiteurs une à une
$data est un array qui contient champ par champ les valeurs de la première entrée.
On fait une boucle pour lister tout ce que contient la table*/
while ($donnees = $reponse->fetch());
//on assigne nos variables tirées du tableau $data
$Pseudo = $donnees['Pseudo'];
$DateInscription = $donnees['DateInscription'];
?>
<p>
Bonjour <?php echo $Pseudo; ?> <br>
</strong> Heureux de vous revoir ! <br>
Vous êtes inscrit sur notre site depuis le <?php echo $DateInscription; ?>
Après des jours de recherche, je n'arrive toujours pas à identifier l'erreur.
J'ai fait des multitudes de recherches, relu des cours mais en vain. Je suis perdue
Je vous explique: J'ai fait un mini site sur lequel l'utilisateur doit s'inscrire(pseudo, email), je récupère alors les infos que j'envoie dans ma BDD avec la date du jour qui sera donc sa date d'inscription. Puis lorsqu'il revient, il doit se connecter et là, je voudrai afficher Bonjour xxx son pseudo (ça c'est ok ) ET sa date d'inscription stockée dans la BDD;
Ma question est : comment puis-je rédiger ma requête pour lui dire 'va récupérer le pseudo qui vient de se connecter et compare le à ceux de la BDD et envoie moi la date d'inscription correspondante. J'ai beau essayé la méthode des sessions, des cookies, rien ne fonctionne; J'ai soit des messages d'erreur, soit aucune info ne s"affiche là où je voudrai récupérer la date.
Merci beaucoup de votre aide.
Je copie mon code ci-dessous et la dernière erreur générée est :
"Fatal error: Uncaught Error: Call to a member function fetch() on string in C:\"
<?php
session_start(); //sur chaque page (1ère et 2ème)
$_SESSION['id'] = '?'; // j'ai créé des variables sessions sur la 1ère page
$_SESSION['Pseudo'] = '?';
$_SESSION['Email'] = '?';
$_SESSION['pass'] = '?';
//connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
<!Doctype HTML>
<html lang="fr">
<div class="presentation">
<?php
// requête en fonction de l'Email du membre
$reponse =$bdd->query = ("SELECT *from joueurs WHERE Email= '" . $_SESSION["Email"] . "' ");
$donnees=$bdd->prepare ("SELECT (Pseudo,DateInscription) FROM joueurs WHERE Email ='" . $_SESSION['Email'] . "' ");
/*on met le résultat dans un tableau $data-On fait une boucle "fetch" pour parcourir les lignes des visiteurs une à une
$data est un array qui contient champ par champ les valeurs de la première entrée.
On fait une boucle pour lister tout ce que contient la table*/
while ($donnees = $reponse->fetch());
//on assigne nos variables tirées du tableau $data
$Pseudo = $donnees['Pseudo'];
$DateInscription = $donnees['DateInscription'];
?>
<p>
Bonjour <?php echo $Pseudo; ?> <br>
</strong> Heureux de vous revoir ! <br>
Vous êtes inscrit sur notre site depuis le <?php echo $DateInscription; ?>