Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1204 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°740772
jultey
Posté le 26-05-2004 à 22:12:43  profilanswer
 

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
mood
Publicité
Posté le 26-05-2004 à 22:12:43  profilanswer
 

n°740782
Profil sup​primé
Posté le 26-05-2004 à 22:17:13  answer
 

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

n°740786
jultey
Posté le 26-05-2004 à 22:24:30  profilanswer
 

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
n°740792
Profil sup​primé
Posté le 26-05-2004 à 22:28:56  answer
 

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

n°740800
jultey
Posté le 26-05-2004 à 22:34:12  profilanswer
 

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 :

n°740802
Profil sup​primé
Posté le 26-05-2004 à 22:35:12  answer
 

pu le temps ce soir vais dodoter :D

n°740803
jultey
Posté le 26-05-2004 à 22:35:57  profilanswer
 

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

n°740805
jultey
Posté le 26-05-2004 à 22:36:29  profilanswer
 

chacal_one333 a écrit :

pu le temps ce soir vais dodoter :D


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

n°740986
urd-sama
waste of space
Posté le 27-05-2004 à 08:49:09  profilanswer
 

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

n°740995
deliriumtr​emens
sic transit intestinal...
Posté le 27-05-2004 à 09:01:07  profilanswer
 

...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à.

mood
Publicité
Posté le 27-05-2004 à 09:01:07  profilanswer
 

n°744797
jultey
Posté le 29-05-2004 à 17:58:23  profilanswer
 

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. ...

n°744809
jultey
Posté le 29-05-2004 à 18:14:58  profilanswer
 

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

n°745191
KrisCool
“Verbeux„
Posté le 30-05-2004 à 13:22:35  profilanswer
 

Les sessions peuvent suivies via des cookies.

n°745215
jultey
Posté le 30-05-2004 à 14:10:06  profilanswer
 

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

n°748803
jultey
Posté le 02-06-2004 à 13:49:52  profilanswer
 

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

n°748889
deliriumtr​emens
sic transit intestinal...
Posté le 02-06-2004 à 14:44:22  profilanswer
 

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).

n°750749
jultey
Posté le 03-06-2004 à 14:28:22  profilanswer
 

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
n°768061
Johan
Posté le 17-06-2004 à 21:21:11  profilanswer
 

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" );
?>


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

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

 

Sujets relatifs
mozilla - espacement vertical de span/div [raisolu]Isnumeric: voilà une fonction qui parait bien !?
définir une fonction dans une application MFCutiliser une variable globale dans une fonction? [résolu]
JDBC PostGreSQL, insertions de PL/PGSQL trigger et fonction marche pas[J2ME] affichage d'un document dans un navigateur Palm ?
pb avec la fonction is_file()Recherche de la fonction [url=http://...etc...]descrip[ /url]
[PHP] Chercher un caractère dans une chaine... Quel fonction ? 
Plus de sujets relatifs à : $_SESSION Ne marche pas en fonction du navigateur (IE et Mozilla)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR