[SPIP Zone] SPIP 1.9.1 - Erreur avec le plugins Forms

Bonjour,
J'ai installé la nouvelle version de Forms sous 1.9.1, j'avais auparavent
une version plus vieille qui fonctionnait bien.
Maintenant, j'ai l'erreur suivante dans mes formulaires:

Erreur(s) dans le squelette

<BOUCLE_champs>(forms_champs)
Erreur MySQL
forms_champs.id_form, forms_champs.type, forms_champs.titre,
forms_champs.champ, forms_champs.obligatoire, forms_champs.cle,
forms_champs.id_groupe FROM spip_forms_champs AS `forms_champs` WHERE
(forms_champs.id_form = '2')
Table 'ordinate_internet.spip_forms_champs' doesn't exist
</BOUCLE_champs> ,

J'ai essayé d'effacer le plugins et de le réinstaller, toujours cette
erreur.

Dans l'espace privé, quand je vais éditer un formulaire, l'affichage
(Apparence du formulaire) est tout croche, le reste est ok.

J'ai tenté une réparation de la base de données, sans résultat. Mais j'ai
remarqué que le spip_forms_champs n'est pas dans la liste des réparations.

Après analyse, la table spip_forms_champs n'existe pas dans MySQL.
Comment forcer la création de cette table?
J'ai essayé de désactiver le plugins Forms, l'effacer et le réinstaller sans
succès.... J'ai même effacé les tables résiduelles Forms dans MySQL, sans
résultat, même problème.
Je ne sais vraiment plus quoi faire.
Quelqu'un pourrait-il m'éclairer là-dessus?
Merci,
Jean-Paul

Je pense que tu n’as pas la toute dernière version du plugin.
Cédric a réparé ca la semaine dernière, et en spip 1.9.1 rev 7339, chez moi ca fonctionne nickel.
J’ai juste du réimporter mes tables via phpmyadmin, car visiblement la sauvegarde dump de SPIP en oubliait quelques tables.

Au total 6 tables (mais j’ai cru comprendre aussi qu’il y avait des tables temporaires dans le cache)

spip_forms
spip_forms_articles
spip_forms_champs
spip_forms_champs_choix
spip_reponses
spip_reponse_champ

Sinon voici la structure seule (sans les données) de mes tables si ce peut t’aider :



– Structure de la table spip_forms

CREATE TABLE spip_forms (
id_form bigint(21) NOT NULL auto_increment,
titre varchar(255) NOT NULL default ‹  ›,
descriptif text,
sondage varchar(255) NOT NULL default ‹  ›,
structure text,
email text,
champconfirm varchar(255) NOT NULL default ‹  ›,
texte text,
maj timestamp(14) NOT NULL,
PRIMARY KEY (id_form)
) TYPE=MyISAM AUTO_INCREMENT=8 ;



– Structure de la table spip_forms_articles

CREATE TABLE spip_forms_articles (
id_form bigint(21) NOT NULL default ‹ 0 ›,
id_article bigint(21) NOT NULL default ‹ 0 ›,
KEY id_form (id_form),
KEY id_article (id_article)
) TYPE=MyISAM;



– Structure de la table spip_forms_champs

CREATE TABLE spip_forms_champs (
id_form bigint(21) NOT NULL default ‹ 0 ›,
cle bigint(21) NOT NULL default ‹ 0 ›,
champ varchar(100) default NULL,
titre varchar(100) default NULL,
type varchar(100) default NULL,
obligatoire char(3) default NULL,
id_groupe bigint(21) NOT NULL default ‹ 0 ›,
PRIMARY KEY (id_form,cle)
) TYPE=MyISAM;



– Structure de la table spip_forms_champs_choix

CREATE TABLE spip_forms_champs_choix (
id_form bigint(21) NOT NULL default ‹ 0 ›,
cle bigint(21) NOT NULL default ‹ 0 ›,
choix varchar(100) NOT NULL default ‹  ›,
titre varchar(100) default NULL,
PRIMARY KEY (id_form,cle,choix),
KEY choix (choix)
) TYPE=MyISAM;



– Structure de la table spip_reponses

CREATE TABLE spip_reponses (
id_reponse bigint(21) NOT NULL auto_increment,
id_form bigint(21) NOT NULL default ‹ 0 ›,
date datetime NOT NULL default ‹ 0000-00-00 00:00:00 ›,
ip varchar(255) NOT NULL default ‹  ›,
id_auteur bigint(21) NOT NULL default ‹ 0 ›,
id_article_export bigint(21) NOT NULL default ‹ 0 ›,
url varchar(255) NOT NULL default ‹  ›,
statut varchar(255) NOT NULL default ‹  ›,
cookie varchar(255) NOT NULL default ‹  ›,
maj timestamp(14) NOT NULL,
PRIMARY KEY (id_reponse),
KEY id_form (id_form,date),
KEY date (date),
KEY cookie (cookie),
KEY id_auteur (id_auteur),
KEY statut (statut,id_form)
) TYPE=MyISAM AUTO_INCREMENT=10 ;



– Structure de la table spip_reponses_champs

CREATE TABLE spip_reponses_champs (
id_reponse bigint(21) NOT NULL default ‹ 0 ›,
champ varchar(255) NOT NULL default ‹  ›,
valeur blob NOT NULL,
maj timestamp(14) NOT NULL,
KEY champ (champ,id_reponse),
KEY id_reponse (id_reponse)
) TYPE=MyISAM;

Le 10 sept. 06 à 15:15, Jean-Paul Bleau a écrit :

Bonjour,
J’ai installé la nouvelle version de Forms sous 1.9.1, j’avais auparavent
une version plus vieille qui fonctionnait bien.
Maintenant, j’ai l’erreur suivante dans mes formulaires:

Erreur(s) dans le squelette

<BOUCLE_champs>(forms_champs)
Erreur MySQL
forms_champs.id_form, forms_champs.type, forms_champs.titre,
forms_champs.champ, forms_champs.obligatoire, forms_champs.cle,
forms_champs.id_groupe FROM spip_forms_champs AS forms_champs WHERE
(forms_champs.id_form = ‹ 2 ›)
Table ‹ ordinate_internet.spip_forms_champs › doesn’t exist
</BOUCLE_champs> ,

J’ai essayé d’effacer le plugins et de le réinstaller, toujours cette
erreur.

Dans l’espace privé, quand je vais éditer un formulaire, l’affichage
(Apparence du formulaire) est tout croche, le reste est ok.

J’ai tenté une réparation de la base de données, sans résultat. Mais j’ai
remarqué que le spip_forms_champs n’est pas dans la liste des réparations.

Après analyse, la table spip_forms_champs n’existe pas dans MySQL.
Comment forcer la création de cette table?
J’ai essayé de désactiver le plugins Forms, l’effacer et le réinstaller sans
succès… J’ai même effacé les tables résiduelles Forms dans MySQL, sans
résultat, même problème.
Je ne sais vraiment plus quoi faire.
Quelqu’un pourrait-il m’éclairer là-dessus?
Merci,
Jean-Paul


spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

J’ai désactivé tous les plugins.
J’ai ré-installé SPIP 1.9.1 rev 7339.
J’ai effacé Ecrire/Data
J’ai ré-installé Forms de la SVN branche stable 1.9.1

J’ai ré-activé les plugins

Toujours la même erreur… Je crois que je vais devoir aller jouer dans MySQL

N’y a-t-il pas de procédure pour forcer la reconstruction des tables de Forms ?
J’ai vu qu’il faisait une vérification de la version dans un des PHP. Il doit bien y avoir un moyen de lui dire que la version est 0.0???

Merci,
Jean-Paul

« Alexandra Guiderdoni » <alexandra.maison@laposte.net> a écrit dans le message de news: A6DA625F-4BAE-4C7E-8E9C-A55642B7E22A@laposte.net
Je pense que tu n’as pas la toute dernière version du plugin.Cédric a réparé ca la semaine dernière, et en spip 1.9.1 rev 7339, chez moi ca fonctionne nickel.
J’ai juste du réimporter mes tables via phpmyadmin, car visiblement la sauvegarde dump de SPIP en oubliait quelques tables.

Au total 6 tables (mais j’ai cru comprendre aussi qu’il y avait des tables temporaires dans le cache)

spip_forms
spip_forms_articles
spip_forms_champs
spip_forms_champs_choix
spip_reponses
spip_reponse_champ

Sinon voici la structure seule (sans les données) de mes tables si ce peut t’aider :

Il me semble avoir vu passer sur la zone que cette info de numéro de version de plugin était dans spip_meta.
Mais Cédric serait plus à même de te répondre.
Alexandra

Le 10 sept. 06 à 16:41, Jean-Paul Bleau a écrit :

J’ai désactivé tous les plugins.
J’ai ré-installé SPIP 1.9.1 rev 7339.
J’ai effacé Ecrire/Data
J’ai ré-installé Forms de la SVN branche stable 1.9.1

J’ai ré-activé les plugins

Toujours la même erreur… Je crois que je vais devoir aller jouer dans MySQL

N’y a-t-il pas de procédure pour forcer la reconstruction des tables de Forms ?
J’ai vu qu’il faisait une vérification de la version dans un des PHP. Il doit bien y avoir un moyen de lui dire que la version est 0.0???

