comprar e enviar php


Página 1 de 2    1  2 
23-06-2005 por profeta_livre
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!
23-06-2005 por jqueiroz
pesquise pelo controle "onSubmit":

<form name="comprar" action="comprar.php" onSubmit="return conferecampos(this);">
23-06-2005 por rwar
http://www.google.com.br/search?hl=pt-BR&biw=1024&q=validar+formul%C3%A1rio+php&btnG=Pes quisar&meta=lr%3Dlang_pt
24-06-2005 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! 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!
24-06-2005 por rwar
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)...
24-06-2005 por Kleber Costa
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!
24-06-2005 por jqueiroz
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.
24-06-2005 por profeta_livre
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!
24-06-2005 por rwar
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>
24-06-2005 por profeta_livre
rwar desculpe mais não entendi!
24-06-2005 por rwar
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:
24-06-2005 por profeta_livre
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?
24-06-2005 por rwar
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?)...
24-06-2005 por Kleber Costa
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:
25-06-2005 por profeta_livre
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!
25-06-2005 por Kleber Costa
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); ?>
27-06-2005 por profeta_livre
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!!!!!!!!!!!!!!!!!
28-06-2005 por profeta_livre
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!
28-06-2005 por Kleber Costa
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'];
29-06-2005 por Charlie Brown
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:
 
Guia do Hardware Melhores Tópicos