Aller au contenu

Sujets conseillés

Posté

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

Posté

Je mettrais ceci plutôt:

$req = "SELECT name, mdp FROM " .TAB. "membre WHERE name='".$name."' ";

Par contre... comment est défini TAB ???

Posté

+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']...

Posté
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_");

Veuillez vous connecter pour commenter

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



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