Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fazendo um sys simples de cadastro encontrei o seguinte problema:
if((!$nome) || (!$user) || (!$senha) || (!$ssenha) || (!$email)){
if(!$nome){ echo "Digite seu nome <br />";}
if(!$user){ echo "Digite um username <br />";}
if(!$senha){ echo "Digite uma senha <br />";}
if(!$ssenha){ echo "Repita a senha <br />";}
if(!$email){ echo "Digite seu email <br />";}
}elseif($senha != $ssenha){ echo "Senhas não se coicidem";}else{ }
aonde coloco a condição
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){ echo "Digite um email valido";}
para que o sistema barre emails invalidosContinua sem mostrar o erro, caso o usuário tenha digitado o e-mail invalido
?? estranho..
<?php
$nome="teste";
$user="teste2";
$senha="123";
$ssenha="123";
$email="baboseira";
if((!$nome) || (!$user) || (!$senha) || (!$ssenha) || (!$email)){
if(!$nome){ echo "Digite seu nome <br />";}
if(!$user){ echo "Digite um username <br />";}
if(!$senha){ echo "Digite uma senha <br />";}
if(!$ssenha){ echo "Repita a senha <br />";}
if(!$email){ echo "Digite seu email <br />";}
}
elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){ echo "Digite um email valido";}
elseif($senha != $ssenha){ echo "Senhas não se coicidem";}else{ echo "funciona";}
?>
aqui esta funcionando.
<?php
if(isset($_POST['C']) && $_POST['C'] == 'Q'){
$nome = trim($_POST['nome']);
$user = trim($_POST['usuario']);
$senha = trim($_POST['senha']);
$ssenha = trim($_POST['senha2']);
$email = trim($_POST['email']);
if((!$nome) || (!$user) || (!$senha) || (!$ssenha) || (!$email)){
if(!$nome){ echo "Digite seu nome <br />";}
if(!$user){ echo "Digite um username <br />";}
if(!$senha){ echo "Digite uma senha <br />";}
if(!$ssenha){ echo "Repita a senha <br />";}
if(!$email){ echo "Digite seu email <br />";}
}
elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){ echo "Digite um email valido <br />";}
elseif($senha != $ssenha){ echo "Senhas não se coicidem <br />";}else{
}
}
?>
<html><body>
<form name="cadastrar" method="post" action="" >
<input type="hidden" name="C" value="Q" >
<input type="text" name="nome" value="" >
<input type="text" name="usuario" value="" >
<input type="text" name="senha" value="" >
<input type="text" name="senha2" value="" >
<input type="text" name="email" value="" >
<input type="submit" name="cadastrar" value="Cadastre-se" >
</form>
</body></html>
o problema tá no fato de que o codigo não esta mostrando todos os erros, caso o user não digitou em tais campos, ou senhas não são iguais, não mostra o erro simultaneamente com o email invalido, entendeu agora ?tah, agora eu entendi, nesse caso talves o que você queira:
<?php
$nome="teste";
$user="teste2";
$senha="123";
$ssenha="1234";
$email="baboseira";
if((!$nome) || (!$user) || (!$senha) || (!$ssenha) || (!$email)){
if(!$nome){ echo "Digite seu nome <br />";}
if(!$user){ echo "Digite um username <br />";}
if(!$senha){ echo "Digite uma senha <br />";}
if(!$ssenha){ echo "Repita a senha <br />";}
if(!$email){ echo "Digite seu email <br />";}
}
elseif(($senha != $ssenha)||(!filter_var($email, FILTER_VALIDATE_EMAIL)))
{
if ($senha != $ssenha) { echo "Senhas não se coicidem<br />";}
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {echo "Digite um email valido <br />";}
}
else{ echo "funciona";}
?>
seria isso?
É isso ai, agora tudo funcionando de acordo
Pode ser feitos de diversas formas, aproveitando seu codigo eu faria assim:
if((!$nome) || (!$user) || (!$senha) || (!$ssenha) || (!$email)){
edit:
acabei de perceber que você não fechou o parentes do if, o certo seria:
elseif(!filter_var($email, FILTER_VALIDATE_EMAIL))