Webform sendet nicht, sondern leitet an sich selbst weiter

8

Die Webformulare meiner Drupal-Website für die Produktion in Kürze werden nicht mehr gespeichert. Stattdessen wird dieselbe Seite mit den eingegebenen Werten wieder aufgerufen. Ich habe keine Zeitleiste, als sie nicht mehr funktionierte. In einer Sandbox-Umgebung funktioniert Webform 7.x-3.17 einwandfrei.

Ich suche nach Vorschlägen für das weitere Debuggen.

Ich habe Folgendes versucht, aber ohne Erfolg:

  • Deaktivieren von Modulen, die sich auf Webform beziehen (insbesondere Webform Template und Webform Validation sowie mein eigenes benutzerdefiniertes Modul, das verwendet wurde hook_form_alter).
  • Upgrade auf das neueste Webformular (ja, ich habe daran gedacht, update.php zu verwenden).
  • Basierend auf der Dokumentation , kombiniert hook_form_alter($form, &$form_state)mit array_unshift($form['#submit'],'my_custom_submit'), um einen benutzerdefinierten Rückruf einzufügen, bei dem ich angerufen habe drupal_build_form($form['form_id']['#value'],$form_state), um eine Übermittlung zu emulieren.
  • Offensichtlich werden Caches konsistent geleert.
  • Sicherstellen, dass das Webformular veröffentlicht wird.
  • Schreiben eines Bare-Bones-Moduls zur einfachen Überwachung $form_state['executed'](es gibt immer false zurück).
  • Überprüfen meines Servers error_logauf SSH und FTP.
  • Überprüfen von Berichten> Letzte Protokollnachrichten.
  • Neu: Es wurde versucht, Webform zu deaktivieren und zu deinstallieren, alte Webform-Dateien zu löschen und eine neue Version von Webform zu installieren. nicht gut.

Ich bin mir ziemlich sicher, dass das Problem nicht auf Webform beschränkt ist, daher wäre es nicht sinnvoll, es in die Problemwarteschlange zu stellen.

Welche anderen Debugging-Methoden kann ich verwenden, um diesen Fehler zu beheben? Wenn ich jedes Modul ohne Deinstallation deaktiviere, ist eine vollständige FTP-Sicherung erforderlich oder nur SQL?

EDIT: Einige weitere Dinge, die ich gemäß den Vorschlägen ausprobiert habe (erfolglos)

  • Explizite Definition von $ cookie_domain und $ base_url in settings.php
  • Durchsuchen der Trigger- und Aktionsmodule nach möglichen fehlgeleiteten Weiterleitungen
Morgan Delaney
quelle
Haben Sie nach einem Auslöser / einer Aktion oder einer Regel gesucht, die eine Umleitung verursacht, die möglicherweise fehlschlägt?
Patrick Kenny
@PatrickKenny Leider nein, es gibt keine Leads auf den UI-Seiten des Trigger- oder Action-Moduls.
Morgan Delaney
Stellen Sie sicher, dass Sie die richtige settings.php verwenden, dass die Werte von $ base_url und $ cookie_domain richtig eingestellt sind. Ich empfehle, mehrere Einstellungsordner für Ihre verschiedenen Einstellungen zu verwenden. Jeder hat seine eigenen Datenbank-, $ base_url- und $ cookie-Domäneneinstellungen. Erleichtert meiner bescheidenen Meinung nach die Fehlerbehebung.
Stefgosselin

Antworten:

2

Ich hatte noch nie ein Problem mit dem Webform-Modul, aber wenn es mir passiert wäre, würde ich sites / default / settings.php überprüfen, um festzustellen, ob es Einstellungen für ein explizites $base_urloder gibt $cookie_domain. Letzteres ist sehr unwahrscheinlich, da Sie wahrscheinlich Probleme beim Anmelden haben würden.

Artur
quelle
Dang. Ich habe versucht, dies am Ende von sites / default / settings.php: pastebin.com/94PBeeiG hinzuzufügen . Das hat nicht funktioniert, aber danke für die Antwort! (Ich bin auf jeden Fall verzweifelt.)
Morgan Delaney
1

Ich hatte das gleiche Problem. Wie bei Dennis wurde das Problem durch das Einfügen eines URL-Alias ​​in den Webformularknoten verursacht. Als ich den Alias ​​entfernt und eine vollständige URL erstellt habe, hat es einwandfrei funktioniert. In meinem Fall gab es einen Konflikt, weil mein gewählter URL-Alias ​​einem Verzeichnisnamen auf meiner Site entsprach. Ich könnte also einen anderen Alias ​​verwenden und es hat gut funktioniert. Ich kann den gewünschten Alias ​​nur verwenden, wenn ich das widersprüchliche Verzeichnis auf meiner Site umbenenne.

Martena Murphy
quelle
0

Ich habe gerade genau dieses Problem bekommen. Ich stellte fest, dass das Problem darin bestand, dass das Formular so geändert wurde, dass Webformulare es nicht verstehen konnten. Soweit ich das beurteilen konnte, war der $ form_state von den Änderungen nicht betroffen, aber das Ändern des $ form reichte immer noch aus, um das Ganze zu zerstören.

Ich habe die Problemumgehung noch nicht gefunden. Ich werde meine Antwort aktualisieren, wenn ich das tue.

Update: Für meine Problemumgehung habe ich #prefix und #suffix verwendet, um Markups zu Elementen hinzuzufügen, anstatt sie in Formularcontainern abzulegen. Dies hat das Problem behoben.

tvanc
quelle
Ich habe ein ähnliches Problem hier ist , wobei das Vorhandensein bestimmter Felder das entfernen #nodeElement, das die Einreichung / Validierung ruiniert.
NJP
0

Ich wollte hier meine zwei Cent hinzufügen. Ich hatte das gleiche Problem auf einer Entwicklungsseite. Die Seite wird bald online gehen, aber ich habe die Funktionalität überprüft und das gleiche Problem festgestellt.

Das Problem wurde durch das Einfügen eines URL-Alias ​​in den Webformularknoten verursacht. Wenn ich den Alias ​​entfernt und eine vollständige URL (mysite.com/?q=node/8) erstellt habe, hat es einwandfrei funktioniert.

Außerdem sind keine sauberen URLs aktiviert, sodass das Problem mit dem URL-Alias ​​möglicherweise behoben wird.

Aber ich wollte das mit diesem Problem an andere weitergeben. . .

Dennis
quelle
0

Nur für den Fall, dass Sie das Boost-Modul verwenden, das mir passiert ist und das Problem in der .htaccess-Datei liegt, überprüfen Sie meine Lösung hier: /drupal//a/207102/11424

Diego Jancic
quelle