Sistema de cadastro e banco de dados (PHP, MySQL)
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
Curtidas 0
Melhor post
Calebe Menezes
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.
GOSTEI 1
Mais Respostas
Aparecida Gonçalves
24/04/2018
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.
GOSTEI 0