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 :

[Tableaux] Mauvaise récupération d'une variable [FAQ]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut [Tableaux] Mauvaise récupération d'une variable
    bonjour à tous!

    ça fait quelque temps que je buche sur mon problème, là j'en peux plus j'ai vraiment besoin de votre aide

    j'ai un formulaire (2 champs) de base auquel je peux rajouter autant de pair de champs que je veux

    voici le 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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
     
    if (isset ($_POST['chps']))
    {
      echo $_POST['descriptif']."desc<br>";
    } // il ne me renvoit rien
     
    echo '<table border = 0>';
     echo '<form method="post" action="ajoutchamps2.php">';
      echo '<tr><td> ';
     
     
    if (isset ($_POST['chp']))
    {
      if ($_POST['chp'] == 'ajouter')
      {
    // count initialisé à 0
    $count = $_POST['count'];
    echo $count."COUNT<br>";
     
    //nombre de ligne à ajouter
    $nombre = $_POST['nombre']; 
    echo $nombre."NBRE DE LIGNE RAJOUTEE<br>";
     $jj = $count + $nombre +1;
     echo $jj."LIGNE AU TOTAL<br>";
     
     
     for ($x = 0; $x< $jj; $x++)
     {
     
     
     
      echo '
      <table> ';
     
      echo '
     <tr><td>
     
      Nom caracteristique<input type=text name=champ "'.$x.'">
      </td>
      <td>
      Descriptif<textarea name= descriptif"'.$x.'"></textarea>
     
      </td>
      </tr>
     
      </table>';
    }
    }
    }
     
    echo '<table>';
    //  echo '<form method="post" action="ajoutchamps2.php">';
     
    echo '<tr>
    <td>';
    echo 'Nom caracteristique : <input type="text" name="champ">
    </td>
    <td>
    Descriptif<textarea name="descriptif"></textarea>
    </td>
    </tr>
    <tr>
    <td>';
     
    if (isset ($_POST['count'])) 
    {
     
    echo '<input type="hidden"  name="count" value="'.$jj.'"> ';
    }
    else
    {
      echo '<input type="hidden"  name="count" value=0> ';
    }
     
    echo '<input type="text"  name="nombre" size="1">';
     
    echo '<input type="submit" name="chp" value=ajouter>';
    echo '<input type="submit" name="chps" value=inserer>';
    echo '</td></tr>
    </table>
    </td></tr> ';
    echo '</form></table>';
    en faite quand j'appuie sur le bonton "inserer", qui me servira à inserer les valeurs des champs "nom caracteristique" et "descriptif" dans ma bdd, il me donne comme erreur : Notice: Undefined variable: jj ...
    à la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (isset ($_POST['count'])) 
    {
    
    echo '<input type="hidden"  name="count" value="'.$jj.'"> '; ==> ICI
    }
    je veux tout simplement récuperer les données voulues mais au lieu de ça j'ai erreur et pa de récuperation de données..
    je commence à desesperer..

    si quelqu'un pourrait m'aider je lui en serait vraiment reconnaissant...

    merci d'avance

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Ton soucis vient surtout de la définition de ta variable qui se fait que dans le if.

    Teste avec ce 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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
        $jj = 0;
        if (isset ($_POST['chp']))
        {
              if ($_POST['chp'] == 'ajouter')
              {
                // count initialisé à 0
                $count = $_POST['count'];
                echo $count . 'COUNT<br>';
     
                //nombre de ligne à ajouter
                $nombre = $_POST['nombre']; 
                echo $nombre . 'NBRE DE LIGNE RAJOUTEE<br>';
                $jj = $count + $nombre + 1;
                echo $jj . 'LIGNE AU TOTAL<br>';
     
     
                 for ($x = 0; $x < $jj; $x++)
                 {
                     echo '<table><tr>';
                     echo '<td>Nom caracteristique <input type="text" name="champ'.$x.'"></td>';
                      echo '<td>Descriptif<textarea name="descriptif'.$x.'"></textarea></td>';
                    echo '</tr></table>';
                }
            }
        }
     
        echo '<table>';
    //  echo '<form method="post" action="ajoutchamps2.php">';
         echo '<tr>';
        echo '<td>Nom caracteristique : <input type="text" name="champ"></td>';
        echo '<td>Descriptif<textarea name="descriptif"></textarea></td>';
        echo '</tr>';
        echo '<tr>';
        echo '<td>';
     
        if (isset ($_POST['count']) and $jj > 0) 
        {
             echo '<input type="hidden"  name="count" value="'.$jj.'"> ';
        }
        else
        {
              echo '<input type="hidden"  name="count" value="0"> ';
        }
     
        echo '<input type="text"  name="nombre" size="1">';
     
        echo '<input type="submit" name="chp" value="ajouter">';
        echo '<input type="submit" name="chps" value="inserer">';
        echo '</td></tr></table></td></tr> ';
        echo '</form></table>';
    PS : Essaie d'indenter le code, ça facilite la lecture

  3. #3
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    ok j'ai plus d'erreur...

    mais je ne sais pas comment récuperer la valeur du champs "champ'.$x.'" dans la boucle for

    parce que j'ai voulu mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (isset ($_POST['champ'.$x.'']))
              {
              echo $_POST['champ'.$x.'' ] ."<br>";
              }
    mais ça me met comme notice:
    Notice: Undefined variable: x in c

    purééééééééé ça me prend la tete

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Pour faire claire :
    Undefined variable
    veut tout simplement dire que ta variable n'existe pas.

    Maintenant si tu veux pouvoir faire ce genre de chose tu as deux possibilités :
    • Tout taper à la main ($_POST['champ0'], ....)
    • Ou appeler directement ton champ : champ[], qui sera considéré comme un tableau et pour récupérer les valeurs, tu fais le même traitement qu'un tableau (while, for ou foreach)

  5. #5
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    huummm

    comprend splus là lol
    j'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    elseif ($_POST['chp'] == 'inserer')
            {
              echo $_POST['champ']."champ<br>";
              echo $_POST['descriptif']."desc<br>";
     
              for ($x = 0; $x < $jj; $x++)
     
              {
              echo $_POST['champ'.$x.''] ."<br>";
              }
            }
    ça ne me recupère pas les valeurs de champs $x

    mais je dois mettre champs[], comme ça??

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Montre le code de création des champs et celui de la récupération des données

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

Discussions similaires

  1. [Tableaux] Récupération d'une variable
    Par grumly22 dans le forum Langage
    Réponses: 1
    Dernier message: 21/06/2006, 14h53
  2. [Conception] récupération d'une variable php dans une autre page
    Par vali7 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/01/2006, 12h19
  3. petite question sur la récupération d'une variable
    Par minusette dans le forum Langage
    Réponses: 6
    Dernier message: 17/11/2005, 17h57
  4. [C#] Récupération d'une variable d'environnement
    Par jamy79 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 17/08/2005, 15h03
  5. Récupération d'une variable
    Par cach dans le forum Windows
    Réponses: 7
    Dernier message: 22/02/2005, 12h19

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