Jump to content
Fórum Script Brasil
  • 0

Sistema de Login


Myfault

Question

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 to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 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.";
}


?>

Edited by Myfault
Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...