Pular para o conteúdo principal

Formulário não envia todos os campos


Prezados,

Recentemente, enfrentamos uma questão de forma que não foi enviada com todos os campos do formulário. Deixe-me descrever a questão em detalhes.

Nosso form, ao criar um novo contato ou atualizar um antigo, as tags selecionadas não estavam sendo salvas. Isso estava funcionando antes, mas de repente essa questão surgiu. Após uma investigação aprofundada, descobrimos que nem todos os campos do formulário foram publicados ou, em outras palavras, a variável PHP $_POST não listou todos os campos. Em nossa máquina Windows, conseguimos todos os campos, mas na caixa Linux o problema existia. Primeiro pensamos que a questão poderia ter causado devido à diretiva PHP "post_max_size", embora tenha sido configurada para 24M. Nós tentamos atualizá-lo para 128M. Mas a questão ainda estava lá.

Em seguida, buscamos na internet e obtivemos uma pista de http://akrabat.com/php/missing-fields-in-_post/ . Nosso servidor estava usando o PHP 5.3.22. Então, buscamos a diretiva "max_input_vars", que era nova desde 5.3.9, foi definida como 1000 por padrão. Aumentamos o número para 2000 e a questão foi resolvida.

Devido ao número de grupos no formulário, o número do campo aumentou para mais de 1000. Então, o PHP estava truncando os dados do POST e, no máximo, 1000 campos foram retornados. É por isso que os campos de Tags não foram listados na variável $ _POST.

(traduzido e adaptado)

Texto original e link do post da resolução do problema:

http://sajjadhossain.com/2013/07/11/form-not-submitting-with-all-form-fields/


Comentários

Postagens mais visitadas deste blog

X5 - SEU ACESSO A ESTE SISTEMA FOI BLOQUEADO - CEF

Prezados, Um amigo meu teve seu acesso ao site da Caixa Econômica Federal - CEF foi bloqueado.  Ao ligar para o suporte, não obteve sucesso no desbloqueio, sendo a única "alternativa" FORMATAR A MÁQUINA para que assim, a "identificação" do computador pudesse mudar, tudo ser reinstalado com essa nova identificação e desbloqueado o acesso. Não contente com isso buscamos na internet algum caso parecido e nos deparamos com vários casos iguais e com a mesma "solução".    Sendo esta uma solução "fatal",  um dos comentários de um caso no site "Reclame Aqui" ofereceu uma solução melhor: "Va até o painel de controle e desinstale o programa "WARSAW", quando reiniciar o computador entre novamente no site pelo IE ou CHROME ele vai reinstalar o programa . Pronto Resolvido!" Feito isso ao tentar acessar o site é instalado novamente o "módulo de segurança" (que demora bastante por sinal) e tudo voltou ao normal. ...

Acentos em Alert box - Javascript

Esta é para quem, assim como eu, sempre teve problemas de acentuação de caracteres nas caixas de alerta do javascript em suas páginas: substitua o acento pelo seu código em Unicode. Por exemplo: alert('Este é um teste de acentuação em um Alert Box.'); Mensagem substituída: alert(' Este \u00e9 um teste de acentua\u00e7\u00e3o em um Alert Box .'); Segue a tabela de codificação a ser utilizada: á = \u00e1 à = \u00e0 â = \u00e2 ã = \u00e3 ä = \u00e4 Á = \u00c1 À = \u00c0 Â = \u00c2 Ã = \u00c3 Ä = \u00c4 é = \u00e9 è = \u00e8 ê = \u00ea ê = \u00ea É = \u00c9 È = \u00c8 Ê = \u00ca Ë = \u00cb í = \u00ed ì = \u00ec î = \u00ee ï = \u00ef Í = \u00cd Ì = \u00cc Î = \u00ce Ï = \u00cf ó = \u00f3 ò = \u00f2 ô = \u00f4 õ = \u00f5 ö = \u00f6 Ó = \u00d3 Ò = \u00d2 Ô = \u00d4 Õ = \u00d5 Ö = \u00d6 ú = \u00fa ù = \u00f9 û = \u00fb ü = \u00fc Ú = \u00da Ù = \u00d9 Û = \u00db ç = \u00e7 Ç = \u00c7 ñ = \u00f1 Ñ = \u00d1 & = \u0...

Removendo a peste "Live Security Platinum"

Se você está passando por maus bocados e perdendo a paciência com esta peste de programa imprestável, siga estas instruções para sua remoção e seja feliz novamente. Primeiro devemos parar todos os serviços inciados pela peste. Clique Win R, Digite o seguinte link: http://trojan-killer.net/download/pkiller.exe no campo para fazer o download do arquivo. Salve-o na área de trabalho, renomeá-lo em iexplore.exe , execute e aguarde seu término. Este procedimento irá finalizar os processos iniciados pelo vírus. Depois baixe e instale um anti-malware como o Malwarebytes Anti-Malware ( http://pt.malwarebytes.org/ ). Faça uma varredura completa e depois de finalizada remova todos os malwares que ele detectar e reinicie o computador. Para verificar se você consegue instalar ou ativar novamente seu antivírus, veja se o firewall do Windows incia o serviço dele, caso contrário você precisará executar as etapas abaixo: Desinstale seu antivirus; Baixe e instale este arquivo  h...