Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Prezados,
Fiz em ambiente local (xampp) uma tela de login simples e está funcionando perfeitamente, sem apresentar qualquer erro, porém, ao subir para meu servidor web (ambos rodam PHP 7.1), o sistema de login não funciona, só gera a mensagem de erro de login e senha. Após verificar os possíveis erros, identifiquei que a consulta SQL não está funcionando, porém, no PHPmyAdmin funciona normalmente (no servidor web), estou usando uma view, mas não encontrei nada que tivesse o mesmo problema que estou passando.
Segue código:
if($sql = $mysqli->prepare("SELECT * FROM `vw_login` WHERE `login` = ? LIMIT 1")) {
$sql->bind_param("s", $frmlogin);
$sql->execute();
$sql->bind_result($id, $nome, $hash);
if($sql->fetch() AND Bcrypt::check($frmsenha, $hash)) {
...
header('Location: /');
} else {
session_destroy();
$retorno = "Login ou senha incorretos.";
}
$sql->close();
}
Obrigado!UP!
>
Em 22/05/2018 at 10:52, Rasp disse:
Prezados,
Fiz em ambiente local (xampp) uma tela de login simples e está funcionando perfeitamente, sem apresentar qualquer erro, porém, ao subir para meu servidor web (ambos rodam PHP 7.1), o sistema de login não funciona, só gera a mensagem de erro de login e senha. Após verificar os possíveis erros, identifiquei que a consulta SQL não está funcionando, porém, no PHPmyAdmin funciona normalmente (no servidor web), estou usando uma view, mas não encontrei nada que tivesse o mesmo problema que estou passando.
Segue código:
if($sql = $mysqli->prepare("SELECT * FROM `vw_login` WHERE `login` = ? LIMIT 1")) {
$sql->bind_param("s", $frmlogin);
$sql->execute();
$sql->bind_result($id, $nome, $hash);
if($sql->fetch() AND Bcrypt::check($frmsenha, $hash)) {
...
header('Location: /');
} else {
session_destroy();
$retorno = "Login ou senha incorretos.";
}
$sql->close();
}
Obrigado!
vw é uma view? se sim você colocou ela em seu servidor para efetuar a busca?>
4 horas atrás, igu disse:
vw é uma view? se sim você colocou ela em seu servidor para efetuar a busca?
Sim, como eu disse, migrei do xampp local para um servidor web, dentro do PHPMyAdmin ela roda perfeitamente, mas o statements mysqli do php não executa, porém, no xampp roda.
UP
UP
Porque não tenta usar PDO?
Caso não conheça veja isso: https://forum.imasters.com.br/topic/565800-crud-introdução-a-pdo/
$sql = $obj_de_conexao->prepare("SELECT * FROM vw_login WHERE login = :datalogin");
$sql->execute([':datalogin' => $frmsenha);
if ($sql->rowCount()) {
echo "Existe";
} else {
echo "Não existe";
}
-
Está usando encriptação de senha? Pesquise pelo login ou mail se existirem traga os dados do usuário, e depois compare a senha. Porque se pesquisar do seu jeito, como vai logar um usuário se pode existir mais de uma senha igual no banco?
Então @Omar~
Tudo já está desenvolvido para mysqli, não queria ter de misturar ou refazer tudo antes de ao menos conseguir entender se isso é um problema da biblioteca mysqli ou algum erro meu. Com relação ao meu login, ele funciona exatamente do jeito que você mencionou! Eu só comparo a senha através da classe Bcrypt após ter retorno. Com relação a senha, utlizando Bcrypt nunca terá uma senha igual, pois é incluído um salt ao gerar o hash (https://secure.php.net/manual/pt_BR/function.crypt.php)
Obrigado por ter respondido! Estou sendo obrigado a colocar "UP" diariamente para ver se alguém pode me ajudar, ao invés disso, tem alguém que não tem conhecimento pelo jeito e vem negativar o comentário. Brasileiros...
Abraço!
>
Em 27/05/2018 at 12:47, Rasp disse:
Então @Omar~
Tudo já está desenvolvido para mysqli, não queria ter de misturar ou refazer tudo antes de ao menos conseguir entender se isso é um problema da biblioteca mysqli ou algum erro meu. Com relação ao meu login, ele funciona exatamente do jeito que você mencionou! Eu só comparo a senha através da classe Bcrypt após ter retorno. Com relação a senha, utlizando Bcrypt nunca terá uma senha igual, pois é incluído um salt ao gerar o hash (https://secure.php.net/manual/pt_BR/function.crypt.php)
Obrigado por ter respondido! Estou sendo obrigado a colocar "UP" diariamente para ver se alguém pode me ajudar, ao invés disso, tem alguém que não tem conhecimento pelo jeito e vem negativar o comentário. Brasileiros...
Abraço!
Olá tudo bem? Conseguiu descobrir o erro?? Estou com o mesmo problema. Obrigado
UP!