Page 1 sur 1

register_globals et tableau

Posté : 11 juil. 2007, 10:32
par Akela
Bonjour à tous

Je suis confronté à un phénomène que je ne comprends pas (scusez ms'ieurs dames, je ne suis pas encore très bon en PHP...mais grâce à vous ça va venir !)

Alors voilà : j'ai une appli en PHP (je tourne avec PHP 5) qui doit faire un truc du genre :

Code : Tout sélectionner

if ($_SESSION['last_access'][$_course['id']][TOOL_DROPBOX]=='') { $last_access=get_last_tool_access(TOOL_DROPBOX,$_course['code'],$_user['user_id']); $_SESSION['last_access'][$_course['id']][TOOL_DROPBOX]=$last_access; } else { $last_access=$_SESSION['last_access'][$_course['id']][TOOL_DROPBOX]; }
- Lorsque register_globals est à On (je l'avais changé pour faire tourner un ancien code), ça me retourne une erreur "Cannot use string offset as an array", à la ligne du if.

- Lorsque register_globals est à Off comme il se doit, tout va bien !

De plus, ce qui me perturbe, c'est que $_SESSION['last_access'] est une date, pas un tableau, alors je ne vois pas ce que signifie $_SESSION['last_access'][$_course['id']][TOOL_DROPBOX]

Bref, ça marche avec register_globals à Off, et pas à On, mais je n'y comprends pas grand' chose !

L'un de vous aurait-il la gentillesse d'apporter sa science à un jeune padawan plein de bonne volonté ;) ?

Merci d'avance....

Posté : 11 juil. 2007, 13:40
par naholyr
Débeugue :)

En l'occurrence, tu as un problème avec $_SESSION['last_access'][$_course['id']][TOOL_DROPBOX], donc tu vas vérifier le contenu de chaque élément avant de passer dans le if, afin d'activer le débuggage :
var_dump($_SESSION['last_access'], $_course['id'], TOOL_DROPBOX);
Tu auras la valeur exacte de chaque variable.