Ćwiczenie 6 – Panel logowania (PHP + SQL)

Polecenie

Stwórz prosty system logowania do panelu administratora.

SQL – struktura bazy

CREATE DATABASE sklep;
USE sklep;

CREATE TABLE uzytkownicy (
    id INT AUTO_INCREMENT PRIMARY KEY,
    login VARCHAR(50) NOT NULL,
    haslo VARCHAR(255) NOT NULL
);

INSERT INTO uzytkownicy (login, haslo)
VALUES ('admin', '1234');
            

Kod do przepisania (login.php)

<!DOCTYPE html>
<html lang="pl">
<head>
    <meta charset="UTF-8">
    <title>Panel logowania</title>
</head>
<body>

<h2>Logowanie do panelu</h2>

<form method="post" action="">
    Login: <br>
    <input type="text" name="login"><br><br>

    Hasło: <br>
    <input type="password" name="haslo"><br><br>

    <input type="submit" value="Zaloguj">
</form>

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $login = trim($_POST["login"]);
    $haslo = trim($_POST["haslo"]);

    $conn = new mysqli("localhost", "root", "", "sklep");

    if ($conn->connect_error) {
        die("Błąd połączenia z bazą: " . $conn->connect_error);
    }

    $sql = "SELECT * FROM uzytkownicy WHERE login='$login' AND haslo='$haslo'";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        echo "<p style='color:green;'>Zalogowano poprawnie!</p>";
    } else {
        echo "<p style='color:red;'>Błędny login lub hasło.</p>";
    }

    $conn->close();
}
?>

</body>
</html>
            

Efekt końcowy

Po wpisaniu poprawnego loginu i hasła użytkownik zobaczy komunikat Zalogowano poprawnie!. W przeciwnym przypadku zostanie wyświetlony komunikat o błędzie.