Récupérer mes données sous _Session

Résolu/Fermé
trailer91230 Messages postés 134 Date d'inscription jeudi 5 août 2010 Statut Membre Dernière intervention 20 mai 2016 - 28 mars 2015 à 16:10
trailer91230 Messages postés 134 Date d'inscription jeudi 5 août 2010 Statut Membre Dernière intervention 20 mai 2016 - 28 mars 2015 à 21:25
Bonjour,

Je débute dans la Bdd avec Mysql, j'ai pour tâche de créer un compte utilisateur avec ses informations (Nom,Prenom,Login,Age, etc...) et ensuite de me connecter sur mon site en local (Login+Mdp).

Jusqu'ici j'arrive à créer un compte et rentré ses informations (Nom,Prenom,Login,Age, etc...) dans ma BDD, j'arrive par la suite à me "connecter" à ce compte avec ce code :



$co= connexion();
$requete =mysqli_query($co,"select* from Employe where Login='$Login'&& Mdp='$Mdp'");
$rows=mysqli_num_rows($requete);
if($rows==1)
{

$_SESSION['Login']=$Login;

header('Location:membre.php');

}else echo"Votre Login ou votre Mot de Passe est incorrects.";



Je suis donc ensuite redirigé vers membre.php :

<?php
session_start();
echo "Bienvenue sur le Site ".$_SESSION['Login'];
?>


Jusqu'ici pas de soucis, le problème intervient quand je souhaite interagir avec ma BDD, par exemple avec le Nom du Login et du Mot de passe en question.


if($rows==1)
{
$_SESSION['Nom'] =mysqli_query($co,"select Nom from Employe where Login='$Login'&& Mdp='$Mdp'");
$_SESSION['Login']=$Login;

header('Location:membre.php');
}else echo"Votre Login ou votre Mot de Passe est incorrects.";



<?php
session_start();
echo "Bienvenue sur le Site".$_SESSION['Nom'];
?>


J'ai alors comme erreur : Catchable fatal error: Object of class mysqli_result could not be converted to string in C:\wamp\www\PPE2\membre.php on line 3

Merci d'avance pour votre aide.
A voir également:

1 réponse

Utilisateur anonyme
28 mars 2015 à 18:43
Bonjour

Le problème est là :
$_SESSION['Nom'] =mysqli_query($co,"select Nom from Employe where Login='$Login'&& Mdp='$Mdp'");

L'appel à mysqli_query ne te rend pas le nom d'un employé, mais un objet ("Object of class mysqli_result") qui peut contenir plusieurs lignes de réponse avec éventuellement plusieurs champs pour chaque ligne. Ici, une seule puisque tu n'as demandé que Nom.
Tu dois "extraire" de cet objet les lignes une à une grâce à mysqli_fetch_array. Dans ton cas, tu t'attends à une seule ligne, tu peux te contenter d'un seul appel à mysqli_query.
Le résultat du mysqli_query est soit false s'il n'y avait aucune réponse à la requête, soit un tableau qui contient les champs demandés.
$resultat =mysqli_query($co,"select Nom from Employe where Login='$Login'&& Mdp='$Mdp'");
$ligne= mysqli_fetch_array($resultat);
$_SESSION['Nom']=$ligne['Nom'];
1
trailer91230 Messages postés 134 Date d'inscription jeudi 5 août 2010 Statut Membre Dernière intervention 20 mai 2016 2
28 mars 2015 à 21:25
Merci Beaucoup pour ta réponse et t'es explications !!!!
0