$_SESSION Ne marche pas en fonction du navigateur (IE et Mozilla)

$_SESSION Ne marche pas en fonction du navigateur (IE et Mozilla) - PHP - Programmation

Marsh Posté le 26-05-2004 à 22:12:43    

Salut,
 
J'ai vraiment cherché et essayé toutes les possibilités, j'y arrive pas !!! (Continuer la session sur la 2eme page)
 
Voila mon PB :
 
Dans mon site, l'utilisateur s'authentifie via un formulaire.
Le code de la page d'authentification est le suivant :
 

Code :
  1. /////////////////////////////////
  2. // authentification            //
  3. /////////////////////////////////
  4. // si l'authentification est OK redirection vers le dossier correspondant
  5. if($passwd_table == $_POST['password']){
  6.  //on enregistre la variable de session login
  7.  $_SESSION["login"] = $_POST['login'] ;
  8.  echo '<a href="http://www.monsite/'.$dossier.'/index.php">OK</a>' ;
  9.  echo session_id() ; //LA J'AI UN ID
  10.  echo $_SESSION["login"] ; // LA, J'AI LE BON LOGIN
  11. }
  12. // sinon redirection vers la page d'echec de l'authentification.
  13. else{
  14.  session_destroy() or die('Erreur : impossible de détruire la session') ;
  15.  redirige('echec_authentification.php') ;
  16. }//if authentification


 
Jusque la tout va bien... Mais je pense avoir bien enregistré ma variable de session login.
Mais dans ma page suivante, je n'arrive pas a la récupérer...
Voici le code de la 2eme page :
 

Code :
  1. <?php
  2. ///////////////////////////////////////
  3. // Gestion des sessions              //
  4. ///////////////////////////////////////
  5. // Continu la session
  6. session_start() ;
  7. //laisser car permet d'utiliser la fonction redirige juste apres
  8. require_once("../fonction.php" ) ;
  9. //Si la session n'est pas ouverte on redirige
  10. if(!isset($_SESSION["login"])){
  11.  //session_destroy() or die("Erreur : impossible de détruire la session" ) ;
  12.  //redirige('../echec_authentification.php') ;
  13.  echo 'La session n\'est pas enregistrée !' ;// JE PASSE TOUJOURS PAS ICI... !??!
  14. }
  15. echo $_SESSION["login"] ;//... ET LA JE N'AI PLUS RIEN !??!!
  16. ?>


 
Je ne vois pas ou je me plante...
Quelqu'un pour m'aider ?
 
Merci d'avance.
Ju


Message édité par jultey le 29-05-2004 à 18:44:09
Reply

Marsh Posté le 26-05-2004 à 22:12:43   

Reply

Marsh Posté le 26-05-2004 à 22:17:13    

Code :
  1. session_start() ;
  2. echo $_SESSION["login"];
  3.    require_once("../fonction.php" ) ;
  4. echo $_SESSION["login"];
  5.    if(!isset($_SESSION["login"])){
  6.       echo 'La session n\'est pas enregistrée !';
  7.    }
  8.    echo $_SESSION["login"];


 
dit nous si ca en affiche au moins, le variable se perd surement quelque part :)

Reply

Marsh Posté le 26-05-2004 à 22:24:30    

chacal_one333 a écrit :

Code :
  1. session_start() ;
  2. echo $_SESSION["login"];
  3.    require_once("../fonction.php" ) ;
  4. echo $_SESSION["login"];
  5.    if(!isset($_SESSION["login"])){
  6.       echo 'La session n\'est pas enregistrée !';
  7.    }
  8.    echo $_SESSION["login"];


 
dit nous si ca en affiche au moins, le variable se perd surement quelque part :)


 
 
ALors je viens de faire 2 essais (rajout de 2 echos dans le 1er essai et rajout de 3 echos dans le 2eme essai):
Voici le premier :
 

Code :
  1. <?php
  2. ///////////////////////////////////////
  3. // Gestion des sessions              //
  4. ///////////////////////////////////////
  5. // Continu la session
  6. session_start() ;
  7. //laisser car permet d'utiliser la fonction redirige juste apres
  8. require_once("../fonction.php" ) ;
  9. //Si la session n'est pas ouverte on redirige
  10. echo '2 : '.$_SESSION["login"] ;
  11. if(!isset($_SESSION["login"])){
  12.  //session_destroy() or die("Erreur : impossible de détruire la session" ) ;
  13.  //redirige('../echec_authentification.php') ;
  14.  echo 'La session n\'est pas enregistrée !' ;
  15. }
  16. echo '3 :'.$_SESSION["login"] ;
  17. ?>


 
 
qui me retourne  
 
2 : La session n'est pas enregistrée !3 :
 
 
 
et voici le 2nd :

Code :
  1. <?php
  2. ///////////////////////////////////////
  3. // Gestion des sessions              //
  4. ///////////////////////////////////////
  5. // Continu la session
  6. echo '1 : '.$_SESSION["login"] ;
  7. session_start() ;
  8. //laisser car permet d'utiliser la fonction redirige juste apres
  9. require_once("../fonction.php" ) ;
  10. //Si la session n'est pas ouverte on redirige
  11. echo '2 : '.$_SESSION["login"] ;
  12. if(!isset($_SESSION["login"])){
  13.  //session_destroy() or die("Erreur : impossible de détruire la session" ) ;
  14.  //redirige('../echec_authentification.php') ;
  15.  echo 'La session n\'est pas enregistrée !' ;
  16. }
  17. echo '3 :'.$_SESSION["login"] ;
  18. ?>


 
qui me retourne (normal)
 
1 :  
Warning: Cannot send session cookie - headers already sent by (output started at /home/_jy/jultey/pub/www/jultey/admin/index.php:6) in /home/_jy/jultey/pub/www/jultey/admin/index.php on line 7
 
