Làm cách nào để sử dụng cookie trong PHP cho biểu mẫu đăng nhập?

Cookie thường được sử dụng để xác định người dùng. Cookie là một tệp nhỏ mà máy chủ nhúng vào máy tính của người dùng. Mỗi khi cùng một máy tính yêu cầu một trang có trình duyệt, nó cũng sẽ gửi cookie. Với PHP, bạn có thể tạo và truy xuất các giá trị cookie

Tạo Cookie Với PHP

Cookie được tạo bằng hàm

if[$validLoginCredentials]{
    $_SESSION['user_id'] = $id;
    $_SESSION['user_login'] = $login;
    $_SESSION['user_name'] = $name;
}
4

cú pháp

setcookie[tên, giá trị, hết hạn, đường dẫn, tên miền, bảo mật, chỉ http];

Chỉ có tham số tên là bắt buộc. Tất cả các tham số khác là tùy chọn

PHP Tạo/Truy xuất Cookie

Ví dụ sau tạo một tập lệnh nhỏ để kiểm tra xem cookie có được bật hay không. Đầu tiên, bạn thử tạo một cookie thử nghiệm với hàm

if[$validLoginCredentials]{
    $_SESSION['user_id'] = $id;
    $_SESSION['user_login'] = $login;
    $_SESSION['user_name'] = $name;
}
4, sau đó đếm biến mảng $_COOKIE

Làm cho nó đơn giản, các phiên là duy nhất và tồn tại miễn là trang được mở [hoặc cho đến khi hết thời gian chờ]. Nếu trình duyệt của bạn bị đóng, điều tương tự cũng xảy ra với phiên

Làm thế nào để sử dụng nó?

Chúng khá đơn giản để thực hiện. Trước tiên, hãy đảm bảo rằng bạn bắt đầu các phiên ở đầu mỗi trang


Ghi chú. Điều quan trọng là lệnh gọi này phải xuất hiện trước bất kỳ đầu ra trang nào, nếu không nó sẽ dẫn đến lỗi "tiêu đề đã được gửi"

Được rồi, bây giờ phiên của bạn đã sẵn sàng và đang chạy. Phải làm gì tiếp theo? . người dùng gửi thông tin đăng nhập/mật khẩu thông qua biểu mẫu đăng nhập và bạn xác thực nó. Nếu thông tin đăng nhập hợp lệ, hãy lưu nó vào phiên

if[$validLoginCredentials]{
    $_SESSION['user_id'] = $id;
    $_SESSION['user_login'] = $login;
    $_SESSION['user_name'] = $name;
}

hoặc dưới dạng một mảng [mà tôi thích hơn]

if[$validLoginCredentials]{
    $_SESSION['user'] = array[
        'name' => $name,
        'login' => 'login',
        'whichever_more' => $informationYouNeedToStore
    ];
}

Ok, bây giờ người dùng của bạn đã đăng nhập. Vậy làm thế nào bạn có thể biết/kiểm tra điều đó?

if[isset[$_SESSION['user_id']]]{ // OR isset[$_SESSION['user']], if array
// Logged In
}else{
// Not logged in :[
}

Tất nhiên, bạn có thể đi xa hơn và bên cạnh việc kiểm tra xem phiên có tồn tại hay không, hãy tìm kiếm ID người dùng được lưu trữ trong cơ sở dữ liệu để xác thực người dùng. Tất cả phụ thuộc vào mức độ bảo mật bạn cần

Trong ứng dụng đơn giản nhất, sẽ không bao giờ tồn tại $_SESSION['user'] trừ khi bạn đặt thủ công trong hành động đăng nhập. Vì vậy, chỉ cần kiểm tra sự tồn tại của nó cho bạn biết người dùng đã đăng nhập hay chưa

Thoát ra. chỉ cần phá hủy nó. Bạn đã có thể sử dụng

session_destroy[];

Nhưng hãy nhớ rằng điều này sẽ hủy tất cả các phiên bạn đã thiết lập cho người dùng đó. Nếu bạn cũng đã sử dụng $_SESSION['foo'] và $_SESSION['bar'], những thứ đó cũng sẽ biến mất. Trong trường hợp này, chỉ cần bỏ đặt phiên cụ thể

unset[$_SESSION['user']];

Và thực hiện. Người dùng không đăng nhập nữa. . ]

Vâng, đó là nó. Để nhắc bạn một lần nữa, đây là những ví dụ về phương thức đăng nhập rất đơn giản. Bạn sẽ cần nghiên cứu thêm một chút và cải thiện mã của mình bằng một số lớp kiểm tra bảo mật khác tùy thuộc vào yêu cầu bảo mật của ứng dụng của bạn

