Hướng dẫn dùng session hash trong PHP

Hàm hash() sẽ mã hóa chuỗi truyền vào theo một thuật toán nhất định. Thuật toán mã hóa sẽ do người dùng cung cấp.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Cú pháp

Cú pháp: hash( $algo, $str ,$raw_output);

Trong đó:

  • $algo là thuật toán mã hóa.
  • $str là chuỗi cần mã hóa.
  • $raw_output là tham số, mặc định mang giá trị FALSE chuỗi trả về sẽ là chuỗi in thường thập phân. Nếu $raw_output mang giá trị TRUE chuỗi trả về sẽ là chuỗi theo kiểu nhị phân.

Kết quả trả về

Hàm sẽ trả về chuỗi được tính toán dưới dạng nhị phân nếu $raw_output mang giá trị TRUE, và trả về chuỗi được tính toán dưới dạng thập phân nếu $raw_output mang giá trị FALSE .

Bài viết này được đăng tại [free tuts .net]

Ví dụ

Mã hóa theo kiểu "ripemd160":

Code

echo hash('ripemd160', 'The quick brown fox jumped over the lazy dog.') . "<br />"; echo hash('ripemd160', 'The quick brown fox jumped over the lazy dog.', true);

Kết quả

5c6ffbdd40d9556b73a21e63c3e0e904 ec457d0a974c48d5685a7efa03d137dc8bbde7e3

Mã hóa theo kiểu "md5":

Code

echo hash('md5', 'The quick brown fox jumped over the lazy dog.') . "<br />"; echo md5("The quick brown fox jumped over the lazy dog.") . "<br />";

Kết quả

5c6ffbdd40d9556b73a21e63c3e0e904 5c6ffbdd40d9556b73a21e63c3e0e904

Tham khảo: php.net

Session là một cách để lưu trữ thông tin (trong các biến) được sử dụng trên nhiều trang.

Nội dung chính Show

  • Bắt đầu một session trong PHP
  • Đọc giá trị biến session trong PHP
  • Thay đổi giá trị biến session trong PHP
  • Xóa biến session trong PHP
  • Session hoạt động như thế nào? Làm sao để biết nó là tôi?

Không giống như một cookie, thông tin được lưu trữ trên server, chứ không được lưu trữ trên máy tính người dùng.

Nội dung chính

  • Session trong PHP là gì?
  • Bắt đầu một session trong PHP
  • Đọc giá trị biến session trong PHP
  • Thay đổi giá trị biến session trong PHP
  • Xóa biến session trong PHP
    • Session hoạt động như thế nào? Làm sao để biết nó là tôi?

Khi bạn làm việc với một ứng dụng, bạn mở nó, thực hiện một số thay đổi, và sau đó bạn đóng nó lại. Điều này giống như một phiên (session). Máy tính biết bạn là ai. Nó biết khi bạn bắt đầu ứng dụng và khi bạn kết thúc. Nhưng trên internet có một vấn đề: máy chủ web không biết bạn là ai hoặc bạn làm gì, vì địa chỉ HTTP không duy trì trạng thái.

Các biến session giải quyết vấn đề này bằng cách lưu trữ thông tin người dùng được sử dụng trên nhiều trang (ví dụ: tên người dùng, sở thích, v.v.). Theo mặc định, các biến session tồn tại cho đến khi người dùng đóng trình duyệt.

Vì thế; Biến phiên giữ thông tin về một người dùng duy nhất và có sẵn cho tất cả các trang trong một ứng dụng.


Bắt đầu một session trong PHP

Hàm session_start() được sử dụng để bắt đầu một session.

Biến session được đặt bằng biến toàn cục PHP: $_SESSION.

Bây giờ, hãy tạo một trang mới có tên là "session-trong-php-1.php". Trong trang này, chúng tôi bắt đầu một PHP session mới và thiết lập một số biến session:

File: "session-trong-php-1.php"

<?php // bắt đầu session session_start(); ?> <!DOCTYPE html> <html> <body> <?php // Tạo biến session $_SESSION["user_id"] = "TT123456"; $_SESSION["username"] = "david123"; echo "Các biến session đã được tạo."; ?> </body> </html>

Kết quả:

Các biến session đã được tạo.

Xem kết quả ở tab mới.

Chú ý: Hàm Cácsession_start() phải đặt TRƯỚC thẻ <html>.

Đọc giá trị biến session trong PHP

Tiếp theo, chúng ta tạo một trang khác gọi là "session-trong-php-2.php". Từ trang này, chúng ta sẽ truy cập thông tin session mà chúng ta đã tạo ra trên trang đầu tiên ("session-trong-php-1.php").

Lưu ý rằng các biến session không được chuyển riêng lẻ đến từng trang mới, thay vào đó chúng được truy cập từ session mà chúng ta khai báo ở đầu mỗi trang (session_start()) và các giá trị biến session được lưu trữ trong biến toàn cầu $_SESSION:

File: "session-trong-php-2.php"

<?php // bắt đầu session session_start(); ?> <!DOCTYPE html> <html> <body> <?php // hiển thị các biến session được tạo ở ví dụ trước echo "user_id là: " . $_SESSION["user_id"] . "<br>"; echo "username là: " . $_SESSION["username"]; ?> </body> </html>

Kết quả:

user_id là: TT123456 username là: david123

Xem kết quả ở tab mới.

Để in tất cả các biến session, sử dụng lệnh sau:

<?php print_r($_SESSION); ?>

Thay đổi giá trị biến session trong PHP

Để thay đổi biến session, chỉ ghi đè lên biến đó:

File: "session-trong-php-3.php"

<?php // bắt đầu session session_start(); ?> <!DOCTYPE html> <html> <body> <?php // thay đổi biến session được tạo ở ví dụ trước $_SESSION["username"] = "viettuts.vn"; print_r($_SESSION); ?> </body> </html>

Kết quả:

Array ( [user_id] => TT123456 [username] => viettuts.vn )

Xem kết quả ở tab mới.

Xóa biến session trong PHP

Để xóa tất cả các biến session toàn cầu hãy sử dụng session_unset() và session_destroy():

File: "session-trong-php-4.php"

<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php // xóa tất cả các biến session session_unset(); session_destroy(); print_r($_SESSION); ?> </body> </html>

Kết quả:

Xem kết quả ở tab mới.

Session hoạt động như thế nào? Làm sao để biết nó là tôi?

Hầu hết các session đều thiết lập một user-key trên máy tính của người dùng giống như sau: 765487cf34ert8dede5a562e4f3a7e12. Sau đó, khi một phiên được mở trên một trang khác, nó sẽ quét máy tính cho một user-key. Nếu phù hợp, nó sẽ truy cập vào phiên đó, nếu không, nó sẽ bắt đầu một phiên mới.

Chủ đề