Declaration de variable

ViPHP
ViPHP | 2291 Messages

28 avr. 2009, 23:14

Bonjour,

Je m'amuse a coder avec mon fichier d'erreur sur ALL |STRIC
Alors evidament il ne pardonne pas les erreurs.
Ma Question :
Pour déclarer mes variable et eviter l'erreur
Undefined index: level
je fais ceci
$session_level = (isSet($_SESSION['level'])) ? $_SESSION['level'] : '' ;
Y at'il une meilleur manière de faire :?:

D'avance merci

ViPHP
AB
ViPHP | 5818 Messages

28 avr. 2009, 23:44

C'est le principe.
Au passage si tu connais le type de variable que doit retourner $_session['level'], tu peux aussi forcer le type de la variable pour renforcer la sécurité. Si par exemple tu attends un entier tu peux faire :
$session_level = isset($_SESSION['level']) ? intval($_SESSION['level']) : '' ; 
Suivant les cas, pour la valeur par défaut, à la place de '' tu peux aussi mettre null (ou n'importe qu'elle autre valeur bien entendu). Si tu mets null, la variable est déclarée mais elle a la particularité de retourner false avec la fonction isset() ce qui peut parfois être utile.

ViPHP
ViPHP | 2291 Messages

28 avr. 2009, 23:48

Ok merci :wink:

ViPHP
ViPHP | 3300 Messages

28 avr. 2009, 23:59

sur une variable de session tu devrais t'économiser l'écriture d'une variable vu que tu l'as déja, et mettre des if(isset($_SESSION['level'])) directement dans le code avant de l'utiliser :)
Fait du php depuis que ca existe ou presque :)