note 63848 added to language.variables.scope

From: 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

« previous php.notes (#107139) next »