• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed PHP logowanie z szyfrowaniem hasła

0 głosów
24 wizyt
pytanie zadane 3 dni temu w PHP przez BarSki13 Użytkownik (540 p.)
zamknięte 3 dni temu przez BarSki13

Witam,

W PHP zrobiłem logowanie jednak na samym początku zrobiłem w bazie danych na hasło ustawiłem normalnie nie zaszyfrowane i logowanie działa. Jednak gdy kod zmieniłem na szyfrowanie password_hash wyskakuje że są nieprawidłowe dane logowania a hasło w inpucie wpisuje takie samo tylko sprawdza w bazie czy hasło zaszyfrowane się zgadza.

Najpierw wyświetliłem w echo zaszyfrowane hasło, a następnie dodałem do bazy danych w rekordzie password0. Później dodałem do kodu, że dane co zapisuje w tablicy od pobranej wartości hasła z bazy danych ma się równać hasło wpisane w inpucie, jednak dane są niepoprawne. Czy wie może ktoś jak mogę kod zmienić czy coś innego by logowanie z szyfrowaniem hasła zadziałało ?

Z góry dziękuję za odpowiedź

 

Kod PHP logowanie

<body>
    <div id="absoluteCenteredDiv">
        <form method="post">
            <div class="box">
                <h1>Zaloguj</h1>
                <input class="username" name="username" type="text" placeholder="Login">
                <input class="username" name="username2" type="password" placeholder="Hasło">
                <input type="submit" value="Zaloguj" class="button">
            </div>
        </form>
        <?php
            include('connect.php');
            
            if(!empty($_POST['username']) && !empty($_POST['username2']))
            {
                $username = $_POST['username'];
                $conn = mysqli_connect($server_name, $user_name, $pass, $db_name);
                $sql = "SELECT login0, password0 FROM rejestracja WHERE login0 = '$username'";
                $result = mysqli_query($conn, $sql) or die('Błędne zapytanie');
                $row = mysqli_fetch_array($result);
                $hasher = password_hash($_POST['username2'], PASSWORD_BCRYPT);
                echo $hasher;

                if($_POST['username'] == $row[0] && $hasher == $row[1])
                {
                    echo "Zalogowano";
                    header('Location: http://localhost/adminpanel/start.html');
                }
                else
                {
                    echo "Nieprawidłowe dane logowania";
                }
            }
        ?>
    </div>        
</body>

W pliku connect.php przechowuje dane logowania do bazy danych do łączenia się z nią. Localhost root brak hasła i nazwa bazy danych.

komentarz zamknięcia: Znalazłem rozwiązanie mojego problemu

Podobne pytania

0 głosów
2 odpowiedzi 564 wizyt
0 głosów
1 odpowiedź 186 wizyt
pytanie zadane 18 sierpnia 2019 w PHP przez Maciek Nayko Wiśniew Początkujący (350 p.)
0 głosów
3 odpowiedzi 496 wizyt
pytanie zadane 6 czerwca 2019 w PHP przez DODO Bywalec (2,950 p.)
Porady nie od parady
Zadając pytanie postaraj się o odpowiedni tytuł, kategorię oraz tagi.Tagi

85,709 zapytań

134,503 odpowiedzi

298,532 komentarzy

56,629 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...