Khi đăng nhập vào 1 trang web chỉ cần đăng nhập 1 lần và sau 1 khoảng thời gian nhất định không cần phải đăng nhập lại mặc dù trang web đã tắt, đó chính là 1 ứng dụng của phiên. Nhưng chỉ là tắt 1 tab, nếu tắt trình duyệt thì phiên làm việc sẽ mất Phiên giúp lưu trữ thông tin về người dùng, các giá trị trong khoảng thời gian tương tác với trang web. Phiên là phiên làm việc, là 1 khoảng thời gian tương tác giữa người sử dụng và trang web. Phiên được tạo bởi trang web (PHP) và được lưu trong 1 tệp trên máy chủ, thời gian tồn tại của mã phiên quy định Thao tác với sessionUse sessionTrên mỗi trang <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>0 gọi hàm <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>1 ở đầu tệp php. Khai báo 1 biến
Hủy 1 buổiHủy 1 phiên với khóa đã biết Ví dụ với khóa <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>0, gọi hàm <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>3 để hủy phiên với khóa tên người dùng Kiểm tra phiên tồn tạiKiểm tra phiên tồn tại với khóa cho trước Ví dụ <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>5 Hàm này sẽ trả lại cho Nhận giá trị của phiênGet the value of the session for before Ví dụ với khóa <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>0, truyền đúng từ khóa <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>0 vào phiên "mảng" <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>00 Thử nghiệmTạo biểu mẫu đăng nhập trong trang signin_page. php <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>1 Tạo trang xử lý đăng nhập doSignin. php <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?> Nếu <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>01 chưa tồn tại thì trang web sẽ xử lý việc đăng nhập <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>02 còn nếu đã tồn tại thì được phép vào trang <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>03. Sau khi gửi biểu mẫu đăng nhập, dữ liệu <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>0 và <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>05 sẽ được truyền tới trang <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>06. Giả sử <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>0 và <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>05 đúng với dữ liệu trong cơ sở dữ liệu thì web sẽ cho phép đăng nhập và tạo phiên có tên <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>09 và gửi về trình duyệt web. Chú thích. <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>20 là 1 hàm hỗ trợ dữ liệu cache, có nhiệm vụ lưu trữ dữ liệu và truyền dữ liệu sang trang khác đồng thời chuyển hướng đến trang đó bằng dòng mã sau <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>21 Bánh quyKhái niệm
Cách khởi tạo cookie<?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>0 in which
Để hủy 1 cookie cũng sử dụng lại dòng mã trên nhưng được đặt thời gian là time()-7200 <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>2 Thử nghiệmTạo 1 biểu mẫu đăng nhập <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>26 <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>1 Trong trường hợp này tại phần xử lý Tiếp đến tạo 1 trang <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>06 <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>7 Tạo trang <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>12 kiểm tra đăng nhập trước khi hiển thị thông tin bằng đoạn mã sau <?php session_start(); ob_start(); // TODO: CHECK SIGNED IN if (isset($_SESSION['statusLogin']) && $_SESSION['statusLogin'] == 'YES') { header("location:user_info.php"); } // TODO: SIGN IN isSignedin = DoSignIn($_POST['username'], $_POST['password']); if (isSignedin == TRUE) { $_SESSION['statusLogin'] = 'YES'; } ?>9 Ở thời gian tồn tại của cookie là 1 tuần, mỗi lần truy cập vào trang web, cookie sẽ được gửi lên máy chủ và đăng nhập vào hệ thống bằng cookie chính này |