dldstyle Posté 11 Octobre 2006 Posté 11 Octobre 2006 Salut à todos, je bloque sur un problème de vérification de session ! Le nez dans le guidon je ne vois peut être pas l'videncedonc je me tourne vers vous. Je vérifie sur une page le couple login / mot de passe dans une BD. Si les deux sont concordants, j'ouvre une session et je redirige vers une page : <?phpif ((isset($_POST['name'])) && (isset($_POST['mdp']))) { $name = $_POST['name']; $mdp = $_POST['mdp']; $req = "SELECT name, mdp FROM " .TAB. "membre WHERE name='$name' "; $exe = exe($req); $row = objet($exe); if ($row->mdp == $mdp) { session_start(); $_SESSION['name'] = $name; header("Location: index.php?p=post"); } else { header("Location: index.php?p=home&error=couple"); } } else { header("Location: index.php?p=home&error=empty"); } ?> [ Sur ma page redirigée (index.php) : <?phprequire_once("../inc/fonctions.inc.php"); require_once("../inc/connect.inc.php"); require_once("../inc/variables.inc.php"); if (($page == "post") && (!isset($_SESSION['name']))) { header("Location: index.php?p=home&error=session"); } ?> Colorez votre code PHP sur les forums grâce à Developpez.com Cela ne devrait pas rediriger vers error=session mais il ne trouve pas la présence de la session d'ouverte avant la redirection. Vous voyez d'où vient monproblème ? Mercizz
real34 Posté 11 Octobre 2006 Posté 11 Octobre 2006 As-tu mis un session_start(); au début de toutes ces pages ?
Dan Posté 11 Octobre 2006 Posté 11 Octobre 2006 Je mettrais ceci plutôt: $req = "SELECT name, mdp FROM " .TAB. "membre WHERE name='".$name."' "; Par contre... comment est défini TAB ???
Jeromnimo Posté 11 Octobre 2006 Posté 11 Octobre 2006 +1 pour real34 Si tu n'as pas de session_start() sur la page index.php, tu ne pourras pas avoir accès à $_SESSION['name']...
dldstyle Posté 11 Octobre 2006 Auteur Posté 11 Octobre 2006 As-tu mis un session_start(); au début de toutes ces pages ? Mais c'est bien sûr ! J'avais oublié de le placer sur la page index tout simplement ! Merci Je mettrais ceci plutôt: $req = "SELECT name, mdp FROM " .TAB. "membre WHERE name='".$name."' "; Par contre... comment est défini TAB ??? Le TAB est défini dans un DEFINE. J'ai pris cette habitude dans le cas d'une duplication de site ou de portion de code "identique" dans la structure de la base pour partir sur une base de travail "saine" et pour ne pas m'enmeller les pinceaux define ("TAB", "nom-client_");
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant