Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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>";
}
?>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?
por que você nao coloca um índice único no login?
tudo na msm pagina? n entendi direito
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.
mais como eu iria tratar ele com o spry? ou ele ja iria estar trabalhaando com o spry?
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"](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?
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;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...
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
} else {