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 :

[Noob] Undefined index: id


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 147
    Points : 78
    Points
    78
    Par défaut [Noob] Undefined index: id
    Bonjour a tous et a toutes,

    Voici mon problème, je travaille actuellement avec les sessions dans la but de récupérer l'id, et la quantitée de produits voulu, pour réaliser un caddie.

    Dans ma page A je choisi le nb de produits voulu, et je passe en paramètre l'id du produit et la qte choisie !
    Mais voilà dans ma page B ou je suis sensé recevoir les données j'ai l'erreur suivante:

    Undefined index: id et Undefined index: qte
    Voici mon code:
    Page A:
    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
     
    <?php 
    session_start(); 
    ?>
    <html>
    <head>
    <title>Test</title>
    <link rel="StyleSheet" type="text/css" href="stylepages.css">
    </head>
    <body bgcolor="#FFFFFF">
    <table border="0" cellspacing="0" cellpadding="10" align="right">
    <tr>
    <form action="testAdd.php" method="post"> 
    <td><font face="Verdana" size="1">#00001</font>
    <input type="hidden" name="id" size="3" value="#00001">
    <td>
    <td>
    <input type="text" name="qte" size="3" value="2">
    <td>
    <input type="submit" name="add" value="Add">
    </td>
    </tr>
    </table>
    </body>
    </html>
    Page B:
    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
     
    <?php 
    session_start(); 
    $id1 = "";
    $qte1 = "";
    $test1 = "";
    $test2 = "";
        $_SESSION['achats'][] = array ("id" => $_POST['id'],"qte" => $_POST['qte']);
        $test1 = $_SESSION['achats']['id'];
        $test2 = $_SESSION['achats']['qte'];
    ?>
    <html>
    <head>
    <title>Test</title>
    <link rel="StyleSheet" type="text/css" href="stylepages.css">
    </head>
    <body bgcolor="#FFFFFF">
    <center>
       <font size="3" color="#FF0000"><B>ID : <?= $test1 ?></B></font><BR>
       <font size="3" color="#FF0000"><B>QTE : <?= $test2 ?></B></font><BR>
    </center>
    </body>
    </html>
    Je suis un peu perdu, ce que je voudrais c'est recevoir les datas comme suit:
    $_SESSION[row_dansLePanier][id_article]
    et
    $_SESSION[row_dansLePanier][qte_article]

    Le tout afin de pouvoir ajouter/supprimer les articles tout au long de la session.

    J'ai également essayer de tester les $_POST avec isset, et là il me retourne la bonne valeur pour id et qte, le problème vient donc de mon array, enfin je pense.

    J'ai aussi testé ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        $_SESSION['achats']=array();
        $_SESSION['achats'][] =$value;
        $test1 = $_SESSION['achats']['id'];
        echo "Value of test1 {$test1}";
        $test2 = $_SESSION['achats']['qte'];
        echo "Value of test2 {$test2}";
    Mais les $test1 et 2 sont vide !

    D'avance je vous remercie pour votre aide.

  2. #2
    Membre actif Avatar de pimpmyride
    Inscrit en
    Décembre 2005
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 321
    Points : 207
    Points
    207
    Par défaut
    a la place de ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        $_SESSION['achats'][] = array ("id" => $_POST['id'],"qte" => $_POST['qte']); 
        $test1 = $_SESSION['achats']['id']; 
        $test2 = $_SESSION['achats']['qte'];
    essaye ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    test2 = ""; 
        $_SESSION['achats'][] = array ("id" => $_POST['id'],"qte" => $_POST['qte']); 
        echo $_SESSION['achats'][0]['id']; 
        echo $_SESSION['achats'][0]['qte'];

  3. #3
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 147
    Points : 78
    Points
    78
    Par défaut
    ça marche nikel, merci a toi !

    Pourrais tu m'expliquer mon erreur? et pourquoi mettre le [0], je crois que les array sont un peu confu dans ma tete !

    Merci pour ton aide !!

  4. #4
    Membre actif Avatar de pimpmyride
    Inscrit en
    Décembre 2005
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 321
    Points : 207
    Points
    207
    Par défaut
    alors jte repond vite fait^^ car il existe des milliers de tuto sur les tableaux par exemple sur developpez.com

    ici le tableau est renseigné par le formulaire :
    $_SESSION['achats'][] = array ("id" => $_POST['id'],"qte" => $_POST['qte']);

    le " [] " correspond a l'index du tableau auxquels se trouve tes valeurs,
    qd le " [] " est vide (sans chiffre ou variable a linterieur) l'index s'incremente de 1 à chaque fois.

    donc comme ton tableau ne contient qu'une ligne, pour afficher ta variable l'index est donc "0" (et oui l'index commence a 0) ainsi de suite

    pour afficher la 2eme ligne :
    echo $_SESSION['achats'][1]['id'];
    echo $_SESSION['achats'][1]['qte'];
    et ainsi de suite.


    si ton tableau contient beacoup de ligne :
    tu calcul le nombre de lignes avec la fonction " count "
    $nombre_de_ligne = count(ton tableau)

    et ensuite tu fais un petit for :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $i = 0
    for ($i; $i =< $nombre_de_ligne; $i++)  {
        echo $_SESSION['achats'][$i]['id']; 
        echo $_SESSION['achats'][1$i]['qte'];
        echo "<br>";
    }

    aide fonction count : http://fr2.php.net/manual/fr/function.count.php
    aide tableau : http://fr2.php.net/manual/fr/ref.array.php

  5. #5
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 147
    Points : 78
    Points
    78
    Par défaut
    Merci beaucoup pour ton aide, ciao

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

Discussions similaires

  1. [MySQL] Erreurs multiples de type Undefined index
    Par alleramiens dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 27/01/2006, 20h39
  2. erreur undefined index
    Par istreen dans le forum Langage
    Réponses: 8
    Dernier message: 06/01/2006, 13h09
  3. [Librairies] PHPMVC : Undefined index
    Par Benat64 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 30/12/2005, 09h27
  4. Undefined index
    Par sebduduf dans le forum Langage
    Réponses: 5
    Dernier message: 02/11/2005, 12h13
  5. Erreur de "Undefined index" sur HTTP_REFERER
    Par guy2004 dans le forum Langage
    Réponses: 4
    Dernier message: 12/10/2005, 12h21

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