begin process at 2012 05 31 19:22:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Variables de session IE et Firefox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Variables de session IE et Firefox

lundi 15 décembre 2008 à 15:16:50 | Variables de session IE et Firefox

aquanovax

Bonjour !

Je rencontre un problème ces derniers jours, depuis que je suis apssé sur firefox 3.

J'utilise pour le site que je développe actuellement des variables de session pour stocker certaines informations sur les utilisateurs. Tout allait bien avec l'ancienne version de Firefox, mais avec la nouvelle les variables de session ne sont pas accessibles depuis certaine pages (Ce qui est d'autant plus étrange) ! J'ai bien vérifié l'ouverture de la session sur chaque pages. Aucune variable GET ou POST possédant un nom identique.

Je n'ai pas ce problème avec IE7. Firefox est configuré pour accepter les cookies.

Voici le début du code de la page qui pose problème :

<?php
    session_start();
   
    if(isset($_GET['file']) and is_numeric($_GET['file'])){
            if(isset($_SESSION['user']['id'])){               /// Ici $_SESSION est vide sur Firefox, mais ne l'est pas sur la page appelante...
                ...
            }
    }
...

Auriez-vous une idée de la source du problème ?

Merci
lundi 15 décembre 2008 à 17:41:21 | Re : Variables de session IE et Firefox

kohntark

Membre Club
Salut,


Tu peux nous mettre le code de $_SESSION['user']['id'] ?


Kohntark -

lundi 15 décembre 2008 à 18:02:35 | Re : Variables de session IE et Firefox

aquanovax

Alors je ne suis pas sur d'avoir bien compris, dans le doute je post tout.

Voila comment je définis les variables de session lors du login d'un utilisateur :
$_SESSION['user']['id']            = $data02['id']; /// Récupération des entrées dans la BDD
$_SESSION['user']['email']        = $data02['email'];
$_SESSION['user']['name']        = $data02['name'];
$_SESSION['user']['forname']    = $data02['forname'];
$_SESSION['user']['nbrOrder']    = $data02['nbr_of_order'];
$_SESSION['user']['activated']    = $data02['activated'];

$_SESSION['user']['id'] contient toujours un nombre : l'id de l'utilisateur dans la BDD.

J'arrive à accéder à ces variables après. Sauf sur 2 pages... Les 2 pages sur les quelles je n'arrive pas à accédé à ces variables sont appelé via javascript. -> window.open(URL);

Exemple contenu de $_SESSION['user']['id'] avant d'apellé une de ces 2 pages (Firefox) :
echo $_SESSION['user']['id'];    =     21            // Valeur correcte
Contenu sur 1 de ces 2 pages apellées (Firefox) :
echo $_SESSION['user']['id'];    =
isset($_SESSION['user']['id']);    =   false
Avec IE le contenu de $_SESSION['user']['id'] vaut bien 21 après l'apelle de l'une de ces pages...

De plus j'ai remarqué que l'id de la session n'est plus le même sur Firefox :
Avant : bb80df1905e664720db9675aa00f2dca
Après : 45ba53b03de7ca6a56839b027e679118
Sur IE :
Avant : 0bf2e3d93d0a67d0c4977d17c00d810a
Après : 0bf2e3d93d0a67d0c4977d17c00d810a

Voila. J'éspère que j'ai été claire. Si tu veux des éclaircissements sur certains points n'hésite pas à me demander !
Merci @+



lundi 15 décembre 2008 à 19:06:29 | Re : Variables de session IE et Firefox

kohntark

Membre Club
Heu ....

Peux tu indiquer :
     le code qui contient window.open(URL); et celui définissant URL
     le code de la page URL (jusqu'à la variable de session qui n'est pas définie)
     comment sont passés les identifiants de session (par url ou par cookie ?)


Cordialement,


Kohntark -

lundi 15 décembre 2008 à 22:17:42 | Re : Variables de session IE et Firefox

aquanovax

Re, voici les réponses aux questions que tu m'as posé :

Le code javascript :

function OpenURL(URL, newWindow){
    if( newWindow == 1 ){
        window.open(URL);
    }else{
            location.href=URL;
    }   
}

Je passe l'url de la page en paramètre. (Chemin absolu)

Le code de la page que je veux ouvrir :

<?php
    session_start();
   
    if(isset($_GET['file']) and is_numeric($_GET['file'])){
   
        /// Si je fais echo session_id(); ici, l'id diffère de l'id de la page appelante ! (voir mon ancien post)

        include('conexion.php');
        include('functions.php');
       
        connexion( "localhost", "USER", "PASSWORD", "TABLE");
       
        $req01 = "SELECT * FROM lesson WHERE id='".$_GET['file']."'";
        $data01 = mysql_fetch_array(mysql_query($req01));

        if($data01['free'] == 1){       
            if(isset($_SESSION['user']['id'])){                                            ///  Ici le tableau $_SESSION['user'] n'existe pas sous Firefox
                IncStat('num_view', $_GET['file']);
                DisplayPDF($data01['path'], $_GET['file']);
            }else{
                DisplayErrorHTML(18);
            }
        }else{
            if(CheckRights($_SESSION['user']['id'], $_GET['file'])){      ///  Ici le tableau $_SESSION['user'] n'existe pas sous Firefox
                IncStat('num_view', $_GET['file']);
                DisplayPDF($data01['path'], $_GET['file']);
            }else{
                DisplayErrorHTML(1);
            }
        }
        mysql_close();
    }
?>

Quand aux identifiants de session, ils sont passés par cookies

Voila j'éspère que ceci t'aidera.
@+
mardi 16 décembre 2008 à 06:16:28 | Re : Variables de session IE et Firefox

kohntark

Membre Club
Réponse acceptée !
A priori je ne vois pas de raison pour que ça ne fonctionne pas.

Si tu mets juste ce code au tout début de ta page appelée, as tu des variables définies ?
<?php
    session_start();
    print_r($_SESSION);
    exit;
?>

Et si tu créé 2 pages dans le même rep :
1.php :

<script type="text/javascript">
function OpenURL(URL, newWindow){
    if (newWindow == 1) {
      alert (URL);
        window.open (URL);
    } else {
        location.href = URL;
    }  
}
</script>

<?php
session_start();
$_SESSION['test'] = 'machin';
?>

<input type="button" id="truc" onclick="OpenURL('2.php', 1);" value="test" />


et 2.php :
<?php
session_start();
print_r($_SESSION);
?>

Tu retrouves bien ta variable de session en cliquant sur test ?


Kohntark -

mercredi 17 décembre 2008 à 07:56:45 | Re : Variables de session IE et Firefox

aquanovax

Salut ! Tout d'abord excuse moi de n'avoir pas répondu hier mais j'ai eu une journée très chargé.

Bref j'ai commencé par afficher les variables de session comme tu me l'as demandé, et là bonne surprise elle étaient correctement définies. J'ai refait plusieurs tests et le problème ne se reproduit plus. C'est d'autant plus bizarre car je n'avais rien changé au code. Enfin bon tout fonctionne correctement ! Mais la source de ce problème reste obscure. Je te remercie pour l'aide que tu m'as fournis et valide ta dernière réponse !

Merci et @+


Cette discussion est classée dans : problème, variables, session, get, firefox


Répondre à ce message

Sujets en rapport avec ce message

Problème avec les variables de session [ par banzaichico ] Bonjour à tous,g un pti prob avec mes variables de session:quand je fais : FICHIER 1 :session_start();$theme= "mal";session_register('theme'):FICHIER problème avec la méthode get [ par nanou_01 ] Bonjour à tous. je fais appelle à tous ceux qui peuvent m'aider. j'ai un lien par lequel je souhaite faire passer plusieurs variables mais je n'y arr Firefox et les sessions - je cherche de l'aide !! [ par woody68 ] Bonjour à tous, Je développe depuis 15 jours un site d'e-commerce. Je teste en permanence ce site sur IE et sur Firefox et je viens de remarquer un p probleme de session(cookie) sous firefox [ par cassecroute ] bonjour, mon problème est que j'ai mon $_SESSION['auth'] qui se vide d'une page à une autre sous firefox. Mais sous ie, cela fonctionne très bien. M Problème session Firefox [ par Florynth ] Bonjour à tous,voilà mon problème.Je fais un panier d'achat pour un site et je stocke les produits dans un tableau , l'index du tableau et le numéro d Problème de session avec Firefox [ par Raboot ] Bonjour,Je travaille sur le développement d'un extranet en PHP, et j'ai un problème de session sous firefox alors que ca fonctionne sous IE (bizarreme onclick PHP [ par lamine11 ] Bonjour,Voici mon problème :j'ai une requette qui raméne des variables : $row[1],$row[2].......j'affiche ces variables dans tableau : sur le colonne s Problème undefined [ par micky781 ] Bonsoir, voilà je débute en php, j'ai un problème avec le code çi dessous que je n'arrive pas à résoudre ce bout de code marche à part que sur la page eviter double session? [ par agparchitecture ] Bonjour à tous, je suis en train d'implémenter une zone d'administration avec authentification par session. Le problème c'est que j'aimerais bien qu'u HELP PLEASE !!!! problème de panier... [ par frederic66 ] Bonjour,mon site a été redirigé sur un nouveau serveur qui utilise PHP4, MySQL - 5.0.51a-log. depuis, mon panier ne fonctionne plus correctement... on


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales