Php nhận giá trị phiên từ một trang khác

Phiên làm việc PHP giúp lưu trữ thông tin người dùng ở phía máy khách, có thể được truy cập trên nhiều trang

Mục lục

Phiên trong PHP là gì?

Khi người dùng lướt trên internet, máy chủ web không biết người dùng là ai và anh ta làm gì. Vì vậy, các biến phiên được sử dụng để xác định người dùng bằng cách lưu trữ thông tin của người dùng sẽ được sử dụng trên nhiều trang

Tuy nhiên, các biến Phiên sẽ tự động mất dữ liệu sau khi người dùng đóng trình duyệt. Ngoài ra, các biến Phiên giữ thông tin về người dùng đang hoạt động hiện tại, đây là thông tin điển hình cho tất cả các trang

Trong PHP, chúng ta có thể truy cập và sửa đổi các phiên thông qua biến $_SESSION

đọc thêm. Phiên Vs Cookies trong PHP

$_SESSION trong PHP là gì?

$_SESSION là một hằng số toàn cầu trong PHP. Chúng tôi có thể đặt và truy cập dữ liệu phiên thông qua biến $_SESSION. Trong PHP $_SESSION hoàn toàn phân biệt chữ hoa chữ thường, chúng ta không thể sử dụng $_session hoặc $_Session. Trước khi thiết lập một phiên, chúng ta phải bắt đầu một phiên

Làm cách nào để bắt đầu phiên PHP?

hàm session_start[] được sử dụng để bắt đầu phiên làm việc trong PHP. Phương thức này phải được viết ở đầu tệp PHP trước bất kỳ phương thức bao gồm hoặc yêu cầu nào

cú pháp

session_start[]

Ví dụ

Ghi chú. Thời gian chờ mặc định của phiên PHP trong cấu hình apache là 30 phút sau khi phiên bắt đầu. Nó có thể được sửa đổi thông qua một php. ini hoặc tệp HTACCESS

Làm cách nào để sử dụng $ _SESSION để đặt phiên trong PHP?

Trong các bước sau, chúng ta sẽ tìm hiểu cách bắt đầu một phiên và đặt biến phiên trong PHP với một ví dụ

Bước 1. Đặt phiên

Hãy tạo một trang “create_session. php. ” Ở đây chúng tôi tạo các biến phiên và đưa một số dữ liệu vào các biến

tạo_session. php

Bước 2. Nhận giá trị của các biến phiên

Tiếp theo, chúng tôi tạo một trang khác, “getdata_session. php. ”

Ở đây, chúng tôi truy xuất các giá trị của biến phiên mà chúng tôi đã đặt trên trang của mình “create_session. php. ”

Ở đây chúng ta sẽ sử dụng biến toàn cục $_SESSION để lấy dữ liệu của tất cả các biến phiên. Một điểm cần thiết khác là chúng tôi không chuyển các giá trị của biến phiên trên mỗi trang. Thay vào đó, chúng tôi truy xuất các biến phiên sau khi bắt đầu phiên bằng hàm session_start[]

getdata_session. php




  
  
  

đầu ra

Name is NICK
Email is [email protected]

Bước 3. Sửa đổi dữ liệu phiên

Chúng tôi có thể sửa đổi các biến phiên bằng cách ghi đè lên các giá trị ban đầu của nó

Hãy tạo trang “modify_session. php” để thay đổi các biến phiên

sửa_session. php




  
  
  

đầu ra

TEST

Bước 4. Hủy hoặc bỏ đặt phiên

Trong PHP, hàm session_destroy[] hủy hoàn toàn tất cả các phiên. Nhưng session_unset[] xóa tất cả các biến phiên. Tuy nhiên, cả hai đều có tác dụng tương tự nhau.

Ví dụ

cũng đọc. Hàm MySQLi trong PHP

Phần kết luận

Tôi hy vọng bây giờ bạn đã hiểu đầy đủ về 'Session trong PHP là gì với ví dụ. ' Hơn nữa, các phiên PHP khá dễ thực hiện

Một cách khác để làm cho dữ liệu có thể truy cập được trên các trang khác nhau của toàn bộ trang web là sử dụng Phiên PHP

Một phiên tạo một tệp trong một thư mục tạm thời trên máy chủ nơi các biến phiên đã đăng ký và giá trị của chúng được lưu trữ. Dữ liệu này sẽ có sẵn cho tất cả các trang trên trang web trong lần truy cập đó

