Tôi đang cố gắng tạo một hệ thống đăng nhập bằng HTML và PHP với yêu cầu không sử dụng cơ sở dữ liệu để xác thực/lưu trữ tên người dùng và mật khẩu. Tôi đã tìm thấy một đoạn mã hay trên mạng mà tôi thích về giao diện - nó đáp ứng các yêu cầu và hoạt động hoàn hảo, vì vậy tôi đã cố gắng áp dụng các yếu tố mà nó đã sử dụng trong mã của riêng tôi. Tuy nhiên, phiên bản của tôi không đưa ra bất kỳ dấu hiệu nào đang hoạt động
Đoạn mã gốc tôi tìm thấy có thể được nhìn thấy tại liên kết này tại đây. https. //www. w3schools. trong/php/ví dụ/php-đăng nhập mà không sử dụng cơ sở dữ liệu
Hình ảnh trên là của chương trình mà tôi đang cố gắng lấy các thành phần từ đó - chủ yếu là lời nhắc "chi tiết đăng nhập không hợp lệ" xuất hiện ở đầu trang khi nhấn đăng nhập và tên người dùng và mật khẩu không chính xác được cung cấp. Mã cho điều này có thể được nhìn thấy ở đây
'123456','username1' => 'password1','username2' => 'password2'];
/* Check and assign submitted Username and Password to new variable */
$Username = isset[$_POST['Username']] ? $_POST['Username'] : '';
$Password = isset[$_POST['Password']] ? $_POST['Password'] : '';
/* Check Username and Password existence in defined array */
if [isset[$logins[$Username]] && $logins[$Username] == $Password]{
/* Success: Set session variables and redirect to Protected page */
$_SESSION['UserData']['Username']=$logins[$Username];
header["location:index.php"];
exit;
} else {
/*Unsuccessful attempt: Set error message */
$msg="Invalid Login Details";
}
}
?>
Mã khá dễ hiểu nhưng tôi rất mới sử dụng PHP. Phần còn lại của tệp dựa trên HTML, tạo các hộp nhập liệu và nút bên trong bảng, mã của chúng có thể xem tại đây
PHP Login Script Without Using Database
PHP Login Script Without Using Database Demo.
More tutorials www.w3schools.in
Login
Username
Password
Sau khi người dùng nhập một trong 3 tên người dùng và mật khẩu được xác định trước, họ sẽ được đưa đến trang web có tên "index. php" chỉ đơn giản là xác nhận rằng bạn đã vượt qua xác minh vì bạn chỉ có thể truy cập nó bằng thông tin đăng nhập chính xác - mã xác minh ở đây
Congratulation! You have logged into password protected page. Click here to Logout.
Mã của tôi hơi khác một chút; . Tuy nhiên, tôi nghĩ rằng đây có thể là vấn đề tại sao tôi không thể xác minh tên người dùng và mật khẩu
Phiên bản mã của tôi có thể được nhìn thấy bên dưới
'123456', 'username1' => 'password1', 'username2' => 'password2'];
/* Check and assign submitted Username and Password to new variable */
$Username = isset[$_POST['Username']] ? $_POST['Username'] : '';
$Password = isset[$_POST['Password']] ? $_POST['Password'] : '';
/* Check Username and Password existence in defined array */
if [isset[$logins[$Username]] && $logins[$Username] == $Password] {
/* Success: Set session variables and redirect to Protected page */
$_SESSION['UserData']['Username'] = $logins[$Username];
header["location:index.php"];
exit;
} else {
/*Unsuccessful attempt: Set error message */
$msg = "Invalid Login Details";
}
}
?>
U33 DATABASING
U33
Important Links
CV
Literary Database
Submit an Article
CV
Literary
Database
Submit an Article
Literary Database Login
Tôi không chắc có gì sai ở đây cả; . Ngoài ra, bất kể những gì được nhập vào hai hộp văn bản, văn bản "chi tiết đăng nhập không hợp lệ" không xuất hiện trong cái mà tôi đã tạo - là một bảng trong biểu mẫu
Một hình ảnh của sản phẩm của tôi có thể được nhìn thấy ở đây
Như bạn có thể thấy, có một hộp viền màu xám phía trên trường tên người dùng - hộp này trống và sẽ vẫn như vậy cho đến khi người dùng nhập sai tên người dùng/mật khẩu. Khi điều này xảy ra, văn bản màu đỏ sẽ xuất hiện bên trong hộp - điều mà tôi nghĩ rằng tôi đã thực hiện khi gọi hàm $msg trong câu lệnh khác của PHP ở đầu tệp, nhưng điều đó dường như không hoạt động
Ngoài ra, khi nhập thông tin chính xác vào trường tên người dùng và mật khẩu, tôi không được đưa vào mục lục. tập tin php. Để đảm bảo, đây là hình ảnh của chỉ mục. trang php khi tên người dùng và mật khẩu chính xác
Có lẽ đây là một vấn đề của phạm vi biến?