Message d'erreur incompréhenssible

Résolu
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   -  
 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
A voir également:

4 réponses

PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   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
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
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
thierry
 
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   Statut Membre Dernière intervention   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   Statut Membre Dernière intervention   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
Smoking bird Messages postés 870 Date d'inscription   Statut Membre Dernière intervention   58 > hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention  
 
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 1770 Date d'inscription   Statut Membre Dernière intervention   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
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