Propagation d'un tableau dans une URL

Propagation d'un tableau dans une URL - PHP - Programmation

Marsh Posté le 15-03-2005 à 16:50:37    

Bonjour!
 
 
Sur une même page j'ai 2 formulaires:
- une liste <select> avec possibilité de sélectionner plusieurs <option> (multiple="true" ) + un Submit
- un lot de checkbox + un Submit
 
Ces 2 formulaires postent sur la même page, ça boucle...
Le problème que j'ai est simple: j'arrive à récupérer mes multi-options sélectionnées après avoir validé avec le 1er Submit, normal, mais po après le 2ème...
 
Plutôt que d'utiliser des sessions, dans mon 2ème formulaire je rajoute un champ <input> hidden et dans value je met mon Array (qui correspond à mes options sélectionnées précédemment), seulement quand je le récupère je n'arrive po à en extraire les données...
 
MERCI D'AVANCE


Message édité par lkolrn le 15-03-2005 à 16:51:20
Reply

Marsh Posté le 15-03-2005 à 16:50:37   

Reply

Marsh Posté le 15-03-2005 à 16:52:33    

regarde du coté des fonctions serialize() et unserialize() ;)


---------------
http://www.hardware404.com L'actualité hardware francophone en continu
Reply

Marsh Posté le 15-03-2005 à 16:53:09    

Code ?
 
(j'insiste :D)

Reply

Marsh Posté le 15-03-2005 à 17:02:43    

Allez! C'est pour le taf mais jm'en bat [:aras qui rit]  
 
Ca c'est ma multi-liste d'<option>

Code :
  1. <?php
  2. //**** SELECTION FOURNITURE ****//
  3. if (!isset($_GET['fourniture']))
  4.  echo '<a href="./ajoutlot_form.php?fourniture=1&ListeArticle='.$listart.'">Fourniture(s) ?</a>';
  5. if ($fourniture)
  6. {
  7.  echo '<p>
  8.   <fieldset>
  9.   <legend>Selection Fourniture(s)</legend>';
  10.  echo '<form action="./ajoutlot_form.php?fourniture=1&ListeArticle='.$listart.'" name="" id="" method="post">';
  11.  $listFourniture=new Fourniture;
  12.  $listFourniture->RetrieveLibelleList();
  13.  echo '<select class="" name="ListeFourniture[]" size="5" multiple="multiple">';
  14.  for ($i=0; isset($listFourniture->libelle[$i]); $i++)
  15.   echo '<option value="'.$listFourniture->libelle[$i].'">'.$listFourniture->libelle[$i].'</option>';
  16.  echo '</select>';
  17.  echo '<input type="submit" name="Submit" value="Selectionner" />';
  18.  if (!isset($_POST['ListeFourniture']))
  19.  {
  20.   echo 'aucun post de ListeFourniture';
  21.   $listfour='Aucun';
  22.  }
  23.  else
  24.  {
  25.   echo 'post de ListeFourniture trouve!!';
  26.   $listfour=$_POST['ListeFourniture'];
  27.  }
  28.  echo 'Fourniture(s) selectionnee(s): <b>';
  29.  //foreach($listfour as $val)
  30.   //echo $val.',&nbsp;';
  31.  print_r($_POST['ListeFourniture']);
  32.  echo '</b>
  33.  <p>
  34.  <input name="Recherche" type="text" maxlength="24" size="24" />
  35.  <input type="submit" name="Submit" value="Rechercher" />
  36.  </p>
  37.  </form>
  38.  </fieldset>
  39.  </p>';
  40. }
  41. ?>


 
Et ça le lot de checkbox

Code :
  1. <?php
  2. //**** SELECTION TAILLE ****//
  3. echo '<p>';
  4. if ($fourniture)
  5.  echo '<form action="./ajoutlot_form.php?fourniture=1&ListeArticle='.$listart.'" method="post">';
  6. ?>
  7. <fieldset>
  8. <legend>Taille</legend>
  9. <?php
  10. $listTaille=new Taille;
  11. $listTaille->RetrieveTailleList();
  12. for ($i=0; isset($listTaille->taille[$i]); $i++)
  13. {
  14.  echo '&nbsp;&nbsp;';
  15.  echo '<input name="taille'.$listTaille->taille[$i].'" type="checkbox" value="'.$listTaille->taille[$i].'" />'.$listTaille->taille[$i];
  16.  if ($listTaille->taille[$i] == '60')
  17.   echo '<br /><br />';
  18. }
  19. echo '<input type="hidden" name="ListeFourniture[]" value="'.$listfour.'" />';
  20. ?>
  21. <input type="submit" value="Selectionner" />
  22. </fieldset>
  23. </form>


 
ps: ce qui est intéressant ici va de la ligne 24 à 37 dans le 1er bout de code, et correspond à la ligne 19 du 2nd bout...
 
Bon vé voir le serialize :bounce:


Message édité par lkolrn le 15-03-2005 à 17:16:32
Reply

Marsh Posté le 15-03-2005 à 21:18:29    

Tu mélanges GET et POST dans tes formulaires c'est pas très recommandé ça.
 
Si tu as des paramètres à passer, tu les passes dans des champs de type hidden, par dans l'url du "action" du formulaire.

Reply

Marsh Posté le 15-03-2005 à 22:54:52    

ui, tu parles par exemple de cette ligne

Code :
  1. <form action="./ajoutlot_form.php?fourniture=1&ListeArticle='.$listart.'" name="" id="" method="post">

N'est-ce pas ?
 
Bof, c'est ptet po très conventionnel ni forcément très propre, mais ça a été pondu vite fait et ce que je passe dans l'url n'a rien de confidentiel... M'enfin t'as raison, une fois que mon tableau passera je mettrai tout bien en POST ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed