Formidable, le générateur de formulaires

Un générateur de formulaires facilement configurable pour les non-informaticiennes et facilement extensible pour les développeur⋅euses.

Cette documentation est valable à partir de la version 6.1.0 de Formidable.

Introduction

Historiquement, deux plugins avaient déjà été développés précédemment pour gérer des formulaires :

  • Forms &Tables, qui n’a pas été complètement porté pour SPIP 2.
  • et spip-formulaire créé par artego mais qui n’était plus maintenu.

La question s’est donc posée : construire sur la base d’un des deux plugins ou repartir de zéro ?
Form &Table, très complet pour les utilisateurs, présentait l’inconvénient d’avoir un côté « fourre-tout » qui le rendait difficilement modifiable et difficile à personnaliser par les dévs.

Il a finalement été décidé de repartir de zéro pour proposer quelque chose :

  • de plus facile à utiliser pour les utilisateurs d’une part,
  • mais aussi de plus facile à personnaliser pour les développeur⋅euses.
    Avec le parti pris de se baser de préférence sur plusieurs petits plugins spécialisés et de tirer parti de la nouvelle norme CVT.

Interface utilisateur

L’utilisation basique de l’interface est abordée dans ce screencast : Mon premier formulaire pas à pas : c’est Formidable !

Appeler mon formulaire

Vous devez appeler le formulaire ayant le nom « formidable », en lui passant en paramètre l’identifiant de votre formulaire.

Dans un contenu

Utilisez le modèle <formulaire> classique : <formulaire|formidable|id=34> ou bien <formulaire|formidable|id=contact>

Dans un squelette


#FORMULAIRE_FORMIDABLE{34} ou bien #FORMULAIRE_FORMIDABLE{contact}

Afficher les résultats du formulaire

Dans un contenu

Utilisez le modèle <formulaire_analyse|id_formulaire=34>

Pré-remplir dynamiquement les champs d’un formulaire

À noter, vous avez la possibilité de surcharger dans l’appel, les valeurs par défaut des champs de votre formulaire. Pour cela, vous devez passer un tableau de nom=>valeur en deuxième paramètre. Vous pourrez trouver les noms de vos champs dans l’aide-mémoire situé sur la page de configuration des traitements.

Dans un contenu

Le tableau de valeurs dans un paramètre defaut sous forme d’une suite de chaînes « clé,valeur » séparée par des virgules :
<formulaire|formidable|id=contact|defaut=hidden1,valeur,input_5,autrevaleur>

Dans un squelette

Le tableau en deuxième paramètre :

#FORMULAIRE_FORMIDABLE{contact, #ARRAY{nom_du_champ, Ma valeur}}

C’est particulièrement utile pour remplir un champ caché avec une valeur dynamique venant du squelette :

#FORMULAIRE_FORMIDABLE{contact, #ARRAY{hidden_1, #ID_DOCUMENT}}

Autres options utilisable dans le squelette

