Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
I aí galera do fórum, tudo bem aí com todo mundo?! Eu espero que sim. Esse é o meu primeiro tópico aqui... rs... e já venho trazer problemas, mas ainda assim, gostaria que me ajudassem. Estou começando agora com PHP, ou melhor, começando agora com Web. Estou criando uma página, para fins de estudos, onde o "usuário" irá cadastrar os seus dados (Nome, RG, CPF, endereço, data de nascimento, e-mail, etc, etc, etc). Comecei fazendo uma página simples, sem validação, sem nada, onde, após o usuário apenas faz o preenchimento e clica em enviar. Até aí os dados são inseridos normalmente no MySQL 5. Um detalhe apenas, é que estou utilizando a mesma página para apresentar a resposta para o usuário, ou seja, não quero ficar redirecionando e redirecionando e redirecionando... rs... apenas para mostrar aquela mensagenzinha: "Parabéns, cadastro concluído com sucesso.". Por tanto a estrutura da minha página é mais ou menos assim:
> <? if $_Post["EnviarFormulario"] { valida as informações; insere no banco; imprime a mensagem de sucesso. } else { desenha o formulário; desenha os campos; aguarda o usuário preencher e enviar; } ?>
Ou seja, na mesma página eu verifico se o cara já "submeteu" o formulário, se não, é porque ele acabou de abrir a página, nesse caso eu desenho o formulário, mas quando ele "submete", faço a validação e as "parafernálias" todas. Só que estou tendo um problema. Eu estou fazendo a validação tanto do lado do cliente (javascript) quando do lado do servidor (php), ou pelo menos eu acho que estou fazendo. Tenho algumas funções de validação de data, e-mail, campo númerico, etc, mas no javascript eu mando elas serem acessadas da seguinte forma: <input type="submit" name="EnviarFormulario" value+"Cadastrar" onclick='ValidarFormulario()' /> Quando eu envio o formulário e ele dá erro, quando o javascript apresenta os alerts, mesmo assim ele submete o formulário. Na validação, se estiver tudo certo, no final da função de validação eu dou o comando "document.formulariocadastro.submit()". E se eu mudo o código do botão, para ele não enviar o formulário mesmo dando erro, o que acontece no código acima por ele ser um "Submit", ele não envia o formulário, faz tudo certinho, mas também depois ele e não entra no if em que deveria entrar, já que agora não estou mais enviando o formulário pelo botão. Em outras palavras, se eu deixo assim: <input type="button" name="EnviarFormulario" value+"Cadastrar" onclick='ValidarFormulario()' /> e o "usuário" preenche o formulário errado, ele entra na validação de JavaScript, dá o erro e para. Se o usuário corrige os campos e clica de novo, o formulário é enviado, porque tem o comando "document.formulario.submit()" no final da função de validação. Só que ele não entra aqui:ajudassem. Estou começando agora com PHP, ou melhor, começando agora com Web. Estou criando uma página, para fins de estudos, onde o "usuário" irá cadastrar os seus dados (Nome, RG, CPF, endereço, data de nascimento, e-mail, etc, etc, etc). Comecei fazendo uma página simples, sem validação, sem nada, onde, após o usuário apenas faz o preenchimento e clica em enviar. Até aí os dados são inseridos normalmente no MySQL 5. Um detalhe apenas, é que estou utilizando a mesma página para apresentar a resposta para o usuário, ou seja, não quero ficar redirecionando e redirecionando e redirecionando... rs... apenas para mostrar aquela mensagenzinha: "Parabéns, cadastro concluído com sucesso.". Por tanto a estrutura da minha página é mais ou menos assim:
> <? if $_Post["EnviarFormulario"] { valida as informações; insere no banco; imprime a mensagem de sucesso. } else { desenha o formulário; desenha os campos; aguarda o usuário preencher e enviar; } ?>
Porque quem mandou o formulário foi a função e não o botão no estado submit, mesmo que esse tenha o nome "EnviarFormulario". Acho que ele não cria a variável $_POST["EnviarFormulario"], porque ele considera como 0 (zero). E se eu deixo o comando assim:<input type="submit" name="EnviarFormulario" value+"Cadastrar" onclick='ValidarFormulario()' /> Ele faz a validação, mas se tiver algum erro, ele informa o erro, mas mesmo assim ele "submete" o formulário, já que o tipo do botão é submit. Teria como eu cancelar pelo javascript o submit do botão se tiver algum erro? O que vocês acham de usar a mesma página para abrir o formulário, inserir, validar e mostrar a resposta caso haja sucesso na inserção, tipo, tudo em uma página só?! Esse jeito que eu estou fazendo com o if no meio da página dizendo o que ela deve mostrar é meio que uma programação "porca" de fazer? Ou isso pode ser utilizado sem problema? Alguém saberia me indicar uma outra forma de fazer que atenda o que eu estou querendo? Submete se não tiver nenhum erro, utilizando a mesma página. Caso haja erro, dá os avisos (alerts) e não submete. Por favor, se puderem me ajudar, ficarei muito grato. Agradeço antecipadamente aí a todo mundo que leu minha dúvida. Obrigado mesmo galera. Abraços, Falow.Carregando comentários...