IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Dates] register_globals et tableau


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut [Dates] register_globals et tableau
    Bonjour à tous (et même rebonjour, c'est mon deuxième post aujourd'hui...)

    Je suis encore 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    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"

    - 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, 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....

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 440
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 440
    Points : 15 814
    Points
    15 814
    Par défaut
    déjà tu as une erreur dans ton "if"
    c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($_SESSION... == '')
    au lieu de

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Euh, oui en effet, je ne sais pas comment, mais ça a sauté au copier-coller (enfin plutôt après, j'imagine...), donc effectivement c'est ==.
    Je corrige, donc...
    Et pour ce qui concerne l'histoire du register_globals ?

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 440
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 440
    Points : 15 814
    Points
    15 814
    Par défaut
    donne nous déjà le message d'erreur en entier ainsi que la ligne où se trouve l'erreur
    est ce que la constante TOOL_DROPBOX est bien definie ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Merci de ta réponse.
    Je n'ai pas été assez précis en effet.
    Alors :

    1- La constante TOOL_DROPBOX est bien définie

    2- L'erreur renvoyée est :
    Fatal error: Cannot use string offset as an array in
    /var/www/dokeos-1.8/main/dropbox/index.php on line 126

    (la ligne 126 est celle du if)

  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 440
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 440
    Points : 15 814
    Points
    15 814
    Par défaut
    regarde ce qu'il y a dans $_SESSION['last_access'] avant le "if"
    tu n'as peut-être pas de tableau

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    C'est exact, ce n'est pas un tableau, mais une date.

    Mais je ne comrpends pas alors pourquoi ça fonctionne lorsque register_globals est à Off. En fait, ça ne devrait jamais fonctionner. C'est plutôt ça qui me trouble....

Discussions similaires

  1. StringTokenizer - Reprise d'une date dans un tableau
    Par pado_83 dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 03/10/2006, 12h42
  2. [DisplayTag] Problème pour trier les dates dans un tableau
    Par Pascale38 dans le forum Taglibs
    Réponses: 13
    Dernier message: 01/09/2006, 10h58
  3. affichage et calcule de la date dans un tableau
    Par argon dans le forum Interfaces Graphiques en Java
    Réponses: 35
    Dernier message: 22/06/2006, 11h51
  4. Date au format tableau
    Par uloaccess dans le forum Access
    Réponses: 1
    Dernier message: 07/11/2005, 16h42
  5. [JTable] Afficher une date dans un tableau / Renderer
    Par isak dans le forum Composants
    Réponses: 3
    Dernier message: 11/07/2005, 18h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo