Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/08/2006, 11h28   #1
Candidat au titre de Membre du Club
 
Inscription : juillet 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 51
Points : 10
Points : 10
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:
Citation:
"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
michka999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 11h39   #2
Membre expérimenté
 
Avatar de Commodore
 
Inscription : février 2004
Messages : 601
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : février 2004
Messages : 601
Points : 539
Points : 539
quelle est la version de PHP utilisée ?
__________________
Moi, j'aime pas facebook.

Musiciens de France
Commodore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 11h40   #3
Membre expérimenté
 
Avatar de Commodore
 
Inscription : février 2004
Messages : 601
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : février 2004
Messages : 601
Points : 539
Points : 539
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"
__________________
Moi, j'aime pas facebook.

Musiciens de France
Commodore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 11h46   #4
Candidat au titre de Membre du Club
 
Inscription : juillet 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 51
Points : 10
Points : 10
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
michka999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 14h04   #5
Membre expérimenté
 
Avatar de Commodore
 
Inscription : février 2004
Messages : 601
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : février 2004
Messages : 601
Points : 539
Points : 539
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)
__________________
Moi, j'aime pas facebook.

Musiciens de France
Commodore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 14h07   #6
Membre expérimenté
 
Avatar de Commodore
 
Inscription : février 2004
Messages : 601
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : février 2004
Messages : 601
Points : 539
Points : 539
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 ?
__________________
Moi, j'aime pas facebook.

Musiciens de France
Commodore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 14h19   #7
Candidat au titre de Membre du Club
 
Inscription : juillet 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 51
Points : 10
Points : 10
voici ma session

Code :
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
michka999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 14h23   #8
Membre expérimenté
 
Avatar de Commodore
 
Inscription : février 2004
Messages : 601
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : février 2004
Messages : 601
Points : 539
Points : 539
cf mon message précédent, est-ce ce cas ?
__________________
Moi, j'aime pas facebook.

Musiciens de France
Commodore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 14h23   #9
Candidat au titre de Membre du Club
 
Inscription : juillet 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 51
Points : 10
Points : 10
Mis a part ce message la session en elle meme fonctionne
michka999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 14h29   #10
Candidat au titre de Membre du Club
 
Inscription : juillet 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 51
Points : 10
Points : 10
pour les verif j ai 3 pages voici le code qui genere le message
- un formulaire
Code :
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 :
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 :
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
michka999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 15h00   #11
Membre expérimenté
 
Avatar de Commodore
 
Inscription : février 2004
Messages : 601
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : février 2004
Messages : 601
Points : 539
Points : 539
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
__________________
Moi, j'aime pas facebook.

Musiciens de France
Commodore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 15h22   #12
Candidat au titre de Membre du Club
 
Inscription : juillet 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 51
Points : 10
Points : 10
bien Commodore_Psykopate la photo sur ton site !!
michka999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 15h27   #13
Membre expérimenté
 
Avatar de Commodore
 
Inscription : février 2004
Messages : 601
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : février 2004
Messages : 601
Points : 539
Points : 539
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...
__________________
Moi, j'aime pas facebook.

Musiciens de France
Commodore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 15h47   #14
Candidat au titre de Membre du Club
 
Inscription : juillet 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 51
Points : 10
Points : 10
certe mais comme tu mets le lien a dispo...desolé
michka999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 16h58   #15
Candidat au titre de Membre du Club
 
Inscription : juillet 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 51
Points : 10
Points : 10
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
michka999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 17h02   #16
Candidat au titre de Membre du Club
 
Inscription : juillet 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 51
Points : 10
Points : 10
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 ??
michka999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 09h20   #17
Membre expérimenté
 
Avatar de Commodore
 
Inscription : février 2004
Messages : 601
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : février 2004
Messages : 601
Points : 539
Points : 539
as-tu essayé d'afficher les variables de SESSION avant la ligne où se produit l'erreur ?
__________________
Moi, j'aime pas facebook.

Musiciens de France
Commodore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 12h39   #18
Candidat au titre de Membre du Club
 
Inscription : juillet 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 51
Points : 10
Points : 10
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
michka999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h57.


 
 
 
 
Partenaires

Hébergement Web