Sistema de cadastro e banco de dados (PHP, MySQL)

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

Irineu

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:

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

Calebe Menezes
Responder

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.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar