Bonjour à tous, est ce que quelqu'un pourrait m'aider svp,
Je voudrais afficher sur une page profil les infos du membre connecté afin qu'il puisse les consulter et modifier le cas échéant et je n'y arrive pas malgré mes recherches.

je met ce bout de code début de page (exemple pour afficher le prenom) :


<?php
session_start();
require('auth.php');
if(Auth::islog()){

}
else{
	header('Location:index.php');
	  }
	  
	  $_SESSION['prenom'] = '';
?>


et à l'endroit ou je veux que le prénom apparaisse rien ne s'affiche :

Bonjour,<?php echo $_SESSION['prenom']; ?>



Voici le fichier auth.php :
<?php require_once 'cnx.php' ?>
<?php 
class Auth{
		static function islog(){
		global $cnx;
		if(isset($_SESSION['Auth']) && isset($_SESSION['Auth']['email']) && isset($_SESSION['Auth']['password'])){
			$q=array('email'=>$_SESSION['Auth']['email'],'password'=>$_SESSION['Auth']['password']);
			$sql = 'SELECT email,password,nom, prenom,adresse, code_postal, ville, mobile FROM inscription WHERE email = :email AND password = [langue]assword';
			$req = $cnx->prepare($sql);
			$req->execute($q);
			$count = $req->rowCount($sql);
				if($count == 1){
					return true;
				}else{
					return false;
				}
				}else{
				return false;
	}
	}
	
}

?>


Merci !!!
Modifié par zeedi (26 Jan 2015 - 21:16)
Salut, merci pour ta réponse, c est bien ce que je pensais, j ai essayé de la définir dans l array mais du coup la connection ne fonctionne plus. Donc je ne sais pas comment et où définir cette $_SESSION['prenom']
Tu peux la définir une fois que tu as vérifié qu'il y avait bien une entrée en base de données. Regarde la doc PDO.
Salut, bon j'ai tout essayé avec mes capacités de débutant et je m'arrache les cheveux. Je m'y perd complètement. Aurais tu une idée de la solution ?
Salut, je ne comprends pas trop où tu bloques? As-tu regardé les exemples du fetch via le lien que je t'ai passé? Tu fais simplement un fetch qui va te renvoyer un tableau ou objet et tu réinjectes la valeur dans ta session. Regarde bien l'exemple 1 Smiley cligne P.S: si vraiment tu débutes, prends le temps, faut pas se presser Smiley smile
Modifié par floreo (29 Jan 2015 - 20:40)
Salut, j'étais pas loin merci !!! J'ai compris le fonctionnement. Cela renvoi le tableau en haut de ma page profil, donc les données arrivent. Maintenant je vais essayer de les afficher à l'endroit voulu.
Salut merci beaucoup pour ton aide ça fonctionne !!!


$sth = $cnx->prepare("SELECT prenom, nom, adresse, mobile FROM inscription");
$sth->execute();
/* styles PDOStatement::fetch */
print("PDO::FETCH_ASSOC: ");
print("Retourne la ligne suivante en tant qu'un tableau indexé par le nom des colonnes\n");
$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result); 
print("\n");


et pour l'afficher dans mon formulaire

<?php echo $result['prenom']; ?> 


Au début j'affichai ce code sur auth.php au lieu de ma page profil.

Merci beaucoup Smiley biggrin Smiley biggrin
Lol j'ai crié victoire un peu trop vite cela m'affiche les données de la première ligne de ma bdd et non les données de la session de la personne connectée.
Salut,

normal tu n'as pas précisé de WHERE dans ta requête donc il prend la première ligne qu'il trouve, précise lui les données de qui tu veux, et ça roulera.
Bon courage Smiley smile
Salut Floreo,

Enfin ça fonctionne, voici mon code :


$sth = $cnx->prepare("SELECT email,prenom, nom, adresse, mobile,avatar,code_postal, ville FROM inscription WHERE email = :email");
$sth->execute(array('email'=>$_SESSION['Auth']['email'])); 
/* styles PDOStatement::fetch */
//print("PDO::FETCH_ASSOC: ");
//print("Retourne la ligne suivante en tant qu'un tableau indexé par le nom des colonnes\n");
$result = $sth->fetch(PDO::FETCH_ASSOC);
//print_r($result); 
//print("\n");


Merci encore a+