Tôi hiện đang làm việc trên trang web có đăng nhập (tên người dùng và mật khẩu) - Bảo vệ bằng mật khẩu được thực hiện bởi hệ điều hành trong máy chủ web ở cấp thư mục được gọi là Vương quốc trong hệ điều hành. Bây giờ điều này sẽ phải làm, cho đến khi chúng ta tìm ra một hệ thống đăng nhập PHP thích hợp.PHP Session Destroy on Log Out Button
Đoạn code dưới đây, dựa trên một previous question on the stack overflow.
Tôi đang sử dụng 3 tác phẩm (Xem đoạn mã ở phía dưới).
Quy trình là: - Nhấp vào nút Đăng nhập trên index.php - Nhập tên người dùng và mật khẩu để truy cập tệp chỉ mục xác thực. - Nhấp vào nút đăng xuất, tham chiếu đến tệp logout.php - nó NÊN xóa bộ nhớ cache và đưa người dùng trở lại chỉ mục cấp cao nhất.
Nó không 'phá hủy phiên' theo nghĩa là bạn không được yêu cầu nhập lại mật khẩu khi được nhắc đến, về cơ bản những gì tôi muốn xảy ra.
Kiến thức tối thiểu về php của tôi khiến tôi hơi bối rối ở đây.
index.php (tập tin cấp cao nhất với bản ghi trong nút)
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Test</title>
</head>
<body>
<a href="authenticate/index.php">Log In Btn</a>
</body>
</html>
xác thực/index.php (Thư mục này được mật khẩu bảo vệ - chứa các tập tin chỉ mục với các bản ghi ra nút đó liên kết đến tập tin logout.php)
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Log out</title>
</head>
<body>
<a href="logout.php">Log Out Btn</a>
</body>
</html>
xác thực/logout.php
<?php
session_start(); //to ensure you are using same session
session_destroy(); //destroy the session
header("location:/index.php"); //to redirect back to "index.php" after logging out
exit();
?>
Nếu thư mục được bảo vệ mật khẩu, sau đó PHP được không làm xác thực. Apache (hoặc máy chủ web) là. – xbonez
Điều đó có ý nghĩa, cảm ơn rất nhiều @xbonez – fitzilla