Vị trí của tệp tạm thời được xác định bởi cài đặt trong tệp php. ini được gọi là phiên. Lưu đường dẫn. Trước khi sử dụng bất kỳ biến phiên nào, hãy đảm bảo rằng bạn đã thiết lập đường dẫn này

Khi một phiên được bắt đầu, những điều sau đây sẽ xảy ra -

  • Trước tiên, PHP tạo một mã định danh duy nhất cho phiên cụ thể đó là một chuỗi ngẫu nhiên gồm 32 số thập lục phân, chẳng hạn như 3c7foj34c3jj973hjkop2fc937e3443

  • Cookie có tên PHPSESSID được tự động gửi đến máy tính của người dùng để lưu trữ chuỗi nhận dạng phiên duy nhất

  • Một tệp được tạo tự động trên máy chủ trong thư mục tạm thời được chỉ định và mang tên của mã định danh duy nhất có tiền tố là sess_ tức là sess_3c7foj34c3jj973hjkop2fc937e3443

Khi một tập lệnh PHP muốn truy xuất giá trị từ một biến phiên, PHP sẽ tự động lấy chuỗi mã định danh phiên duy nhất từ ​​cookie PHPSESSID và sau đó tìm trong thư mục tạm thời của nó để tìm tệp mang tên đó và có thể thực hiện xác thực bằng cách so sánh cả hai giá trị

Một phiên kết thúc khi người dùng mất trình duyệt hoặc sau khi rời khỏi trang web, máy chủ sẽ kết thúc phiên sau một khoảng thời gian định trước, thường là 30 phút

Bắt đầu một phiên PHP

Một phiên PHP có thể dễ dàng bắt đầu bằng cách gọi hàm session_start[]. Trước tiên, chức năng này kiểm tra xem một phiên đã bắt đầu chưa và nếu chưa có phiên nào bắt đầu thì nó sẽ bắt đầu một phiên. Bạn nên gọi hàm session_start[] ở đầu trang

Các biến phiên được lưu trữ trong mảng kết hợp có tên $_SESSION[]. Các biến này có thể được truy cập trong suốt thời gian tồn tại của phiên

Ví dụ sau bắt đầu một phiên, sau đó đăng ký một biến có tên là bộ đếm được tăng lên mỗi khi trang được truy cập trong phiên

Sử dụng hàm isset[] để kiểm tra xem biến phiên đã được đặt hay chưa

Đặt mã này trong một bài kiểm tra. php và tải tệp này nhiều lần để xem kết quả –

________số 8

Nó sẽ tạo ra kết quả sau -

You have visited this page 1in this session.

Phá hủy phiên PHP

Phiên PHP có thể bị hủy bởi hàm session_destroy[]. Hàm này không cần bất kỳ đối số nào và một lệnh gọi có thể hủy tất cả các biến phiên. Nếu bạn muốn hủy một biến phiên thì bạn có thể sử dụng hàm unset[] để hủy đặt một biến phiên

Đây là ví dụ để hủy đặt một biến duy nhất -

0

Đây là cuộc gọi sẽ hủy tất cả các biến phiên -

0

Bật phiên tự động

Bạn không cần gọi hàm start_session[] để bắt đầu phiên khi người dùng truy cập trang web của bạn nếu bạn có thể đặt phiên. biến auto_start thành 1 trong php. tập tin ini

Phiên không có cookie

Có thể xảy ra trường hợp người dùng không cho phép lưu trữ cookie trên máy của họ. Vì vậy, có một phương pháp khác để gửi ID phiên tới trình duyệt

Ngoài ra, bạn có thể sử dụng hằng số SID được xác định nếu phiên bắt đầu. Nếu khách hàng không gửi cookie phiên thích hợp, nó sẽ có dạng session_name=session_id. Mặt khác, nó mở rộng thành một chuỗi rỗng. Do đó, bạn có thể nhúng nó vô điều kiện vào các URL

Ví dụ sau minh họa cách đăng ký một biến và cách liên kết chính xác đến một trang khác bằng SID

Làm cách nào để lấy biến phiên trong một trang khác trong PHP?

Làm cách nào tôi có thể truy cập biến phiên của mình ở một trang khác.

Chủ Đề