Trong hướng dẫn này, chúng ta hãy tạo tập lệnh đăng nhập bằng phiên trong PHP. Nó có một ví dụ đơn giản về việc triển khai xác thực người dùng. Ví dụ này sử dụng biểu mẫu đăng nhập tiêu chuẩn để lấy chi tiết đăng nhập của người dùng. Và nó duy trì trạng thái đăng nhập với các phiên PHP
Đăng nhập sẽ là bước đầu tiên của nhiều ứng dụng. Đôi khi, một phần chức năng đặc quyền của ứng dụng sẽ yêu cầu người dùng đăng nhập
Vì vậy, tập lệnh đăng nhập là một phần không thể thiếu của ứng dụng. Tôi sẽ trình bày với bạn việc triển khai hệ thống đăng nhập với mã tối thiểu
Xác thực sẽ giúp chúng tôi xác định người dùng chính hãng. Bằng cách bật xác thực, chúng tôi có thể bảo vệ trang web của mình khỏi truy cập ẩn danh
Bên trong là gì?
Có nhiều cách khác nhau để thực hiện một hệ thống xác thực. Cách phổ biến nhất là lấy tên người dùng và mật khẩu thông qua biểu mẫu đăng nhập và xác thực dựa trên chúng
Logout
Thành viên. php
Đây là lớp PHP được tạo trong ví dụ này để xử lý quá trình đăng nhập. Phương thức getMemberById yêu cầu DataSource để tìm nạp kết quả thành viên
ds = new DataSource[];
}
function getMemberById[$memberId]
{
$query = "select * FROM registered_users WHERE id = ?";
$paramType = "i";
$paramArray = array[
$memberId
];
$memberResult = $this->ds->select[$query, $paramType, $paramArray];
return $memberResult;
}
public function processLogin[$username, $password]
{
$passwordHash = md5[$password];
$query = "select * FROM registered_users WHERE user_name = ? AND password = ?";
$paramType = "ss";
$paramArray = array[
$username,
$passwordHash
];
$memberResult = $this->ds->select[$query, $paramType, $paramArray];
if [! empty[$memberResult]] {
$_SESSION["userId"] = $memberResult[0]["id"];
return true;
}
}
}
?>
Chuyển hướng người dùng đăng nhập hoặc Trang tổng quan dựa trên Phiên
Chỉ mục trang đích. php chứa mã để kiểm tra các phiên đăng nhập và định tuyến người dùng phù hợp. Đoạn mã sau cho biết cách chuyển hướng người dùng dựa trên phiên
Xử lý đăng xuất trong PHP
Bằng cách nhấp vào liên kết đăng xuất từ bảng điều khiển, nó gọi tập lệnh PHP này. Tập lệnh này xóa phiên đăng nhập hiện tại và chuyển hướng người dùng quay lại thông tin đăng nhập. Mã đăng xuất là,
Nguồn dữ liệu. php
Lớp này thiết lập một đối tượng kết nối để truy cập cơ sở dữ liệu dựa trên yêu cầu. Nó có chức năng chọn để chuẩn bị truy vấn tìm nạp để trả về kết quả. Lớp này có sẵn trong zip tải xuống dự án được liên kết ở cuối hướng dẫn này
Tập lệnh cơ sở dữ liệu
Tập lệnh này chứa câu lệnh CREATE cho bảng registered_users. Ngoài ra, nó có kết xuất dữ liệu để kiểm tra ví dụ với chi tiết đăng nhập thử nghiệm
________số 8Kiểm tra chi tiết đăng nhập
Sau khi đặt mã mẫu và cơ sở dữ liệu này trong máy tính của bạn, hãy sử dụng dữ liệu thử nghiệm sau để kiểm tra hệ thống đăng nhập mẫu
Username: kate_91
body {
font-family: Arial;
color: #333;
font-size: 0.95em;
}
.form-head {
color: #191919;
font-weight: normal;
font-weight: 400;
margin: 0;
text-align: center;
font-size: 1.8em;
}
.error-message {
padding: 7px 10px;
background: #fff1f2;
border: #ffd5da 1px solid;
color: #d6001c;
border-radius: 4px;
margin: 30px 10px 10px 10px;
}
.demo-table {
background: #ffffff;
border-spacing: initial;
margin: 15px auto;
word-break: break-word;
table-layout: auto;
line-height: 1.8em;
color: #333;
border-radius: 4px;
padding: 30px;
width: 380px;
border: 1px solid;
border-color: #e5e6e9 #dfe0e4 #d0d1d5;
}
.demo-table .label {
color: #888888;
}
.demo-table .field-column {
padding: 15px 10px;
}
.demo-input-box {
padding: 13px;
border: #CCC 1px solid;
border-radius: 4px;
width: 100%;
}
.btnLogin {
padding: 13px;
background-color: #5d9cec;
color: #f5f7fa;
cursor: pointer;
border-radius: 4px;
width: 100%;
border: #5791da 1px solid;
font-size: 1.1em;
}
.response-text {
max-width: 380px;
font-size: 1.5em;
text-align: center;
background: #fff3de;
padding: 42px;
border-radius: 3px;
border: #f5e9d4 1px solid;
font-family: arial;
line-height: 34px;
margin: 15px auto;
}
.terms {
margin-bottom: 5px;
}
.dashboard {
background: #d2edd5;
text-align: center;
margin: 15px auto;
line-height: 1.8em;
color: #333;
border-radius: 4px;
padding: 30px;
max-width: 400px;
border: #c8e0cb 1px solid;
}
.error-info {
color: #FF0000;
margin-left: 10px;
}
a.logout-button {
color: #09f;
}
0Tập lệnh đăng nhập PHP với đầu ra phiên
Ảnh chụp màn hình đầu ra này hiển thị giao diện biểu mẫu đăng nhập. Nó có các trường đầu vào để lấy chi tiết đăng nhập của người dùng
Đây là ảnh chụp màn hình của tin nhắn chào mừng. Sau khi đăng nhập, người dùng sẽ thấy phản hồi này trong trình duyệt
Chế độ xem này sẽ hiển thị thông báo chào mừng bằng cách giải quyết người dùng đã đăng nhập. Nó cũng có một liên kết để đăng xuất như hình dưới đây