Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sander Luís

[Resolvido] validar cadastro em php

Recommended Posts

fiz um sistema realmente simples para cadastra dados no meu banco de dados o codigo ficou assim:

 

<?

if($_GET[ 'act' ]=="gravar") {

 $conn = mysql_connect("localhost","root","");

 $banco = mysql_select_db("login");



 mysql_query("INSERT INTO Sis_login (id, login, senha, email)

 VALUES (NULL, '{$_POST[ 'nuser' ]}', '{$_POST[ 'senha' ]}', '{$_POST[ 'email' ]}')");



 print "<center>Usuário criado com sucesso!</center>";

} else {

?>

<form name="newuser" method="post" action="?act=gravar">

Nome: <input type="text" name="nuser" maxlength=15><BR>
Email: <input type="text" name="email" ><BR>
Senha: <input type="password" name="senha" maxlength=15><BR><BR>

<input type="submit" value="Enviar!">

</form>

<?

}

?>

 

 

mas eu queria validar ele sem ser em javascript pq tem como burlar facil queria em php mesmo mas não sei como fazer pelo menos aki neste q eu fiz......

 

quando clico emenviar os campos podem estar em branco q manda igual para o banco de dados e l´fica tudo em branco oq apenas muda lá é o id q é automatico o resto fica tudo em branco, tem como validar isso ae??

 

para validar o e-mail eu achei isso:

 

 


function valEmail($email) 
{ 
eregi("^([0-9a-zA-Z]+)([.,_]([0-9a-zA-Z]+))*[@]([0-9a-zA-Z]+)([.]([0-9a-zA-Z]+))*[.]([0-9a-zA-Z]){2}([0-9a-zA-Z])?$",$email,$match); 

e tbm isso

//Inicia a verificação do email, conforme dito, se $email_comp for igual a $email, o email será válido 

if ($email_comp == $email) 
{ 
return TRUE; 
/** Instruções caso o e-mail seja válido aqui **/ 
}else{ 
return FALSE; 
/** Instruções caso o e-mail seja INválido aqui **/ 
} 
} 

mas não sei como q eu coloco aki para validar

 

e ainda o principal é colocar para validar este e-mail e o resto é simplesmente validar sem esta preenchido...

 

 

se não for pedir muito tem como colocar 2 vezes o campo senha e pedir para escrever ela igual se não não passa o cadastro, pq as vezes acha q escreveu certo e escreveu errado a senha vlwwwww precizo urgente mas não consegui fazer funcionar

 

 

sou novato em php e estou aprendendo, pelo q eu vi aki

 

<form name="newuser" method="post" action="?act=gravar">

 

tem mudar o action e colocar em um arquivo php externo dae la dentro, depois de verificar se o e-mail as senhas e o nome estão preenchidos dae sim executa o action="?act=gravar"

 

q é este codigo aki

 

<?
if($_GET[ 'act' ]=="gravar") {

 $conn = mysql_connect("localhost","root","");

 $banco = mysql_select_db("login");

 mysql_query("INSERT INTO Sis_login (id, login, senha, email)

 VALUES (NULL, '{$_POST[ 'nuser' ]}', '{$_POST[ 'senha' ]}', '{$_POST[ 'email' ]}')");



 print "<center>Usuário criado com sucesso!</center>";

} else {codigo do cadastro aki login, password, e-mail...etc} ?>

 

 

algem ae sabe por favor mesmo hoge é dia 28 e tenho q cabar meu site ate dia 31 e falta validar este cadastro aki e terminar todo o design do meu site..... vlwwwwwwwwwwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo primeiramente valide os dados com o empty, poderia ser algo mais ou menos assim.

if($_GET[ 'act' ]=="gravar" && !empty($_post[login]) && !empty($_post[senha]) && !empty($_post[email) {

//depois você valida tua classe de e-mail

if(valEmail($_post) === TRUE){

echo 'invalido';

exit();

};

//depois de um escape para evitar injctor

mysql)real_escape($_post);//acho que e isto rsrs

 

//para depois continuar seu codigo

 

 

um post que recomendo você ler.

://blog.thiagobelem.net/como-criar-um-sistema-de-login-com-niveis-de-permissao/

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?

if($_GET[ 'act' ]=="gravar") {

$conn = mysql_connect("localhost","root","");

$banco = mysql_select_db("login");
$nomepost = addslashes($_POST['nuser']);
$senhapost = addslashes($_POST['senha']);
$senhapost2 = addslashes($_POST['senha2']);
$emailpost = addslashes($_POST['email']);
if(empty($nomepost) || empty($senhapost) || empty($emailpost)){
echo "Voce esqueceu algum campo em branco";
exit();
}
if($senha != $senha2){
echo "Senhas nao conferem";
exit();
}
if(filter_var($emailpost, FILTER_VALIDATE_EMAIL)){

 mysql_query("INSERT INTO Sis_login (id, login, senha, email)
 VALUES (NULL, '$nomepost', '$senhapost', '$emailpost");
 print "<center>Usuário criado com sucesso!</center>";
}else{
echo "Email invalido";
}
} else {
?>

<form name="newuser" method="post" action="?act=gravar">

Nome: <input type="text" name="nuser" maxlength=15><BR>
Email: <input type="text" name="email" ><BR>
Senha: <input type="password" name="senha" maxlength=15>
<br>
Repita: 
<input type="password" name="senha2" maxlength=15>
<BR>
<BR>

<input type="submit" value="Enviar!">

</form>

<?

}

?>

 

Amigo pra verificar email usa FILTER_VALIDATE_EMAIL é bem mais simples, e o script ta todo pronto acima :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra não enviar campo em branco, pode fazer isso:

 

if($_POST['nome']!="" && $_POST['email']!="" )
{
//seu código aqui
<?
if($_GET[ 'act' ]=="gravar") {
$conn = mysql_connect("localhost","root","");...
}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?

if($_GET[ 'act' ]=="gravar") {

$conn = mysql_connect("localhost","root","");

$banco = mysql_select_db("login");
$nomepost = addslashes($_POST['nuser']);
$senhapost = addslashes($_POST['senha']);
$senhapost2 = addslashes($_POST['senha2']);
$emailpost = addslashes($_POST['email']);
if(empty($nomepost) || empty($senhapost) || empty($emailpost)){
echo "Voce esqueceu algum campo em branco";
exit();
}
if($senha != $senha2){
echo "Senhas nao conferem";
exit();
}
if(filter_var($emailpost, FILTER_VALIDATE_EMAIL)){

 mysql_query("INSERT INTO Sis_login (id, login, senha, email)
 VALUES (NULL, '$nomepost', '$senhapost', '$emailpost");
 print "<center>Usuário criado com sucesso!</center>";
}else{
echo "Email invalido";
}
} else {
?>

<form name="newuser" method="post" action="?act=gravar">

Nome: <input type="text" name="nuser" maxlength=15><BR>
Email: <input type="text" name="email" ><BR>
Senha: <input type="password" name="senha" maxlength=15>
<br>
Repita: 
<input type="password" name="senha2" maxlength=15>
<BR>
<BR>

<input type="submit" value="Enviar!">

</form>

<?

}

?>

 

Amigo pra verificar email usa FILTER_VALIDATE_EMAIL é bem mais simples, e o script ta todo pronto acima :thumbsup:

 

ae amigão vlw mesmo.............

 

olha bem, teve um erro aki

if(filter_var($emailpost, FILTER_VALIDATE_EMAIL)){

 mysql_query("INSERT INTO Sis_login (id, login, senha, email)
 VALUES (NULL, '$nomepost', '$senhapost', '$emailpost");
 print "<center>Usuário criado com sucesso!</center>";
}

aki no

 VALUES (NULL, '$nomepost', '$senhapost', '$emailpost");

você tinha colocado assim
'$emailpost");
e o certo é assim:
'$emailpost')");

 

pelo menos aki q é linux a hospedagem funcionou perfeito antes de eu ageitar isso ele nõ gravava nada no banco de dados deposi q eu ageitei funciou 100% ams tem um errinho ainda, a parte senha 2 não presisa preencher q cadastra igual, teria q validar para ver se ela esta igual ao campo senha 1 dae tah perfeito

 

outra coisa q eu procurei e vou tentar ageitar é antes de cadastra olhar no banco de dados se ja existe o e-mail ou o usuario cadastrado

 

pq aki se eu cadastrar duas veses com o nome e e-mail igual vai apenas duplicar la no banco de dados e mudar apenas o id q e automatico..

 

mas no mais vlw

 

Deus te Abençoe!! tenta ve ae oq tem q mudar q dae eu aprendo aki vlwwwwwwwwwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha o codigo depois q mudifiquei mais ficu assim:

 

<?

if($_GET[ 'act' ]=="gravar") {

$conn = mysql_connect("localhost","root","");

$banco = mysql_select_db("login");
$nomepost = addslashes($_POST['nome']);
$ussernamepost = addslashes($_POST['ussername']);
$senhapost = addslashes($_POST['senha']);
$senhapost2 = addslashes($_POST['senha2']);
$emailpost = addslashes($_POST['email']);
if(empty($nomepost) || empty($ussernamepost) || empty($senhapost) || empty($emailpost)){
echo "Voce esqueceu algum campo em branco";
exit();
}
if($senha != $senha2){
echo "Senhas nao conferem";
exit();
}
if(filter_var($emailpost, FILTER_VALIDATE_EMAIL)){

 mysql_query("INSERT INTO Sis_login (id, nome, ussername, senha, email)
 VALUES (NULL, '$nomepost', '$ussernamepost', '$senhapost', '$emailpost')");
 print "<center>Usuário criado com sucesso!</center>";
}else{
echo "Email invalido";
}
} else {
?>

<form name="newuser" method="post" action="?act=gravar">

Nome: <input type="text" name="nome" maxlength=40><BR>
Usser Name: <input type="text" name="ussername" maxlength=20><BR>
Email: <input type="text" name="email" ><BR>
Senha: <input type="password" name="senha" maxlength=20>
<br>
Repita: 
<input type="password" name="senha2" maxlength=20>
<BR>
<BR>

<input type="submit" value="Enviar!">

</form>

<?

}

?>

 

a unica coisa q falta é ver no banco de dados se ja existe o ussername cadastrado e mostrar a mensagem esteusername ja esta cadastrado, se der tbm tem q fazer isso com e-mail tbm

 

e outra o campo repedir senha tem q validar pq se deixar ele em branco cadastra igual no mais ok vlw só uma coisa por favor me ajuden tenho q terminar meu site no maximo amanhã vlww

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes de inserir os dados no banco, você pode requisitar a pesquisa nele, pra ver se já existe:

$stm = $pdo->prepare("select * from Sis_login where ussernamepost ='$ussernamepost ' ");
$stm->execute();
$nlinhas=$stm->rowCount();
if ($nlinhas!=0)
{
echo "Usuário já cadastrado";
}
//Se o usuário não estiver cadastrado
else{
mysql_query("INSERT INTO Sis_login (nome, ussername, senha, email)
 VALUES (NULL, '$nomepost', '$ussernamepost', '$senhapost', '$emailpost')");
 print "<center>Usuário criado com sucesso!</center>";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.