Semi Login Page : Bootstrap version

DATE : 2023/10/28

1์ฃผ์ฐจ ๊ณผ์ œ๋กœ ๊ฐ„๋‹จํ•œ login page๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๋„๋ก ํ•˜์ž!!

์ „์ฒด์ ์ธ ํ๋ฆ„์€ ์‚ฌ์šฉ์ž๊ฐ€ admin:admin1234๋ฅผ ์ž…๋ ฅํ–ˆ์„ ๋•Œ๋งŒ

๋กœ๊ทธ์ธ์— ์„ฑ๊ณตํ•˜๋„๋ก ์ฒ˜๋ฆฌํ•  ๊ฒƒ!

์™„์„ฑ๋œ ํŽ˜์ด์ง€๋ฅผ ๋จผ์ € ํ™•์ธํ•ด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

Username & Password๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๋‘ ๊ฐœ์˜ <input>๊ณผ ์ œ์ถœ ๋ฒ„ํŠผ ์—ญํ• ์„ ํ•˜๋Š” element๊ฐ€ ํ•„์š”ํ•ด ๋ณด์ธ๋‹ค.

๊ทธ๋Ÿผ ๋ฐ”๋กœ login.html ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•ด๋ณด์ž.

[login.html]

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
    <link rel="stylesheet" href="./login.css">
</head>
<body>
    <div class="container">
        <h1>Login</h1>
        <form action="result.php" method="post">
            <div class="mb-3">
              <label for="exampleInputEmail1" class="form-label"> Username </label>
              <input type="text" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" name="user">
            </div>
            <div class="mb-3">
              <label for="exampleInputPassword1" class="form-label">Password</label>
              <input type="password" class="form-control" id="exampleInputPassword1" name="pass">
            </div>
            <button type="submit" class="btn btn-primary">SUBMIT</button>
        </form>
    </div>
</body>
</html>

์ง€๊ธˆ ์‚ดํŽด๋ณด๋Š” ์ฝ”๋“œ๋Š” bootstrap์„ ์ด์šฉํ•ด ์Šคํƒ€์ผ์„ ์ž…ํžˆ๊ธฐ ๋•Œ๋ฌธ์—

<head> - <link>๋กœ Bootstrap์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฐ๊ฒฐํ•ด์ค€๋‹ค.

(์ถ”๊ฐ€์ ์ธ ๋ถ€๋ถ„์€ ๊ฐ„๋‹จํ•˜๊ฒŒ css๋กœ ์ž‘์„ฑํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— login.css ํŒŒ์ผ๋„ ์—ฐ๊ฒฐ)

<body> tag ์•ˆ์— ์ž‘์„ฑ๋œ ๋‚ด์šฉ์„ ์‚ดํŽด๋ณด๋ฉด

container ์—ญํ• ์„ ํ•˜๋Š” <div> ์•ˆ์— form์ด ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

form์€ ์•ž์—์„œ ๋งํ–ˆ๋“ฏ์ด Username & Password๋ฅผ ์ž…๋ ฅํ•˜๋Š” ์šฉ๋„์˜ <input>๊ณผ

์ œ์ถœ ๋ฒ„ํŠผ ์šฉ๋„์˜ <button> tag๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.

code์˜ ๋Œ€๋ถ€๋ถ„์€ ์ž‘์„ฑ๋œ bootstrap code๋ฅผ ๊ฐ€์ ธ์˜จ ๊ฒƒ์ด๊ณ 

PHP๋ฅผ ๊ณ ๋ คํ•ด <input>์— name ์†์„ฑ๋งŒ ์ถ”๊ฐ€ํ–ˆ๋‹ค.


๋‹ค์Œ์œผ๋กœ PHP code๋ฅผ ์‚ดํŽด๋ณด๊ธฐ ์ „์—!

<form> tag์— ์ž‘์„ฑํ•œ ๋‚ด์šฉ์— ์˜ํ•ด

  • method = " post" -> input์— ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ $_POST๋กœ ๋“ค์–ด๊ฐ„๋‹ค.

  • action = "result.php" -> button์„ ๋ˆ„๋ฅด๋ฉด result.php๊ฐ€ ์‹คํ–‰๋œ๋‹ค.

์œ„์™€ ๊ฐ™์ด ๋™์ž‘ํ•œ๋‹ค๋Š” ๊ฑธ ์•Œ๊ณ  ๋„˜์–ด๊ฐ€์ž.

[result.php]

<?php
$user = trim($_POST['user']);
$password = trim($_POST['pass']);


if ($user == '' || $password == '') {
    echo 
    '<script>alert("Enter ID & Password");
        location.href = "login.html";
    </script>';
}

if($user == 'admin' && $password == 'admin1234') {
    echo 
    '<script>alert("Login Success!! You are admin.");
    location.href = "login.html";
    </script>';
} else {
    echo 
    '<script>alert("Login Fail!! You are not admin.");
    location.href = "login.html";
    </script>';
}
?>

