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)
comarray_unshift($form['#submit'],'my_custom_submit')
para inserir um retorno de chamada personalizado, onde chameidrupal_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_log
tanto 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
Respostas:
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_url
ou explícito$cookie_domain
. O último é muito improvável, pois você provavelmente terá problemas com o login.fonte
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.
fonte
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.
fonte
#node
elemento, o que prejudica a submissão / validação.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. . .
fonte
Caso você esteja usando o módulo Boost, isso estava acontecendo comigo e o problema estava no arquivo .htaccess, verifique minha solução aqui: https://drupal.stackexchange.com/a/207102/11424
fonte