Pb avec passage des variables

Bonjour,

Je viens de changer de hébergeur et maintenant mes pages ne marchent pas. Je crois que c'est une histoire de Register Global à ON ou OFF.

Avant je récupérais mes variables par leur nom en directe et maintenant il me faut utiliser $_POST ou $_GET, mais je suis tombé sur un os. Je n’arrive pas à récupérer les variables sur cette forme « <td><input type='text' name='nom[$i]'value='$ligne[0]'size='33'</td> ».
Est-ce quelque chose comme ça........ ? $_POST[‘nom[i]’]…….

Pourriez-vous m’aider ?

Merci d’avance
Configuration: Windows Vista
Internet Explorer 7.0

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonsoir,
    <td><input type="text" name="<?php $_POST[$nom[$i]] ?>" value="<?php $ligne[0] ?>" size="33" /></td>

    Cordialement,
    1. Merci de ta pronte riposte, mais $_POST[$nom[$i]] ça ne marche pas !!

      Voici la ligne dans la quelle il'ya les données :

      <td><input type='text' name='nom[$i]' value='$ligne[0]' size='33'</td>

      et je n'arrive pas à recuperer les données de la variable nom[$i] dans la page suivante .
      1. Contributeur
        Effectivement, j'ai pas trop réfléchi sur le coup...
        Ma question c'est : comment tu as fait pour passer un tableau dans ta variable $_POST ?

        Cordialement,
      2. @Marco la baraqueJe n'avais jamais utilisé la forme $_POST.

        Dans les pages que j'utilise chez moi avec easyphp je n'avais pas besoin.

        et c'etait comme ça: je faisait un tableau en donant un nom diferent a chaque ligne grace a la variable $i.
        while ($ligne=mysql_fetch_row($result)){

        echo "<tr><td><input type='text' name='nom[$i]' value='$ligne[0]'size='33'</td><td>
        <input type='text' name='refere[$i]' value='$ligne[1]'size='33'</td>";

        Et je recuperais les resultats dans la page suivante :
        for ($i=0;$i<=(sizeof($nom));$i++){

        echo "<td width='200'><input type='text' name='no[$i]' value= '$nom[$i]' size='30'</td>";
        echo "<td width='300'><input type='text' name='re[$i]' value='$refere[$i]' size='18'></td>\n";

        et ça marché comme sur roulettes!
      3. Contributeur
        @luisdelavegaOk, je comprends mieux.
        Il ne faut pas utiliser de tableau ici. Il faut que tu stockes la valeur max de $i dans un input hidden, puis tu fais :
        echo '<tr><td><input type="text" name="nom' . $i .'" value="' . $ligne[0] .'" size="33"</td><td>
        <input type="text" name="refere'. $i .'" value="'. $ligne[1] .'" size="33"</td>";
        


        Ensuite dans la page suivante tu récupères la valeur de $i et tu fais :
        for ($j = 0; $j <= $i; $j++){
         $nom = 'nom' . $j;
         $refere = 'refere' . $j;
         echo '<td width="200"><input type="text" name="'. no[$j] .'" value="'. $nom .'" size="30"</td>';
         echo '<td width="300"><input type="text" name="'. re[$j] .'" value="'. $refere .'" size="18"></td>\n';
        }
        


        Cordialement,
      4. @Marco la baraqueMerci beaucoup ,

        il est tard et je vais me coucher....je verais demain ta solution. Mais je crois qu'on a oublié que maintenant je dois utiliser $_POST pour recuperer mes variables ( mon tableau ).

        Merci encore
      5. Contributeur
        @luisdelavegaBonjour,
        Oui, au temps pour moi. La seconde partie sera donc :
        ...
        for ($j = 0; $j <= $i; $j++){
         $nom = 'nom' . $j;
         $refere = 'refere' . $j;
         echo '<td width="200"><input type="text" name="'. no[$j] .'" value="'. $_POST[$nom] .'" size="30"</td>';
         echo '<td width="300"><input type="text" name="'. re[$j] .'" value="'. $_POST[$refere] .'" size="18"></td>\n';
        }
        
        ...
        


        Cordialement,