์‚ฌ์šฉ์ž๊ฐ€ username & password๋ฅผ ์ž…๋ ฅํ•˜๊ณ  Enter(or SUBMIT button)๋ฅผ ๋ˆ„๋ฅด๋ฉด

์œ„์— ์ž‘์„ฑ๋œ result.php๊ฐ€ ๋™์ž‘ํ•˜๊ฒŒ ๋œ๋‹ค.

result.php์—์„œ๋Š”

(1) ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ username & password ๊ฐ’์„ ๊ฐ๊ฐ ์•ž ๋’ค ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•œ ํ›„ (trim())

๋ณ€์ˆ˜ user & password์— ํ• ๋‹นํ•œ๋‹ค.

(2) ๋งŒ์•ฝ ์‚ฌ์šฉ์ž๊ฐ€ username or password ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ž…๋ ฅํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด

"Enter ID & Password" ๋ฌธ๊ตฌ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ๋‹ค์‹œ login.html๋กœ ์ด๋™ํ•œ๋‹ค.

(3) ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’์ด ๊ณต๋ฐฑ์ด ์•„๋‹ ๊ฒฝ์šฐ,

user ๊ฐ’์ด "admin"์ด๊ณ  password ๊ฐ’์ด "admin1234"๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์ง€ ํ™•์ธํ•œ๋‹ค.

(4) ์กฐ๊ฑด์„ ๋งŒ์กฑํ•œ๋‹ค๋ฉด " Login Success!! You are admin." ๋ฌธ๊ตฌ๋ฅผ,

์‚ฌ์šฉ์ž๊ฐ€ username:password๋ฅผ ์ž…๋ ฅํ–ˆ์ง€๋งŒ ๊ทธ ๊ฐ’์ด admin:admin1234๊ฐ€ ์•„๋‹ ๊ฒฝ์šฐ์—๋Š”

"Login Fail!! You are not admin" ๋ฌธ๊ตฌ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

(์ž‘์„ฑ๋œ ์ฝ”๋“œ๋Š” ๋‹จ์ˆœํžˆ admin:admin1234๋ฅผ ๋งŒ์กฑํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋กœ๊ทธ์ธ์— ์„ฑ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ

๊ตฌํ˜„ํ•œ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ DB๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋Š” ์•Š์•˜๋‹ค.)


๋งˆ์ง€๋ง‰์œผ๋กœ ๋กœ๊ทธ์ธ์„ ์‹œ๋„ํ•ด ๊ฒฐ๊ณผ๊ฐ€ ์ž˜ ๋‚˜์˜ค๋Š” ์ง€ ํ™•์ธํ•ด๋ณด์ž!

login.html์— ์ ‘๊ทผํ•ด

username:password๋ฅผ ์ž…๋ ฅํ•ด์ค€๋‹ค.

username : admin
password : admin1234

๋งŒ์•ฝ ์‚ฌ์šฉ์ž๊ฐ€ ์ด์™€ ๊ฐ™์ด ๊ฐ’์„ ์ž…๋ ฅํ–ˆ๋‹ค๋ฉด

"Login Success" ๋ฌธ๊ตฌ๊ฐ€ Popup์œผ๋กœ ์ถœ๋ ฅ๋œ๋‹ค.

username : admin
password : ""

๋งŒ์•ฝ password(or username)์„ ๊ณต๋ฐฑ์œผ๋กœ ์ž…๋ ฅํ–ˆ๋‹ค๋ฉด (๋‘˜ ๋‹ค ๊ณต๋ฐฑ์ผ ๊ฒฝ์šฐ์—๋„)

"Enter ID & Password" ๋ฌธ๊ตฌ๊ฐ€ ์ถœ๋ ฅ ๋˜๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

username : admin
password : password

์‚ฌ์šฉ์ž๊ฐ€ username:password๋ฅผ ๋ชจ๋‘ ์ž…๋ ฅํ–ˆ์ง€๋งŒ admin:admin1234๊ฐ€ ์•„๋‹ ๊ฒฝ์šฐ์—๋Š”

"Login Fail" ๋ฌธ๊ตฌ๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•ด์„œ ๊ฐ„๋‹จํ•œ Login form์„ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค.

์ง€๊ธˆ์€ ํŠน์ • ๊ณ„์ • ๊ฐ’์„ ๋งŒ์กฑํ•˜๋ฉด ๋กœ๊ทธ์ธ์— ์„ฑ๊ณตํ•˜๋„๋ก ๊ตฌํ˜„ํ–ˆ์ง€๋งŒ ์ดํ›„์—๋Š” ์–ด๋–ป๊ฒŒ ์—…๊ทธ๋ ˆ์ด๋“œ ๋ ์ง€

๊ธฐ๋Œ€ ๋œ๋‹ค..!

Last updated