PHP - Ví dụ về đăng nhập

Đăng nhập với session trong PHP

Script đăng nhập trong PHP được sử dụng để cung cấp trình xác nhận cho các Webpage của chúng ta. Script này thực thi sau khi đệ trình nút Login từ người dùng.

Login Page trong PHP

Login Page nên làm việc dựa trên session. Nếu người sử dụng đóng session, nó sẽ xóa session data đó.

<?php
   ob_start();
   session_start();
?>


<?
   // error_reporting(E_ALL);
   // ini_set("display_errors", 1);
?>


<html lang="vi">


   <head>
      <title>Vietjack.com</title>
      <link href="css/bootstrap.min.css" rel="stylesheet">


      <style>
         body {
            padding-top: 40px;
            padding-bottom: 40px;
            background-color: #ADABAB;
         }


         .form-signin {
            max-width: 330px;
            padding: 15px;
            margin: 0 auto;
            color: #017572;
         }


         .form-signin .form-signin-heading,
         .form-signin .checkbox {
            margin-bottom: 10px;
         }


         .form-signin .checkbox {
            font-weight: normal;
         }


         .form-signin .form-control {
            position: relative;
            height: auto;
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
            padding: 10px;
            font-size: 16px;
         }


         .form-signin .form-control:focus {
            z-index: 2;
         }


         .form-signin input[type="email"] {
            margin-bottom: -1px;
            border-bottom-right-radius: 0;
            border-bottom-left-radius: 0;
            border-color:#017572;
         }


         .form-signin input[type="password"] {
            margin-bottom: 10px;
            border-top-left-radius: 0;
            border-top-right-radius: 0;
            border-color:#017572;
         }


         h2{
            text-align: center;
            color: #017572;
         }
      </style>


   </head>


   <body>


      <h2>Nhập tên người dùng và mật khẩu</h2> 
      <div class="container form-signin">


         <?php
            $msg = '';


            if (isset($_POST['login']) && !empty($_POST['username']) && !empty($_POST['password'])) {


               if ($_POST['username'] == 'hoctv' && $_POST['password'] == '1234') {
                  $_SESSION['valid'] = true;
                  $_SESSION['timeout'] = time();
                  $_SESSION['username'] = 'hoctv';


                  echo 'Bạn đã nhập tên người dùng và mật khẩu hợp lệ';
               }
               else 
               {
                  $msg = 'Tên người dùng và mật khẩu sai';
               }
            }
         ?>
      </div> <!-- /container -->


      <div class="container">


         <form class="form-signin" role="form" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
            <h4 class="form-signin-heading"><?php echo $msg; ?></h4>
            <input type="text" class="form-control" name="username" placeholder="username = hoctv" required autofocus></br>
            <input type="password" class="form-control" name="password" placeholder="password = 1234" required>
            <button class="btn btn-lg btn-primary btn-block" type="submit" name="login">Login</button>
         </form>


         Click chuột vào đây để xóa <a href="logout.php" tite="Logout">Session.


      </div> 


   </body>
</html>

Logout.php

File này sẽ xóa session data.

<?php
   session_start();
   unset($_SESSION["username"]);
   unset($_SESSION["password"]);


   echo 'Bạn đã xóa session';
   header('Refresh: 2; URL=login.php');
?>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

Bình luận