Message d'erreur incompréhenssible

Résolu/Fermé
hack_net Messages postés 783 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 5 juin 2014 - 15 mai 2008 à 15:52
 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

4 réponses

PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
10 juin 2008 à 17:47
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
shaihulkud-59-fr
20 sept. 2008 à 13:11
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
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
Ini_set Ca a fonctionné sur les pages avec des post

Merci a vous. J'ai galéré avec ce message
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
15 mai 2008 à 15: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
hack_net Messages postés 783 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 5 juin 2014 51
15 mai 2008 à 16:18
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
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58 > hack_net Messages postés 783 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 5 juin 2014
15 mai 2008 à 18:40
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
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
15 mai 2008 à 18:49
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
Ero_leTouriste
10 juin 2008 à 16:15
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