PHP - array $_POST com letras das keys em array

27/11/2014

0

PHP

Prezados:

Situação: envio um formulário para uma página e a mesma me retorna uma matriz com todas (sim TODAS) as letras separadas em um keys de 0 ao número que for necessário.

Método: POST, via AJAX;

Plugin: jQuery Form (http://malsup.com/jquery/form/);

Erro ocorria anteriormente? Não; e

Servidor: XAMPP Version 1.8.3.

Não atoa, peço ajuda. Não sou do tipo que gosta de respostas fáceis. Já pesquisei no Google e não encontrei nada.

Aguardo sua ajuda.
Edcp_poa

Edcp_poa

Responder

Posts

27/11/2014

Thalisson Chagas

Posta o Codigo pra eu ver.
Responder

27/11/2014

Edcp_poa

Para vocês terem uma melhor noção:

HTML
                    <form name="formContato" action="">
                        <input name="acao" type="hidden" value="contato">
                        <!-- Nome -->
                        <label for="nome">Nome</label>
                        <input name="nome" type="text" width="100%" maxlength="45" required="" autofocus="">
                        <!-- E-mail -->
                        <label for="email">E-mail</label>
                        <input name="email" type="email" width="100%" maxlength="100" required="">
                        <!-- Telefone -->
                        <label for="fone">Telefone</label>
                        <input name="fone" id="fone" type="text" required="">
                        <!-- Assunto -->
                        <label for="assunto">Assunto</label>
                        <input name="assunto" type="text" width="100%" maxlength="40" required="">
                        <!-- Mensagem -->
                        <label for="mensagem">Sua mensagem</label>
                        <textarea name="mensagem" rows="10" required=""></textarea>
                        <br>
                        <!-- Botão Enviar -->
                        <input name="enviar" type="submit" value="Enviar">
                    </form>


JAVASCRIPT/jQUERY
$(function(){
    $('form[name="formContato"]').submit(function(){
        var resposta = $('div#respCon'),
            dadosForm = $('form[name="formContato"]').serialize();
        var options = {
            url: 'includes/send_mail.php',
            data: dadosForm,
            type: 'POST',
            target: resposta,
            beforSubmit: function(){
                resposta.empty().html("<div id='carregando'><img src='public/css/images/ajax-loader.gif'> Carregando imóveis...</div>");
            },
            success: function(sucesso){resposta.empty().html(sucesso);},
            error: function(){
                resposta.empty().html("<p id='erro'>Desculpe-nos o transtorno.</p><p>No momento nossa hospedagem passa por uma atualização.");
            }
        };
        $(this).ajaxSubmit(options);
        return false;
    });
});


PHP
    echo '<pre>';
        print_r($_POST);
    echo '</pre><hr>';


RESULTADO
Array
(
[acao] => contato
[nome] => Matuzalem Barbado
[email] => matuzabarba@gmail.com
[fone] => (55) 5555-55555
[assunto] => Teste de envio
[mensagem] => Mensagem a ser enviada...
[0] => a
[1] => c
[2] => a
[3] => o
[4] => =
[5] => c
[6] => o
[7] => n
[8] => t
[9] => a
[10] => t
[11] => o
[12] => &
[13] => n
[14] => o
[15] => m
[16] => e
[17] => =
[18] => M
[19] => a
[20] => t
[21] => u
[22] => z
[23] => a
[24] => l
[25] => e
[26] => m
[27] => +
[28] => B
[29] => a
[30] => r
[31] => b
[32] => a
[33] => d
[34] => o
[35] => &
[36] => e
[37] => m
[38] => a
[39] => i
[40] => l
[41] => =
[42] => m
[43] => a
[44] => t
[45] => u
[46] => z
[47] => a
[48] => b
[49] => a
[50] => r
[51] => b
[52] => a
[53] => %
[54] => 4
[55] => 0
[56] => g
[57] => m
[58] => a
[59] => i
[60] => l
[61] => .
[62] => c
[63] => o
[64] => m
[65] => &
[66] => f
[67] => o
[68] => n
[69] => e
[70] => =
[71] => (
[72] => 5
[73] => 5
[74] => )
[75] => +
[76] => 5
[77] => 5
[78] => 5
[79] => 5
[80] => -
[81] => 5
[82] => 5
[83] => 5
[84] => 5
[85] => 5
[86] => &
[87] => a
[88] => s
[89] => s
[90] => u
[91] => n
[92] => t
[93] => o
[94] => =
[95] => T
[96] => e
[97] => s
[98] => t
[99] => e
[100] => +
[101] => d
[102] => e
[103] => +
[104] => e
[105] => n
[106] => v
[107] => i
[108] => o
[109] => &
[110] => m
[111] => e
[112] => n
[113] => s
[114] => a
[115] => g
[116] => e
[117] => m
[118] => =
[119] => M
[120] => e
[121] => n
[122] => s
[123] => a
[124] => g
[125] => e
[126] => m
[127] => +
[128] => a
[129] => +
[130] => s
[131] => e
[132] => r
[133] => +
[134] => e
[135] => n
[136] => v
[137] => i
[138] => a
[139] => d
[140] => a
[141] => .
[142] => .
[143] => .
)
Responder

28/11/2014

Edcp_poa

RESOLVIDO

1- O plugin não precisa do comando serialize (ele faz o trabalho sozinho);

2- Logo o problema não era PHP, como eu pensava, mas jQuery... (desculpe...);

3- Eu escrevi beforSubmit e não beforeSubmit (risos); e

4- Meu setTimeout também não funcionava, mas decidi não utilizá-lo.

O código ficou o seguinte:
$(function(){
    $('form[name="formContato"]').submit(function(){
        var resposta = $('div#respCon');
        var options = {
            url: 'send_mail.php',
            type: 'POST',
            target: resposta,
            beforeSubmit: function(){
                resposta.empty().html("<div id='carregando'><img src='public/imgs/ajax-loader.gif'> Carregando imóveis...</div>");
            },
            success: function(sucesso){resposta.empty().html(sucesso);},
            error: function(){
                resposta.empty().html("<p id='erro'>Desculpe-nos o transtorno.</p><p>No momento nossa hospedagem passa por uma atualização.");
            }
        };
        $(this).ajaxSubmit(options);
        return false;
    });
});
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar