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 :

variable de session et tableau


Sujet :

Langage PHP

  1. #1
    Rédacteur
    Avatar de pi-2r
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2006
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 486
    Points : 2 440
    Points
    2 440
    Par défaut variable de session et tableau
    Bonjour,

    ma question peut paraître stupide, mais je souhaite modifier le nom de la session dans une boucle foreach pour vérifier une condition.
    Pour être plus claire, voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <?php
    session_start();
    $_SESSION['5']='';
    $_SESSION['6']='';
    $_SESSION['7']='';
    $_SESSION['8']='';
    $_SESSION['9']='';
    $_SESSION['10']='';
    $_SESSION['11']='';
     
    /* bute de cette fonction ? killer les id des joueurs se
     * trouvant dans un autre tableau
     */
    function check_and_delete_player($joueur, $id_tableau, $message)
    {
        // $tableau = array ('remplacant', 'coach', 'blesse', 'abs', 'suspendu', 'eq_inf', 'eq_sup');
        $tableau = array ('5', '6', '7', '8', '9', '10', '11');
        foreach ($tableau as $element)
        {
         $message .= "je suis dans le tableau: ";
         $message .= $element;
     
         if ( $_SESSION[".'$element'."] == $id_tableau)
             $message .=" et je suis dans mon propre tableau et je kill personne </br>";
         else
         {
            $message .=" et je continue ...</br>";
         }
        }
       echo $message;
    }
    seulement, la ligne 16
    if ( $_SESSION[".'$element'."] == $id_tableau)
    me renvoi l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Notice: Undefined index: .'5'. in /var/www/dev3/inc/check_player_compo.php on line 16 Notice: Undefined index: .'6'. in /var/www/dev3/inc/check_player_compo.php on line 16 Notice: Undefined index: .'7'. in /var/www/dev3/inc/check_player_compo.php on line 16 Notice: Undefined index: .'8'. in /var/www/dev3/inc/check_player_compo.php on line 16 Notice: Undefined index: .'9'. in /var/www/dev3/inc/check_player_compo.php on line 16 Notice: Undefined index: .'10'. in /var/www/dev3/inc/check_player_compo.php on line 16 Notice: Undefined index: .'11'. in /var/www/dev3/inc/check_player_compo.php on line 16
    Comment puis-je remédier à cela ?

    Merci d'avance

  2. #2
    Membre actif
    Homme Profil pro
    DSI interne
    Inscrit en
    Juin 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DSI interne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2011
    Messages : 197
    Points : 290
    Points
    290
    Par défaut
    Bonsoir,

    Et comme cà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?php
    session_start();
    $_SESSION['var_5']='';
    $_SESSION['var_6']='';
    $_SESSION['var_7']='';
    $_SESSION['var_8']='';
    $_SESSION['var_9']='';
    $_SESSION['var_10']='';
    $_SESSION['var_11']='';
     
    /* bute de cette fonction ? killer les id des joueurs se
     * trouvant dans un autre tableau
     */
    function check_and_delete_player($joueur, $id_tableau, $message)
    {
        // $tableau = array ('remplacant', 'coach', 'blesse', 'abs', 'suspendu', 'eq_inf', 'eq_sup');
        $tableau = array ('5', '6', '7', '8', '9', '10', '11');
        foreach ($tableau as $element)
        {
         $message .= "je suis dans le tableau: ";
         $message .= $element;
     
         if ( $_SESSION['var_'.$element] == $id_tableau)
             $message .=" et je suis dans mon propre tableau et je kill personne </br>";
         else
         {
            $message .=" et je continue ...</br>";
         }
        }
       echo $message;
    }
    ?>
    L'erreur vient de l'utilisation d'un entier comme clé pour ton $_SESSION[].

  3. #3
    Rédacteur
    Avatar de pi-2r
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2006
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 486
    Points : 2 440
    Points
    2 440
    Par défaut
    merci de ta réponse mais la condition ne marche pas ... :p
    je continu de creuser l'idée

  4. #4
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Salut je sais pas si c'est ce que tu cherche à faire, j'ai repris ton code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <?php
    session_start();
    $_SESSION[5]='';
    $_SESSION[6]='';
    $_SESSION[7]='';
    $_SESSION[8]='8';
    $_SESSION[9]='';
    $_SESSION[10]='';
    $_SESSION[11]='';
     
    /* bute de cette fonction ? killer les id des joueurs se
     * trouvant dans un autre tableau
     */
    function check_and_delete_player($joueur, $id_tableau, $message)
    {
        // $tableau = array ('remplacant', 'coach', 'blesse', 'abs', 'suspendu', 'eq_inf', 'eq_sup');
        $tableau = array ('5', '6', '7', '8', '9', '10', '11');
        foreach ($tableau as $element)
        {
         $message .= "je suis dans le tableau: ";
         $message .= $element;
     
         if ( $_SESSION[$element] == $id_tableau)
             $message .=" et je suis dans mon propre tableau et je kill personne </br>";
         else
         {
            $message .=" et je continue ...</br>";
         }
        }
       echo $message;
    }
    check_and_delete_player("bill", "8", "hello man");
    En espérant que ça correspond a tes besoins.
    Bonne soriée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [c#][asp.net]variable de session type tableau multidim
    Par chorokari dans le forum ASP.NET
    Réponses: 4
    Dernier message: 18/07/2008, 23h34
  2. Variable de session et tableau
    Par Lordkpo dans le forum Langage
    Réponses: 3
    Dernier message: 21/08/2007, 12h17
  3. tableau dans variable de session
    Par ddeee dans le forum ASP
    Réponses: 2
    Dernier message: 20/03/2006, 17h48
  4. Réponses: 8
    Dernier message: 20/02/2006, 16h28
  5. Tableau + variable de session
    Par Pymm dans le forum ASP
    Réponses: 6
    Dernier message: 13/10/2005, 15h12

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