PHP 데이터베이스를 통한 간단한 인증
데이터베이스를 기반으로 한 가장 간단한 인증을 구현해 봅시다. 지금은 회원가입 없이 진행합니다. 사용자 등록 대신, 데이터베이스 테이블에 직접 로그인 정보와 비밀번호를 입력하겠습니다:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
이제 로그인과 비밀번호를 입력할 수 있는 폼을 만들어 보겠습니다:
login.php<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
이제 폼이 전송되었는지 확인하고, 전송되었다면 데이터베이스에 해당 로그인과 비밀번호를 가진 사용자가 있는지 확인하는 코드를 작성해 보겠습니다:
login.php<?php
if (!empty($_POST['password']) and !empty($_POST['login'])) {
$login = $_POST['login'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE login='$login' AND password='$password'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
if (!empty($user)) {
// 사용자 인증 성공
} else {
// 잘못된 로그인 또는 비밀번호
}
}
?>
Задание 1
위에서 설명한 인증을 구현하세요. 사용자가 인증에 성공하면 성공 메시지를 출력하고, 실패하면 입력한 로그인 또는 비밀번호가 잘못되었다는 메시지를 출력하도록 만드세요.
Задание 2
인증에 성공한 경우 로그인 및 비밀번호 입력 폼이 화면에 표시되지 않도록 코드를 수정하세요.
Задание 3
인증에 성공한 경우 index.php 페이지로
리디렉션되도록 코드를 수정하세요.
Задание 4
index.php 페이지에서 성공적인 인증에 대한
메시지가 출력되도록 코드를 수정하세요.
세션을 사용한 플래시 메시지를 통해 문제를 해결하세요.