Variable de session et la fonction exit()

Variable de session et la fonction exit() - PHP - Programmation

Marsh Posté le 09-05-2005 à 15:41:05    

Bonjour,
 
Voici grossierement l'architecture de mon site :
- un fichier login.php dans lequel il y a un formulaire de saisi de login et mot de passe ainsi que la validation de ce meme formulaire. Lorsque le login/pass est validé, je rempli la variable de session LOGIN.
- un fichier index.php qui affiche a page d'accueil du site qui inclus le fichier login.php
 
Je pensais utiliser la fonction exit() a la fin de mon fichier login.php afin que le code de index.php ne soit pas interpréter si celle ci est appelée sans que je sois logger. En effet c'est donc le code de login.php qui sera appelé (un if (isset($_SESSION["LOGIN"]))).
 
Mais lorsque je rappelle ma page index.php apres m'etre logge ... je retombe sur le formulaire de log ... Donc a priori la fonction exit() detruit les variables de session.
 
Ma question est donc existe il une fonction ayant le comportement que je desire ?
 
Merci d'avance

Reply

Marsh Posté le 09-05-2005 à 15:41:05   

Reply

Marsh Posté le 09-05-2005 à 15:42:36    

J'ai pas tout compris, tu peux pas mettre ton code plutôt?

Reply

Marsh Posté le 09-05-2005 à 15:56:44    

(non dsl je peux pas mettre mon code qui est sur une station non connectée au net et le transfert de fichier est interdit)
Donc je vais essayer mettre ca plus en forme :
 
login.php :

Code :
  1. session_start();
  2. if (!isset($_SESSION["LOGIN"])) {
  3.    /* on crée un formulaire avec le champ login et mot de passe */
  4.    $form = create_formulaire();
  5.    /* on test si le formulaire a été validé */
  6.    if ($form->validate()) {
  7.        $_SESSION["LOGIN"]=$form->LOGIN;
  8.      
  9.    }
  10.  
  11.    /* on affiche via le gestion de template smarty */
  12.    //On assigne les variables de la template
  13.    $smarty->display();
  14.    exit(); //afin de ne pas afficher la suite
  15. }


 
 
index.php :  

Code :
  1. require_once "login.php";
  2. /* on affiche la page */
  3. //On assigne les variables de la template
  4. $smarty->display();


 
 
Ce que je veux quand j'appelle index.php :
Si je suis logger afficher simplement la page index.php
Sinon afficher le formulaire de login.
 
Voila j'espere que c'est plus clair
 
EDIT : J'avais oublié qq chose


Message édité par boubavic le 09-05-2005 à 16:19:51
Reply

Marsh Posté le 09-05-2005 à 16:05:29    

Dans le else, non?

Reply

Marsh Posté le 09-05-2005 à 16:22:46    

Modification du code... pour le else ca ne fonctionne pas car la fonction $smarty->display() est appelé dans les 2 fichiers.
 
De plus j'essai d'avoir ce comportement de maniere a ce que je puisse demander l'identification de chaque page en utilisant seulement le "require_once login.php" mais bon vu que exit detruit les variables de sessions apparement...
 
voila si c'est pas possible (avec une autre fonction ou autre) merci de me le dire.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed