O Webform não envia, em vez disso, redireciona para o próprio


8

Os Webforms do meu futuro site de produção do Drupal pararam de salvar envios; em vez disso, volta à mesma página, completa com os valores inseridos. Não tenho uma linha do tempo quando parou de funcionar. Em um ambiente sandbox, o Webform 7.x-3.17 funciona bem.

Estou procurando algumas sugestões para depurar ainda mais.

Eu tentei o seguinte, mas sem sucesso:

  • Desativando quaisquer módulos que se refiram ao Webform (principalmente Webform Template e Webform Validation , e meu próprio módulo personalizado que estava usando hook_form_alter).
  • Atualizando para o Webform mais recente (sim, lembrei-me de usar o update.php).
  • Com base na documentação , combinando hook_form_alter($form, &$form_state)com array_unshift($form['#submit'],'my_custom_submit')para inserir um retorno de chamada personalizado, onde chamei drupal_build_form($form['form_id']['#value'],$form_state)para emular um envio.
  • Obviamente, liberando caches de forma consistente.
  • Garantir que o formulário da Web seja publicado.
  • Escrevendo um módulo básico para simplesmente monitorar $form_state['executed'](ele sempre retorna falso).
  • Verificando meu servidor error_logtanto no SSH quanto no FTP.
  • Verificando relatórios> Mensagens de log recentes.
  • Novo: tentei desativar e desinstalar o Webform, excluir arquivos antigos do Webform e instalar uma nova versão do Webform; nada de bom.

Tenho certeza de que o problema não está isolado no Webform; portanto, não faria sentido publicar na fila de problemas.

Quais outros métodos de depuração posso usar para ajudar a eliminar esse bug? Se eu desabilitar todos os módulos sem desinstalar, é necessário um backup completo do FTP ou apenas SQL?

EDIT: Mais algumas coisas que eu tentei de acordo com as sugestões (sem êxito)

  • Definindo explicitamente $ cookie_domain e $ base_url em settings.php
  • Procurando nos módulos Trigger e Action por possíveis redirecionamentos incorretos

Você verificou um gatilho / ação ou regra que causa um redirecionamento que pode falhar?
Patrick Kenny

@PatrickKenny Infelizmente, não, não há leads nas páginas da interface do usuário do módulo Trigger ou Action.
Morgan Delaney

Verifique se você está usando o settings.php adequado, se os valores de $ base_url e $ cookie_domain estão definidos corretamente. Recomendamos o uso de várias pastas de configurações para suas diferentes configurações. Cada um possui seu próprio banco de dados, configurações de domínio $ base_url e $ cookie. Torna a solução de problemas mais fácil, na minha humilde opinião.
stefgosselin

Respostas:


2

Eu nunca tive nenhum problema com o módulo Webform, mas, se isso acontecesse comigo, verifiquei sites / default / setting.php para ver se existem configurações para um $base_urlou explícito $cookie_domain. O último é muito improvável, pois você provavelmente terá problemas com o login.


Dang. Tentei adicionar isso ao final dos sites / default / settings.php: pastebin.com/94PBeeiG . Isso não funcionou, mas obrigado pela resposta! (Estou certamente correndo desesperado.)
Morgan Delaney

1

Eu tive o mesmo problema. Como Dennis, o problema foi causado por colocar um alias de URL no nó do formulário da web. Quando removi o alias e fiz um URL completo, funcionou muito bem. No meu caso, houve um conflito porque meu alias de URL escolhido era igual a um nome de diretório no meu site. Então, eu poderia usar um alias diferente e funcionou bem. Eu simplesmente não posso usar o alias que eu queria, a menos que eu renomeie o diretório conflitante no meu site.


0

Eu estava recebendo exatamente esse problema. Descobri que o problema era que o formulário estava sendo alterado de uma maneira que impedia os formulários da web de entendê-lo. Pelo que pude perceber, o $ form_state não estava sendo afetado pelas mudanças, mas alterar o formulário $ ainda era suficiente para quebrar tudo.

Ainda não encontrei a solução alternativa. Vou atualizar minha resposta, se o fizer.

Atualização: Para minha solução alternativa, usei o #prefix e #suffix para adicionar marcação aos elementos em vez de colocá-los em contêineres de formulários. Isso resolveu o problema.


Eu tenho um problema semelhante aqui , pelo qual a presença de certos campos remove o #nodeelemento, o que prejudica a submissão / validação.
Njp 7/11

0

Eu queria adicionar meus dois centavos aqui. Eu tive o mesmo problema em um site de desenvolvimento. O site entrará no ar em breve, mas eu estava verificando a funcionalidade e obtive esse mesmo problema.

O problema foi causado pela colocação de um alias de URL no nó do formulário da web. Quando removi o alias e fiz um URL completo (mysite.com/?q=node/8), funcionou muito bem.

Além disso, não tenho URLs limpos ativados, o que pode corrigir o problema com o alias do URL.

Mas eu queria jogar isso para qualquer outra pessoa com o problema. . .


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.