Ir para conteúdo

Arquivado

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

Araan Chagas

Problema em pagina de cadastro...

Recommended Posts

bom eu fiz uma pagina de cadastro e estou com problemas... Pois quando eu faço o cadastro ex.

 

Login: teste

Senha: teste

email: teste@teste.com

Sexo: M (tem a escolha de M ou F {esta em ingles Male ou Female})

 

e depois faço o msm registro com as msm informações ele esta cadastrando denovo com msm login e tudo mais =/ so aparece q ja existe e cadastrado com sucesso o.O bom segui o que eu fiz na pagina php

 

<?php
require_once ("config.php");

$login = $_POST['login']; 
$senha = $_POST['senha'];
$senha2 = $_POST['confirm_senha'];
$email = $_POST['email'];
$sexo = $_POST['sexo'];
$erro = FALSE;

$verifica = mysql_query("SELECT userid FROM login WHERE userid = '$login'");
$verifica2 = mysql_fetch_assoc($verifica);

if ($verifica2['userid'] == $login) echo 'Esse usuario já está em uso';

if ($login == "") {
echo "Login vazio!<br>";
$erro = TRUE;
}
if ($senha == "") {
echo "Senha vazia!<br>";
$erro = TRUE;
}
if ($senha2 == "") {
echo "Senha de confirmação vazia!<br>";
$erro = TRUE;
}
if ($email == "") {
echo "E-mail vazio!<br>";
$erro = TRUE;
}
if ($sexo == "") {
echo "Sexo vazio!<br>";
$erro = TRUE;
}

if (!erro) {
echo "Um erro aconteceu!";
} else {
$query = mysql_query("INSERT INTO login (userid,user_pass,---,email) VALUES ('$login','$senha2','$sexo','$email')");
echo "<strong>Cadastro efetuado com sucesso!</strong>";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

use o mysql_num_rows para saber a quantidade de linhas retornadas, lembre também de validar esses dados antes de inserir direto no banco de dados

 

<?php
require_once ("config.php");

$login = $_POST['login'];
$senha = $_POST['senha'];
$senha2 = $_POST['confirm_senha'];
$email = $_POST['email'];
$sexo = $_POST['sexo'];
$erro = FALSE;
   
$verifica = mysql_query("SELECT userid FROM login WHERE userid = '$login'");

if (mysql_num_rows($verifica) > 0) {	echo 'Esse usuario já está em uso';	$erro = true;}
if ($login == "") {
 	echo "Login vazio!
";
 	$erro = TRUE;
}

if ($senha == "") {
	echo "Senha vazia!
";
	$erro = TRUE;
}
if ($senha2 == "") {
	echo "Senha de confirmação vazia!
";
	$erro = TRUE;
}
if ($email == "") {
	echo "E-mail vazio!
";
	$erro = TRUE;
}
if ($sexo == "") {
	echo "Sexo vazio!
";
	$erro = TRUE;
}
 
if ($erro) {
	echo "Um erro aconteceu!";
} else {
	$query = mysql_query("INSERT INTO login (userid,user_pass,---,email) VALUES ('$login','$senha2','$sexo','$email')");
	echo "<strong>Cadastro efetuado com sucesso!</strong>";
}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tp eu achei melhor fazer as input em spry, e tp eu tava pensando tem como eu fazer com que a pessoa digite o login e apareça se ja existe na db?

 

fica mais facil do que fazer verificar depois, com o spry ele verificaria na hora quando a pessoa mudasse de campo...

 

tem como?

Compartilhar este post


Link para o post
Compartilhar em outros sites

depende!

 

se você esta respondendo o meu post, é não!

 

você coloca um índice único na coluna login, no banco de dados.

 

ai se alguem tentar inserir um nome de login q ja esta cadastrado, vai dar erro no Mysql.

 

		
if(mysql_errno() == 1062) { 
echo '<p> </p><p align="center">Nome de acesso já cadastrado! Verifique!</p>';

 

só um exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom consegui... eu fiz a verificaçao igual ao do Aneildo e aproveitei pra verificar o e-mail ficou assim...

 

<?php
require_once ("config.php");

$login = $_POST['login'];
$senha = $_POST['senha'];
$senha2 = $_POST['confirm_senha'];
$email = $_POST['email'];
$sexo = $_POST['sexo'];
$erro = FALSE;

$verifica = mysql_query("SELECT userid FROM login WHERE userid = '$login'");
$verifica2 = mysql_query("SELECT email FROM login WHERE email = '$email'");

if (mysql_num_rows($verifica) > 0) {    echo 'Esse usuario já está em uso.';     $erro = true;}
if (mysql_num_rows($verifica2) > 0) {    echo 'Esse email já está em uso.';     $erro = true;}
if ($login == "") {
       echo "Login vazio!
";
       $erro = TRUE;
}

if ($senha == "") {
       echo "Senha vazia!
";
       $erro = TRUE;
}
if ($senha2 == "") {
       echo "Senha de confirmação vazia!
";
       $erro = TRUE;
}
if ($email == "") {
       echo "E-mail vazio!
";
       $erro = TRUE;
}
if ($sexo == "") {
       echo "Sexo vazio!
";
       $erro = TRUE;
}

if ($erro) {
       echo "";
} else {
       $query = mysql_query("INSERT INTO login (userid,user_pass,---,email) VALUES ('$login','$senha2','$sexo','$email')");
       echo "<strong>Cadastro efetuado com sucesso!</strong>";
}?>

 

mais tem uma coisa. Quando da tudo certo e o cadastro conclui ele está aparecendo o diretorio da classe que é "http://localhost/root/xxxx/2/classe/VerifCad.php" (fiz o teste aki em casa;

tem como eu fazer ele retornar pra pagina "http://localhost/root/xxxx/2/?go=registrar" eu teria que colocar o php na msm pagina ou tem algo pra min por pra retornar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais como eu iria tratar ele com o spry? ou ele ja iria estar trabalhaando com o spry?

nada com a pagina. indice unico você iria colocar no banco de dados, nao ia fazer nada na pagina. mas parece q você ja conseguiu resolver, entao...

 

mais tem uma coisa. Quando da tudo certo e o cadastro conclui ele está aparecendo o diretorio da classe que é "http://localhost/root/xxxx/2/classe/VerifCad.php" (fiz o teste aki em casa;

tem como eu fazer ele retornar pra pagina "http://localhost/root/xxxx/2/?go=registrar" eu teria que colocar o php na msm pagina ou tem algo pra min por pra retornar?

coloque assim, logo abaixo a query q insere os dados:

 

header("Location: home.php");
exit;

Compartilhar este post


Link para o post
Compartilhar em outros sites

outra duvida eu poderia tirar os if?

esses

if ($login == "") {
       echo "Login vazio!
";
       $erro = TRUE;
}

if ($senha == "") {
       echo "Senha vazia!
";
       $erro = TRUE;
}
if ($senha2 == "") {
       echo "Senha de confirmação vazia!
";
       $erro = TRUE;
}
if ($email == "") {
       echo "E-mail vazio!
";
       $erro = TRUE;
}
if ($sexo == "") {
       echo "Sexo vazio!
";
       $erro = TRUE;
}

if ($erro) {
       echo "";

 

pois como eu estou fazendo em spry validation eu ja fiz com que a pessoa tenha que escrever na input, e nas senhas eu ja colokei com quem ela tenha se ser igual tanto na senha1 tanto na senha2... e sobre o erro eu ja colokei q seria la em cima no do e-mail e do login...

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.