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)
zarray_unshift($form['#submit'],'my_custom_submit')
wstawieniem niestandardowego wywołania zwrotnego, do którego zadzwoniłem wdrupal_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_log
zaró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
Odpowiedzi:
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_url
lub$cookie_domain
. To ostatnie jest bardzo nieprawdopodobne, ponieważ prawdopodobnie miałbyś problemy z zalogowaniem się.źródło
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.
źródło
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.
źródło
#node
element, który rujnuje składanie / sprawdzanie poprawności.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. . .
źródło
Na wszelki wypadek, gdy używasz modułu Boost, który mi się przydarzył, a problem był w pliku .htaccess, sprawdź moje rozwiązanie tutaj: https://drupal.stackexchange.com/a/207102/11424
źródło