note 63848 added to language.variables.scope
| From: | mtiservices at hotmail dot fr | Date: | Sat, 01 Apr 2006 22:33:43 +0000 |
| Subject: | note 63848 added to language.variables.scope | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-107139@lists.php.net to get a copy of this message | ||
Pour tous les français, je voulais juste dire que les variables de session auquelles on accède
via $_SESSION['nom de la variable'] doivent être déclarées globales pour pouvoir
être utilisées dans une fonction ET en dehors de la fonction.
ainsi, en prenant ce code:
$_SESSION['message']="hello";
printmessage();
function printmessage() {
print $_SESSION['message'];
}
Rien ne sera imprimé. Il faut utiliser le mot clé global comme ceci:
$_SESSION['message']="hello";
printmessage();
function printmessage() {
#################
global $_SESSION;
#################
print $_SESSION['message'];
}
notez qu'il ne faut pas préciser quelle variable du tableau $_SESSION doit être rendue
globale car celà provoquerait une erreur. Il FAUT écrire global $_SESSION; et pas autre chose.
Celà est évident pour les habitués mais je suis sûr que plusieurs personnes pensent que
tout tableau déclaré par php et commençant par $_ suivi d'un nom en majuscules est
superglobal.
----
Server IP: 66.163.161.117
Probable Submitter: 213.103.212.113
----
X-Spam-Status: Yes, hits=7.4 required=5.0 tests=DATE_MISSING,FROM_NO_LOWER,
HEAD_ILLEGAL_CHARS autolearn=no version=2.64
----
Manual Page -- http://www.php.net/manual/en/language.variables.scope.php
Edit -- http://master.php.net/note/edit/63848
Del: integrated -- http://master.php.net/note/delete/63848/integrated
Del: useless -- http://master.php.net/note/delete/63848/useless
Del: bad code -- http://master.php.net/note/delete/63848/bad+code
Del: spam -- http://master.php.net/note/delete/63848/spam
Del: non-english -- http://master.php.net/note/delete/63848/non-english
Del: in docs -- http://master.php.net/note/delete/63848/in+docs
Del: other reasons-- http://master.php.net/note/delete/63848
Reject -- http://master.php.net/note/reject/63848
Search -- http://master.php.net/manage/user-notes.php