Respostas no Fórum
-
AutorPosts
-
Rodrigo GuimarãesParticipante
Como posso consertar isso no código? Poderia me ajudar por favor?
Rodrigo GuimarãesParticipantePHP com MySQL – Módulo 02: Segurança e níveis de acesso
Fazendo o login funcionar
Rodrigo GuimarãesParticipanteBoa tarde,
Na tela de login do meu programa está dando o seguinte erro:
Fatal error: Uncaught TypeError: Unsupported operand types: string + int in C:\xampp2\htdocs\PHP.SQL\includes\login.php:14 Stack trace: #0 C:\xampp2\htdocs\PHP.SQL\includes\login.php(21): cripto(‘admin’) #1 C:\xampp2\htdocs\PHP.SQL\user-login.php(35): testarHash(‘admin’, ‘$2y$10$UpMQCcir…’) #2 {main} thrown in C:\xampp2\htdocs\PHP.SQL\includes\login.php on line 14
Segue abaixo o código utilizado no arquivo user-login.php:
<?php $u = $_POST ['usuario'] ?? null; $s = $_POST ['senha'] ?? null; if (is_null ($u) || is_null ($s)) { require "user-login-form.php"; } else { $q = "SELECT usuario, nome, senha, tipo FROM usuarios WHERE usuario = '$u' LIMIT 1"; $busca = $banco->query($q); if (!$busca) { echo msg_erro ('Falha ao acessar o banco!'); } else $reg = $busca ->fetch_object (); if (testarHash($s, $reg->senha)) { echo msg_erro ('Falha ao acessar o banco de dados'); } else { $reg = $busca->fetch_object(); if (testarHash($s, $reg->senha)) { echo msg_sucesso ('Logado com sucesso'); } else { echo msg_erro ('Senha invalida'); } } }
Código utilizado no arquivo login.php:
`<?php//GERAR HASH DE SENHA EM PHP//
function gerarHash ($senha) {
$texto = cripto ($senha);
$hash = password_hash ($senha, PASSWORD_DEFAULT);
return $hash;
}function cripto ($senha) {
$c = ”;
for ($posição = 0; $posição<strlen ($senha); $posição++) {
$letra = $senha[$posição] + 1;
$c .= chr ($letra);
}
return $c;
}function testarHash ($senha, $hash) {
$ok = password_verify(cripto($senha), $hash);
return $ok;
}session_start();
if (!isset($_SESSION[‘user’])) {
$_SESSION [‘user’] =””;
$_SESSION [‘nome’] =””;
$_SESSION [‘tipo’] =””;
}function logout () {
unset($_SESSION[‘user’]);
unset($_SESSION[‘nome’]);
unset($_SESSION[‘user’]);}
-
AutorPosts