dldstyle Posté 11 Octobre 2006 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
real34 Posté 11 Octobre 2006 Partager Posté 11 Octobre 2006 As-tu mis un session_start(); au début de toutes ces pages ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 11 Octobre 2006 Partager 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 ??? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeromnimo Posté 11 Octobre 2006 Partager 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']... Lien vers le commentaire Partager sur d’autres sites More sharing options...
dldstyle Posté 11 Octobre 2006 Auteur Partager 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_"); Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant