Aide - Recherche - Membres - Calendrier
Version complète : session, se connecter sous un compte
Forum Développeur - Administration serveur, programmation et base de données > Programmation > PHP
mel84
bonjour!!
voilà jsui en train de faire un site et je veu une partie administrateur pr pouvoir gerer certaines choses
jai dc fai une page login.php où l'administrateur se log!!

voici le code:
Code
<?
if ($HTTP_POST_VARS['valider']=="ok")
{
$login = $_POST['login'];
$pass = $_POST['pass'];
session_start();
if (($login=="portail")AND($pass=="coulommiers"))
{
$statut="admin";
session_register("login");
session_register("statut");
header("Location:accueil_admin.php");
}
else
{
$erreurlog=1;
}
}
?>




et une page accueil_admin.php, c'est là où est redirigé ladministrateur kan il se connecte.
Le code:
Code
<?
session_start();
if ($logout=="ok")
{
session_unregister("statut");
session_destroy();
header("Location:login.php");
}
if ($statut!="admin")
{header("Location:login.php");}
?>



Le probleme c ke ca ne marche pa. CA fonctionne kan jenleve les 2 dernieres lignes.
Sinon ca me renvoi sur login.php, ca veut dire que ca a pa enregistré que le statut c'etait admin alors que c'est ds le code de login.php.

Je comprend pa trop, si kelkun a une solution!!

merci!
jep
Depuis le temps que register_globals est sur Off par defaut dans PHP, certain s'obstine à vouloir utiliser des techniques d'un autre age qui induise des failles de sécurité allucinante !

Quand on travail avec les sessions il est vivement recommandé d'utiliser la variable super global $_SESSION :

En suite, il faut systématiquement se poser la question de l'origine des variables !
Dans le code ci-dessous :
Php
<?
session_start();
if ($logout=="ok")
{
session_unregister("statut");
session_destroy();
header("Location:login.php");
}
if ($statut!="admin")
{header("Location:login.php");}
?>


D'ou viennent les variables $logout et $statut ? Qui les definie et où ?

Enfin, a chaque fois que tu fait une redirection avec header, il faut que tu utilise la fonction exit pour terminer le script, sinon, le script continue d'être executer icon_wink.gif

Php
if ($statut!="admin"){
header("Location:login.php");
exit();
}
mel84
ok!!

alors le logout , oui c vrai ke c defini nul part mais fo laisser tomber pr le moment c pagrave!!

par contre $statut, ds la page login.php c ecrit ca :
Code
if (($login=="portail")AND($pass=="coulommiers"))
{
$statut="admin";


dc en fait jpensai ke là elle etai defini la variable!

par contre je ne sais pas trop comment fonctionne $_SESSION et quand l'utiliser.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.