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 :

Message d'erreur à cause d'une session : inconnu


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Points : 28
    Points
    28
    Par défaut Message d'erreur à cause d'une session : inconnu
    bonjour
    j'utilise php et mysql
    j'ai une partie de mon site dont l'acces est protegé par mot de passe (partie accessible uniquement pour les adherents) et une autre partie protégée pour l'administrateur (petite precision qui a peut etre son importance (??) la partie d'administration se trouve à l'interieur de la partie adherent). j'utilise des sessions apres chaque identification.(les sessions ne portent pas le meme nom)
    Quand je m'identifie en tant qu'adherent tout va bien mais quand je m'identifie en tant qu'admin tout fonctionne (identification + session) mais j'ai ce mesage qui apparait sur ma page surlaquelle est redirigé l'administrateur:
    "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"
    je ne sais pas quoi faire pour remedier a ca
    merci de m'aider

  2. #2
    Membre confirmé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Points : 632
    Points
    632
    Par défaut
    quelle est la version de PHP utilisée ?

  3. #3
    Membre confirmé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Points : 632
    Points
    632
    Par défaut
    Citation Envoyé par Warning
    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"

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Points : 28
    Points
    28
    Par défaut
    j utilise php4 mais ce qui m'etonne c'est que je n'ai pas ce message en ouvrant la session d'un adherent mais uniquement avec une session admin

  5. #5
    Membre confirmé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Points : 632
    Points
    632
    Par défaut
    j'ai plusieurs questions à te poser :

    comment détermines-tu les droits des utilisateurs ?
    comment détermines-tu ce qui doit être ouvert selon les droits ?
    est-il possible d'avoir le code source ? (s'il n'est pas trop lourd)

  6. #6
    Membre confirmé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Points : 632
    Points
    632
    Par défaut
    Citation Envoyé par recherche google
    [full error message:
    "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
    ."
    ]

    The following short script causes the bug_compat_42 warning to appear.

    <?php
    session_start();
    $_SESSION['var'] = NULL;
    $var = "foo";
    ?>

    It took me an hour to find out this :-( - so I post it here to avoid
    that more people need such a long time.

    Conclusion and test results:

    You'll get this warning if $_SESSION['var'] contains NULL and you assign
    anything (except NULL) to the global variable $var.

    The warning will _not_ appear:
    - if $_SESSION['var'] contains anything else - or -
    - if you don't use a global variable named $var
    en gros, c'est la variable de session nommée var qui contient NULL... dans ce cas.
    ou une globale nommée $var
    Est-ce ton cas ?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Points : 28
    Points
    28
    Par défaut
    voici ma session

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    session_start();
    if(!isset($_SESSION['login'])) 
    	{
    	echo '<center><img src="../images/ponctuation.gif"></center><br/>';
      echo '<center><font color="#ff0000">Vous tentez d\'entrer dans la zone d\'administration du site, <br/> cher Webmaster tu dois t\'identifier</font></center><br/>';
      include('login.html');
      exit;
      	}
    ?>
    Petite precision c'est le site d'une asso avec pas d'inscription possible pour (et par) de nouveaux adherents (seul l'admin peut le faire par le biais de requetes), disons que la base est definitive
    J'ai une partie du site (la partie protegee) dans un dossier et la partie admin est un dossier dans ce dossier protégé
    Les droits utilisateurs sont accordes apres verification de l'existance du nom et prenom et verfication du mot de passe correspondant ds une bdd (idem pour la partie admin)
    je pense que mon erreur n'est pas grosse mais je sais pas ou elle est ...la bourrique

  8. #8
    Membre confirmé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Points : 632
    Points
    632
    Par défaut
    cf mon message précédent, est-ce ce cas ?

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Points : 28
    Points
    28
    Par défaut
    Mis a part ce message la session en elle meme fonctionne

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Points : 28
    Points
    28
    Par défaut
    pour les verif j ai 3 pages voici le code qui genere le message
    - un formulaire
    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
    <form action="login.php" method='post' >
    <table align="center" border="1"   >
      <tr >
        <td bgcolor="#FFFFFF" >&nbsp;Nom : </td>
        <td bgcolor="#FFFFFF"><input type="text" name="login" maxlength="30" /></td>
      </tr>
      <tr >
        <td bgcolor="#FFFFFF"> &nbsp;Password : &nbsp;</td>
        <td bgcolor="#FFFFFF"><input type="password" name="password" maxlength="30" /></td>
      </tr>
      <tr>
        <td colspan="2" align="center" ><br /><input type="submit" value="Envoyer" />&nbsp;&nbsp;</td>
      </tr>
    </table>
    <br /><br />
    Si vous n'êtes pas l'administrateur de ce site ...<input type="button" value="Annuler" onclick="window.close()" />
    </form>
    -une page de verif
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <?php
     
    mysql_connect("localhost", "root", ""); // Connexion à MySQL
    mysql_select_db("eetg"); // Sélection de la base eetg
     
     
    if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['password'])) {
      extract($_POST);
      // on recupère le password de la table qui correspond au nom du visiteur
      $sql = "select password from membres where nom='admin'";
      $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
      $data = mysql_fetch_assoc($req);
     
      if($data['password'] != $password) {
      echo '<center><img src="../images/ponctuation.gif"></center><br/>';
        echo '<center><p><font color="#ff0000">Vous essayez d\' accéder à la zone d\'administration du site, êtes vous sûr d\'être au bon endroit ? <br/>
    	Il y a une erreur dans le Nom ou le Mot de passe ! <br/> Merci de recommencer .</font></p></center>';
        include('login.html'); // On inclut le formulaire d'identification
        exit;
      }
      else {
        session_start();
        $_SESSION['login'] = $nom;
         echo 'Bienvenue cher Administrateur   <br/>';
    	echo 'Clique  &nbsp;<a href="webmaster.php">ici</a>&nbsp; pour accéder à ta page privée';// ici  lien pour renvoyer vers l'index de la zone administrateur 
      }    
    }
    else {
      echo '<p>Tu as oublié de remplir un champ.</p>';
       include('login.html'); // On inclut le formulaire d'identification
       exit;
    }
     
     
    ?>
    -une page d'ouverture de sesion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    session_start();
     
    /* 
    si la variable de session login n'existe pas cela siginifie que le visiteur 
    n'a pas de session ouverte, il n'est donc pas logué ni autorisé à
    acceder à l'espace membres
    */
    if(!isset($_SESSION['nom'])) {
      echo '<center>Vous n\'êtes pas autorisé à accéder à cette zone</center>';
      include('login.html');
      exit;
    }
    ?>
    mais je ne vois de valeur nulle nul part

  11. #11
    Membre confirmé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Points : 632
    Points
    632
    Par défaut
    tu as essayé d'isoler l'erreur ? c'est quelle ligne qui génère le message ?

    -edit- essaie aussi d'afficher tes variables de session, juste pour voir

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Points : 28
    Points
    28
    Par défaut
    bien Commodore_Psykopate la photo sur ton site !!

  13. #13
    Membre confirmé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Points : 632
    Points
    632
    Par défaut
    lol, je viens juste de la mettre...

    mais il serait certainement mieux pour ceux qui nous lisent de mettre ce hors sujet par MP je crois...

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Points : 28
    Points
    28
    Par défaut
    certe mais comme tu mets le lien a dispo...desolé

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Points : 28
    Points
    28
    Par défaut
    je crois que ma solution se trouve ds le php.ini puisque quand je fais phpinfo je vois que les valeurs confirment ce que dis le message mais le temps que je trouve les bonne ligne...je serai vieux !! J'aime pas rentrer ladedans c 'est chiant je trouve

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Points : 28
    Points
    28
    Par défaut
    alors voila mes lignes
    Initialize session on request startup.
    session.auto_start = 0

    session.bug_compat_42 = 1
    session.bug_compat_warn = 1

    ne devrais je pas remplacer les valeurs 0 par 1 et les 1 par 0 ? j'ai essayé mais quand je relance phpinfo je ne vois pas le changement ??

  17. #17
    Membre confirmé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Points : 632
    Points
    632
    Par défaut
    as-tu essayé d'afficher les variables de SESSION avant la ligne où se produit l'erreur ?

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Points : 28
    Points
    28
    Par défaut
    si quelqu'un a une idee...j ai peur de faire des conneries et je ne suis pas sur que ce soit bien ca qu'il y ait a faire

Discussions similaires

  1. bloquer un message d'erreur lié a une macro
    Par db48752b dans le forum Access
    Réponses: 11
    Dernier message: 21/09/2006, 12h28
  2. Unlock des enreg lockés sous une session inconnue
    Par Maglight dans le forum Oracle
    Réponses: 7
    Dernier message: 16/02/2006, 11h36
  3. Unlock des enreg lockés sous une session inconnue
    Par Maglight dans le forum Bases de données
    Réponses: 1
    Dernier message: 15/02/2006, 16h44
  4. [C#] Message d'erreur vide dans une replication et rda
    Par Roach- dans le forum Windows Forms
    Réponses: 25
    Dernier message: 05/04/2005, 15h19
  5. [debutant][servlet]erreur causée par une listBox
    Par omega dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/03/2004, 10h53

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