Aller au contenu

Vérification session et redirection


dldstyle

Sujets conseillés

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 :

<?php

if ((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) :

<?php

require_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

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

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...