Gestion de Contenu, de Communauté et de groupes de travail collaboratif - Open Source, français, sécurisé, stable et performant

  • MODULES

    Pour étendre les nombreuses fonctionnalités disponibles de base - modules.npds.org est à votre disposition.

    Des modules complémentaires, une communauté de développeurs active, des forums pour vos questions ... NPDS  est aussi une plateforme de développement !
  • STYLES

    Vous cherchez des thèmes graphiques pour votre portail ou votre communauté : styles.npds.org est à votre disposition.

    Des thèmes du plus simple au plus sophistiqué. Des thèmes facilement modifiables et toujours en Open-Source - Laissez simplement parler votre imagination !
  • BIBLES

    La documentation indispensable pour personnaliser et exploiter toute la puissante de NPDS  est à votre disposition sur bible.npds.org.

    Vous pouvez participer à l'effort de documentation - rien de plus simple : contactez un membre de la Team de développement et nous vous ouvrirons un compte sur le Wiki !
Devenir membre    |    Identifiant : Mot de Passe : -
Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.
Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu grâce aux puissants outils disponibles de base.
  • Multi langues (Français, Anglais, Allemand, Espagnol, Chinois)
  • Respect des standards : UTF8, XHTML, CSS, ...
  • Système de blocs avancés
  • Installation et administration complète et centralisée
  • Editeur HTML intégré
  • Gestionnaire de fichier en ligne
  • Gestion des groupes de membres
  • Ecriture collaborative de documents (PAD)
  • Forums évolués
  • Mini-sites (pour les membres et les groupes de travail)
  • Chat temp réel
  • Système de News et de rubriques complet (édition, révision, publication)
  • ...
Gratuit et libre (Open-Source), développé en PHP, NPDS est personnalisable grâce à de nombreux thèmes et modules et ne requiert que quelques compétences de base.
NPDS Workplace - groupe de travail collaboratif
 NPDS WorkSpace - tous l'univers du travail collaboratif.
Modéré par : developpeur jpb Jireck 
Index du Forum » » SFORM » » cacher des champs dans un formulaire  
Auteurcacher des champs dans un formulaire
Elcorsu
79    

Elcorsu
  Posté : 02-11-2009 21:52

Voila mon problème.
J'ai fait un formulaire avec sform qui modifie ma base de donnée (style modification membre dans NPDS)
J'aimerai que des champs apparaissent ou disparaissent en fonction du groupe qui y accède.
Le problème si je fais un bout de code comme celui-ci.Si la condition n'est pas remplie les champs adresse1 et email se mettent à 0 dans ma base de données les données initiales ne sont pas concervées.
y'a t-il un moyen de faire disparaitre les champs tout en concervant la transmition de toutes les données add_.. au document demandeur?



$ok_Staff_administratif=groupe_autorisation(2, $tab_groupeX);  // Autorisation Staff administratif
$ok_Staff_technique=groupe_autorisation(3, $tab_groupeX);// Autorisation Staff technique

$m->add_field('add_nom', "Nom","$chng_nom",'text',true,60,"","A-9");
$m->add_field('add_prénom', "Prénom","$chng_prénom",'text',true,60,"","");

If($ok_Staff_technique) {
$m->add_field('add_Email', "E-mail","$chng_Email",'text',false,60,"","mail");
$m->add_field('add_adresse1', "Adresse 1","$chng_adresse1",'text',false,60,"","");
........
}
$m->add_field('add_adresse2', "Adresse 2","$chng_adresse2",'text',false,60,"","");



Message édité par : Elcorsu / 02-11-2009 21:54


  Profil  www  Citation   
Jireck
8416       

Jireck
  Posté : 03-11-2009 21:48

as tu lu le pdf qui se trouve dans le dossier sform ?

  Profil  Citation   
Elcorsu
79    

Elcorsu
  Posté : 03-11-2009 23:10

oui tout à fait mais je ne possède pas toutes les connaissances pour pouvoir l'exploiter à 100%.
Je ne sais pas quelle fonction choisir pour pouvoir réaliser ce que décrit plus haut.
la $variable_que_l'on_veut_conserver est amenée au formulaire par une fonction post ou get
peut-on écrire:

