plugin Forms : création de formulaires

Documentation basique du plugin Forms pour son volet création de formulaires.

Il y a d’autres usages et possibilités (sondages et code avec unserialize), qui seront détaillés dans d’autres articles.

Installation et activation du plugin

Comme pour tous les plugins (voir Les plugins), vous avez installé ce plugin par ftp puis vous l’avez activé dans l’interface de gestion des plugins (Configuration > Gestion des Plugins > cocher la case « Formulaires ») :

Initialisation du formulaire

  1. Passez la souris sur « Edition » puis cliquez sur l’icône « Formulaires et sondages » ;
  2. Cliquez sur « Créer un nouveau formulaire » ;
  3. Donnez un titre, éventuellement un descriptif, et indiquez une adresse email où seront envoyées les réponses au formulaire rempli en ligne par vos utilisateurs ;
  4. choisissez « Ce formulaire n’est pas un sondage » (c’est le seul exemple abordé dans ce document) puis validez ; La validation initialise la création du formulaire. Vous pourrez ensuite aborder la seconde phase, celle de la définition des champs du formulaire.
  5. la même page s’affiche donc apres la validation, mais en bas vous trouverez un sélecteur des types de champs que vous pourrez afficher dans votre formulaire.

Création des champs de saisie

Choisissez les champs dont vous avez besoin, nommez les, puis ajoutez chaque élément, un par un ; voici le détail des champs possibles :

    1. ligne de texte crée un champ de saisie sur une seule ligne
    2. texte crée un champ de saisie sur plusieurs lignes
    3. adresse mail crée un champ de saisie d’adresse mail avec la mention « Veuillez entrer une adresse e-mail valide (de type vous@fournisseur.com) »
    4. adresse web crée un champ de saisie d’adresse web avec la mention "Veuillez entrer une adresse Web valide (de type http://www.monsite.com/...)". D’autre part, on peut choisir de vérifier la validité du site.
    5. choix unique insère un choix entre autant d’item que l’on souhaite de style « bouton radio » un seul bouton pourra être coché.
    6. choix multiple insère les classiques choix à cocher avec possibilités de plusieurs choix (cases carrées). Pour ces deux derniers types de champs, le changement est proposé après la création du champ pour transformation d’un type vers l’autre.
    7. fichier à télécharger permet à l’utilisateur de joindre un fichier. Le concepteur du formulaire fixe la taille maxi en ko du fichier.
    8. mots-clés ajoute automatiquement une liste de cases à cocher de type « choix multiples » correspondants à tous les mots-clés d’un groupe de mots-clés. Le choix entre les groupes de mots-clés est proposé au concepteur du formulaire. ex : j’ai un groupe de mots-clés nommé « Thématiques ». En choisissant ce groupe lors de la création du formulaire, j’insère automatiquement une série de cases à cocher avec tous les mots-clés de ce groupe, soit Communauté, Culture, Développement, Licences libres, Logiciels libres.
    9. nouveau bloc de questions crée un nouveau cadre qui entourera tous les champs qui suivront jusqu’à l’insertion d’un autre champ « bloc de questions »
    10. message d’explication insère un texte de votre choix, donc par exemple pour écrire vos questions ou commenter votre formulaire.

Il est possible de modifier l’ordre des champs en cliquant sur les flèches « monter » ou « descendre » en vis à vis de chacun.
Un apercu du formulaire est visible dans le cartouche, en cliquant sue le petit triangle devant APPARENCE DU FORMULAIRE

Lorsque vous avez intégré tous les composants souhaités , cliquez sur « Retour » en haut de la page. Votre formulaire est créé. Pour le publier il faut maintenant l’inclure dans un article

Vous insérez donc ce formulaire dans un article, à la manière d’une insertion d’image : lorsque vous créez ou modifiez un article, vos formulaires se trouvent à gauche de votre article et vous n’avez qu’à coller le code du formulaire voulu dans le corps de votre article (comme pour une image <img1>)
Ex : Dans ce site, <form1> inséré dans un article donnera le formulaire comme ceci : <form1>

