Problème avec $_SESSION
jojolebarge
Messages postés
21
Statut
Membre
-
Pitet Messages postés 2845 Statut Membre -
Pitet Messages postés 2845 Statut Membre -
Bonjour, je développe actuellement une application web et je voudrais que le nom et le prénom des utilisateurs qui se connectent apparaissent dans la page index. il me semble qu'il faut commencer par un session_start() et stocké les informations dans une variable lors de la connexion avec un $_SESSION, j'ai essayer de bidouiller quelque chose avec ses éléments là mais on me renvoie une erreur avec Undefined variable: _SESSION
voila pouvez vous m'indiquer une solution
merci d'avance pour votre aide
voila pouvez vous m'indiquer une solution
merci d'avance pour votre aide
1 réponse
Salut,
Difficile de voir le problème sans connaitre ton code.
Le message d'erreur indique que la variable n'existe pas, donc soit :
- la variable n'a jamais été définie
- la session n'a pas été initialisé avec session_start()
- une faute de frappe sur le nom de la variable
- autre...
Peux tu nous montrer ton code ?
Bonne journée,
Difficile de voir le problème sans connaitre ton code.
Le message d'erreur indique que la variable n'existe pas, donc soit :
- la variable n'a jamais été définie
- la session n'a pas été initialisé avec session_start()
- une faute de frappe sur le nom de la variable
- autre...
Peux tu nous montrer ton code ?
Bonne journée,
le code de la page login.php
<?php function demarrerSession(){ if(session_status() == PHP_SESSION_NONE){ session_name('gsbacrsessid'); session_start(); } } function estConnecte(){ demarrerSession(); return isset($_SESSION['utilisateur']); } function recupererInfosUtil($id){ require 'include/bdd.php'; $req = $pdo->prepare('SELECT * FROM Visiteur where id = :id'); $req->execute(array(':id' => $id)); $login = $req->fetch(); $_SESSION['infos']['id'] = $login->id; $_SESSION['infos']['nom'] = $login->nom; $_SESSION['infos']['prenom'] = $login->prenom; $_SESSION['infos']['adresse'] = $login->adresse; $_SESSION['infos']['cp'] = $login->cp; $_SESSION['infos']['ville'] = $login->ville; $_SESSION['infos']['embauche'] = $login->dateEmbauche; $_SESSION['infos']['statut'] = $statut; } if(isset($_POST['submit'])){ if(!empty($_POST['username']) && !empty($_POST['password'])){ require'include/bdd.php'; $req = $pdo-> prepare('SELECT * FROM Visiteur where login = :login AND mdp = PASSWORD(:mdp)'); $req->execute(array(':login' => $_POST['username'], ':mdp' => $_POST['password'])); if($user = $req->fetch()){ session_name('gsbacrsessid'); $_SESSION['utilisateur'] = $user->id; demarrerSession(); header('Location: index.php'); exit(); } else { echo 'Erreur, identifiant et/ou mot de passe incorrecte.'; } } } ?> <!DOCTYPE html> <html > <head> <meta charset="UTF-8"> <title>login</title> <link rel="stylesheet" href="css/login.css"> </head> <body> <div class="login"> <div class="heading"> <h1>Connexion à l'application Appli-Frais</h1><br> <h4>Veuillez renseigner votre identifiant et mot de passe.</h4><br> <form action="" method="post"> <div class="input-group input-group-lg"> <span class="input-group-addon"><i class="fa fa-user" style="color:grey"></i></span> <input name="username" type="text" class="form-control" placeholder="identifiant"> </div> <div class="input-group input-group-lg"> <span class="input-group-addon"><i class="fa fa-lock" style="color:grey"></i></span> <input name="password" ="" type="password" class="form-control" placeholder="Mot de passe"> </div> <button type="submit" name="submit" class="float">Connexion</button> </form> </div> </div> </body> </html>le code la page index.php
<?php function demarrerSession(){ if(session_status() == PHP_SESSION_NONE){ session_name('gsbacrsessid'); session_start(); } } include 'include/header.php'; function recupererInfosUtil($id){ require 'include/bdd.php'; $req = $pdo->prepare('SELECT * FROM Visiteur where id = :id'); $req->execute(array(':id' => $id)); $login = $req->fetch(); $_SESSION['infos']['id'] = $login->id; $_SESSION['infos']['nom'] = $login->nom; $_SESSION['infos']['prenom'] = $login->prenom; $_SESSION['infos']['adresse'] = $login->adresse; $_SESSION['infos']['cp'] = $login->cp; $_SESSION['infos']['ville'] = $login->ville; $_SESSION['infos']['embauche'] = $login->dateEmbauche; $_SESSION['infos']['statut'] = $statut; } ?> <!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="css/style.css"> <title>Accueil</title> </head> <body> <div class="content"> <h1>Bonjour et bienvenu surl'interface de saisie des fiches de frais</h1> </div> <?php echo "bienvenu";?><?= $_SESSION['infos']['prenom']?> </body> </html>merci d'avance
<?php demarrerSession(); if (isset($_SESSION['infos']['prenom'])) { echo "bienvenu" . $_SESSION['infos']['prenom']; } else { echo 'pas connecté'; } ?>j'ai testé ton code mais ça ne fonctionne toujours pas
j'ai cette erreur ci:
Fatal error: Call to undefined function demarrerSession()
Parse error: syntax error, unexpected 'if' (T_IF), expecting
Regarde la ligne indiqué dans le message d'erreur si tu n'aurais pas oublié un ; à la fin de la ligne précédente.