Ir para conteúdo
Fórum Script Brasil
  • 0

Sistema de Login


Myfault

Pergunta

Olá, criei um script em PHP para criar um sistema de login. Gostaria de saber, como faço para impor uma regra, em que, se alguém se cadastrar com um nome de usuário já existente, não funcionar e aparecer uma mensagem de erro. Também gostaria de saber como colocar verificação de senhas. Obrigado.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Parte do problema já foi resolvida, falta uma parte.

* Mostrar se já tiver alguém registrado com tal nick.

* Caso os campos estejam em branco, não seja enviado nada ao BD (quando coloco pra enviar com os campos vazio aparece, "Por favor, preencha todos os campos." mas envia em branco ao BD.

cadastra.php

<?php
$busca = mysql_query("SELECT * FROM users WHERE nick = '$nk'");
$resultado = mysql_fetch_assoc($busca);

if(isset($_POST['cadastra'])){
  
  $nc = $_POST['ncompleto'];
  $nk = $_POST['nick'];
  $pwd = $_POST['senha'];
mysql_query("INSERT INTO users (ncompleto, nick, senha) VALUES ('$nc', '$nk', '$pwd')");

echo $nc;
}

if(empty($nc) || empty($nk) || empty($pwd)){
echo "Por favor, preencha todos os campos.";
}


?>

Editado por Myfault
Link para o comentário
Compartilhar em outros sites

  • 0
<?php

$busca = mysql_query("SELECT * FROM users WHERE nick = '$nk'");

$resultado = mysql_fetch_assoc($busca);

if(isset($_POST['cadastra'])){

$nc = $_POST['ncompleto'];

$nk = $_POST['nick'];

$pwd = $_POST['senha'];

mysql_query("INSERT INTO users (ncompleto, nick, senha) VALUES ('$nc', '$nk', '$pwd')");

echo $nc;

}

if(empty($nc) || empty($nk) || empty($pwd)){

echo "Por favor, preencha todos os campos.";

}

?>

Preste atenção na sequência dos comandos. Faça algo assim

<?php

//primeiro você pega os valores do formularios

if(isset($_POST['cadastra'])){
  
  $nc = $_POST['ncompleto'];
  $nk = $_POST['nick'];
  $pwd = $_POST['senha'];

if(empty($nc) || empty($nk) || empty($pwd)){ //testa se todos os campos foram preenchidos
echo "<script>alert('Por favor, preencha todos os campos.')</script>";
echo "<script>history.go(-1)</script>";
}

$busca = mysql_query("SELECT * FROM users WHERE nick = '$nk'");
$resultado = mysql_query($busca) or die (mysql_error());
$existeNick = mysql_num_rows($resultado); //verifico quantos nick tem com o nick informado

if($existeNick == 0) { // se for igual zero, faço o insert;

mysql_query("INSERT INTO users (ncompleto, nick, senha) VALUES ('$nc', '$nk', '$pwd')");

echo $nc;
}

else {
echo "<script>alert('O nick informado já existe. Por favor tente outro!')</script>";
echo "<script>history.go(-1)</script>";
}
}


?>

Seria mais ou menos isso. Não rodei porque to sem acesso, mas a lógica é essa.

Link para o comentário
Compartilhar em outros sites

  • 0
<?php

$busca = mysql_query("SELECT * FROM users WHERE nick = '$nk'");

$resultado = mysql_fetch_assoc($busca);

if(isset($_POST['cadastra'])){

$nc = $_POST['ncompleto'];

$nk = $_POST['nick'];

$pwd = $_POST['senha'];

mysql_query("INSERT INTO users (ncompleto, nick, senha) VALUES ('$nc', '$nk', '$pwd')");

echo $nc;

}

if(empty($nc) || empty($nk) || empty($pwd)){

echo "Por favor, preencha todos os campos.";

}

?>

Preste atenção na sequência dos comandos. Faça algo assim

<?php

//primeiro você pega os valores do formularios

if(isset($_POST['cadastra'])){
  
  $nc = $_POST['ncompleto'];
  $nk = $_POST['nick'];
  $pwd = $_POST['senha'];

if(empty($nc) || empty($nk) || empty($pwd)){ //testa se todos os campos foram preenchidos
echo "&lt;script>alert('Por favor, preencha todos os campos.')</script>";
echo "&lt;script>history.go(-1)</script>";
}

$busca = mysql_query("SELECT * FROM users WHERE nick = '$nk'");
$resultado = mysql_query($busca) or die (mysql_error());
$existeNick = mysql_num_rows($resultado); //verifico quantos nick tem com o nick informado

if($existeNick == 0) { // se for igual zero, faço o insert;

mysql_query("INSERT INTO users (ncompleto, nick, senha) VALUES ('$nc', '$nk', '$pwd')");

echo $nc;
}

else {
echo "&lt;script>alert('O nick informado já existe. Por favor tente outro!')</script>";
echo "&lt;script>history.go(-1)</script>";
}
}


?>
Seria mais ou menos isso. Não rodei porque to sem acesso, mas a lógica é essa.
Está ocorrendo um erro na linha 31:
$resultado = mysql_query($busca) or die (mysql_error());

Link para o comentário
Compartilhar em outros sites

  • 0

Eai prezado, cara, dá uma olhada certinho na sua query sql, nessa linha aqui.

$busca = mysql_query("SELECT * FROM users WHERE nick = '$nk'");
Tenta fazer assim
$busca = mysql_query("select * from users where nick = '".$nk."'");

Por que quando a linha debaixo executa a query $busca dá um erro. Dizendo que o parâmetro deve ser um string.

Tenta ai e posta pra nós.

Abs.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...