Menu

Message d'erreur incompréhenssible [Résolu/Fermé]

Messages postés
786
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 juin 2014
- - Dernière réponse :  thierry - 19 oct. 2010 à 00:02
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
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
1771
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
598
2
Merci
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 .

Dire « Merci » 2

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 54718 internautes nous ont dit merci ce mois-ci

-
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
sur les pages ou apparait l'erreur ajoute ca

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

Merci a vous. J'ai galéré avec ce message
Messages postés
870
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2011
55
0
Merci
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^^
hack_net
Messages postés
786
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 juin 2014
50 -
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?
Smoking bird
Messages postés
870
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2011
55 > hack_net
Messages postés
786
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 juin 2014
-
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
Messages postés
1771
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
598
0
Merci
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
Merci
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