Warning: Cannot send session cache limiter - headers already sent (output started at /home/_jy/jultey/pub/www/jultey/admin/index.php:6) in /home/_jy/jultey/pub/www/jultey/admin/index.php on line 7
2 : La session n'est pas enregistrée !3 :


Message édité par jultey le 26-05-2004 à 22:26:09
Reply

Marsh Posté le 26-05-2004 à 22:28:56    

met un session_start() dans ton fonction.php voir [:meganne]

Reply

Marsh Posté le 26-05-2004 à 22:34:12    

chacal_one333 a écrit :

met un session_start() dans ton fonction.php voir [:meganne]


 
 
Non, toujours pas... ca ne change rien
 
 
2 : La session n'est pas enregistrée !3 :

Reply

Marsh Posté le 26-05-2004 à 22:35:12    

pu le temps ce soir vais dodoter :D

Reply

Marsh Posté le 26-05-2004 à 22:35:57    

Et en plus, ca me fout la merdouille de partout dans les autres pages...
 
Warning: Cannot send session cookie - headers already sent by (output started at /home/_jy/jultey/pub/www/jultey/debut_rep.php:10) in /home/_jy/jultey/pub/www/jultey/fonction.php on line 2

Reply

Marsh Posté le 26-05-2004 à 22:36:29    

chacal_one333 a écrit :

pu le temps ce soir vais dodoter :D


 
OK, bonne nuit, je vais chercher encore un peu ce soir moi...

Reply

Marsh Posté le 27-05-2004 à 08:49:09    

je crois avoir eu le meme problème
mets un session_start sur ta page d'authentification

Reply

Marsh Posté le 27-05-2004 à 09:01:07    

...et vérifie que tu n'as pas d'espace dans ton fichier fonction.php (vers la ligne 2 par exemple) !
 
Parce que le coup du "headers already sent" ça pourrait venir de là.

Reply

Marsh Posté le 27-05-2004 à 09:01:07   

Reply

Marsh Posté le 29-05-2004 à 17:58:23    

Je ne pense pas avoir d'espace au début de mon fichier fonction.php. Mais j'ai des caractères...  Voici le début :
 

Code :
  1. <?
  2. //creer un album photo
  3. function album_photo($chemin, $nb_case)
  4. {
  5. echo '<table border="0" cellspacing="1" cellpadding="4" class="grille" align="center">' ;
  6. //lectur
  7. ...
  8. ...


 
et si je mets session_start() au tout debut de mon ficher de fonction, j'ai "headers already send". (J'ai bien fait gaffe de ne pas mettre d'espace avant).
 
Et j'ai bien un session_start en debut de ma page d'authentification.
Voici le debut :
 

Code :
  1. <?
  2. session_start() ;
  3. ?>
  4. <? include("debut.php" ) ; ?>
  5. <?  include("cours_exec.php" ) ;
  6. include("connexion_bdd.inc" ) ;
  7. /////////////////////////////////
  8. // on recupere les variables : //
  9. ...
  10. ...

Reply

Marsh Posté le 29-05-2004 à 18:14:58    

Alors la, je comprends plus rien...
Je viens de faire le test avec Mozilla -> Ca marche !
Et avec IE -> Ca marche pas !
 
Pourtant, PHP c'est coté serveur !?!
Peut-etre un problème dans la façon que les navigateurs utilisent pour envoyer les données au serveur ?
 
J'comprends plus rien :-(

Reply

Marsh Posté le 30-05-2004 à 13:22:35    

Les sessions peuvent suivies via des cookies.

Reply

Marsh Posté le 30-05-2004 à 14:10:06    

Tu veux dire que je devrais utiliser des cookies ? Ou que IE gère mal les cookies ?

Reply

Marsh Posté le 02-06-2004 à 13:49:52    

Personne n'a une idée pourquoi mes sessions marchent sous Mozilla mais pas sous Internet Explorer ?

Reply

Marsh Posté le 02-06-2004 à 14:44:22    

Ben configurtion de tes navigateurs : IE accepte pas les cookies alors que Mozilla le fait.
 
Les sessions peuvent, avec php, être "stockées" un peu comme des cookies. Mozilla permet de refuser les cookies classiques et d'accepter les cookies de session (si je ne m'abuse), IE accepte ou refuse le tout (si je ne me gourre).

Reply

Marsh Posté le 03-06-2004 à 14:28:22    

deliriumtremens a écrit :

Ben configurtion de tes navigateurs : IE accepte pas les cookies alors que Mozilla le fait.
 
Les sessions peuvent, avec php, être "stockées" un peu comme des cookies. Mozilla permet de refuser les cookies classiques et d'accepter les cookies de session (si je ne m'abuse), IE accepte ou refuse le tout (si je ne me gourre).


 
Ben je pense qu'effectivement ça doit être ca... car :
sur mon ordi avec IE : ca NE marche PAS
sur mon ordi avec Mozilla : ca marche
sur un autre ordi avec IE : ca marche
 
Donc c'est mon IE qui doit merder... Je regarderai si j'ai pas un truc de coché par défaut qui fait que...
Mais c'est bizarre, car je n'ai jamais rencontré ce problème avec d'autre site web...


Message édité par jultey le 03-06-2004 à 14:28:48
Reply

Marsh Posté le 17-06-2004 à 21:21:11    

Peut être que je ne me tiens pas vraiment au courant mais le session_register est facultatif maintenant ?? on peut directement mettre $_SESSION["variable"]=valeur ??
 
et dire que je faisait un truc du genre:
<?
session_start();
$a=valeur;session_register("a" );
?>

Reply

Sujets relatifs:

Leave a Replay

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