Ir para conteúdo

POWERED BY:

Arquivado

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

Ricard0

Não permitir login/email em uso

Recommended Posts

Olá pessoal, estou tentando fazer com que uma conta nova seja criada apenas se o login e o email não esteja em uso mas não obtive resultado. Tinha tentado fazer um select e depois fiz um if/else para caso tenha resultados aparecer uma mensagem de erro, caso não, cadastrar o usuário mas não funcionou..

 

Segue meu código (tirei o que eu havia feito):

<?php
$servername = "localhost";
$username = "usuario";
$password = "senha";
$dbname = "db";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

if(!empty($_POST)) {

        $login = trim($_POST['login']);
	$senha = trim($_POST['senha']);
	$email = trim($_POST['email']);
	$link = trim($_POST['link']);
	$nome = trim($_POST['nome']);
	$descricao = trim($_POST['descricao']);
	$rates = trim($_POST['rates']);
	$banner = trim($_POST['banner']);

$sql = "INSERT INTO servidores (login, senha, email, link, nome, descricao, rates, banner)
VALUES ('$login', '$senha', '$email', '$link', '$nome', '$descricao', '$rates', '$banner')";

if ($conn->query($sql) === TRUE) {
    echo "<div class=\"col-md-6 col-md-offset-3\">

            <div class=\"alert alert-success text-center\">Cadastro realizado com sucesso, faça o login!</div>";
} else {
    echo "<div class=\"col-md-5 col-md-offset-4\">

            <div class=\"alert alert-danger text-center\">Houve um erro no envio dos dados, tente novamente mais tarde.</div>";
}
}

$conn->close();
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei refazer de outro jeito, sem resultados hahaha:

<?php
$servername = "localhost";
$username = "";
$password = "";
$dbname = "";


$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

if(!empty($_POST)) {

        $login = trim($_POST['login']);
	$senha = trim($_POST['senha']);
	$email = trim($_POST['email']);
	$link = trim($_POST['link']);
	$nome = trim($_POST['nome']);
	$descricao = trim($_POST['descricao']);
	$rates = trim($_POST['rates']);
	$banner = trim($_POST['banner']);
    
    if($result_premium = $db->query("SELECT login, email FROM servidores WHERE login = '$login' AND email = '$email'")){
    if($result_premium->num_rows){
        while($row_premium = $result_premium->fetch_object()){
            echo "<div class=\"col-md-5 col-md-offset-4\">

            <div class=\"alert alert-danger text-center\">Nome/email em uso.</div>

        </div>";
        }
    }else{

$sql = "INSERT INTO servidores (login, senha, email, link, nome, descricao, rates, banner)
VALUES ('$login', '$senha', '$email', '$link', '$nome', '$descricao', '$rates', '$banner')";

if ($conn->query($sql) === TRUE) {
    echo "<div class=\"col-md-6 col-md-offset-3\">

            <div class=\"alert alert-success text-center\">Cadastro realizado com sucesso, faça o login!</div>

        </div>";
} else {
    //echo "Error: " . $sql . "<br>" . $conn->error;
    echo "<div class=\"col-md-5 col-md-offset-4\">

            <div class=\"alert alert-danger text-center\">Houve um erro no envio dos dados, tente novamente mais tarde.</div>

        </div>";
}
}
    }
}

$conn->close();
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites


$result_premium = $db->query("SELECT login, email FROM servidores WHERE login = '$login' OR email = '$email' LIMIT 1");

if($result_premium->num_rows != '0'){

 

echo "<div class=\"col-md-5 col-md-offset-4\">

 

<div class=\"alert alert-danger text-center\">Nome/email em uso.</div>

 

</div>";

 

}else{

// faz cadastro

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta dando esse warning no log de erros, será que tem algo a ver?

 

Headers and client library minor version mismatch. Headers:50540 Library:50627

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ricardo, você conseguiu entender a lógica que eu apliquei ou só copiou/colou e voltou aqui para dar a chorada básica? Como ficou o script APÓS a alteração? Debugou a query para ver se tem algum erro nela?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já consegui, obrigado. Tinha a ver com a mensagem de erro, eu estava utilizando bibliotecas do php 6.2 enquanto o php no meu servidor está na versão 5.4.

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.