logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
18 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 108 451 745

  • Nb. de membres 8 693
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  SFORM »» Multi-formulaires pour les membres

Nouveau sujet
 Multi-formulaires pour les membres#17621Répondre

4Contributeur(s)
i-hejBlackEagledeveloppeurAnonyme
3 Modérateur(s)
developpeurjpbJireck
i-hej i-hejicon_post
Bonjour,

je souhaite permettre aux visiteurs de mon site de remplir plusieurs formulaires différents (grand sondage, etc) qu'ils pourront modifier par la suite si leur situation évolue.

Pour cela, il faut qu'ils aient un libre accès et un accès confidentiel aux informations qu'ils auront mis sur les divers formulaires. Je pensait donc installer dans un sous-domaine de mon site le portail NPDS : les visiteurs qui veulent répondre au grand sondage par exemple choisiraient un pseudo et un mot de passe. Ceux-ci leurs permettraient de revenir sur leurs réponses.

Vous me demanderez "pourquoi réinstaller un portail NPDS en sous-domaine et non pas lier les formulaires directement aux membres inscrits sur mon site principal ?". Et bien parce que les membres de mon site sont des gens qui soutiennent la cause de mon site et ceux qui répondent au grand sondage ne la soutiennent pas forcément. De plus, l'inscription au sondage ne doit pas donner l'accès aux fonctions de mon site principal réservées aux membres.

Il va falloir que je crais mes formulaire grâce à SFORM puis que je crais les tables liées aux formulaires. çà, je dois être capable de le faire (ben... je pense puisque je commence tout juste à me mettre à SFORM).

Ma question est : comment faire pour que ces formulaires contiennent l'id du membre qui y répond ? Et surtout, comment faire pour que le membre ait accès aux infos qu'il a renseigné afin de les modifier comme bon lui semble ?

Chaque formulaire serait appelé en cliquant sur un lien.

Résumé de la Procédure pour le visiteur :
- le visiteur s'inscrit au site (choix du login et du mot de passe)
- Après connexion sous son login, la liste des formulaires apparait sur un bloc.
- Il clique sur le lien du formulaire qu'il souhaite.
- Le forumalaire souvre soit vide si c'est la première fois qu'il le rempli, soit avec les données qu'il a déjà mis précédemment.
- Il rempli ou modifie les données et Valide le formulaire qui met à jour la base de données.

Voilà voilà le résultat final que je souhaiterais obtenir.

Merci d'avance.
Jérôme, débutant en programmation.
BlackEagle BlackEagleicon_post
Tu peux déjà utilisé les cookies pour récupérer le nom du membre dans ton formulaire Sform.

// Récuperation du nom d'utilisateur sur le site par rapport au cookie
cookiedecode($user);
$username = $cookie[1];
if ($username == "") {
$nom = "";
} else {
$nom = $username;



Pour faire apparaitre la liste des formulaires dans un bloc après inscriptions, tu peux demander que ce bloc ne soit visible que par les membres (voir gestion des blocs)
developpeur developpeuricon_post
Sform n'est qu'un interface de formulaire. la vraie complexité de ton projet est l'identification des membres et l'enregistrement des données dans les tables
i-hej i-hejicon_post
je ne p)ense pas que les cookies soient la bonne solution car si le visiteur supprime les cookies de son PC alors il ne pourra plus accèder à ses données.
La seule solution est réellement d'utiliser le système de "membres" de NPDS. De plus, le visiteur pourra modifier ses données de n'importe qu'elle PC (au contraire du cookie).
Anonyme Anonymeicon_post
Peut être, mais ton membre devra s'identifier pour pouvoir modifier ses données, et là les cookies seront crées sur le pc.
i-hej i-hejicon_post
Entièrement d'accord avec toi.

- Mais je viens de me rendre compte que je n'avais pas compris la solution de BlackEagle :-P . Je croyais qu'il ne proposait qu'une solution de cookies sans inscription en tant que membre. :b
Mais en fait sa solution c'est : lorsqu'on s'inscrit ou on se connecte en tant que membre, le portail met un cookie sur le PC. C'est donc grâce à ce cookie qu'on peut récupérer l'id du membre connecté.

C'est bien çà ?

- Donc ayant récupéré l'id du membre lors de sa connexion, il faut, lorsque le membre ouvre le formulaire, que ce dernier aille chercher les données de ce membre grâce à d'id récupéré par le cookie.

Je suis débutant en php : il y a certainement du code à récupérer dans user.php pour me permettre de faire cela ?

- Ces derniers jours, je me suis penché sur extend-user (c1, c2, c3, etc). En fait mon idée serait une sorte de extend-user multi-formulaires dont chaque formulaire pourrait être appelé individuellement par un lien et non comme actuellement intégré dans le formulaire d'inscription.

Suis-je sur la bonne piste ?

- Ce système réglerait pas mal de problèmes rencontrés par certains et que j'ai pu lire sur le forum SFORM (comment augmenter le nombre de champ, etc).
On crait un ou des formulaires perso par SFORM ou autre éditeur de formulaire avec autant de champs que l'on souhaite, on y ajoute un champ avec l'id du membre. Ce dernier permettant au membre et à l'administrateur d'aller sur l'un des formulaires pour y modifier les données de ce membre.

çà pourrait être une idée pour un patch de NPDS Sable... ;-)
developpeur developpeuricon_post
Citation : i-hej