Cookie là một tệp nhỏ được lưu trữ trên máy khách. Cookie phụ thuộc vào phía máy khách, không phải phía máy chủ. Nói một cách đơn giản, một tệp nhỏ được lưu trữ trên máy khách thông qua máy chủ. Cookie không được lưu trữ trên máy chủ. Nói cách khác, nếu bạn đăng nhập sau 5 ngày, bạn không cần phải điền bất kỳ id và mật khẩu nào. Người dùng đã đăng nhập mà không cần nhập tên người dùng và mật khẩu. Chúng tôi có thể đặt thời gian hết hạn cookie từ 1 tháng trở lên. Nếu chúng ta đặt 1 tháng. Sau 1 tháng bạn không thể truy cập cookie. Vì vậy, tất cả được thực hiện thông qua cookie. Trong hướng dẫn trước, chúng ta đã thảo luận về cookie trong php. Ở đây, chúng tôi tạo một hệ thống đăng nhập hoàn chỉnh bằng cơ sở dữ liệu PHP và MySQL

Tạo bảng cơ sở dữ liệu MYSQL bằng truy vấn

Chúng tôi phải tạo cơ sở dữ liệu MySQL cho hệ thống đăng nhập bằng cookie. Trong cơ sở dữ liệu MySQL, chúng tôi tạo bảng, qua đó chúng tôi tạo hệ thống đăng nhập bằng cơ sở dữ liệu PHP và MySQL. Hãy tạo một bảng bằng truy vấn


CREATE TABLE  `users` [

 `id` INT[ 50 ] NOT NULL ,
 `uname` VARCHAR[ 40 ] NOT NULL ,
 `upassword` VARCHAR[ 40 ] NOT NULL
] ENGINE = INNODB DEFAULT CHARSET = latin1;

Chèn dữ liệu vào bảng cơ sở dữ liệu để đăng nhập bằng cookie bằng PHP

Chèn dữ liệu vào bảng. Chúng tôi có thể sử dụng mẫu đăng ký hoặc truy vấn chèn MYSQL. Khi bạn tạo một biểu mẫu đăng nhập, bạn phải tìm nạp dữ liệu. Trừ khi bạn có dữ liệu trong cơ sở dữ liệu, bạn sẽ không thể tạo hệ thống đăng nhập bằng cookie. Bạn có thể sử dụng mẫu đăng ký để chèn dữ liệu hoặc bạn có thể thực hiện truy vấn chèn để chèn dữ liệu vào bảng cơ sở dữ liệu MYSQL. Hãy chèn dữ liệu vào bảng cơ sở dữ liệu bằng truy vấn MYSQL

INSERT INTO `users` [`id`, `uname`, `upassword`] VALUES [1, 'admin', 'admin@123'];

Tạo tệp kết nối

Tệp cấu hình xử lý kết nối giữa biểu mẫu PHP và cơ sở dữ liệu MYSQL. Bây giờ, hãy tạo một tệp và lưu với tên và phần mở rộng "config. php"

________số 8

Trong tệp cấu hình ở trên, chúng tôi đã sử dụng chức năng mysqli_connect[] cho một kết nối mới. Chúng tôi đã chuyển những thông tin này dưới dạng tham số và được lưu trữ trong một biến $mysqli. Bạn có thể thay đổi máy chủ cơ sở dữ liệu, tên cơ sở dữ liệu, tên người dùng cơ sở dữ liệu và mật khẩu cơ sở dữ liệu theo nhu cầu của bạn

Tạo form đăng nhập HTML kèm theo code PHP

Bây giờ, chúng tôi tạo một biểu mẫu HTML. Người dùng điền tên người dùng, mật khẩu và nhấp vào nút đăng nhập. Đây là trang bắt đầu đăng nhập bằng cookie. Trong biểu mẫu HTML này, chúng tôi tạo hai hộp nhập và nút gửi. Hộp nhập đầu tiên cho tên người dùng và hộp nhập thứ hai cho mật khẩu. Ở đây, chúng ta sử dụng điều kiện if. Nếu tên người dùng hoặc mật khẩu không tồn tại thì hiển thị thông báo Tên người dùng hoặc mật khẩu không hợp lệ

đăng nhập. php


 
Login 

Username:

Password:

keep me login:

Tạo tập lệnh PHP cho hệ thống đăng nhập bằng cookie

Bây giờ, chúng ta tạo tập lệnh PHP để xử lý biểu mẫu. Mã PHP chứa dữ liệu biểu mẫu và truy vấn MYSQL. quá trình đăng nhập. tệp php xử lý một phần của quá trình đăng nhập và kết nối cơ sở dữ liệu.
1. Bao gồm tập tin cấu hình ở đầu trang. Chúng ta có thể sử dụng hàm PHP include[] và hàm PHP require[] để bao gồm và yêu cầu tệp cấu hình.
2. Sử dụng điều kiện if và đặt giá trị biểu mẫu trên nút.

