Index du Forum » » SFORM

Auteur

Liste à choix multiple
PhilGuen
984      

  Posté : 24-11-2004 17:45

Bonjour Hexagone et merci d'essayer de m'aider.

On est bien d'accord sur le paramètre à passer en true pour un choix multiple. L'exemple que je donnais était ce qui fonctionnait c a d le choix unique.

Mon pb est ensuite dans l'utilisation et le stockage de $C5.

En fait je voudrais retrouver un fonctionnement strictement identique à celui des groupes, mais ca coince au niveau du transfert du tableau en string.

Voici ce que j'ai fais exactement.

Dans sform/extend-user/extender/formulaire.php j'ai ajouté :

//***************************** Ajout pour ACB ***********************************
//$C5="ACB marcheur|ACB cyclo|UFOLEP"; // valeurs pour essais
if ($C5) {
$C5=" ".$C5; // pour résoudre le problème quand strpos est vrai mais = 0
if (strpos($C5,"ACB marcheur")) $flag1=1;
if (strpos($C5,"autre FFRP")) $flag2=1;
if (strpos($C5,"ACB cyclo")) $flag3=1;
if (strpos($C5,"UVD")) $flag4=1;
if (strpos($C5,"autre FFCT")) $flag5=1;
if (strpos($C5,"autre FFC")) $flag6=1;
if (strpos($C5,"UFOLEP")) $flag7=1;
if (strpos($C5,"aucune")) $flag8=1;
$C5=ltrim($C5); // pour annuler l'action de la ligne 44
// echo $C5; // pour vérifier
};
$tmp=array(
"ACB marcheur"=>array('en'=>"ACB marcheur", 'selected'=>$flag1),
"autre FFRP"=>array('en'=>"autre FFRP", 'selected'=>$flag2),
"ACB cyclo"=>array('en'=>"ACB cyclo", 'selected'=>$flag3),
"UVD"=>array('en'=>"UVD", 'selected'=>$flag4),
"autre FFCT"=>array('en'=>"autre FFCT", 'selected'=>$flag5),
"autre FFC"=>array('en'=>"autre FFC", 'selected'=>$flag6),
"UFOLEP"=>array('en'=>"UFOLEP", 'selected'=>$flag7),
"aucune"=>array('en'=>"aucune", 'selected'=>$flag8),
);
$m->add_select('C5','Votre licence : *', $tmp, true, 4, true);
$m->add_extender("C5", ""," plusieurs choix possibles avec CTRL appuyé");
//*************************************************************************** *********************
Cette partie fonctionne parfaitement

puis dans sform/extend-user/aff_formulaire.php, en espérant afficher le contenu de $C5 sou la forme d'une chaîne au format "choix1|choix2|choix4" j'ai ajouté ceci

//************************************* Ajout pour ACB *******************************
$C5 = implode("|",$C5);
//echo $C5;
$m->add_field('C5','Votre licence','$C5','textarea',false,255,5,"","");
//**************************************** Fin Ajout **********************************

la rien ne s'affiche à l'endroit prévu (pourtant le "echo $C5" renvoie bien "choix1|choix2|choix4)

et la variable $C5 enregistre "Array"

Enfin, si j'enlève les lignes de "aff_formulaire.php" et que dans la fonction "finishNewUser" de user.php j'ajoute ligne 198

$C5 = implode("|",$C5);

Warning: Bad arguments to implode() in c:\program files\easyphp\www\acbdescartes\user.php on line 198



Ca fait 3 jours que je suis la dessus alors je brule un cierge au nom de celui qui me dépanne

Amitiés à tous

Philippe




Message édité par : PhilGuen




Cet article provient de NPDS

http://www.npds.org/viewtopic.php?topic=14386&forum=19