Forum Programmation.php quickform pear

Posté par  .
Étiquettes : aucune
0
1
déc.
2008

Bonjour,

Je me trouve face à un problème insoluble. J'ai eus beau retourner le truc dans tout les sens, je ne vois pas ce qui cloche.
Je voudrai une liste de bouton radio sur plusieurs pages avec un seul choix pour toutes les pages.
Quand je clique sur page suivante ou page précédente tout ce passe bien mais je ne récupère le résultat que sur la première page.

Enfin rien de tel que le code pour voir le problème :

require_once ("HTML/QuickForm.php");

if (!isset($_GET['npage']))$page=1;
else $page=$_GET['npage'];

$lastpage=3;
if($page == $lastpage){
$nextpage=1;
$previouspage=$page-1;
}
elseif ($page == 1) {
$nextpage=$page+1;
$previouspage=$lastpage;
}
else {
$nextpage=$page+1;
$previouspage=$page-1;
}

$designlist = array();
switch ($page) {
case 1:
$designlist[]='template 1/ page 1';
$designlist[]='template 2/ page 1';
$designlist[]='template 3/ page 1';
break;

case 2:
$designlist[]='template 4/ page 2';
$designlist[]='template 5/ page 2';
$designlist[]='template 6/ page 2';
break;

case 3:
$designlist[]='template 7/ page 3';
$designlist[]='template 8/ page 3';
$designlist[]='template 9/ page 3';
break;

}

$form = new HTML_QuickForm('myform', 'post');

if($designlist) foreach ($designlist as $design) {
$radio[] = &$form->createElement('radio', null, null, $design , $design);
}
$form->addGroup($radio, 'template', '','');
$form->addElement('submit', 'create',POST);

$comment .= '';
$comment .= 'previous page
 ';
$comment .= '';
$comment .= 'next page
';

$content_form = $form->toHtml();
$comment.= $content_form;

echo $comment;
if ($form->validate()) {
echo 'valid';
$template = $form->exportValue('template');
var_export($template);
}


Si quelqu'un pouvais avoir la solution, ça me soulagerai beaucoup.

Merci d'avance
  • # Sessions ?

    Posté par  . Évalué à 2.

    Si j'ai bien compris tu veux garder trâce des cases cochées plusieurs pages ...

    Regarde du côté des "sessions" php alors, ou des "champs cachés", parce qu'une requête HTML "post" ça ne trasmet les valeurs que sur la page suivante.
    • [^] # Re: Sessions ?

      Posté par  . Évalué à 1.

      Bonjour Thomas

      Je remarque que le code est pas bien passé. Il y a un lien vers la page courante en passant une variable ?npage=1 2 ou 3.à la place de
      $comment .= 'previous page ';
      j'avais mis : $comment .= '<a href= test.php?npage='.$previouspage.'">';
      qui permet de recharger la page avec d'autres entrées pour mon formulaire

      Selon la valeur du numéro de page que je récupère avec le $page=$_GET['npage']
      je crée un tableau qui contient 3 choix possible pour la page 1 :
      template 1/ page 1
      template 2/ page 1
      ou template 3/ page 1

      Si je récupère npage=2 je veux afficher 3 autres choix:
      template 1/ page 2
      template 2/ page 2
      ou template 3/ page 2

      etc.

      Le but étant de pouvoir choisir parmi une multitude de choix répartit en plusieurs pages.

      Je cherche donc ici à créer avec 3 boutons radio différents sur chacune des trois pages et j'aimerai savoir quelle case est cochée sur les 9 proposées.
      Si je met les 9 choix sur la première page, tout fonctionne bien même si on fait un choix sur la deuxième page.
      Par contre, dans le cas présent ça fonctionne bien uniquement si on fait un choix sur la première page.
      Si on clique sur le lien qui mène à une autre page, on ne récupère pas valeur donnée par la case radio sauf si on revient sur la première page en cliquant sur suivant à partir de la dernière page.

      Merci

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.