3. Chọn truy vấn để khớp tên người dùng và mật khẩu từ cơ sở dữ liệu nếu tên người dùng và mật khẩu không khớp thì quay lại trang đăng nhập và nếu tên người dùng và mật khẩu khớp thì truy cập các trang trong khoảng thời gian

4. Đặt cookie trong 60 giây. Sau 60 giây, người dùng sẽ đăng xuất. Trong hướng dẫn trước, chúng ta đã thảo luận hoàn toàn về cookie PHP

5. Sử dụng hàm header[] sau khi đăng nhập thành công hay không. Nếu đăng nhập thành công thì chuyển hướng đến trang chỉ mục. Nếu đăng nhập không thành công thì chuyển hướng đến cùng một trang đăng nhập

6. Bạn không cần phải bắt đầu cookie trong mỗi trang như phiên

quy trình đăng nhập. php


Tạo trang chính sau khi đăng nhập thành công

Bây giờ, chúng tôi tạo Trang chủ [chỉ mục. trang html]. Trên trang chủ, chúng tôi kiểm tra xem cookie chưa được đặt. Nếu cookie không được đặt thì bạn không thể truy cập trang và chuyển hướng đến trang đăng nhập. và nếu cookie được đặt thì bạn có thể truy cập bất kỳ loại trang nào của trang web

mục lục. html

if[$validLoginCredentials]{
    $_SESSION['user_id'] = $id;
    $_SESSION['user_login'] = $login;
    $_SESSION['user_name'] = $name;
}
1

Tạo một trang khác 1 để truy cập cookie

Một trang web chứa rất nhiều trang. Ở đây, bạn tìm ví dụ về các trang khác. Bạn có thể tạo một trang khác của trang web như thế này. Tạo các trang khác

Chúng tôi tạo trang 1, trang 2 và trang 3 để truy cập cookie. Trong các trang này [trang 1, trang 2 và trang 3], chúng tôi đưa vào một điều kiện. Nếu cookie không được đặt thì hãy chuyển hướng đến trang đăng nhập [đăng nhập. php] và nếu cookie được đặt thì hãy ở trên cùng một trang

Hãy tạo các trang khác

Trang1. php

if[$validLoginCredentials]{
    $_SESSION['user_id'] = $id;
    $_SESSION['user_login'] = $login;
    $_SESSION['user_name'] = $name;
}
2

TRANG 1

TRANG 2

TRANG 3

Đăng xuất

Tạo trang 3 khác để truy cập cookie

Tạo một trang 3 khác và truy cập cookie. Nếu cookie không được đặt hoặc xóa, chuyển hướng đến trang đăng nhập nếu không thì ở lại trang.

Trang3. php

if[$validLoginCredentials]{
    $_SESSION['user_id'] = $id;
    $_SESSION['user_login'] = $login;
    $_SESSION['user_name'] = $name;
}
3

TRANG 1

TRANG 2

TRANG 3

Đăng xuất

Đăng xuất. xóa cookie

Đăng xuất là một quá trình xóa cookie. Sau khi xóa cookie, người dùng không xác định không thể truy cập trang. Bạn có thể sử dụng chức năng setcookie[] và thời gian hết hạn. Điều này được gọi là cookie bị hủy. Xóa cookie bằng hàm secookie[].

Làm cách nào để đặt cookie ở dạng đăng nhập trong PHP?

Đăng nhập hệ thống bằng cookie sử dụng cơ sở dữ liệu PHP và MYSQL .
bánh quy là gì?.
Tạo bảng cơ sở dữ liệu MYSQL bằng truy vấn. .
Chèn dữ liệu vào bảng cơ sở dữ liệu để đăng nhập bằng cookie bằng PHP. .
Tạo tệp kết nối. .
Tạo form đăng nhập HTML kèm theo code PHP. .
Tạo tập lệnh PHP cho hệ thống đăng nhập bằng cookie

$_ cookie nghĩa là gì trong PHP?

Giới thiệu. $_COOKIE siêu toàn cầu lưu trữ các biến được chuyển đến tập lệnh hiện tại cùng với yêu cầu HTTP ở dạng cookie .

Làm thế nào cookie được sử dụng trong PHP với ví dụ?

Cookie thường được sử dụng để xác định người dùng. Cookie là một tệp nhỏ mà máy chủ nhúng vào máy tính của người dùng. Mỗi khi cùng một máy tính yêu cầu một trang có trình duyệt, nó cũng sẽ gửi cookie. Với PHP, bạn có thể tạo và truy xuất các giá trị cookie .

Chúng tôi có thể truy cập cookie trong PHP không?

Cookie có thể được truy cập theo nhiều cách khác nhau trong PHP . Phương pháp đơn giản nhất là sử dụng các biến $_COOKIE hoặc $HTTP COOKIE VARS. Nó thường là một mảng kết hợp được khóa bởi tên cookie và bao gồm danh sách tất cả các giá trị cookie được gửi bởi trình duyệt trong yêu cầu hiện tại.

Chủ Đề