Formularz internetowy nie przesyła się, zamiast tego przekierowuje do siebie

8

Moje niedługo produkcyjne formularze internetowe witryny Drupal przestały zapisywać zgłoszenia; zamiast tego wraca do tej samej strony wraz z wprowadzonymi wartościami. Nie mam osi czasu, kiedy przestała działać. W środowisku piaskownicy Webform 7.x-3.17 działa dobrze.

Szukam sugestii do dalszego debugowania.

Próbowałem następujących, ale bez powodzenia:

  • Wyłączanie dowolnych modułów, które odnoszą się do formularza internetowego (w szczególności szablon formularza internetowego i sprawdzanie poprawności formularza internetowego oraz mój własny moduł niestandardowy, który był używany hook_form_alter).
  • Aktualizacja do najnowszego formularza internetowego (tak, pamiętam, aby użyć update.php).
  • Na podstawie dokumentacji , w połączeniu hook_form_alter($form, &$form_state)z array_unshift($form['#submit'],'my_custom_submit')wstawieniem niestandardowego wywołania zwrotnego, do którego zadzwoniłem w drupal_build_form($form['form_id']['#value'],$form_state)celu emulacji zgłoszenia.
  • Oczywiście spójne opróżnianie pamięci podręcznej.
  • Zapewnienie opublikowania formularza internetowego.
  • Pisanie modułu od podstaw, aby po prostu monitorować $form_state['executed'](zawsze zwraca wartość false).
  • Sprawdzanie mojego serwera error_logzarówno na SSH, jak i FTP.
  • Sprawdzanie raportów> Najnowsze wiadomości dziennika.
  • Nowość: Próbowałem wyłączyć i odinstalować Webform, usunąć stare pliki Webform i zainstalować nową, nową wersję Webform; nie dobrze.

Jestem prawie pewien, że problem nie jest odizolowany od formularza internetowego, więc nie ma sensu publikować postów w kolejce problemów.

Jakie inne metody debugowania mogę wyciągnąć, aby zniszczyć ten błąd? Jeśli wyłączę każdy moduł bez odinstalowywania, czy konieczna jest cała kopia zapasowa FTP, czy tylko SQL?

EDYCJA: Jeszcze kilka rzeczy próbowałem zgodnie z sugestiami (bezskutecznie)

  • Jawne definiowanie $ cookie_domain i $ base_url w settings.php
  • Przeglądanie modułów Trigger i Action pod kątem ewentualnych przekierowań, które mogą doprowadzić do nieprawidłowego działania
Morgan Delaney
źródło
Czy sprawdziłeś wyzwalacz / akcję lub regułę, która powoduje przekierowanie, które może być nieskuteczne?
Patrick Kenny,
@PatrickKenny Niestety nie, nie ma żadnych leadów na stronach interfejsu użytkownika Trigger lub Action.
Morgan Delaney,
Upewnij się, że używasz prawidłowego settings.php, że wartości $ base_url i $ cookie_domain są ustawione poprawnie, Zalecam używanie wielu folderów ustawień dla różnych ustawień. Każda z nich ma własną bazę danych, ustawienia $ base_url i $ cookie. Moim skromnym zdaniem ułatwia rozwiązywanie problemów.
stefgosselin

Odpowiedzi:

2

Nigdy nie miałem żadnych problemów z modułem Webform, ale jeśli mi się to zdarzyło, sprawdziłbym strony / default / setting.php, aby sprawdzić, czy są jakieś ustawienia dla jawnego $base_urllub $cookie_domain. To ostatnie jest bardzo nieprawdopodobne, ponieważ prawdopodobnie miałbyś problemy z zalogowaniem się.

Artur
źródło
Dang. Próbowałem dodać to na dole strony / default / settings.php: pastebin.com/94PBeeiG . To nie zadziałało, ale dziękuję za odpowiedź! (Z pewnością jestem zdesperowany.)
Morgan Delaney,
1

Miałem ten sam problem. Podobnie jak Dennis, problem został spowodowany umieszczeniem aliasu adresu URL w węźle formularza internetowego. Kiedy usunąłem alias i zrobiłem pełny adres URL, działało to dobrze. W moim przypadku wystąpił konflikt, ponieważ mój wybrany alias adresu URL był równy nazwie katalogu w mojej witrynie. Więc mogłem użyć innego aliasu i działało dobrze. Po prostu nie mogę użyć wybranego aliasu, chyba że zmienię nazwę katalogu będącego w konflikcie w mojej witrynie.

Martena Murphy
źródło
0

Właśnie dostałem właśnie ten problem. Odkryłem, że problem polegał na tym, że formularz był zmieniany w sposób uniemożliwiający zrozumienie go przez formularze internetowe. O ile mogłem powiedzieć, zmiany nie wpłynęły na $ form_state, ale zmiana formularza $ była wystarczająca, aby wszystko zepsuć.

Nie znalazłem jeszcze obejścia. Zaktualizuję swoją odpowiedź, jeśli to zrobię.

Aktualizacja: W celu obejścia tego problemu użyłem #prefix i #suffix, aby dodać znaczniki do elementów zamiast umieszczać je w kontenerach formularzy. To rozwiązało problem.

tvanc
źródło
Mam tutaj podobny problem , polegający na tym , że obecność niektórych pól usuwa #nodeelement, który rujnuje składanie / sprawdzanie poprawności.
njp
0

Chciałem tutaj dodać moje dwa centy. Miałem ten sam problem na stronie dla programistów. Witryna wkrótce zostanie uruchomiona, ale sprawdzałem funkcjonalność i dostałem ten sam problem.

Problem został spowodowany umieszczeniem aliasu adresu URL w węźle formularza internetowego. Kiedy usunąłem alias i zrobiłem pełny adres URL (mysite.com/?q=node/8), to zadziałało dobrze.

Ponadto nie mam włączonych czystych adresów URL, co może rozwiązać problem z aliasem adresów URL.

Ale chciałem przekazać to wszystkim, którzy mają problem. . .

Dennis
źródło