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 :

Probleme d'Undefined index


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut Probleme d'Undefined index
    bonjour,

    Je suis en train de développer une page de connexion avec stockage dans une session mais le problème est que je n'arrive pas à récupérer une variable après redirection. Lorsque j'affiche la variable session sur la page dans laquelle elle est créée (login.php) elle s'affiche, après redirection sur index.php, la variable est undefined...
    Comme un bout de code vaut mieux qu'un long discourt...

    Page index.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <?php
      ob_start();
      session_start();
       if(isset($_SESSION['token'])){//<--- pas défini (même si elle devrait l'etre)
        if($_SESSION['token'] != md5('fingerprint'.$_SERVER['HTTP_USER_AGENT'])){
          session_destroy();
          header('location: ./login.php');
        }
      }else{//fin de test session
          echo 'pas ok<br>';
          echo $_SESSION['token']; //<----- là, il me met undefined index.
          //header('location: ./login.php');
      }
    //le contenu de la page en dessous
    echo 'lol';
    ob_end_flush();
    ?>
    Page login.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
          <?php
          session_start()
          .....
     
     
          if(($infos = $requete->fetch()) !== false){
            //on défini les variables de session.
            session_regenerate_id();
            $_SESSION['token'] = md5('fingerprint'.$_SERVER['HTTP_USER_AGENT']);
            $_SESSION['id_utilisateur'] = $infos['id_utilisateur'];
            $_SESSION['email_utilisateur'] = $infos['email_utilisateur'];
            $requete->closeCursor();
            header('location: ./index.php');
          }else{
          .....
    quelqu'un pourrait-il m'aider s'il vous plait?
    Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

    - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre

  2. #2
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Points : 160
    Points
    160
    Par défaut
    Juste comme ca, pourquoi "!==" ??? dans login.php... c'est la valeur de la boolean que tu vérifie pas le type... le "!=" suffit amplement...

    "==" et "!=" égalité et différence de valeur
    "===" et "!==" égalité et différence de valeur et de type (ou dans le cas de la différence)

    techniquement une variable peut avoir la valeur false, mais ne peux être false...

    C'est le genre d'opérateur qu'on utilise plus communément en POO pour vérifier par exemple si on a bien 2 objets identique et non semblable (valeur et type identique... donc un réplication exacte de notre instance par exemple)

    vu que ta comparaison n'abouti pas, ta page login ne crée aucune de tes session normalement...

  3. #3
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    C'est gentil mais non, ce n'est pas ça étant donne que si, mes variables sessions sont générées et correctement affichées dans la page login.php ( j'ai mi le header(location) en commentaire pour debuguer, je ne disnpas ça sans avoir testé) mais que si je decommente la ligne et que jeredirige l'utilisateur sur index.php; alors la, les variables sessions sont undefined.
    Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

    - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre

  4. #4
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    Personne ne pourrait m'aider?

    Je suis bloqué

    J'ai refais un test simple...

    login.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    session_start();
    $_SESSION['token'] = md5('lol');
    echo $_SESSION['token']; // m'affiche correctement la variable si je commente la redirection
    header('location: ./index.php');
    ?>
    index.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    session_start();
    echo $_SESSION['token'];//là, ça bloque et "undefined index"
    ?>
    A l'aide
    Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

    - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre

  5. #5
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Points : 160
    Points
    160
    Par défaut
    tu as vérifié les configurations de php au niveau des sessions? et essayé sur un autre serveur???

  6. #6
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    Qu'entends tu pars configuration php?

    Je ne sais pas réellement vers quoi chercher, j'ai regarder un peu "php settings" et "php modules" mais rien qui se rapproche de session...

    Peux-tu être plus clair s'il te plaît?
    Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

    - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre

  7. #7
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Points : 160
    Points
    160
    Par défaut
    fait un fichier php info genre info.php

    et dedans seul code
    Ensuite affiche cette page et tu as toutes les configurations de ton php...

    colone de gauche, ta config, colone de droite, config par défaut "généralement utilisé de base"
    A 2 3 détails prés

    Ensuite regarde tes configuration concernant tes sessions / cookie sur le serveur...

  8. #8
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    Je ne sais absolument pas quoi regarder...

    Tout ce que je vois cest auto_start off mais vu que je fais session_start()...

    Session Support enabled
    Registered save handlers files user
    Registered serializer handlers php php_binary wddx

    Directive Local Value Master Value
    session.auto_start Off Off
    session.bug_compat_42 On On
    session.bug_compat_warn On On
    session.cache_expire 180 180
    session.cache_limiter nocache nocache
    session.cookie_domain .eco-poules.com no value
    session.cookie_httponly Off Off
    session.cookie_lifetime 0 0
    session.cookie_path / /
    session.cookie_secure Off Off
    session.entropy_file no value no value
    session.entropy_length 0 0
    session.gc_divisor 1000 1000
    session.gc_maxlifetime 1440 1440
    session.gc_probability 1 1
    session.hash_bits_per_character 5 5
    session.hash_function 0 0
    session.name PHPSESSID PHPSESSID
    session.referer_check no value no value
    session.save_handler files files
    session.save_path c:/wamp/tmp c:/wamp/tmp
    session.serialize_handler php php
    session.use_cookies On On
    session.use_only_cookies On On
    session.use_trans_sid 0 0
    (en tout cas, merci de te pencher sur mon cas )
    Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

    - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre

  9. #9
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    AAHHH, bonne nouvelle, ça marche (enfin, presque)

    Mais...

    J'ai créé un nouveau dossier dans wamp (c:/wamp/www/test)

    Et là, il me chope la session après redirection.

    Et j'ai pu voir une différence entre les deux session.cookie_domain

    l'un est à "no value" (dir test) l'autre est à ".eco-poules.com"

    Ca serait du à ça?
    Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

    - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre

  10. #10
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    Résolu.

    Le problème se trouvait dans le .htaccess:

    php_value session.cookie_domain ".eco-poules.com"

    Juste supprimé la ligne. Ca venait donc bien du cookie_domain.


    Merci Ze AzAr de m'avoir mis sur la piste!
    Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

    - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre

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

Discussions similaires

  1. probleme d'Undefined index
    Par ottoayoub dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 05/05/2009, 18h22
  2. Undefined index
    Par sebduduf dans le forum Langage
    Réponses: 5
    Dernier message: 02/11/2005, 12h13
  3. Erreur de "Undefined index" sur HTTP_REFERER
    Par guy2004 dans le forum Langage
    Réponses: 4
    Dernier message: 12/10/2005, 12h21
  4. Probleme définition d'index sous Paradox
    Par zinaif dans le forum Bases de données
    Réponses: 3
    Dernier message: 01/06/2005, 10h38
  5. Paradox:Probleme avec les index
    Par byte dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/01/2005, 16h08

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