Il est possible de passer des options comme troisième argument du formulaire, sous forme de tableau (#ARRAY).

Options possible comme troisième argument de #FORMULAIRE_FORMIDABLE
Nom de l’optionFonctionType
forcer_modif Permet de forcer la modification d’une réponse, même si non autorisé Booléen
id_formulaires_reponses Identifiant de la réponse à modifier Entier
no_ajax Désactiver l’ajax sur le formulaire Booléen
traiter_email_destinataires Destinataires pour le traitement Tableau (#ARRAY) d’emails ou liste d’emails séparés par des virgules
traiter_email_destinataires_methode Indique si traiter_email_destinataires doit remplacer les emails déjà configurés dans le traitement ou les ajouter Au choix 'remplacer' ou 'ajouter' (valeur par défaut)
url_redirect Url de redirection Chaine

Exemple d’un formulaire Formidable dont l’identifiant est contact_libre et dont l’email destinataire est dans le champ email de la table de votre objet #EMAIL de la table spip_contacts ….

<div class="ajax">
#FORMULAIRE_FORMIDABLE{contact_libre,'',#ARRAY{traiter_email_destinataires,#EMAIL}}
</div>

Case unique

Pour rendre obligatoire la réponse oui à une case unique (pour la validation de conditions d’utilisation par exemple), il faut simplement rendre le champ obligatoire.

Courriels de notification

Une option des traitements proposés permet d’envoyer un mail de notification automatiquement, à chaque saisie d’un formulaire.

Le squelette par défaut employé pour la mise en forme de ces mails est plugins/formidable/notifications/formulaire_email.html. Vous pouvez le copier dans le répertoire ’notifications’ de votre squelette et l’y modifier à votre guise. Cette modification vaudra pour tous les formulaires.

Pour utiliser un squelette spécifique pour les mails de notification de l’un seulement des formulaires définis avec Formidable, il suffit d’ajouter son squelette dans le répertoire ’notifications’ de votre dossier squelettes, mais en ajoutant l’identifiant.

IDENTIFIANT étant l’identifiant du formulaire défini dans Formidable, les squelettes doivent se nommer :
formulaire_IDENTIFIANT_email.html pour le mail aux destinataires
formulaire_IDENTIFIANT_accuse.html pour l’accusé de réception du visiteur

Conservation des IP

Les adresse IP des personnes répondant aux formulaires sont stockées en base de donnée. Depuis la version 1.5 (SPIP 3) / 0.7 (SPIP < 3), elle sont automatiquement hashé, de manière à ce que l’IP ne soit plus reconnaissable, au bout de 124 jours (environ 4 mois).

Pour changer ce délai, vous pouvez redéfinir la constante _CNIL_PERIODE dans votre fichier mes_options.php.

Par exemple :

define('_CNIL_PERIODE', 24*3600);

permet de hasher les IP toutes les 24 heures.

Si vous voulez désactiver le hashage, mettez la valeur à 0.

Envoi de fichiers

Lire l’article complémentaire : Envoyer des fichiers avec un formulaire Formidable.

Mise en forme des saisies

Le plugin ne prévoit aucun réglage de mise en forme des saisies : c’est à chaque squelette d’avoir ses styles. Il respecte cependant la convention d’écriture des formulaire SPIP. Il permet d’ajouter des classes spécifiques sur les saisies.

Affichage des réponses sous forme de tableau

Le plugin Formidable Tablesorter permet d’afficher sous forme de tableau les réponses, dans l’espace privé, avec possibilité de tri et de filtre.

Voir aussi sur le wiki


-  Complément de doc et exemples sur les boucles et balises de formidable
-  Exemples de stylage CSS d’un formulaire Formidable
-  todoFormidable
-  Formidable, présentation aux Grottes (2010)

Discussion

811 discussions

  • 1

    Je cherche a ce que mon formulaire, qui un champ daté, a ce que ce dernier soit rempli automatiquement par la date du jour.

    J’ai essayé de mettre dans la partie Description > Valeur par défaut : #DATE mais ce champ ne semble pas être interprété par SPIP et est ré-affiché tel que.

    Il y a-t-il une solution ? Merci d’avance pour votre aide.

    • Non ya pas de solution. Mais tu pourrais modifier la saisie « date » pour ajouter une option « Utiliser la date du jour comme date par défaut », case unique à cocher en dessous de l’input pour la valeur défaut, et si c’est activé, ne pas utiliser #ENV{defaut} mais #DATE. Par exemple.

    Répondre à ce message

  • 1

    Bonjour,
    j’ai créé sans problème mon premier formulaire mais pas moyen de le voir s’afficher en ligne.

    dans le corps d’un article j’ai appelé la balise suivante.

    formulaire|Enquête UNSS|id=1 (entre crochet bien sûr)

    ou

    formulaire|Enquête UNSS|id=prep_unss

    et rien ne s’affiche !

    Des idées ?

    • Peut-être qu’en l’appelant comme l’indique la doc juste au-dessus, ça marchera mieux ? Cf le chapitre « Appeler mon formulaire ». :)

    Répondre à ce message

  • Bonjour,

    j’ai installé le plugin en local sans aucun problème et il fait très bien le taf ! merci beaucoup :)
    en revanche j’ai un petit soucis pour la mise en prod
    j’ai lu dans les commentaires que certain avaient un peu le même soucis que moi mais la solution n’a pas fonctionné :/

    les tables ne se crées pas à l’installation du plugin
    je les aient importées vide de ma base local et j’ai activé le plugin ensuite
    le plugin n’arrivent pas à écrire correctement dans la base lors de la création d’un formulaire (la table s’incrémente mais l’identifiant reste NULL le titre est vide...)
    de plus si je modifie dans la base l’identifiant et le titre dans « formulaires_tous » il ne m’affiche aucun formulaire créé.
    et j’ai eu des logs du genre ’Table ’xxx.formulaires’ n’existe pas...

    je suis hébergé chez ovh
    Version sql : 5.0.90
    Version PHP : 5.3.8
    spip 3.0.3

    merci :)

    PS : dans la création d’un formulaire le lien de retour « /ecrire/ ?exec=formulaire_tous » est incorrecte il manque juste un petit « s » à formulaire :p

    Répondre à ce message

  • 2

    « Le squelette par défaut employé pour la mise en forme de ces mails est plugins/formidable/notifications/formulaire_email.html. Vous pouvez le copier dans le répertoire ’notifications’ de votre squelette et l’y modifier à votre guise. Cette modification vaudra pour tous les formulaires. »

    Cela ne fonctionne pas par contre pour formulaire.accuse.html cela fonctionne.

    Est-ce normal ?

    • Tout squelette placé dans le répertoire « squelettes/ » est obligatoirement pris en priorité à celui du même nom/même chemin d’un plugin.

    • Ok merci cela fonctionne, je testais trop vite sans recalculer le formulaire.
      désolé du bruit, et grand merci de ton prompt et précieux support Rastapopoulos

    Répondre à ce message

  • 2

    Bonjour,

    est il possible de personnaliser la valeur du bouton « VALIDER » ?
    merci

    • Seulement en surchargeant le squelette du formulaire, je pense.

    • Ok merci cela fonctionne, je testais trop vite sans recalculer le formulaire.

      désolé du bruit, et grand merci de ton prompt support Rastapopoulos

    Répondre à ce message

  • 27
    micker

    Bonjour
    j’ai des soucis apres installation ...
    je veus créer mon formulaire ..
    apres sauvegarde
    j’ai cette erreur
    Erreur SQL 1146
    Table ’marionne_site.spip_formulaires’ doesn’t exist
    SELECT id_formulaire FROM spip_formulaires WHERE identifiant = ’contact2 and id_formulaire != 0’

    Merci d’avance pour votre aide

    • personne pour m’aider !!! svp de l’aide

    • je suis toujours bloquer ... avec cette erreur
      j’ai essayer de desinstaller reinstaller je l’ai toujours ....
      qqun aurais une idée ?
      Merci d’avance

    • Quelle est ta version de SPI et du plugin formidable ?

    • SPIP 2.1.10 [17657] et Formidable 0.6.6
      ..
      Merci pour l’aide je despere un peu lol

    • SVP a l’aide ... je ne comprend pas pourquoi ce plugin ne fonctionne pas sur mon site
      Merci

    • Des sorciers vaudous expliquent que lorsqu’on supprime les lignes vides des fichiers du répertoire « base », la Baron Samedi peut éventuellement autoriser ton plugin à s’installer correctement.

      Mais je n’ai pas encore compris la logique sous-jacente.

    • hello ...
      alors j’ai trouver l’envoler trés sympa
      j’ai modifier formidable_installation enlever les espaces
      puis desintaller par l’interface puis reinstaller
      j’ai des erreurs en moins ..
      mais quand j’essaie de sauver le formulaire (avant les champs ...)
      j’ai encore une erreur
      Erreur SQL 1146

      Table 'marionne_site.spip_formulaires' doesn't exist
      SELECT id_formulaire FROM spip_formulaires WHERE identifiant = 'test and id_formulaire != 0'

      ....
      c’est du vaudous ... mais ca ne fonctionne pas encore ...
      merci de ton aide en tout cas

    • Rrrr j’arrive vraiment pas à comprendre pourquoi les tables ne s’installent pas.

      C’est quel hébergeur avec quel PHP ?

    • http://www.mavenhosting.com/
      php 5.3.10 ...
      Merci pour ton aide

    • c’est mavenhosting c’est du php 5.3.10 ...
      au pire si tu me guide je peu créer les tables ...
      Merci pour ton aide

    • Bonjour

      Même hébergeur http://www.mavenhosting.com et même messages d’erreur.

      Voici des infos sur MySQL
      Serveur : Localhost via UNIX socket
      Version du serveur : 5.1.63-cll
      Version du protocole : 10
      Jeu de caractères pour MySQL : UTF-8 Unicode (utf8)

      Info sur le serveur
      cpsrvd 11.32.3.19
      Version du client MySQL : 4.1.22
      Extension PHP : mysql

      Php myadmin : Version : 3.4.10.1

      Comment créer éventuellement manuellement les tables nécessaires ?
      D’avance merci pour vos lumières

      Odile

    • Ben vous pouvez toujours l’installer en local, exporter la base, et l’importer sur le serveur. Mais je ne sais pas si ça va tout résoudre car je ne sais pas si c’est uniquement à l’installation des tables que ça merde.

      Et de ce que j’avais cru comprendre, ce n’est pas un problème de SQL mais de PHP qui n’importe pas les fichiers contenant les infos de déclaration des tables (donc ça risque de poser des problèmes aussi par la suite). En tout cas c’est ce qu’on avait vu avec une personne qui avait le même problème.

      Il faudrait que vous regardiez les logs de SPIP au moment d’installer le plugin pour voir ce que ça dit (la personne avait des choses du genre « fichier machin.php inconnu » ou « fonction formidable_declarer_truc inconnue »).

      Quant à moi, je n’arrive pas à reproduire ni en local ni sur mes serveurs, du coup je peux difficilement fouiller.

    • Merci pour la piste en local, je vais essayer. J’avais déjà effacé les lignes vides comme indiqué dans une précédente réponse.

      L’installation est OK du plugin, mais dès que je lance la création d’un formulaire j’ai ce type de message :

      Erreur SQL 1146
      Table ’svtbelro_spip.spip_formulaires’ doesn’t exist
      SELECT ’’, formulaires.id_formulaire, formulaires.titre, formulaires.identifiant FROM spip_formulaires AS formulaires ORDER BY formulaires.titre

      colonne « squelette » :
      ./plugins/auto/formidable_1_0/prive/liste/formulaires.html

      colonne « boucle » :
      _formulaires

      et colonne « ligne » :
      6

      Je vais aussi lancer la requête auprès de Maven l’hébergeur, des fois que...
      Encore merci,
      Odile

    • hello odile super on est pas seul tu me tien au courant si tu as des retours mavenhosting ...

    • Non mais l’installation n’est PAS OK justement. L’erreur SQL dont tu parles est après, et elle est claire : les tables nécessaire au plugin n’ont PAS été installées. Donc l’erreur n’est pas celle-là au moment de l’utiliser, mais en amont au moment d’installer. Et lors de l’installation ya pas d’erreur SQL, c’est une erreur PHP à priori. On dirait qu’il n’arrive pas à inclure les fichiers qu’il faudrait. Et donc il faut vider les logs de SPIP (dans tmp/) pour pas avoir de pollution, puis installer de zéro le plugin, et immédiatement aller fouiller les logs pour voir ce qui se dit. Si possible lire les logs de PHP ou d’Apache aussi (sur le serveur).

    • sinon en attendant tu pourrais nous donner les action sql a faire coté phpmyadmin ?
      Merci

    • Bonjour
      Et oui, on est au moins deux ...
      En attendant de voir ça en local, mon hébergeur MavenHosting m’a précisé que le serveur est avec PHP version 5.2.17, et qu’il pouvait me passer en 5.3.13.
      J’attends une réponse plus précise de Mavenhosting sur ce problème...peut être que...
      Odile

    • Bonjour

      J’ai donc désinstallé le plugin, vidé les log dans temp, et refait l’installation.
      Voici le contenu du fichier mysql.log

      Jun 20 18:47:39 82.240.219.162 (pid 29002) :Pri:ERREUR : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist - SHOW CREATE TABLE spip_formulaires
      Jun 20 18:47:39 82.240.219.162 (pid 29002) :Pri:ERREUR : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist -
      SELECT ’’, formulaires.id_formulaire, formulaires.titre, formulaires.identifiant
      FROM svtbelro_spip.spip_formulaires AS formulaires
      ORDER BY formulaires.titre
      Jun 20 18:47:39 82.240.219.162 (pid 29002) :Pri:ERREUR : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist - query inconnue
      Jun 20 18:47:39 82.240.219.162 (pid 29002) :Pri:ERREUR : Erreur 1146 de mysql : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist

      SELECT ’’, formulaires.id_formulaire, formulaires.titre, formulaires.identifiant
      FROM svtbelro_spip.spip_formulaires AS formulaires
      ORDER BY formulaires.titre
      Jun 20 18:47:39 82.240.219.162 (pid 29002) :Pri:ERREUR : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist - query inconnue
      Jun 20 18:47:41 82.240.219.162 (pid 29054) :Pri:ERREUR : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist - SHOW CREATE TABLE spip_formulaires
      Jun 20 18:47:41 82.240.219.162 (pid 29054) :Pri:ERREUR : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist -
      SELECT ’’, formulaires.id_formulaire, formulaires.titre, formulaires.identifiant
      FROM svtbelro_spip.spip_formulaires AS formulaires
      ORDER BY formulaires.titre
      Jun 20 18:47:41 82.240.219.162 (pid 29054) :Pri:ERREUR : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist - query inconnue
      Jun 20 18:47:41 82.240.219.162 (pid 29054) :Pri:ERREUR : Erreur 1146 de mysql : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist

      SELECT ’’, formulaires.id_formulaire, formulaires.titre, formulaires.identifiant
      FROM svtbelro_spip.spip_formulaires AS formulaires
      ORDER BY formulaires.titre
      Jun 20 18:47:41 82.240.219.162 (pid 29054) :Pri:ERREUR : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist - query inconnue
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Table ’svtbelro_spip.inc_album_zoom_1s’ doesn’t exist - SHOW CREATE TABLE inc_album_zoom_1s
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Table ’svtbelro_spip.inc_album_zoom_1’ doesn’t exist - SHOW CREATE TABLE inc_album_zoom_1
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Table ’svtbelro_spip.inc_album_zoom_1s’ doesn’t exist - SHOW CREATE TABLE inc_album_zoom_1s
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Table ’svtbelro_spip.inc_album_zoom_1’ doesn’t exist - SHOW CREATE TABLE inc_album_zoom_1
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Table ’svtbelro_spip.inc_album_zoom_1s’ doesn’t exist - SHOW CREATE TABLE inc_album_zoom_1s
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Table ’svtbelro_spip.spip_inc_album_zoom_1s’ doesn’t exist - SHOW CREATE TABLE spip_inc_album_zoom_1s

      et voici le contenu du fichier spip.log

      Jun 20 18:47:39 82.240.219.162 (pid 29002) :Pri:ERREUR : Erreur mysql 1146
      Jun 20 18:47:39 82.240.219.162 (pid 29002) :Pri:ERREUR : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist - SHOW CREATE TABLE spip_formulaires
      Jun 20 18:47:39 82.240.219.162 (pid 29002) :Pri:ERREUR : Erreur mysql 1146
      Jun 20 18:47:39 82.240.219.162 (pid 29002) :Pri:ERREUR : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist -
      SELECT ’’, formulaires.id_formulaire, formulaires.titre, formulaires.identifiant
      FROM svtbelro_spip.spip_formulaires AS formulaires
      ORDER BY formulaires.titre
      Jun 20 18:47:39 82.240.219.162 (pid 29002) :Pri:ERREUR : Erreur mysql 1146
      Jun 20 18:47:39 82.240.219.162 (pid 29002) :Pri:ERREUR : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist - query inconnue
      Jun 20 18:47:39 82.240.219.162 (pid 29002) :Pri:ERREUR : Erreur 1146 de mysql : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist

      SELECT ’’, formulaires.id_formulaire, formulaires.titre, formulaires.identifiant
      FROM svtbelro_spip.spip_formulaires AS formulaires
      ORDER BY formulaires.titre
      Jun 20 18:47:39 82.240.219.162 (pid 29002) :Pri:ERREUR : Erreur mysql 1146
      Jun 20 18:47:39 82.240.219.162 (pid 29002) :Pri:ERREUR : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist - query inconnue
      Jun 20 18:47:41 82.240.219.162 (pid 29054) :Pri:ERREUR : Erreur mysql 1146
      Jun 20 18:47:41 82.240.219.162 (pid 29054) :Pri:ERREUR : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist - SHOW CREATE TABLE spip_formulaires
      Jun 20 18:47:41 82.240.219.162 (pid 29054) :Pri:ERREUR : Erreur mysql 1146
      Jun 20 18:47:41 82.240.219.162 (pid 29054) :Pri:ERREUR : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist -
      SELECT ’’, formulaires.id_formulaire, formulaires.titre, formulaires.identifiant
      FROM svtbelro_spip.spip_formulaires AS formulaires
      ORDER BY formulaires.titre
      Jun 20 18:47:41 82.240.219.162 (pid 29054) :Pri:ERREUR : Erreur mysql 1146
      Jun 20 18:47:41 82.240.219.162 (pid 29054) :Pri:ERREUR : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist - query inconnue
      Jun 20 18:47:41 82.240.219.162 (pid 29054) :Pri:ERREUR : Erreur 1146 de mysql : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist

      SELECT ’’, formulaires.id_formulaire, formulaires.titre, formulaires.identifiant
      FROM svtbelro_spip.spip_formulaires AS formulaires
      ORDER BY formulaires.titre
      Jun 20 18:47:41 82.240.219.162 (pid 29054) :Pri:ERREUR : Erreur mysql 1146
      Jun 20 18:47:41 82.240.219.162 (pid 29054) :Pri:ERREUR : Table ’svtbelro_spip.spip_formulaires’ doesn’t exist - query inconnue
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Erreur mysql 1146
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Table ’svtbelro_spip.inc_album_zoom_1s’ doesn’t exist - SHOW CREATE TABLE inc_album_zoom_1s
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub : !INFO : trouver_table : table inconnue ’’ ’inc_album_zoom_1s’
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Erreur mysql 1146
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Table ’svtbelro_spip.inc_album_zoom_1’ doesn’t exist - SHOW CREATE TABLE inc_album_zoom_1
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub : !INFO : trouver_table : table inconnue ’’ ’inc_album_zoom_1’
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:WARNING : table_objet(inc_album_zoom_1) calculee sans verification
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Erreur mysql 1146
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Table ’svtbelro_spip.inc_album_zoom_1s’ doesn’t exist - SHOW CREATE TABLE inc_album_zoom_1s
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub : !INFO : trouver_table : table inconnue ’’ ’inc_album_zoom_1s’
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Erreur mysql 1146
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Table ’svtbelro_spip.inc_album_zoom_1’ doesn’t exist - SHOW CREATE TABLE inc_album_zoom_1
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub : !INFO : trouver_table : table inconnue ’’ ’inc_album_zoom_1’
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:WARNING : table_objet(inc_album_zoom_1) calculee sans verification
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Erreur mysql 1146
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Table ’svtbelro_spip.inc_album_zoom_1s’ doesn’t exist - SHOW CREATE TABLE inc_album_zoom_1s
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub : !INFO : trouver_table : table inconnue ’’ ’inc_album_zoom_1s’
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Erreur mysql 1146
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub:ERREUR : Table ’svtbelro_spip.spip_inc_album_zoom_1s’ doesn’t exist - SHOW CREATE TABLE spip_inc_album_zoom_1s
      Jun 20 18:47:53 208.115.113.83 (pid 29355) :Pub : !INFO : trouver_table : table inconnue ’’ ’spip_inc_album_zoom_1s’

      J’espère que cela te permettra, Rasta Popoulos, de nous aider à faire fonctionner le plugin.
      Bonne soirée
      Odile
      PS : je vais tester l’installation locale puis le transfert de base ce week-end

    • hello avez vous des news ??
      Merci

    • Bonjour

      Super, la solution de Rasta Popoulos d’installer en local est bonne : le plugin formidable fonctionne avec l’hébergeur maven hosting.
      Pour cela, il faut utiliser par exemple EasyPHP , puis utiliser phpmyadmin pour importer/exporter les bases
      Sinon, l’hébergeur m’avait proposer de changer la version de PHP, mais n’avait pas de réponse pour le plugin en lui même.

      Odile

    • hello
      moi le site est en production ... c’est difficle pour moi de coupé pour remettre la base ...
      RastaPopoulos
      tu pourrais me donner les requettes a faire coté phpmyadmin ? car ca me premettrai de régler le soucis ..
      Merci

    • Mais je n’ai pas de requêtes SQL à te donner : c’est SPIP qui les génère ! Sinon tu les trouverais directement dans les fichiers du plugin. Là je vais pas m’amuser à recomposer champ par champ la requête SQL à faire... Tu en as une partie dans le dossier « base/ » (la description de chaque champ) mais une autre partie est générée par SPIP (les clés primaires ou pas, etc).

      Mais tu peux très bien l’installer en local et ne sauver/restaurer que telle ou telle table hein, et donc pas toute la base mais seulement les tables du plugin.

      Cela dit, ça reste un pis-aller, je ne comprends toujours pas d’où vient le vrai problème (et est-ce seulement sur telle ou telle version de PHP ?).

    • ok merci je comprend
      c’est pas grave
      a+

    • desoler une derniere question :
      j’installe formidable en local puis je fais mon frmulaire ?
      ou je peu installer formidable remettre ma base sur le serveur et utiliser formidable ?
      Merci

    • Ça je n’en sais rien puisque je n’arrive pas à reproduire le bug. D’après Odile, il semblerait que le plugin fonctionne une fois que les tables sont bien présentes.

    • Bonsoir,

      En local avec easyPhp j’ai installé spip3, formidable et tous les plugins nécessaires à formidable. Je n’ai pas eu besoin de créer un formulaire.
      Toujours en local par EsayPhp il faut ouvrir PhpMyadmin. Là, il y a plein de tables...clique sur celles commençant spip_formulaires (ça dépend aussi du nom racine donné à ta base, mais il y aura toujours le nom formulaires pour celles qui nous intéressent) et pour chacune clique sur exporter la base (dans le menu en haut)....Là on aura un fichier à enregistrer sur ton ordi.
      Sur l’hébergeur MavenHosting passe aussi par PhpMyadmin et dans la base en ligne de ton site spip,importe ces fichiers en cliquant sur importer, et en récupérant les fichiers sur ton ordi.

      A présent je peux utiliser Formidable...qui est vraiment un super plugin pour créer facilement des formulaires.
      Odile

    • Bonsoir,

      Après avoir installé le plugin en local et vérifié que tout fonctionnait, je l’ai mis en ligne et je me suis retrouvé avec le même problème : les tables ne se sont pas créer lors de l’activation.

      J’ai effectué la même manip qu’Odile (faire un export en local et import en ligne des tables spip_formulaires*) et ça ne fonctionne toujours pas :/

      Voici le message d’erreur après la tentative de création du formulaire :

      Warning : Invalid argument supplied for foreach() in /*****/*****/www/ecrire/inc/modifier.php on line 112

      je suis chez ovh

      Version sql : 5.0.90
      Version PHP : 5.3.8

      merci :)

    Répondre à ce message

  • 4
    Philippe

    Bonjour à tous,

    Je souhaiterai modifier la mention « [Obligatoire] » lorsque un champ doit être impérativement rempli par un astérisque afin d’améliorer la mise en page de mes formulaires.

    Quelqu’un pourrait-il me donner le nom des fichiers à modifier ainsi que les dossiers où se situent les fichiers à modifier (Plugins formidable ou autre plugin).

    Merci de votre aide,
    Philippe.

    • Ya un champ de config pour ça dans chaque champ de formidable. Ce qui est chiant pour l’instant c’est qu’il n’y a que la surcharge champ par champ, par globale. Mais c’est possible.

      Attention tout de même : un astérisque c’est rarement très accessible comme manière d’indiquer que c’est obligatoire. Ou alors faut une légende explicite au début du formulaire, mais après quand un lecteur d’écran lit chaque champ, ce n’est malgré tout pas très clair.

    • Philippe

      Merci Rastapopoulos,

      J’ai bien saisi que l’on pouvez décider pour chaque champs s’il est obligatoire ou non, mais je souhaite faire apparaitre un astérisque à la place de la mention [obligatoire] qui apparait et préciser en début, ou fin, de formulaire : * champ obligatoire.

      D’où ma première question quel fichier modifier pour faire apparaitre * à la place de obligatoire ?

    • Je le répète : il y a un champ de config pour ça dans chaque saisie. Dans l’onglet « affichage » sûrement, puisque c’est une question d’affichage. « Indication d’obligation : vous pouvez modifier l’indication d’obligation par défaut ».

    • Philippe

      Désolé RastaPopoulos j’avais pas bien compris et un grand merci !!!!

    Répondre à ce message

  • 1

    Comment vider un formulaire rapidement ?
    Après avoir tester le formulaire, je voudrai le mettre en service, mais il contient toutes mes valeurs de test... Alors comment le purger simplement ?

    • Je me réponds...
      Tout simplement en allant dans la base de données et en vidant la table ...

      Je cherchais un bouton dans l’interface privé, mais le delete fonctionne aussi bien :)

    Répondre à ce message

  • Pour toutes celles et tous ceux qui chercheraient à afficher les résultats enregistrés via un de leur formulaire, en une sort de sondage, il est possible de l’obtenir en partie privée via l’insertion de la balise suivante :

    <formulaireXX|analyse>, XX étant le n° du formulaire (dans l’ordre de création dans la base).

    Le squelette affiché est basé sur le modèle : plugins/auto/formidable/modeles/formulaire_analyse.html

    Encore merci RastaPopoulos, pour ton aide via IRC.

    Répondre à ce message

  • 3

    Bonjour et merci pour cet excellent plugin.

    En Spip 2.1.14, Formidable 0.6.6 et Saisies 1.24.2, je rencontre un souci après ajout de champ avec des erreurs du type :

    Message :
    Aucun squelette saisies/<SPAN>Auteurs</SPAN>.html n'est disponible
    Squelette
    ../plugins/saisies/saisies/_base.html
    
    Message :
    Aucun squelette saisies/<SPAN>Case unique</SPAN>.html n'est disponible
    Squelette
    ../plugins/saisies/saisies/_base.html

    Quelqu’un aurait une idée ?

    • Euh je sais pas d’où t’arrives à avoir ce comportement, parce que des squelettes avec des majuscules dans le nom, il n’y en a ni dans Formidable, ni dans Saisies (où se trouvent ces saisies). Et encore moins avec un espace au milieu comme pour « Case unique ». On a l’impression que ça cherche le squelette mais en donnant le nom humain (celui affiché pour l’utilisateur).

      Ceci dit, je n’ai ça ni en 2.1 ni en 3.0 chez moi.

    • Merci pour le retour.

      Pour info, j’observe ce comportement sur un serveur local tournant sous Windows avec Apache.

      Je ne parviens pas à le reproduire sous un autre environnement, et je ne parviens pas à l’expliquer non plus ...

    • J’ai trouvé la nature du problème qui existe sous IE7 et IE8.
      C’est bien le texte qui se trouve entre les balises <button ...> et </button> qui est transmis par IE au lieu de la « value »
      Ce comportement est lié au plugin « Saisies » pas à « Formidable »

      c.f. : http://www.w3schools.com/tags/att_button_value.asp

      The value attribute specifies the initial value for a button.
      
      Important: If you use the <button> element in an HTML form, different browsers may submit different values. Internet Explorer, prior version 9, will submit the text between the <button> and </button> tags, while other browsers will submit the content of the value attribute. Use the <input> element to create buttons in an HTML form.

    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