Page 1 sur 1

recupere les données selon l'utilisateur connecté

Posté : 24 mai 2015, 14:18
par debutant
Salut , j'ai créé un espace d'authentification , à partir de l'email et d'un code récupéré d'une table étudiant qui contient (CodeEtudiant, CNE,Nom,Prenom) je veux qu'après ma connexion en tant qu'un utilisateur précis je puisse récuperer toutes les données concernant cet utilisateur pour les utiliser après , maintenant je ne suis capable d'afficher que l'email que j'ai utiliser pour m'authentifier mais pas les autres données
voici la vue qui me permet de m'authentifier :

Code : Tout sélectionner

<form name="loginform" action="index.php?action=authenEt" method="POST" id="login"> <h1>Etudiant</h1> <fieldset id="inputs"> <input id="username" name="Email" type="text" placeholder="votre adresse e-mail" autofocus required/> <input id="password" name="CNE" type="password" placeholder="votre CNE" required/> </fieldset> <fieldset id="actions"> <input type="submit" id="submit" value="se connecter"/> </fieldset> </form>
le modèle :

Code : Tout sélectionner

function loginEt($email,$password) { $cn = Connexion(); $email = filter_var($_POST['Email'],FILTER_SANITIZE_STRING); $password = filter_var($_POST['CNE'],FILTER_SANITIZE_STRING); $password = sha1($password); $email = $_POST['Email']; $password = $_POST['CNE']; $Rq = "SELECT Email,CNE From v_etudiant where Email = '" . $email . "' and CNE = '" . $password . "'" ; $resultat = $cn->query($Rq); return $resultat; } function trueEt(){ $email = $_POST['Email']; $password = $_POST['CNE']; $cn = Connexion(); $_SESSION['Email'] = $_POST['Email']; $_SESSION['START'] = time(); setcookie("User",$_POST['Email'],time()+(60*60*24*365),"/"); setcookie("LUS",time(),time()+(60*60*24*365),"/"); $Rq = "SELECT Email From v_etudiant where Email = '" . $email . "' and CNE = '" . $password . "'" ; $resultat = $cn->query($Rq); $ur = $resultat->fetch(); } function falseEt(){ echo "<b>E-mail ou CNE incorrecte.</b>"; }
le controlleur :

Code : Tout sélectionner

elseif($action == 'authenEt'){ if(!(isset($_SESSION['Email'])) && isset($_POST['Email'])) { if(!empty($_POST['Email']) && !empty($_POST['CNE'])) { $resultat = loginEt($_POST,$_POST); $ur = $resultat->fetch(); if ($ur == true) { trueEt(); $vue = "AccueilEt.php"; }else{ falseEt(); $vue = "indexEtudiant.php"; } } } }
la vue après authentification :(AccueilEt)

Code : Tout sélectionner

<h1><?php echo $_POST['Email'];?> </h1> <hr /><br /><br />
j'ai récuperé l'email mais en fait je voudrai recuperer le nom et le prénom de la table .
Merci pour votre aide !

Re: recupere les données selon l'utilisateur connecté

Posté : 24 mai 2015, 14:58
par Ryle
Hello

$_POST contient uniquement les données transmises par l'utilisateur via la méthode post. Si tu veux récupérer des données présentent en base, il te faut faire une requête sql de type SELECT pour aller chercher les données qui t'intéressent (même principe que lorsque tu vas chercher son email et son mot de passe)

Au besoin, une fois tes données récupérées, tu pourras les stocker en session ($_SESSION) pour ne pas avoir à interroger ta base à chaque fois que tu as besoin de les utiliser pour l'utilisateur qui est connecté.

Attention par ailleurs, tes requêtes SQL ne sont absolument pas protégées et un utilisateur mal intentionné pourrait injecter du code SQL dans tes requêtes. Selon l'usage de ton site, Je te recommande donc de faire une petite recherche sur les Injections SQL et les moyens de s'en protéger (on en parle sur le forum et sur le net ;))