Message d'erreur incompréhenssible

Résolu
hack_net Messages postés 814 Statut Membre -  
 thierry -
Bonjour,

Voila. Sur une des page de mon site, le message d'erreur suivant apparait :

"Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0"

Qu'es-ce que cela signifit ?

Merci de votre aide.

PS: si vous voulez plus d'info sur les pages en questions, voyez ceci :http://www.commentcamarche.net/forum/affich 6304195 session php non securise
--
Bientot mon site: http://bordinfo.olympe-network.com , site consacré à l'informatique pour tous !
-----------------------------------------------------------------------------------------------------
"S'il on payait un impôt sur la connerie, alors l'état s'auto-financerait"
"La colère envers autrui reflète toujours la tristesse interne"
"La théorie, c'est quand on sait tout mais que rien ne marche, et la pratique c'est quand tout marche mais qu'on ne sait pas pourquoi."
Configuration: Windows XP
Firefox 2.0.0.14

4 réponses

  1. PhP Messages postés 1774 Statut Membre 606
     
    bSR

    non en fait je crois que c'est bien ça

    Si tu écris
    <?php
    session_start();
    $_SESSION['identifiant'] = $identifiant ;

    et que $identifiant n'est pas défini ca ne lui plaît pas .

    2
    1. shaihulkud-59-fr
       
      Bonjour,

      J'ai le même message d'erreur je suis en PHP5 sous linux (at home).

      Pour répondre à BSR
      *********************** bSR à écrit ******************************
      non en fait je crois que c'est bien ça

      Si tu écris
      <?php
      session_start();
      $_SESSION['identifiant'] = $identifiant ;

      et que $identifiant n'est pas défini ca ne lui plaît pas .
      *********************** Je répond ********************************
      écris plutot
      <?php
      session_start();
      if (isset($_SESSION['identifiant))
      { $_SESSION['identifiant'] = $identifiant ; }
      else {
      $_SESSION['identifant']="invité";
      $identifiant = "invité";
      }
      **********************************************************************
      Dans mon php.ini

      session.bug_compat_42 = 1
      session.bug_compat_warn = 1

      J'ai mis


      session.bug_compat_42 = 0
      session.bug_compat_warn = 1

      Et plus d'erreur.

      Cordialement
      0
    2. xavmess
       
      sur les pages ou apparait l'erreur ajoute ca

      <?php
      ini_set ('session.bug_compat_42', 0);
      ini_set ('session.bug_compat_warn', 0);
      ?>
      0
    3. thierry
       
      Ini_set Ca a fonctionné sur les pages avec des post

      Merci a vous. J'ai galéré avec ce message
      0
  2. Smoking bird Messages postés 911 Statut Membre 58
     
    Tu passes par des variables de sessions, j'ai l'impression que y'a un problème avec ton fichier de configuration de php. Si tu veux faire un accès privatisé à ton site, tu peux utiliser des cookies plus simplement, ton fichier php te fera pas chier^^
    0
    1. hack_net Messages postés 814 Statut Membre 51
       
      Salut !
      Je ne suis pas contre toi, mais quelqu'un m'a conseillé exactement l'inverse (de ne pas faire de cookie mais session)

      Quelqu'un as-t-il une réponses svp?
      0
      1. Smoking bird Messages postés 911 Statut Membre 58 > hack_net Messages postés 814 Statut Membre
         
        pas de soucis ;)

        Okay, j'ai mieux lu le message
        Il te conseil d'activer la ligne register_globals de ton php ini, estimant que l'erreur provient probablement d'un effet secondaire de l'utilisation des sessions, un problème de données en fait. Tu as accès à ton php ini? Et au fait, pourquoi est-ce qu'on t'a déconseillé les cookies? que j'fasse plus de bourdes avec :D
        0
  3. PhP Messages postés 1774 Statut Membre 606
     
    Bsr

    Non laisse le paramètre register_global sur off ! Tu risques autrement des failles de sécurité

    Pour ton message en effet c'est bizarre et l'explication qui en est donnée sur le web encore plus : pas un exemple n'explique concrêtement de quoi il s'agit

    Tu as quelle version de php ?

    Pour supprimer l'erreur il semblerait que tu doivent mettre
    session.bug_compat_42 et session.bug_compat_warn sur off (0) dans php.ini

    Je peux pas te garantir que ca fonctionne dans la mesure où je n'arrive pas à reproduire une telle erreur.

    Evidemment si tu n'héberges pas toi même le serveur tu ne pourras pas le faire
    0
  4. Ero_leTouriste
     
    saloute, j'ai le même problème (assez rare apparement) .

    Concernant mon code, j'ai juste changé une ligne, au debut de ma page en dessous de la session_start(), je déclarai ma variable de session comme cela :

    $_SESSION['identifiant'] = $identifiant ;

    et bien sûr le jolie message d'erreur apparaissait.

    [ je tient a préciser que je me sert d'un POST plus bas dans mon code réutilisant cette variable ou c'est plutot la session qui exploitera ma variable en fait^^... bref]

    j'ai donc remplacer instinctivement $identifiant( et je suis au stade ou je me demande si c'est pas de la bidouille):

    et sa me donne > $_SESSION['identifiant'] = $_POST['identifiant'] ;

    Sa fonctionne et le message d'erreur à disparue, après comme jte disais, c'est peut-etre de la bidouille...

    Voilou, saloute à tous
    0