Rodrigo Guimarães

Respostas no Fórum

Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • em resposta a: Problema no login #127689
    Rodrigo Guimarães
    Participante

    Como posso consertar isso no código? Poderia me ajudar por favor?

    em resposta a: Problema no login #127680
    Rodrigo Guimarães
    Participante

    PHP com MySQL – Módulo 02: Segurança e níveis de acesso

    Fazendo o login funcionar

    em resposta a: Problema no login #127543
    Rodrigo Guimarães
    Participante

    Boa 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’]);

    }

Visualizando 3 posts - 1 até 3 (de 3 do total)