Afficher un formulaire dans un squelette

Vous pouvez également afficher un formulaire directement dans les squelettes en utilisant la notation suivante :

[(#MODELE{form}{id_form=1})]

Afficher un sondage dans un squelette

Pour afficher un sondage, il faudra procéder en deux étapes et utiliser un <INCLURE> pour bien gérer le cache.

1) Créer un squelette par exemple sondage.html

#CACHE{0}
[(#MODELE{form}{id_form=1})]

2) Inclure ce squelette ou vous voulez (disons sur la page d’accueil)

<INCLURE{fond=sondage}>

Vous pouvez consulter les réponses que vos utilisateurs ont envoyées :

  • En consultant l’interface privé : en passant votre souris sur « Forum », puis sur « Suivi des réponses » (les réponses sont sur le même mode que les signatures des pétitions).
  • En recevant les réponses par email : Si vous avez indiqué une adresse mail dans la configuration de votre formulaire (plus haut), vous recevrez également le contenu du formulaire par mail (pour autant que votre serveur vous autorise à envoyer des mails).
  • En Exportant les réponses au format CSV : Vous avez également la possibilité de télécharger le fichier des données collectées au format csv pour excel. Sur la page Edition > Formulaire et sondage > Votre Formulaire : une fois que votre formulaire est publié et que vous avez collecté des réponses, apparait à gauche de l’interface de modification du formulaire, un bloc de consultation des réponses
    • > voir les réponses (consultation modération cf forum) -> télécharger les réponses (récupération de l’ensemble des données sous forme d’un fichier csv pour excel)

Récupérer les informations du formulaire dans une boucle

Vous pouvez récupérer les infos générales de vos formulaires en utilisant la boucle suivante :

<BOUCLE_formulaire(FORMS)>
#TITRE
</BOUCLE_formulaire>
  • Soit « FORMS » = le nom de la table
  • #TITRE = le titre du formulaire

Un exemple complet de l’utilisation des boucles de formulaires est visible dans le plugin, dans le squelette de génération du formulaire (formulaires/forms.html)

Les balises disponibles sont #DESCRIPTIF, #SONDAGE (attention ne sera plus supporté dans forms2), #EMAIL (données serialisées, non utilisable simplement), #CHAMPCONFIRM (nom du champ email dont la valeur est utilisee pour envoyer un mail de confirmation), et #TEXTE (texte pour l’envoi du mail de confirmation)

Pour accéder aux informations concernant les champs des formulaires, 2 autres boucles sont utilisées :

La boucle FORMS_CHAMPS permet d’acceder aux infos d’un champ :

<BOUCLE_champs(FORMS_CHAMPS){id_form}{par cle}>
[(#TYPE|=={ligne}|?{' ',''})
	<input type='text' name='#CHAMP' id='#CHAMP' value="" 
		class='[(#OBLIGATOIRE|=={oui}|?{forml,formo})]' size='40' />
]
</BOUCLE_champs>

Cet exemple simplifie issu de formulaires/forms_structure.html affiche l’input des champs de type ligne d’un formulaire

La boucle FORMS_CHAMPS_CHOIX permet d’acceder aux choix possibles pour un champ etendu de type choix multiple ou unique. Voici un autre exemple simplifié, issu de formulaires/forms_champs_multiple.html

<BOUCLE_f(FORMS){id_form}>
<BOUCLE_champs(FORMS_CHAMPS){id_form}{cle}> 
	<BOUCLE_choix(FORMS_CHAMPS_CHOIX){id_form}{cle}{par num titre,titre}>
	<span class='spip_form_choix_multiple'>
	&nbsp; <input type='checkbox' name='#CHAMP[]' id='#CHOIX' value='#CHOIX' />
	<label for='#CHOIX'>[(#TITRE|supprimer_numero)]</label>
	</span>
	</BOUCLE_choix>
</BOUCLE_champs>
</BOUCLE_f>

Récupération des données des formulaires créés via des boucles

Les réponses au formulaire sont elles stockées dans la table spip_reponses et spip_reponses_champs. Pour une réponse donnée, vous avez un enregistrement dans spip_reponses, associé a n enregistrements de spip_reponses_champs ayant le meme id_reponse. Donc vous pouvez éventuellement récupérer les réponses par des boucles sur ces tables. Toutefois, les données des champs de type choix ne sont pas stockées en clair mais en tant que numero de choix (à peu de choses près), et il faut utiliser les boucles decrites ci-dessus pour les interpreter.
Un exemple de squelette affichant une réponse en clair est fourni avec le plugin (forms_reponse.html, a la racine du plugin).
Ces boucles sont d’un niveau d’utilisation avancées du fait de leurs interdependances.

Exemple : afficher les données lors du retour de validation d’un formulaire
Dans cet exemple on cherche à afficher les données d’un formulaire dans une page article lorsque l’utilisateur vient de valider un formulaire intégré dans un article avec le modèle <formXX>.
Pour cela on modifie le squelette article.html en ajoutant à l’endroit où doivent apparaître les résultats (par ex. juste après la balise #TEXTE l’un des deux exemples suivant :

  • Premier exemple : afficher les données qui viennent d’êtres saisies par l’utilisateur :
    <BOUCLE_feinte(ARTICLES){0,1}>[(#ENV{ajout_reponse}|?{' ',''})]</BOUCLE_feinte>
    <br><strong>Affiche les donn&eacute;es qui viennent d'&egrave;tres remplies:</strong><br>
        <BOUCLE_reponses(FORMS_DONNEES){id_donnee}>
            <BOUCLE_champs(FORMS_CHAMPS){id_form}{par rang}>
            #TITRE : <span class='#_reponses:EDIT{#CHAMP}'>#LESVALEURS{','}</span>
            </BOUCLE_champs>
        </BOUCLE_reponses>
    </B_feinte>
  • Deuxième exemple : afficher l’ensemble des données saisies pour ce formulaire :
    <BOUCLE_feinte(ARTICLES){0,1}>[(#ENV{ajout_reponse}|?{' ',''})]</BOUCLE_feinte>
    <br><strong>Affiche l'ensemble des donn&eacute;es saisies:</strong><br>
        <BOUCLE_reponses2(FORMS_DONNEES){par id_donnee}>
            R&eacute;ponse #ID_DONNEE:<br>
            <BOUCLE_champs2(FORMS_CHAMPS){id_form=#ENV{ajout_reponse}}{par rang}>
            #TITRE : <span class='#_reponses:EDIT{#CHAMP}'>#LESVALEURS{','}</span><br>
            </BOUCLE_champs2>
            <br>
        </BOUCLE_reponses2>
    </B_feinte>

    Note : dans les 2 cas on utilise une BOUCLE_feinte qui permet de tester la présence du critère d’environnement ajout_reponse pour n’afficher les résultats que si la page est chargée en retour d’une validation du formulaire. Pour plus d’infos sur les boucles feintes, voir le paragraphe « Parties optionnelles des balises » dans cet article : http://www.weblog.eliaz.fr/article6...

Utiliser la fonctionnalité de liaison (dépendance) entre plusieurs formulaires

Il est possible de rendre un formulaire dépendant du remplissage d’un autre formulaire : c’est le rôle du champ « Formulaires obligatoires pour la saisie de celui-ci » de l’onglet Propriété d’un formulaire.
Cette fonctionnalité permet typiquement de faire quelque chose du style :

  • l’utilisateur arrive sur un article qui présente un premier formulaire (<form1> pour cet exemple) : il le rempli et le valide.
  • une fois cette validation faite, l’article se ré-affiche avec un deuxième formulaire (<form2> par ex.) qu’il peut alors remplir (le premier formulaire n’est plus visible).
  • une fois celui-ci validé, un troisième formulaire s’affiche (<form3>).

Mode opératoire :

  • créer les 3 formulaires
  • dans le champ Formulaires obligatoires pour la saisie de celui-ci de <form2>, on indique 1 (le numéro du formulaire de l’étape 1).
  • dans le champ Formulaires obligatoires pour la saisie de celui-ci de <form3>, on indique 1,2 (le numéro du formulaire de l’étape 1 et de celui de l’étape 2, séparés par une virgule).
  • Créer l’article qui contiendra l’enchaînement de ces 3 formulaires (un seul article), et mettre dans le texte de celui-ci <form3> uniquement !
    L’idée c’est que pour que <form3> s’affiche, il sera nécessaire d’avoir rempli <form1> puis <form2>, qui seront automatiquement insérés à la place de <form3> l’un après l’autre. Il ne faut donc pas faire d’appel direct au modèles <form1> et <form2>.

Remarques

  • si vous voulez que vos tests fonctionnent, il est nécessaire de vider les données saisies liées à votre compte utilisateur pour les 2 premiers formulaires et de supprimer les cookies spipcookie_form_1 et spipcookie_form_2 avant chaque essai (installez firecookie en plus de Firebug dans votre FireFox afin de simplifier cette opération).
  • apparament il doit y avoir un léger problème dans la prise en compte de l’étape qui vient d’être validée puisqu’en réalité, lorsque l’article est réaffiché à la validation d’un formulaire, il est nécessaire de recharger la page pour que le formulaire suivant apparaisse (recalcul pas nécessaire, simplement rechargement de la page)... Et cela même avec un #CACHE{0} dans le squelette de l’article qui contient les formulaires.
    Si vous avez des infos pour contourner ce problème, merci de laisser un message dans le forum attaché à cet article !

La version pour spip 1.9.1 est disponible en telechargement sur la zone.

Spip 1.9.2

La nouvelle version du plugin s’appelle forms&tables. Elle est compatible 1.9.1 & 1.9.2, et est en téléchargement ici

Spip 2.0

Une nouvelle version du plugin pour SPIP 2.0 est désormais disponible : Forms&Tables 2.0

Discussion

332 discussions

  • Bonjour,
    J’utilise ce plugin pour des inscriptions en ligne d’adhérents avec une acceptation préalable d’une charte (dependance de 2 formulaires) mais lorsqu’on valide le premier il est bien dit que la réponse est prise en compte mais on est obligé de recharger la page pour voir le second formulaire
    y a t il une solution je cherche désespérément sans trouver
    Avez vous une solution
    merci

    Répondre à ce message

  • Pour la contrib de Erationnal, comment inverser le classement des posts ? Du plus récents au plus anciens ?

    Merci

    Répondre à ce message

  • bonjour
    dans la partie public du site 192 après avoir rempli le formulaire et validé, il apparait : « votre saisie a été enregistré » normal donc, mais comment faire en sorte qu’à la suite la page revienne automatiquement au formulaire initial vide ?
    merci d’avance pour votre aide

    Répondre à ce message

  • Bonjour,

    Je viens d’installer le plugin, ça marche très bien à part un truc que je n’ai pas dû savoir paramétrer.

    J’ai créé un champ à choix unique, avec une dizaine de villes entre lesquelles il faut choisir.
    Mais si le choix apparaît bien dans l’espace privé, une fois dans l’espace public, la balise #LESVALEURS ne me renvoie pas le nom de la ville choisie, mais un code correspondant au choix : select_1_1 ou select_1_7 ou select_1_8 etc.

    Est-ce que quelqu’un a la solution ?

    Grand merci

    Monique

    Répondre à ce message

  • 1

    Bonjour, je voudrais contrôler un champ texte en limitant le nombre de caractères lors de la saisie. J’ai creusé le « forms_fonctions.php » et je ne suis pas arrivé à une solution qui permettrait d’appliquer le contrôle à un seul champ précis de saisie texte.

    Alors, je sèche et si quelqu’un avait une piste... merci d’avance pour les idées !

    • si cela peut utile à certaines personnes...
      voici un modèle pour afficher les réponses dans l’espace public
      on affiche uniquement les champs taggés en « Ce champs est visible dans l’espace public »

      utilisation
      <reponse1> affiche les réponses du formulaire 1

      le code de modeles/reponse.html

      [(#REM)
        modele experimental pour afficher les resultats d'un formulaire du plugin F&T
        on n'affiche que les donnees definies en "public"
      ]<B_donnees>
      <table class="spip donnees" id='donnees-#ENV{id}'>
      <B_head><thead><tr class='row_first'>
        <th></th>
      	<BOUCLE_head(FORMS_CHAMPS){id_form=#ENV{id}}{type !IN (separateur,textestatique)}{par rang}{public=oui}><th>#TITRE</th></BOUCLE_head>
      </tr></thead></B_head>
      <tbody>
      <BOUCLE_donnees(FORMS_DONNEES){id_form=#ENV{id}}>
      	<tr class='[(#_donnees:COMPTEUR_BOUCLE|alterner{row_even,row_odd})]'>
      	    <td>#COMPTEUR_BOUCLE</td>
      	   <BOUCLE_body(FORMS_CHAMPS){id_form}{type !IN (separateur,textestatique)}{par rang}{public=oui}><td>#LESVALEURS{'<br />'}</td></BOUCLE_body>
      	</tr>
      </BOUCLE_donnees>
      </tbody>
      </table>
      </B_donnees>

    Répondre à ce message

  • 6

    Bonsoir,

    bravo pour votre travail...J’ai mis en ligne un formulaire sur mon site. Mais au niveau graphique, ’ai des sortes de bandes marron. Pas très joli, comment avoir un tableau simple du type de celui qui est présenté dan sla démo ?
    Merci d’avance.

    • Bonsoir,

      je vais me répondre à moi même. Il suffit de modifier la feuille de style correspondante :
      spip_forms.css présnte dans le répertoire forms_et_tables.

      Voilà, j’ai modifié en reprenant le style des form de spip contrib que j’ai trouvé plus visible.

      A bientôt

    • Bonjour,
      Je me suis aidé de vos conseils pour modifier une partie de l’apparence des formulaires, cela marche bien en local avec SPIP 1 9 2 d, mais les fameuses bandes beiges et marron à gauche persistent.
      J’ai vu sur votre message que vous étiez parvenu à les « supprimer ».
      J’ai ôté le code faisant appel au gif, le gif lui même, vidé le cache maintes fois, ces bandes ne partent toujours pas.
      Le reste pourtant me satisfait pleinement.
      Pouvez vous me donner un conseil,
      Pour toute réponse,
      Merci

    • salut, les styles des bords marrons sont dans le fichier spip_forms.css à la racine du plugin. En gros j’ai rajouté ça en fin de fichier et ça marche

      .spip_forms
      color : black ;
      margin : 0px ;
      padding : 0px 5px 0px 5px ;
      font-family : Verdana, Arial, Helvetica, sans-serif ;
      font-weight : normal ;
      /*border-left : 3px solid #963 ;*/

      .spip_forms .spip_form_ok
      background :#650b06 none repeat scroll 0% ;
      color :#ffffff ;
      font-weight:bold ;
      margin:1em 0pt 0pt ;
      padding:0.6em ;

    • Bonjour,

      Je n’y suis pas parvenu.
      Il ne s’agit que d’un détail qui n’est pas si disgracieux visible ici :
      @Classe des Cordeliers,
      MAIS, j’aimerais quand même réussir !

      J’ai laissé la css dans le répertoire du plugin en l’appelant dans l’article comme il est dit dans le forum, j’ai changé la couleur de ligne gif (?), j’ai placé la css dans le répertoire de mes styles du squelette, mais ces fameuses lignes persistent.

      Je crois que je vais finir par m’en accommoder.
      En tout cas, merci pour votre réponse.

    • Pour modifier ou supprimer les “bandes beiges et marron à gauche” :

      Dans spip_forms.css :

      -  la bordure extérieure est définie dans .spip_forms fieldset ; border-left :
      -  la bordure intérierieure est définie dans .spip_forms ; border-left :

    • Patrick Dupouy

      Bonsoir, et merci beaucoup, cela a marché au premier coup !

      J’avais essayé beaucoup de pistes sans penser à celles ci.

      J’ai remarqué dans le forum, des questions analogues à la mienne qui semblaient sans réponse.
      Voila qui est fait maintenant, et encore merci pour votre aide.

    Répondre à ce message

  • Hello
    Lorsque je tape un espace et rien d’autre dans un champs obligatoire, ça passe quand même : Y a t’il un moyen de corriger ça ?

    Répondre à ce message

  • Mon problème survient lorsque j’utilise la fonctionnalité de liaison entre les formulaires. Je dois l’utiliser sans être connecté comme auteur.

    J’ai remarqué que lorsque je suis connecté, cette fonctionnalité de passer d’un formulaire à l’autre marche bien. J’ai remarqué que l’id de l’auteur s’enregistrait dans la table et qu’il l’utilise pour savoir si l’on a déja répondu au questionnaire précédent.

    Dans mon cas, je dois utilisé le formulaire pour une demande d’inscription (la personne qui le rempli n’est pas connecté). Je voudrais savoir s’il y a une solution à mon problème.

    Merci d’avance pour votre aide

    Répondre à ce message

  • 1

    Bonjour et merci pour votre travail.
    Je suis en train de tester le plugin « forms_et_tables_1_9_1 » sur une version de spip 1.92d. J’ai eu un problème d’affichage des formulaires créés. Il était impossible de les visualiser une fois créés, ni de les modifier et supprimer.
    Le problème semble régler après un réglage d’attribution de mémoire. php.ini nécessite 10 Mo de mémoire vive pour permettre un affichage.
    La difficulté, est que l’on voudrait sur nos serveurs, permettre l’utilisation de ce plugin à environ 100 sites !
    Ce qui entraîne des difficultés !

    Auriez-vous une idée permettant de réduire cette mémoire nécessaire ?

    Merci d’avance.

    Répondre à ce message

  • 6

    Bonjour,

    Je viens d’installer le plugin sur une version 1.9.2d [11132] de mon site et après avoir créé et enregistré plusieurs fois mon formulaire en cours de création, quand je clique sur « Retour » pour visualiser la liste de mes formulaires, tout est vide : je n’ai pas accès aux formulaires créés. Pourtant, quand je vais voir sur la base de données avec le PhpMyAdmin de mon hébergeur (OVH), je retrouve toutes les infos.

    Est-ce que vous avez déjà eu vent de ce genre de problème ?

    Est-ce dû au fait que le plugin n’est plus compatible pour la dernière version de SPIP ?

    Merci de votre réponse

    • Bonsoir
      Je rencontre le même problème. Tout se passe bien sur un serveur sous php4 et rien ne va plus (même symptômes) sur un serveur sous php5 (spip 1.9.2b.
      Si quelqu’un a une info ou un « truc » merci d’avance.

    • Bonjour,

      Problème identique, sur la version « SPIP 1.9.2d [11132] ».
      Les formulaires sont bien enregistrés dans la base de données, mais invisibles après clic sur « Retour ». Site hébergé chez OVH.

      Toute aide serait vraiment bienvenue !

    • Hello,
      Je suis dans le même cas sur un serveur dédié OVH en php5

      Quelqu’un a déjà la solution ?

      Amitié

      Paul

    • à priori il semblerait que ce problème soit lié au fait que l’installation des tables du plugin ne se fait pas correctement dans la base de données.
      Pour corriger cela, une solution consiste à les créer à la main directement dans la base (avec phpMyAdmin par exemple).
      Le code SQL à injecter est le suivant :

      --
      -- Structure de la table 'spip_forms'
      --
      
      DROP TABLE IF EXISTS spip_forms;
      CREATE TABLE spip_forms (
        id_form bigint(21) NOT NULL auto_increment,
        titre varchar(255) NOT NULL,
        descriptif text,
        type_form varchar(255) NOT NULL,
        modifiable enum('non','oui') default 'non',
        multiple enum('non','oui') default 'non',
        forms_obligatoires varchar(255) NOT NULL default '',
        email text,
        champconfirm varchar(255) NOT NULL,
        texte text,
        moderation varchar(10) default 'posteriori',
        public enum('non','oui') NOT NULL default 'non',
        linkable enum('non','oui') NOT NULL default 'non',
        documents enum('non','oui') NOT NULL default 'non',
        documents_mail enum('non','oui') NOT NULL default 'non',
        arborescent enum('non','oui') NOT NULL default 'non',
        html_wrap text,
        maj timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
        PRIMARY KEY  (id_form)
      );
      
      -- --------------------------------------------------------
      
      --
      -- Structure de la table 'spip_forms_articles'
      --
      
      DROP TABLE IF EXISTS spip_forms_articles;
      CREATE TABLE spip_forms_articles (
        id_form bigint(21) NOT NULL default '0',
        id_article bigint(21) NOT NULL default '0',
        PRIMARY KEY  (id_form,id_article),
        KEY id_article (id_article)
      );
      
      -- --------------------------------------------------------
      
      --
      -- Structure de la table 'spip_forms_champs'
      --
      
      DROP TABLE IF EXISTS spip_forms_champs;
      CREATE TABLE spip_forms_champs (
        id_form bigint(21) NOT NULL,
        champ varchar(100) NOT NULL,
        rang bigint(21) NOT NULL,
        titre text,
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+dHlwZTwvY29kZT4="></span> varchar(100) default NULL,
        taille bigint(21) NOT NULL,
        obligatoire varchar(3) default NULL,
        extra_info text,
        specifiant enum('non','oui') NOT NULL default 'non',
        listable_admin enum('non','oui') NOT NULL default 'oui',
        listable enum('non','oui') NOT NULL default 'oui',
        public enum('non','oui') NOT NULL default 'non',
        saisie enum('non','oui') NOT NULL default 'oui',
        aide text,
        html_wrap text,
        PRIMARY KEY  (id_form,champ),
        KEY rang (rang)
      );
      
      -- --------------------------------------------------------
      
      --
      -- Structure de la table 'spip_forms_champs_choix'
      --
      
      DROP TABLE IF EXISTS spip_forms_champs_choix;
      CREATE TABLE spip_forms_champs_choix (
        id_form bigint(21) NOT NULL,
        champ varchar(100) NOT NULL,
        choix varchar(100) NOT NULL default '',
        titre text,
        rang bigint(21) NOT NULL,
        PRIMARY KEY  (id_form,champ,choix),
        KEY choix (choix)
      );
      
      -- --------------------------------------------------------
      
      --
      -- Structure de la table 'spip_forms_donnees'
      --
      
      DROP TABLE IF EXISTS spip_forms_donnees;
      CREATE TABLE spip_forms_donnees (
        id_donnee bigint(21) NOT NULL auto_increment,
        id_form bigint(21) NOT NULL,
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+ZGF0ZTwvY29kZT4="></span> datetime NOT NULL,
        ip varchar(255) NOT NULL,
        id_auteur bigint(21) NOT NULL,
        id_article_export bigint(21) NOT NULL,
        url varchar(255) NOT NULL,
        confirmation varchar(10) NOT NULL,
        statut varchar(10) NOT NULL,
        cookie varchar(255) NOT NULL,
        rang bigint(21) NOT NULL,
        bgch bigint(21) NOT NULL,
        bdte bigint(21) NOT NULL,
        niveau bigint(21) NOT NULL default '0',
        maj timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
        PRIMARY KEY  (id_donnee),
        KEY id_form (id_form,<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+ZGF0ZTwvY29kZT4="></span>),
        KEY <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+ZGF0ZTwvY29kZT4="></span> (<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+ZGF0ZTwvY29kZT4="></span>),
        KEY cookie (cookie),
        KEY id_auteur (id_auteur),
        KEY statut (statut,id_form)
      );
      
      -- --------------------------------------------------------
      
      --
      -- Structure de la table 'spip_forms_donnees_articles'
      --
      
      DROP TABLE IF EXISTS spip_forms_donnees_articles;
      CREATE TABLE spip_forms_donnees_articles (
        id_donnee bigint(21) NOT NULL default '0',
        id_article bigint(21) NOT NULL default '0',
        article_ref enum('non','oui') NOT NULL default 'non',
        PRIMARY KEY  (id_donnee,id_article),
        KEY id_article (id_article)
      );
      
      -- --------------------------------------------------------
      
      --
      -- Structure de la table 'spip_forms_donnees_auteurs'
      --
      
      DROP TABLE IF EXISTS spip_forms_donnees_auteurs;
      CREATE TABLE spip_forms_donnees_auteurs (
        id_donnee bigint(21) NOT NULL default '0',
        id_auteur bigint(21) NOT NULL default '0',
        PRIMARY KEY  (id_donnee,id_auteur),
        KEY id_auteur (id_auteur)
      );
      
      -- --------------------------------------------------------
      
      --
      -- Structure de la table 'spip_forms_donnees_champs'
      --
      
      DROP TABLE IF EXISTS spip_forms_donnees_champs;
      CREATE TABLE spip_forms_donnees_champs (
        id_donnee bigint(21) NOT NULL,
        champ varchar(255) NOT NULL,
        valeur text NOT NULL,
        maj timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
        UNIQUE KEY champ (champ(128),id_donnee,valeur(128)),
        KEY id_donnee (id_donnee)
      );
      
      -- --------------------------------------------------------
      
      --
      -- Structure de la table 'spip_forms_donnees_donnees'
      --
      
      DROP TABLE IF EXISTS spip_forms_donnees_donnees;
      CREATE TABLE spip_forms_donnees_donnees (
        id_donnee bigint(21) NOT NULL default '0',
        donnee_ref enum('non','oui') NOT NULL default 'non',
        id_donnee_liee bigint(21) NOT NULL default '0',
        PRIMARY KEY  (id_donnee,id_donnee_liee),
        KEY id_donnee_liee (id_donnee_liee)
      );
      
      -- --------------------------------------------------------
      
      --
      -- Structure de la table 'spip_forms_donnees_rubriques'
      --
      
      DROP TABLE IF EXISTS spip_forms_donnees_rubriques;
      CREATE TABLE spip_forms_donnees_rubriques (
        id_donnee bigint(21) NOT NULL default '0',
        id_rubrique bigint(21) NOT NULL default '0',
        PRIMARY KEY  (id_donnee,id_rubrique),
        KEY id_rubrique (id_rubrique)
      );

      En espérant que cela vous décoincera le problème, mais en tout les cas « chez moi ça marche » ;-)

    • Hello,

      Un twist dans la svn m’avait fait récupérer quelque chose qui n’était pas bon.

      Maintenant ca roule, je teste demain.

      Amitié

      Paul

    • Bonjour,
      Suite à une mise à jour vers une version 1.9.2d[11132] et sarka spip 2.0.2, le plugin formes et tables 1_9_1 ne fonctionne plus /pas, je n’arrive pas a afficher les formulaires deja existant ni a creer de nouveaux formulaires !!!!
      j’e ne sais pas d’ou vient le probleme ???

      toute aide sera la beinvenue.

      samir

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom