Digite novamente a senha: <input type="password" name="n_senha"><input type="submit" value="Ultimo passo">
</form>
</body></html>
-------final.php
<?php
$senha = $_POST["senha];
$n_senha = $_POST["n_senha"];
$nome = $_POST["nome"];
$sobre = $_POST["sobrenome"];
$maior = $_POST["maior"];
$email = $_POST["email"];
$erro=0;
if ($senha != $n_senha){
echo "Você deve digitar a mesma senha nos dois campos";$erro=1;}
elseif (empty($senha) OR empty($n_senha)){ echo "Você deve digitar uma senha!"; $erro=1;}
elseif (strlen($senha)<5){ echo "A senha ter de ter mais de 5 caracteres!"; $erro=1;}
elseif (strlen($senha)>12){ echo "A senha ter de ter menos de 12 caracteres!"; $erro=1;}
elseif ($erro == 0){ echo "Parabens, você criou sua conta!<br>Aqui estão seus dados:<br> Nome: $nome $sobre<br>
Idade: Acima de 18<br>
E-amail: $email<br>
Senha: $senha";}
?>
O problema é que quando eu descumpro alguma condição no primeiro formulário, no segundo ele mostra o erro, mas o segundo formulario já esta lá para ser preenchido, eu quero que só exiba o proximo formulario quando a varialvel $erro for "0", eu tentei deixar o formulario dentro do arquivo PHP mas quando chegava na pagina "final.php" ela não retornava o valor de nome e e-mail, o q fazer??o.O se tiver alguma outra coisa que eu poderia ter feito para deixar o codigo mais limpo, diga ae ^^
Pergunta
lucasw´p
Bem, não é um sistema de cadastramento de verdade, nem usa banco de dados, é só porque eu to aprendendo mesmo :P
-----cadastra_inicial.php
<h1 align="center"><font color="blue">Cadastrar - Inicial</font></h1>
<form method="POST" action="cadastra_final.php">
Nome: <input type="text" name="nome"><br>
Sobrenome: <input type="text" name="sobrenome"><br>
Você é de maior? <select name="maior" size="1">
<option value="sim">Sim</option><option value="não">Não</option></select><br>
E-mail: <input type="text" name="email"><br>
<input type="submit" value="Prosseguir"> <input type="reset" value="Limpar">
</form>
-----cadastra_final.php
<html><body><?php
$nome = $_POST["nome"];
$sobre = $_POST["sobrenome"];
$maior = $_POST["maior"];
$email = $_POST["email"];
$erro=0;
if (strlen($nome)<5){
echo "Seu nome deve conter mais que 5 caracteres!";
$erro=1;}
elseif ($maior == "não"){
echo "Você deve ter mais de 18 anos!";$erro=1;}
elseif (strstr($email,"@")==FALSE){
echo "Digite um e-mail valido";$erro=1;}
elseif ($erro==0){}
?>
<h1 align=center"><font color="blue">Cadastrar - Final</font></h1>
<form method="POST" action="final.php">
<input type="hidden" name="nome" value=\"<?php echo $nome; ?>">
<input type="hidden" name="sobrenome" value="<?php echo $sobre; ?>">
<input type="hidden" name="maior" value="<?php echo $maior; ?>">
<input type="hidden" name="email" value="<?php echo $email; ?>">
Senha: <input type="password" name="senha"><br>
Digite novamente a senha: <input type="password" name="n_senha"><input type="submit" value="Ultimo passo">
</form>
</body></html>
-------final.php
<?php
$senha = $_POST["senha];
$n_senha = $_POST["n_senha"];
$nome = $_POST["nome"];
$sobre = $_POST["sobrenome"];
$maior = $_POST["maior"];
$email = $_POST["email"];
$erro=0;
if ($senha != $n_senha){
echo "Você deve digitar a mesma senha nos dois campos";$erro=1;}
elseif (empty($senha) OR empty($n_senha)){ echo "Você deve digitar uma senha!"; $erro=1;}
elseif (strlen($senha)<5){ echo "A senha ter de ter mais de 5 caracteres!"; $erro=1;}
elseif (strlen($senha)>12){ echo "A senha ter de ter menos de 12 caracteres!"; $erro=1;}
elseif ($erro == 0){ echo "Parabens, você criou sua conta!<br>Aqui estão seus dados:<br> Nome: $nome $sobre<br>
Idade: Acima de 18<br>
E-amail: $email<br>
Senha: $senha";}
?>
O problema é que quando eu descumpro alguma condição no primeiro formulário, no segundo ele mostra o erro, mas o segundo formulario já esta lá para ser preenchido, eu quero que só exiba o proximo formulario quando a varialvel $erro for "0", eu tentei deixar o formulario dentro do arquivo PHP mas quando chegava na pagina "final.php" ela não retornava o valor de nome e e-mail, o q fazer??o.O se tiver alguma outra coisa que eu poderia ter feito para deixar o codigo mais limpo, diga ae ^^
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.