IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Mes variables de session ne sont pas conservées


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 33
    Points : 32
    Points
    32
    Par défaut Mes variables de session ne sont pas conservées
    Bonjour,

    J'utilise une variable de session dans un fichier index.phtml comme suivant:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $a=$_GET['i'];
    $_SESSION['map']=$a;
    require_once ("properties.inc");
    je récupère la variable $i via l'URL en GET, ensuite grâce au require_once j'appel une page properties.inc qui utilise la variable de session.

    Le problème c'est que si j'essaye d'utiliser cette variable de session dans une tiers page, ça ne fonctionne pas et un test avec isset() me renvoie false.
    Ma variable de session ne fonctionne donc pas. Pourtant ds chaque script qui utilise $_SESSION['map'], je place bien session_start();

    Problème de conf du php.ini???

    Comment interpréter cette erreur:

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    Ca veut dire que tu as deja écrit quelque chose avant de créer ta session. (comprendre que tu as deja envoyé des données vers le navigateur).

    A notre que le session_start() doit etre placé avant toute écriture (meme un espace). En gros comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    session_start();
    ....
    A notre aussi, car je ne sais pas si tu l'as fait, que tu n'as pas besoin de remettre un session_start() dans properties.inc vu que tu l'as deja fait avant le require.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 33
    Points : 32
    Points
    32
    Par défaut
    ok pour le message d'erreur.
    Seulement ça ne résoud pas mon problème de tiers page qui ne veut pas reconnaître la variable de session...

  4. #4
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Ben ca dépend si tu as corrigé l'erreur de header deja?
    si non, c'est normal puisqu'il ne crée pas la session il ne risque pas de la reconnaitre dans les autres scripts

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 33
    Points : 32
    Points
    32
    Par défaut
    Bien sur j'ai corrigé cette erreur!!!

    voilà le script de ma première page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php session_start();?>
    <?php
    $a=$_GET['i'];
    $_SESSION['map']=$a;
    require_once ("properties.inc");
    require_once ("try.php");
    dans mon properties.inc j'utilise la variable de session
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php $properties["winMapFile"]="C:/apache2/htdocs/veremap_brg/map_brg/".$_SESSION['map'].".map";?>

    et un tiers fichier utilise le properties .inc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php session_start();?>
    <?php
    if(isset($_SESSION['map'])){
    echo "ok";} else{
    echo "no ok"}
    require_once ("properties.inc");
    Seulement ce fichier ne reconnaît pas la variable de session et renvoie "no ok".

    Je me fais comprendre ou bien?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 33
    Points : 32
    Points
    32
    Par défaut solution
    Dans toutes les situations, il ya une solution...

    Bon je ne sais pas si ça interessera quelqu'un, mais je me suis dépatouiller de ce foutu bourbier...
    J'avais hommis de parler des frames que j'utilise dans mon appli...D'où mon problème de transmission de session...

    POur faire cour, quand utilisation de frame il faut passer les variables de cette façon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <iframe src="frame.php?post=$_POST"></iframe>
    Ainsi dans le code de l'iframe, $_GET['post'] contiendrait tes variables $_POST dans l'array
    Voilà, sinon pas possible de transmettre une variable de session de page en page. Voilà pourquoi dans ma troisième page je ne pouvais pas utiliser ma variable de session...
    Merci à ceux qui ont répondu...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 17
    Dernier message: 27/02/2014, 10h15
  2. Réponses: 4
    Dernier message: 21/09/2013, 18h06
  3. [Firefox 2] Mes réglages ne sont pas conservés
    Par al1_24 dans le forum Firefox
    Réponses: 1
    Dernier message: 05/03/2007, 14h12
  4. Réponses: 7
    Dernier message: 21/07/2006, 14h51
  5. ZoneAlarm bloque mes variables de session PHP en local
    Par GritNatz dans le forum Sécurité
    Réponses: 3
    Dernier message: 24/06/2006, 14h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo