Le formulaire Web ne soumet pas, mais redirige à la place

8

Les formulaires Web de mon prochain site de production Drupal ont cessé d'enregistrer les soumissions; au lieu de cela, il revient à la même page, avec les valeurs saisies. Je n'ai pas de chronologie lorsqu'elle a cessé de fonctionner. Dans un environnement sandbox, Webform 7.x-3.17 fonctionne correctement.

Je recherche des suggestions pour poursuivre le débogage.

J'ai essayé ce qui suit, mais sans succès:

  • Désactiver tous les modules qui font référence à Webform (notamment Webform Template et Webform Validation , et mon propre module personnalisé que j'utilisaishook_form_alter ).
  • Mise à niveau vers le dernier formulaire Web (oui, je me suis souvenu d'utiliser update.php).
  • Basé sur la documentation , en combinant hook_form_alter($form, &$form_state)avec array_unshift($form['#submit'],'my_custom_submit')pour insérer un rappel personnalisé, où j'ai appelé drupal_build_form($form['form_id']['#value'],$form_state)pour émuler une soumission.
  • Évidemment, rincer systématiquement les caches.
  • Assurer la publication du formulaire Web.
  • Ecrire un module bare-bones pour simplement surveiller $form_state['executed'](il retourne toujours faux).
  • Vérification de mon serveur à la error_logfois sur SSH et FTP.
  • Vérification des rapports> Messages de journal récents.
  • Nouveau: J'ai essayé de désactiver et de désinstaller Webform, de supprimer les anciens fichiers Webform et d'installer une nouvelle version de Webform; pas bien.

Je suis presque sûr que le problème n'est pas isolé dans Webform, il ne serait donc pas logique de publier dans leur file d'attente de problèmes.

Quelles autres méthodes de débogage puis-je utiliser pour éliminer ce bogue? Si je désactive chaque module sans désinstaller, une sauvegarde FTP complète est-elle nécessaire ou uniquement SQL?

EDIT: Quelques autres choses que j'ai essayées selon les suggestions (sans succès)

  • Définition explicite de $ cookie_domain et $ base_url dans settings.php
  • Recherche dans les modules Déclenchement et Action de toute redirection potentielle ratée
Morgan Delaney
la source
Avez-vous recherché un déclencheur / une action ou une règle qui provoque une redirection qui pourrait être ratée?
Patrick Kenny
@PatrickKenny Malheureusement non, il n'y a pas de pistes dans les pages d'interface utilisateur du module Trigger ou Action.
Morgan Delaney
Assurez-vous que vous utilisez le bon settings.php, que les valeurs de $ base_url et $ cookie_domain sont définies correctement, je recommande d'utiliser plusieurs dossiers de paramètres pour vos différents paramètres. Chacun a sa propre base de données, $ base_url et $ cookie domain settings. Facilite le dépannage, à mon humble avis.
stefgosselin

Réponses:

2

Je n'ai jamais eu de problème avec le module Webform, mais si cela m'arrivait, je vérifierais sites / default / setting.php pour voir s'il existe des paramètres pour un $base_urlou explicite $cookie_domain. Ce dernier est très improbable, car vous auriez probablement des problèmes de connexion.

Artur
la source
Dang. J'ai essayé d'ajouter ceci au bas des sites / default / settings.php: pastebin.com/94PBeeiG . Cela n'a pas fonctionné, mais merci pour la réponse! (Je suis certainement désespéré.)
Morgan Delaney
1

J'ai eu le même problème. Comme Dennis, le problème a été causé par la mise en place d'un alias d'URL sur le nœud du formulaire Web. Lorsque j'ai supprimé l'alias et créé une URL complète, cela a très bien fonctionné. Dans mon cas, il y avait un conflit parce que mon alias d'URL choisi était égal à un nom de répertoire sur mon site. J'ai donc pu utiliser un alias différent et cela a bien fonctionné. Je ne peux tout simplement pas utiliser l'alias que je voulais, sauf si je renomme le répertoire en conflit sur mon site.

Martena Murphy
la source
0

J'obtenais exactement ce problème. J'ai trouvé que le problème était que le formulaire était modifié d'une manière qui empêchait les formulaires Web de le comprendre. Pour autant que je sache, le $ form_state n'était pas affecté par les changements, mais modifier le $ form était encore suffisant pour casser le tout.

Je n'ai pas encore trouvé la solution. Je mettrai à jour ma réponse si je le fais.

Mise à jour: Pour ma solution de contournement, j'ai utilisé le #prefix et le #suffix pour ajouter du balisage aux éléments au lieu de les placer dans des conteneurs de formulaire. Cela a résolu le problème.

tvanc
la source
J'ai un problème similaire ici , où la présence de certains champs supprime l' #nodeélément, ce qui ruine la soumission / validation.
njp
0

Je voulais ajouter mes deux cents ici. J'ai eu le même problème sur un site de développement. Le site sera bientôt en ligne, mais je vérifiais les fonctionnalités et j'ai eu ce même problème.

Le problème est dû à la mise en place d'un alias d'URL sur le nœud du formulaire Web. Lorsque j'ai supprimé l'alias et créé une URL complète (mysite.com/?q=node/8), cela a très bien fonctionné.

De plus, je n'ai pas activé d'URL propres, ce qui pourrait résoudre le problème avec l'alias d'URL.

Mais je voulais en parler à quiconque ayant un problème. . .

Dennis
la source