Merci,
Jean-Paul

Merci Alexandra…
Suite à l’échec de toutes mes tentatives, j’ai décidé de recréer manuellement les tables manquantes dans MySQL.
Les tables manquantes étaient spip_forms_champs et spip_forms_choix. Toutes les autres tables s’étaient recrées toutes seules, sauf les 2 mentionnées. Suite à la création manuelle des tables manquantes, les formulaires semblent fonctionner comme il faut maintenant.
Jean-Paul

« Jean-Paul Bleau » <BleauJP-6Fe5BhZ4zoBBDgjK7y7TUQ@public.gmane.org> a écrit dans le message de news: ee187f$lju$1@sea.gmane.org
J’ai désactivé tous les plugins.
J’ai ré-installé SPIP 1.9.1 rev 7339.
J’ai effacé Ecrire/Data
J’ai ré-installé Forms de la SVN branche stable 1.9.1

J’ai ré-activé les plugins

Toujours la même erreur… Je crois que je vais devoir aller jouer dans MySQL

N’y a-t-il pas de procédure pour forcer la reconstruction des tables de Forms ?
J’ai vu qu’il faisait une vérification de la version dans un des PHP. Il doit bien y avoir un moyen de lui dire que la version est 0.0???

Merci,
Jean-Paul

« Alexandra Guiderdoni » <alexandra.maison@laposte.net> a écrit dans le message de news: A6DA625F-4BAE-4C7E-8E9C-A55642B7E22A-QFKgK+z4sOrR7s880joybQ@public.gmane.org
Je pense que tu n’as pas la toute dernière version du plugin.Cédric a réparé ca la semaine dernière, et en spip 1.9.1 rev 7339, chez moi ca fonctionne nickel.
J’ai juste du réimporter mes tables via phpmyadmin, car visiblement la sauvegarde dump de SPIP en oubliait quelques tables.

Au total 6 tables (mais j’ai cru comprendre aussi qu’il y avait des tables temporaires dans le cache)

spip_forms
spip_forms_articles
spip_forms_champs
spip_forms_champs_choix
spip_reponses
spip_reponse_champ

Sinon voici la structure seule (sans les données) de mes tables si ce peut t’aider :



spip-zone-JM9gtpQu/Ho@public.gmane.org - http://listes.rezo.net/mailman/listinfo/spip-zone

C’est pas compliant de creer les tables a la main.
Ces 2 tables sont temporaires, c’est a dire qu’elles ne sont crees en memoire que quand spip rencontre une boucle FORMS, et elle disparaissent des le service de la page terminé. Elles ne sont donc pas visibles dans phpmyadmin.
Plutot que de les creer en dur, il faut regarder dans le mysql.log l’erreur lors de la tentative de creation de la table.
La, avec les tables en dur, tu te retrouve coincé avec une definition de table qui n’est pas mise a jour lors des evolutions.
Par ailleurs ces tables ne sont pas maintenues, seulement remplies lorsqu’ un form est rencontré. Il n’est donc pas sur du tout que cela fonctionne des que tes formulaires seront modifiés…

Cedric

Jean-Paul Bleau a écrit :

Bonjour,

Dans un log de backup que j’ai gardé, l’erreur dans MySQL.log lors de la tentative de creation est la suivante:

1044 Access denied for user ‹ ordinate_spip ›@‹ localhost › to database ‹ ordinate_internet ›

Je comprend maintenant que c’est probablement un problème de droits, mais lorsque j’ai créé en dur les tables, c’était avec le même usager et je n’ai pas eu d’erreur de access denied à ce moment là.

Je ne vois pas ce que je peux faire. C’est vrai que ce n’est pas parfait, mais c’est tout ce que j’ai pu trouver pour avoir des formulaires fonctionnels dans mon site. En attendant de trouver le vrai problème…

Merci,
Jean-Paul

<cedric.morin@yterium.com> a écrit dans le message de news: 4506E22F.4080705@yterium.com
C’est pas compliant de creer les tables a la main.
Ces 2 tables sont temporaires, c’est a dire qu’elles ne sont crees en memoire que quand spip rencontre une boucle FORMS, et elle disparaissent des le service de la page terminé. Elles ne sont donc pas visibles dans phpmyadmin.
Plutot que de les creer en dur, il faut regarder dans le mysql.log l’erreur lors de la tentative de creation de la table.
La, avec les tables en dur, tu te retrouve coincé avec une definition de table qui n’est pas mise a jour lors des evolutions.
Par ailleurs ces tables ne sont pas maintenues, seulement remplies lorsqu’ un form est rencontré. Il n’est donc pas sur du tout que cela fonctionne des que tes formulaires seront modifiés…

Cedric