FórumGdH

Página Inicial do Guia do Hardware

Registrar FAQ Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Voltar   FórumGdH > Profissional > Programação, scripts, web e banco de dados
Bem-vindo ao FórumGdH
Não se esqueça de se registrar, é grátis . Nós temos 759.202 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.

Resposta
 
Opções do Tópico
Antigo 23-06-2005, 16:12   #1 (permalink)
profeta_livre
Super Participante
 
Registrado em: Jan 2005
Mensagens: 958
Reputação: 16 profeta_livre está indo no caminho certo
Padrão comprar e enviar php

pessoal fiz um <form> e ele é direcionado a outra página mas antes que ele saia da página eu queria que ele verificasse os campos para dai sim enviar as variaveis para outr a página. eu só consigo fazer se usar o <form ation= " " >
fazendo com o <form action="paginaquerecebe"> eu não consigo validar os campos na mesma página!
profeta_livre está offline   Responder com Quote
Antigo 23-06-2005, 16:53   #2 (permalink)
jqueiroz
Highlander
 
Avatar de jqueiroz
 
Registrado em: May 2002
Localização: Tijuca/RJ
Idade: 9
Mensagens: 87.782
Reputação: 1756 jqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputação
Padrão

pesquise pelo controle "onSubmit":

<form name="comprar" action="comprar.php" onSubmit="return conferecampos(this);">
__________________
Visite Quepolis (link de indicação) | "chmod 777 nunca ajudou ninguém" (c) 2002-2010 JQueiroz/FGdH
CCNP: √ ² CCSI: □ | Conheça o Novo Bebuns
jqueiroz está offline   Responder com Quote
Antigo 23-06-2005, 17:58   #3 (permalink)
rwar
GeeK
 
Avatar de rwar
 
Registrado em: Aug 2002
Localização: Porto Alegre (RS)
Mensagens: 2.448
Reputação: 23 rwar está indo no caminho certo
Padrão

http://www.google.com.br/search?hl=pt-BR&biw=1024&q=validar+formul%C3%A1rio+php&btnG=Pes quisar&meta=lr%3Dlang_pt
__________________
No caminho dos scripts. Por enquanto, powershell...
rwar está offline   Responder com Quote
Antigo 24-06-2005, 9:46   #4 (permalink)
profeta_livre
Super Participante
 
Registrado em: Jan 2005
Mensagens: 958
Reputação: 16 profeta_livre está indo no caminho certo
Padrão

rwar Já havia visto estes formulários, mas deste tipo eu faço, eu quero que em uma única página aconteça tudo! ou seja, que verifique , e que o form mande para outra página, que envie por email mande para o banco de dados e selecione depois o que foi gravado! isso eu sei fazer, mas queria utilizar uma única página, em vez de ficar passando de página em página, ou de include e require! entendeu? e isso não achei no oráculo!
profeta_livre está offline   Responder com Quote
Antigo 24-06-2005, 11:40   #5 (permalink)
rwar
GeeK
 
Avatar de rwar
 
Registrado em: Aug 2002
Localização: Porto Alegre (RS)
Mensagens: 2.448
Reputação: 23 rwar está indo no caminho certo
Padrão

Citação:
Postado Originalmente por profeta_livre
rwar Já havia visto estes formulários, mas deste tipo eu faço, eu quero que em uma única página aconteça tudo!...
Mas você utiliza o evento onsubmit na mesma página! Caso esteja tudo certo, aí sim você redireciona para a outra página, gravando ou enviando e-mail ou o que quiser. Uma dica: fazer tudo na mesma página vai te dar problemas para manutenabilidade da página mais tarde. O melhor é dividir para conquistar (já ouvi essa frase antes, não sei onde/de quem)...
__________________
No caminho dos scripts. Por enquanto, powershell...
rwar está offline   Responder com Quote
Antigo 24-06-2005, 14:04   #6 (permalink)
Kleber Costa
Zumbi
 
Registrado em: Aug 2001
Localização: Recife - PE
Mensagens: 5.177
Reputação: 28 Kleber Costa está indo no caminho certo
Enviar mensagem via MSN para Kleber Costa
Padrão

Eu tb acho melhor dividir! Mas.... se quer fazer tudo no mesmo arquivo, pergunta pelo $_POST!

if (isset($_POST)){

// codigo pra validar, mandar email e etc! depois redireciona!

}

aqui o html do form
---------------------------------------------------------------------------------------------

Isso varia de desenvolvedor para desenvolvedor mas eu prefiro validar(ou revalidar, pq tem vezes que js é uma mão na roda) tudo no php! Eu por exemplo, navego quase sempre com o suporte a js desligado!
__________________
Salve! Ó terra dos altos coqueiros!
De belezas soberbo estendal!
Nova Roma dos bravos guerreiros
Pernambuco, imortal, imortal!


