2010-06-30 5 views
1

L'une de mes pages redirige vers une page appelée customproofs.php.Quel est le message d'avertissement register_globals qui apparaît?

Quand il redirige vers cette page, le message d'avertissement suivant apparaît:

Attention: Unknown: Votre script peut repose sur une session effet secondaire qui existait jusqu'à PHP 4.2.3. S'il vous plaît être conseillé que l'extension de session ne considère pas les variables globales comme une source de données, sauf si register_globals est activé. Vous pouvez désactiver cette fonctionnalité et cet avertissement en mettant session.bug_compat_42 ou session.bug_compat_warn désactivé, respectivement in Unknown on line 0

Est-ce que cela signifie que je dois changer quelque chose dans le php. fichier ini? Comment changer le fichier php.ini pour un dossier spécifique sur un serveur web?

Le paramètre change-t-il juste pour que le message disparaisse? Pourquoi est-ce que je reçois ce message?

Le code fonctionne correctement tel qu'il est maintenant. Pourrais-je juste dire à l'avertissement de ne pas apparaître?

+0

vous ne devez pas modifier le php.ini, car il s'agit d'une fonction de sécurité. affiche le code responsable de cet avertissement – jigfox

+0

quelle version de PHP utilisez-vous? – fabrik

+0

@Jens - Je n'ai aucune idée de quelle partie du code est responsable car le message d'erreur dit de regarder sur la ligne 0 et je n'ai aucune idée de ce à quoi l'erreur fait référence. – zeckdude

Répondre

4

Vous pouvez éviter cela en n'utilisant pas les mêmes noms pour les variables de session et les variables normales.

par exemple. si vous aviez

$foo = 'Hello'; 
$_SESSION['foo'] = 'Bar'; 

essayer de changer cela:

$foo = 'Hello'; 
$_SESSION['session_foo'] = 'Bar'; 
+0

Quel est le problème avec l'utilisation d'une variable nommée $ address et d'une autre variable nommée $ _SESSION ['address']? – zeckdude

+0

@zeckdude c'est une longue histoire. tu ferais mieux de faire ça. Ou au moins initialisez votre $ _SESSION ['adresse'] avec une valeur non nulle. –

1

Ce message d'erreur est assez étrange.
Pour éviter cet un et de nombreux autres pièges, ne jamais les mêmes noms à la variable de session et une variable globale. C'est à dire. Avoir dans le même script les variables $_SESSION['cart'] et $cart est faux, tandis que $_SESSION['sess_cart'] et $cart est correct.
En outre, j'espère que vous n'utilisez pas la syntaxe de session ancienne, session_register() un

Questions connexes