add_extra($variable_que_l'on_veut_conserver)
ou $m=$variable_que_l'on_veut_conserver
ou ?
Si tu peux éclairer ma lanterne...

Message édité par : Elcorsu / 03-11-2009 23:17


  Profil  www  Citation   
Elcorsu
79    

Elcorsu
  Posté : 04-11-2009 13:20

ou:


$ok_Staff_administratif=groupe_autorisation(2, $tab_groupeX);  // Autorisation Staff administratif
$ok_Staff_technique=groupe_autorisation(3, $tab_groupeX);// Autorisation Staff technique

$m->add_field('add_nom', "Nom","$chng_nom",'text',true,60,"","A-9");
$m->add_field('add_prénom', "Prénom","$chng_prénom",'text',true,60,"","");

If($ok_Staff_technique) {
$m->$chng_Email;
$m->$chng_adresse1;
}  

If($ok_Staff_administratif) {
$m->add_field('add_Email', "E-mail","$chng_Email",'text',false,60,"","mail");
$m->add_field('add_adresse1', "Adresse 1","$chng_adresse1",'text',false,60,"","");
}





Message édité par : Elcorsu / 04-11-2009 13:22


  Profil  www  Citation   
developpeur
24581       
 

developpeur
  Posté : 08-11-2009 00:32

c'est toujours d'actualité ?

  Profil  E-mail  www  Citation   
Elcorsu
79    

Elcorsu
  Posté : 08-11-2009 18:58

et bien oui,
Toujours pas trouvé la solution sauf de modifier les demandes SQL dans le document pricipal et de recréer un autre formulaire mais je pense qu'il doit y avoir + simple...
Merci à qui peut me renseigner

  Profil  www  Citation   
developpeur
24581       
 

developpeur
  Posté : 09-11-2009 21:50

Citation : Elcorsu 

oui tout à fait mais je ne possède pas toutes les connaissances pour pouvoir l'exploiter à 100%.
Je ne sais pas quelle fonction choisir pour pouvoir réaliser ce que décrit plus haut.
la $variable_que_l'on_veut_conserver est amenée au formulaire par une fonction post ou get
peut-on écrire:

add_extra($variable_que_l'on_veut_conserver)
ou $m=$variable_que_l'on_veut_conserver
ou ?
Si tu peux éclairer ma lanterne...

Message édité par : Elcorsu / 03-11-2009 23:17

 

Nonon ne peut pas faire comme cela. Il faut créer un champ de formulaire de type hidden pour faire passer ta variable du formulaire à ton script.

  Profil  E-mail  www  Citation   
Elcorsu
79    

Elcorsu
  Posté : 09-11-2009 22:05

ok je vais refaire une partie du formulaire en utilisant les add_field()qui sont les seuls a accepter les hidden, pour passer mes variables quand le membre n'est pas autorisé dans le groupe et les rendre visibles pour les membres autoriser.

Par contre j'ai vu que j'ai fait une erreur:

Pour autoriser un user en fonction de ses groupes en passant par le cookies.
par exemple je veux que le user normal ne voit pas une partie du formulaire alors que l'user appartenant au groupe ID=3 puisse le voir.
comment aboutir au if ($ok) {......} else.....

  Profil  www  Citation   
Elcorsu
79    

Elcorsu
  Posté : 09-11-2009 22:38

ok je crois avoir trouvé.
si ça paut servir

if (autorisation(3)) {....................}/// 3 étant l'ID du groupe


  Profil  www  Citation   
developpeur
24581       
 

developpeur
  Posté : 09-11-2009 23:25


  Profil  E-mail  www  Citation   
Elcorsu
79    

Elcorsu
  Posté : 10-11-2009 01:47

ok ça marche il faut transformer tous les champs qui suivent la condition en add_field comme ceci et utiliser xor dans la condition pour ne pas avoir un double affichage pour les membres faisant parti du groupe 2 et 3:


if ((autorisation(2)) xor (autorisation(3))) {
$m->add_form_field_size(60);
$m->add_field('add_nom', "Nom","$chng_nom",'hidden',false);
$m->add_field('add_prénom', "Prénom","$chng_prénom",'hidden',false);
$m->add_field('oui', "Inscrit pour cette saison","$oui",'hidden',false);
$m->add_field('add_Email', "E-mail","$chng_Email",'hidden',false);
$m->add_field('add_adresse1', "Adresse 1","$chng_adresse1",'hidden',false);
$m->add_field('add_adresse2', "Adresse 2","$chng_adresse2",'hidden',false);
$m->add_field('add_postal', "Code Postal","$chng_postal",'hidden',false);
$m->add_field('add_ville',"Ville","$chng_ville",'hidden',false);
$m->add_field('add_tel_fixe', "Téléphone fixe","0$chng_tel_fixe",'hidden',false);
$m->add_field('add_tel_gsm', "Téléphone GSM","0$chng_tel_gsm",'hidden',false);
$m->add_field('add_profession', "Profession","$chng_profession",'hidden',false);
$m->add_field('add_naissance', "Date de naissance","$chng_naissance",'hidden',false);
$m->add_field('add_lieu', "Lieu de naissance","$chng_lieu",'hidden',false);
$m->add_field('add_licence', "N° Licence","$chng_licence",'hidden',false);
$m->add_field('add_medical', "Date certificat médical","$chng_medical",'hidden',false);
$m->add_field('add_assurance', "Assurance","$chng_assurance",'hidden',false);
}
if (autorisation(3)) {  
$m->add_mess("* Désigne un champ obligatoire");
$m->add_form_field_size(60);
$m->add_field('add_nom', "Nom","$chng_nom",'text',true,60,"","A-9");
$m->add_field('add_prénom', "Prénom","$chng_prénom",'text',true,60,"","");
if ($oui) {$checked=true;} else {$checked=false;}
$m->add_checkbox('oui',"Inscrit pour cette saison", 1, false, $checked);



Message édité par : Elcorsu / 10-11-2009 01:51


  Profil  www  Citation   
  
Sauter à :

Temps : 0.0154 seconde(s)