Linux User #262254
Kleber Costa está offline   Responder com Quote
Antigo 24-06-2005, 15:41   #7 (permalink)
jqueiroz
Highlander
 
Avatar de jqueiroz
 
Registrado em: May 2002
Localização: Tijuca/RJ
Idade: 9
Mensagens: 87.782
Reputação: 1756 jqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputação
Padrão

Citação:
Isso varia de desenvolvedor para desenvolvedor mas eu prefiro validar(ou revalidar, pq tem vezes que js é uma mão na roda) tudo no php! Eu por exemplo, navego quase sempre com o suporte a js desligado!
Código:
<span style="font: 9pt, italic, bold; text-align: center; color: #a02020;">O funcionamento desta página exige que o JavaScript esteja habilitado"</span> <br>
Sobre a questão entre validar na página por javascript ou no próprio script de processamento, o correto é... em ambos!!! Não se pode confiar que os dados estão sendo remetidos pelo seu form.
__________________
Visite Quepolis (link de indicação) | "chmod 777 nunca ajudou ninguém" (c) 2002-2010 JQueiroz/FGdH
CCNP: √ ² CCSI: □ | Conheça o Novo Bebuns
jqueiroz está offline   Responder com Quote
Antigo 24-06-2005, 16:08   #8 (permalink)
profeta_livre
Super Participante
 
Registrado em: Jan 2005
Mensagens: 958
Reputação: 16 profeta_livre está indo no caminho certo
Padrão

tubo bem, mas ainda não consegui passar os dados, endentem minha dificuldade.
vamo -lá

Código:
<form action="" method="post"> dado <input type="text" name="dado" value="<?php echo $dado; ?>"> <input type="hidden" value="acao" name="enviar" <inpu type="submit" value="enviar"> <?php if ($enviar == "acao") { if (empty($dado)){ echo "dado não preenchido"; } } ?>
entendem? eu faço a validação mas não consigo enviar para um segundo formulário! se enviar para o segundo formulário, não faz a validação!
profeta_livre está offline   Responder com Quote
Antigo 24-06-2005, 16:21   #9 (permalink)
rwar
GeeK
 
Avatar de rwar
 
Registrado em: Aug 2002
Localização: Porto Alegre (RS)
Mensagens: 2.448
Reputação: 23 rwar está indo no caminho certo
Padrão

Antes de tudo, nem action você tem. Depois basta criar uma função em JS para a validação dos campos do formulário. Poderia ser feita uma função em php também, porém coloquei em JS pois sempre utilizo desta forma, e incluindo também expressões regulares para uma validação mais completa.
Código:
<script> function Valida( _frm ) { if( frm.dado.value == "" ) { alert("Campo dado deve ser preenchido!"); dado.focus(); return false; } } </script> <form name="form" action="outro_form.php" method="post" onSubmit="return Valida(form);"> dado: <input type="text" name="dado"> <input type="submit" name="enviar"> </form>
__________________
No caminho dos scripts. Por enquanto, powershell...
rwar está offline   Responder com Quote
Antigo 24-06-2005, 16:35   #10 (permalink)
profeta_livre
Super Participante
 
Registrado em: Jan 2005
Mensagens: 958
Reputação: 16 profeta_livre está indo no caminho certo
Padrão

rwar desculpe mais não entendi!
profeta_livre está offline   Responder com Quote
Antigo 24-06-2005, 16:53   #11 (permalink)
rwar
GeeK
 
Avatar de rwar
 
Registrado em: Aug 2002
Localização: Porto Alegre (RS)
Mensagens: 2.448
Reputação: 23 rwar está indo no caminho certo
Padrão

Fiz um exemplo validando o campo "dado" e, caso o mesmo esteja vazio (o usuário não digitou nada), ele emite uma mensagem de erro informando ao usuário sobre o campo vazio, e por fim envia o foco ao campo que está vazio, no caso o campo "dado". Caso esteja tudo correto, ele vai para a página outro_form.php (que não descrevi, lógico)...

Cara, tu quer validar quanto a que os teus campos? Quem não tá entendendo o que tu quer sou eu... :roll:
__________________
No caminho dos scripts. Por enquanto, powershell...
rwar está offline   Responder com Quote
Antigo 24-06-2005, 17:11   #12 (permalink)
profeta_livre
Super Participante
 
Registrado em: Jan 2005
Mensagens: 958
Reputação: 16 profeta_livre está indo no caminho certo
Padrão

