Fórum Sistema de cadastro e banco de dados (PHP, MySQL) #592690
24/04/2018
0
Algúem poderia me ajudar, estou desenvolvendo um sistema de cadastro e estou travado no código, o código deve verificar se o usuário preencheu algo no campo "login", se não preencheu deve informar ao usuário, e se isso for preenchido deve ser checado se existe um login igual no banco de dados, se houver deve informar ao usuário invalidando o cadastro...
<?php
$user="usuario";
$password="senha";
$database="banco de_dados";
$hostname="localhost";
$conexao = mysqli_connect($hostname,$user,$password,$database);
$nome = $_POST['nome'];
$sobrenome = $_POST['sobrenome'];
$dia = $_POST['dia'];
$mes = $_POST['mes'];
$ano = $_POST['ano'];
$email = $_POST['email'];
$rg = $_POST['rg'];
$cpf = $_POST['cpf'];
$cpf2 = $_POST['cpf2'];
$estado = $_POST['estado'];
$cidade = $_POST['cidade'];
$login = $_POST['login'];
$senha = MD5($_POST['senha']);
$query_select = "SELECT login FROM usuarios WHERE login = '".$login;
$select = mysqli_query($query_select,$connect);
$array = mysqli_fetch_array($select);
$logarray = $array['login'];
if($logarray.empty() || $logarray.is_null()){
echo"<script language='javascript' type='text/javascript'>alert('O campo login deve ser preenchido');window.location.href='cadastro.html';</script>";
}else if(strcasecmp($logarray, $login)){
echo $login;
echo $logarray;
echo"<script language='javascript' type='text/javascript'>alert('Esse login já existe');window.location.href='cadastro.html';</script>";
die();
}else{
$insert = mysqli_query($conexao ,"INSERT INTO usuarios(nome, sobrenome, dia, mes, ano, email, rg, cpf, cpf2, estado, cidade, login, senha)
VALUES('$nome', '$sobrenome', '$dia', '$mes', '$ano', '$email', '$rg', '$cpf', '$cpf2', '$estado', '$cidade', '$login', '$senha')");
if($insert){
echo"<script language='javascript' type='text/javascript'>alert('Usuário cadastrado com sucesso!');window.location.href='cadastro.html'</script>";
}else{
echo"<script language='javascript' type='text/javascript'>alert('Não foi possível cadastrar esse usuário');window.location.href='cadastro.html'</script>";
}
}
}
?>
Irineu
Curtir tópico
+ 0
Responder
Post mais votado
03/05/2018
Olá Vitor, tudo bem?
Então vamos lá, na linha 26 você está verificando se "$logarray" está vazio com um método chamado "..empty()". Na verdade, você deveria fazer uso da função empty desse modo:
Após fazer essa alteração, informe o que aconteceu para que possamos resolver esse problema. Qualquer coisa é só falar.
Então vamos lá, na linha 26 você está verificando se "$logarray" está vazio com um método chamado "..empty()". Na verdade, você deveria fazer uso da função empty desse modo:
if(empty($logarray)){
// $logarray está vazio
} else {
// $logarray contém algum valor
}
Após fazer essa alteração, informe o que aconteceu para que possamos resolver esse problema. Qualquer coisa é só falar.
Calebe Menezes
Responder
Gostei + 1
Mais Posts
09/07/2018
Aparecida Gonçalves
Olá Vitor,
tudo bem?
1- Eu acho que seria interessante você separar seus códigos. Por exemplo, o que se refere a conexão no banco de dados, você cria um conexao.php e dentro mantem suas variáveis da linha 1 até a linha 7 e eu acrescentaria um if para testar se a conexao no banco deu certo ou não, com um simples echo retornando na tela.
$conexao = mysqli_connect('localhost', 'meuusuario', 'minhasenha', 'nomebd');
if(mysqli_connect_errno()){
echo "Erro ao conectar com o Mysql: " . mysqli_connect_error();
}
Por que isso? Porque dessa forma, mais pra frente se você testar seus códigos em outro ambiente, pode acontecer erros do PHP e do banco e fica mais fácil identificar de onde vem a parte que devemos melhorar.
2- Como você trabalha com Login, também poderia separar o código PHP responsável por essa tarefa. E logo na primeira linha você insere um include('conexao.php'); que vai se encarregar de chamar/usar os dados referente a conexao no banco.
Em seguida, você testa o que o select retorna do seu banco:
$sql = mysqli_query($conexao, "SELECT * FROM usuarios WHERE email = '$email'");
if($row > 0){ ..e aqui envia uma mensagem que esta ok..}
else{ .. mensagem de que o usuario nao esta autenticado ..}
3- Sobre o seu if para validar se a variavél esta vazia, você poderia usar:
if (empty($minhavariavel)) {
echo '$minhavariavel verfificando retorno';
}
Espero ter ajudado!
Cida Luna.
tudo bem?
1- Eu acho que seria interessante você separar seus códigos. Por exemplo, o que se refere a conexão no banco de dados, você cria um conexao.php e dentro mantem suas variáveis da linha 1 até a linha 7 e eu acrescentaria um if para testar se a conexao no banco deu certo ou não, com um simples echo retornando na tela.
$conexao = mysqli_connect('localhost', 'meuusuario', 'minhasenha', 'nomebd');
if(mysqli_connect_errno()){
echo "Erro ao conectar com o Mysql: " . mysqli_connect_error();
}
Por que isso? Porque dessa forma, mais pra frente se você testar seus códigos em outro ambiente, pode acontecer erros do PHP e do banco e fica mais fácil identificar de onde vem a parte que devemos melhorar.
2- Como você trabalha com Login, também poderia separar o código PHP responsável por essa tarefa. E logo na primeira linha você insere um include('conexao.php'); que vai se encarregar de chamar/usar os dados referente a conexao no banco.
Em seguida, você testa o que o select retorna do seu banco:
$sql = mysqli_query($conexao, "SELECT * FROM usuarios WHERE email = '$email'");
if($row > 0){ ..e aqui envia uma mensagem que esta ok..}
else{ .. mensagem de que o usuario nao esta autenticado ..}
3- Sobre o seu if para validar se a variavél esta vazia, você poderia usar:
if (empty($minhavariavel)) {
echo '$minhavariavel verfificando retorno';
}
Espero ter ajudado!
Cida Luna.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)