Entièrement d'accord avec toi.

- Mais je viens de me rendre compte que je n'avais pas compris la solution de BlackEagle :-P . Je croyais qu'il ne proposait qu'une solution de cookies sans inscription en tant que membre. :b
Mais en fait sa solution c'est : lorsqu'on s'inscrit ou on se connecte en tant que membre, le portail met un cookie sur le PC. C'est donc grâce à ce cookie qu'on peut récupérer l'id du membre connecté.
==> YES

- Donc ayant récupéré l'id du membre lors de sa connexion, il faut, lorsque le membre ouvre le formulaire, que ce dernier aille chercher les données de ce membre grâce à d'id récupéré par le cookie.

Je suis débutant en php : il y a certainement du code à récupérer dans user.php pour me permettre de faire cela ?
==> oui ou le module links qui me semble + approprié (dans modules/links)

- Ces derniers jours, je me suis penché sur extend-user (c1, c2, c3, etc). En fait mon idée serait une sorte de extend-user multi-formulaires dont chaque formulaire pourrait être appelé individuellement par un lien et non comme actuellement intégré dans le formulaire d'inscription.
Suis-je sur la bonne piste ?
==> non : la bonne piste c'est le module links et sa façon d'intégré des infos complémentaires

- Ce système réglerait pas mal de problèmes rencontrés par certains et que j'ai pu lire sur le forum SFORM (comment augmenter le nombre de champ, etc).
On crait un ou des formulaires perso par SFORM ou autre éditeur de formulaire avec autant de champs que l'on souhaite, on y ajoute un champ avec l'id du membre. Ce dernier permettant au membre et à l'administrateur d'aller sur l'un des formulaires pour y modifier les données de ce membre.

çà pourrait être une idée pour un patch de NPDS Sable... ;-)
i-hej i-hejicon_post
J'apprends progressivement à faire mon formulaire et les fonction d'ajout et de modifications de données dans une bdd grâce à ce formulaire.

J'ai une question au sujet du code (ci-dessus) de récupération du pseudo par le cookie :

- Imaginez que ma compagne aille sur le site sous mon pseudo (car j'ai oublié de me déconnecter) et que j'aille également sur le site de mon boulot en même temps qu'elle et en me connectant sous mon pseudo. Comment NPDS gère cette double connection sous le même pseudo ? Que se passerait il si les deux connectés étaient sur le même formulaire, que je suis en train de créer, sous le même pseudo ?

- un gars qui s'y connait, ne peut il pas créer ou modifier un cookie présent sur son PC ? Si oui, ne pourrait il pas mettre dans le cookie de son PC le pseudo d'un autre membre, pseudo qu'il a récupéré sur le site ? Si oui, il pourrait donc se connecter sous le pseudo d'un autre membre et donc modifier ses données, ses commentaires, ses articles, etc. NPDS a peut être éviter cela, non ?
Pour revenir à mon formulaire, le code donnée ci-dessus ne vérifie que le pseudo dans le cookie donc la situation ci-dessus serait possible au sujet de mon formulaire. Le mot de passe, au contraire du pseudo, n'est vu par personne sur le site, ne faudrait il pas faire également une vérification du mot de passe en plus du pseudo ? Si oui, pouvez vous me dire quel en serait le code php ?

Question sécurité, c'est important.
developpeur developpeuricon_post
Citation : i-hej

J'apprends progressivement à faire mon formulaire et les fonction d'ajout et de modifications de données dans une bdd grâce à ce formulaire.

J'ai une question au sujet du code (ci-dessus) de récupération du pseudo par le cookie :

- Imaginez que ma compagne aille sur le site sous mon pseudo (car j'ai oublié de me déconnecter) et que j'aille également sur le site de mon boulot en même temps qu'elle et en me connectant sous mon pseudo. Comment NPDS gère cette double connection sous le même pseudo ? Que se passerait il si les deux connectés étaient sur le même formulaire, que je suis en train de créer, sous le même pseudo ?
==> Deux users avec le même pseudo sur le même site : aucun prob / pour que cela pose un prob il faudrait que ton insert ou update de la table Mysql se fasse au même moment (c'est assez improbale). par acquis de conscience / lock la table en insert | insert | delock la table

- un gars qui s'y connait, ne peut il pas créer ou modifier un cookie présent sur son PC ? Si oui, ne pourrait il pas mettre dans le cookie de son PC le pseudo d'un autre membre, pseudo qu'il a récupéré sur le site ? Si oui, il pourrait donc se connecter sous le pseudo d'un autre membre et donc modifier ses données, ses commentaires, ses articles, etc. NPDS a peut être éviter cela, non ?
==> le cookie est en partie crypté (lourdement avec MD5) et une vérif est faite sur chaque chargmement du mainfile sur le couple / user-pass / le vol de cookie ou la forge (fabrication) est possible mais pas simple,simple

Pour revenir à mon formulaire, le code donnée ci-dessus ne vérifie que le pseudo dans le cookie donc la situation ci-dessus serait possible au sujet de mon formulaire. Le mot de passe, au contraire du pseudo, n'est vu par personne sur le site, ne faudrait il pas faire également une vérification du mot de passe en plus du pseudo ? Si oui, pouvez vous me dire quel en serait le code php ?
==> voir au dessus
Question sécurité, c'est important.