tenho um formulario em uma pagina com 10 campos ... então a pessoa vai preencher e clicar no <submit> enviar, certo! bom ai a página antes de passar para o proximo passo ele valida e grava no mysql, depois os dados são passados para um outro <form> , onde estes dados seram impressos e vai acabar sofrendo a mesma coisa com o form anterior; entendeu?
profeta_livre está offline   Responder com Quote
Antigo 24-06-2005, 17:55   #13 (permalink)
rwar
GeeK
 
Avatar de rwar
 
Registrado em: Aug 2002
Localização: Porto Alegre (RS)
Mensagens: 2.448
Reputação: 23 rwar está indo no caminho certo
Padrão

Validar o queeeeee cara???????? Diga explicitamente: "eu quero validar isto no campo tal"... :roll: O script que te passei está validando se o campo está vazio. Pode ter outro tipo de validação sobre o campo, e também várias validações para o mesmo campo. Se o campo estiver correto, passa para o outro_form.php para fazer a gravação (gravar tu sabe, certo?)...
__________________
No caminho dos scripts. Por enquanto, powershell...
rwar está offline   Responder com Quote
Antigo 24-06-2005, 20:06   #14 (permalink)
Kleber Costa
Zumbi
 
Registrado em: Aug 2001
Localização: Recife - PE
Mensagens: 5.177
Reputação: 28 Kleber Costa está indo no caminho certo
Enviar mensagem via MSN para Kleber Costa
Padrão

pelo que eu to entendendo a preocupação nem é a validação e sim como administrar o "aparecimento" de um certo form numa certa hora tipo:

o cara acessa /contato/index.php e vai aparecer o primeiro form aí o cara preenche tudo e envia

