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

EDI, CMS, Outils, Scripts et API PHP Discussion :

EasyPHP et les sessions


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre actif Avatar de leodi
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Points : 224
    Points
    224
    Par défaut EasyPHP et les sessions
    (Re)Bonjour à tous,

    J'ai un problème avec easyphp et les sessions (euh oui encore), lorsque je charge ma page où il les enregistre et que je fait un test juste après, genre ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $variable="variable_test";
    $_SESSION['variable'] = $variable;
    echo $_SESSION['variable'];
    echo"<br /> <a href=\"accueil.php\">Continuer</a>";
    Il m'affiche : "variable_test", donc ca marche, sauf que quand je clique sur le lien pour continuer, et que sur la page accueil.php je lui demande d'écrire ma variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?
    session_start();
    echo $_SESSION['variable'];
    ?>
    J'obtiens : Notice: Undefined index: variable in ...

    NB : ce script fonctionne sur free, mais pas en local.
    J'ai comparé la config de free et du serveur local sur les sessions, et ils sont identiques (sauf pour le chemin d'enregistrement).

    Donc si quelqu'un a eut le même problème et qu'il a trouvé la solution

    Merci !

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    pas eu le même problème, mais
    • il m'a semble que dans certains cas php confond $_SESSION['abc'] et $abc. C'est pourquoi, maintenant et systématiquement, je fais $_SESSION['abc_bis'] = $abc;
    • as-tu bien mis session_start() tout au début de ta page ?

  3. #3
    Membre actif Avatar de leodi
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Points : 224
    Points
    224
    Par défaut
    Oui, sur la première et sur la seconde.

    Le truc c'est que la session ne se conserve pas lors d'un changement de page. J'ai regardé dans le dossier de mes sessions et elles y sont toujours, ce qui veut dire que quand j'appelel ma nouvelle page, il stop la session ?

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    non ce n'est pas normal. quand tu charges une nouvelle page, il garde la session ouverte. c'est tout l'intérêt des sessions, à savoir de pouvoir transférer des variables d'une page à l'autre.

    Sauf bien sûr si tu as fermé ton navigateur entre deux.

    A moins que quelque part dans ton code tu n'aies une instruction de fermeture de session

    La je sèche. Peut-être as-tu un problème de configuration de php en local, mais je n'y connais rien. Parce que ton code me paraît bon.

    Tu as bien session_start dans la page de départ ?

  5. #5
    Membre actif Avatar de leodi
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Points : 224
    Points
    224
    Par défaut
    Oui, j'ai bien mis session_start() au début de ma page, et le code fonctionne sur le net, donc c'est pour ca que c'est bizare :S
    Bon et bien je pense que je n'i plus que mes yeux pour pleurer, et être obligé de tout le temps uploader mes pages pour les tester :S
    En tout cas merci d'avoir esseyé d em'aider

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Salut,

    Je n'ai pas cherché très loin dans les docs disponibles sur l'origine de ce message, mais il y a au moins une posibilité de régler le problème (pas très élégant je pense, mais fonctionnel).

    Le message que tu reçois n'est pas une erreur réelle, juste un avertissement que quelque chose ne se passe pas normalement. Si tu veux stopper ces messages, tu peux jouer un peu avec la configuration php de easyphp:
    1 / Clic droit sur le logo easyphp dans la barre de lancement rapide, puis configuration > php
    2 / Recherche "error_reporting = E_ALL" dans le fichier de configuration (une ligne non commentée, qui ne commence pas par un ";")
    3 / Remplace "error_reporting = E_ALL" par "error_reporting = E_ALL & ~E_NOTICE". Cette ligne demande à php d'afficher tous les types d'erreurs sauf les notice.

    Une autre possibilité, plus élégante, est d'utiliser la fonction "error_reporting(E_ALL ^ E_NOTICE);" dans ton script (met le dans un fichier appelé en permanence genre ton fichier de session ou un index générique si tu en utilises un).

    J'espère que ca peut aider dans ton cas, tiens nous au courant.

Discussions similaires

  1. [EasyPHP] Activer les sessions sous EasyPHP
    Par kwzprtt dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 12/05/2007, 09h29
  2. Problème avec les sessions
    Par philippef dans le forum Langage
    Réponses: 2
    Dernier message: 27/10/2005, 15h19
  3. [Sessions] Les sessions multi-applications
    Par brazza dans le forum Langage
    Réponses: 4
    Dernier message: 13/10/2005, 17h53
  4. les sessions PHP
    Par smh_master dans le forum Langage
    Réponses: 4
    Dernier message: 31/08/2005, 14h13
  5. PB Réseau sur les sessions ouvertes ?
    Par nico___23 dans le forum Développement
    Réponses: 1
    Dernier message: 07/01/2005, 09h50

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