<input type="submit" name="primeiro" value="Envia">
lá no php vai tá assim: if($_POST['primeiro']){ //faz o que tiver que fazer e usa include ou vai no echo mesmo e gera o segundo form com o nome do botão segundo}

<input type="submit" name="segundo" value="Envia">
lá no php vai tá assim: if($_POST['segundo']){ //faz o que tem que fazer } e assim vai...

Se não for assim, eu to viajando na maionese ops:
__________________
Salve! Ó terra dos altos coqueiros!
De belezas soberbo estendal!
Nova Roma dos bravos guerreiros
Pernambuco, imortal, imortal!


Linux User #262254
Kleber Costa está offline   Responder com Quote
Antigo 25-06-2005, 8:29   #15 (permalink)
profeta_livre
Super Participante
 
Registrado em: Jan 2005
Mensagens: 958
Reputação: 16 profeta_livre está indo no caminho certo
Padrão

Kleber Costa é isso mesmo, ou quase isso vou tentar!

veja:

Código:
<form action="../ficha2.php" method="post" > <input type="text" name="dado" value="<?php echo $dado; ?>"> <input type="hidden" name="acao" value="enviar"> <input type="submit" name="enviar" value=">>"> </form> <?php if($_POST['primeiro']){ if ($dado == "dados"){ echo "erro"; } } ?>
esse é o aruivo ficha1.php e seus dados devem ser passados para o arquivo ficha2.php mas antes o php tem que ver se a variavel == "dados" pois se for ele imprime a mensagem de erro e não sai da página, se a variavel nao for dados ele envia as variaveis para outro <form> que inprimera essa variavel e trabalhara com ela!

mesmo utilizando po $_POST['']; ele passa direto das condiçoes do php!
profeta_livre está offline   Responder com Quote
Antigo 25-06-2005, 15:51   #16 (permalink)
Kleber Costa
Zumbi
 
Registrado em: Aug 2001
Localização: Recife - PE
Mensagens: 5.177
Reputação: 28 Kleber Costa está indo no caminho certo
Enviar mensagem via MSN para Kleber Costa
Padrão

Entendi o que você quer fazer! Mas dessa forma aí não tem como!! A não ser que queira confiar na validação pelo javascript :roll:
Sua dúvida me fez lembrar de um livro -> HTTP Developer's Handbook do Chris Shiflett. Seria interessante uma lida!!

Pra fazer isso que você quer dessa maneira, você vai ter que usar session! Esse código abaixo tá ultra-simples, é só pra você pegar o espírito da coisa mesmo!

form1.php
Código:
<?php session_start(); if (isset($_POST['enviar'])) { if (trim($_POST['dados']) == "ForumGDH") { $_SESSION['form']['dados'] = trim($_POST['dados']); $_SESSION['form']['gdh'] = trim($_POST['gdh']); header('Location: form2.php'); } } ?> <html> <head> <title>Form 1</title> </head> <body> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form"> Dados: <input type="text" name="dados" /> <?php if (isset($_POST['dados']) and ($_POST['dados'] != "ForumGDH")) { echo "<span style=\"color: red;\"><strong>Verifique o campo Dados</strong></span>"; } ?> <br /> <input type="hidden" name="gdh" value="fgdh.net" /> <input type="submit" name="enviar" value="Enviar"/> </form> </body> </html>
form2.php
Código:
<?php session_start(); var_dump($_SESSION); ?>
__________________
Salve! Ó terra dos altos coqueiros!
De belezas soberbo estendal!
Nova Roma dos bravos guerreiros
Pernambuco, imortal, imortal!


Linux User #262254
Kleber Costa está offline   Responder com Quote
Antigo 27-06-2005, 10:25   #17 (permalink)
profeta_livre
Super Participante
 
Registrado em: Jan 2005
Mensagens: 958
Reputação: 16 profeta_livre está indo no caminho certo
Padrão

Kleber Costa poxa é isso mesmo, então devo tarabalhar com sesões e também com arrays para osa dados que recebo! legal cara valeu!!!!!!

depois que fizer vou postar o script pro ceis verem!!!!!!!!!!!!!!!!!
profeta_livre está offline   Responder com Quote
Antigo 28-06-2005, 9:54   #18 (permalink)
profeta_livre
Super Participante
 
Registrado em: Jan 2005
Mensagens: 958
Reputação: 16 profeta_livre está indo no caminho certo
Padrão

Bom ai galera a solução que fiz com a ajuda de Kleber Costa

de uma olhada
passo 1
Código:
<?php session_start(); ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form1"> <input type="text" name="dominio" class="dad"> <input type="hidden" name="enviar" value="acao"> <input type="submit" value="continuar" name="passo"> <?php if ($enviar == "acao"){ if(empty($dominio)) { echo "INCORRETO"; } elseif($dominio != "") { if(isset($_POST['passo'])) { if (trim($_POST['dominio'])){ // == "dominio") { $_SESSION['form1']['dominio'] = trim($_POST['dominio']); header('Location: passo2.php'); } } } } ?>
VEJA o passo que recebe a informação e volta a trabalhar com ela!
Código:
<?php session_start(); ?> <br><br> <?php extract ($form1); print "$dominio"; ?>
criticas sugestões e xingamentos são bem vindos! valeu galera até mais!
profeta_livre está offline   Responder com Quote
Antigo 28-06-2005, 18:46   #19 (permalink)
Kleber Costa
Zumbi
 
Registrado em: Aug 2001
Localização: Recife - PE
Mensagens: 5.177
Reputação: 28 Kleber Costa está indo no caminho certo
Enviar mensagem via MSN para Kleber Costa
Padrão

if ($enviar == "acao"){

if(empty($dominio)) {
echo "INCORRETO";

} elseif($dominio != "") {

fica

if ($_POST['enviar'] == "acao"){
if(empty($_POST['dominio'])){
echo "incorreto";
} else {// aqui coloca o resto }

}


No lugar do extract você obtem o dados assim:

echo $_SESSION['form1']['dominio'];
__________________
Salve! Ó terra dos altos coqueiros!
De belezas soberbo estendal!
Nova Roma dos bravos guerreiros
Pernambuco, imortal, imortal!


Linux User #262254
Kleber Costa está offline   Responder com Quote
Antigo 29-06-2005, 0:55   #20 (permalink)
Charlie Brown
Membro Senior
 
Registrado em: Oct 2001
Localização: São Paulo, SP, CEP 04017-040
Mensagens: 346
Reputação: 22 Charlie Brown está indo no caminho certo
Enviar mensagem via ICQ para Charlie Brown Enviar mensagem via MSN para Charlie Brown
Padrão

Profeta, minha única sugestão e "xingamento":mrgreen: é vc tentar ser mais claro quando perguntar. Ainda bem q o pessoal já tinha vindo aqui e entendido, pq até ver a solução dada pelo Kleber, eu juro q nem tinha conseguido entender direito sua dúvida ainda.

Lembre-se: pergunta confusa só gera uma resposta q te confunde mais ainda. Mas tudo bem, eu tbm sou meio burrico, mas lembre-se q, nesse ponto, o computador e as linguagens de programação tbm não são muito gênios. O q vc "perguntar" ou "mandar" é o q vc vai ter no final.

Afff, princípio de informática a essa hora ninguém merece. Liga não, Profeta, é o horário. :mrgreen:
__________________
Charles Roberto Canato
ROC Series, campeonato online de NASCAR Racing 2003: http://www.rocseries.com.br
Charlie Brown está offline   Responder com Quote
Resposta


Opções do Tópico

Regras de Mensagens
Você não pode criar tópicos
Você não pode postar respostas
Você não pode anexar arquivos
Você não pode editar suas mensagens

Código vB está Ligado
Smiles estão Ligado
Código [IMG] está Ligado
Código HTML está Desligado
Ir para...


Horários baseados na GMT -3. Agora são 20:29.