Phiên php hoạt động như thế nào?

HTTP là một giao thức phi trạng thái, mỗi yêu cầu đến máy chủ web được xử lý mà không cần biết về các yêu cầu trong quá khứ hoặc tương lai. Theo truyền thống, cookie là phương pháp tiêu chuẩn để theo dõi người dùng hoặc duy trì dữ liệu, nhưng chúng bị giới hạn bởi kích thước, số lượng được phép và chúng được lưu trữ trên máy khách. Chúng tôi cần một phương pháp để theo dõi người dùng và lựa chọn của họ giữa các lượt truy cập vào trang web của bạn, đồng thời duy trì thông tin đó trên máy chủ của chúng tôi đối với máy khách của người dùng

Phiên và PHP

PHP cho phép chúng tôi theo dõi từng khách truy cập thông qua ID phiên duy nhất có thể được sử dụng để tương quan dữ liệu giữa các kết nối. Id này là một chuỗi ngẫu nhiên được gửi tới người dùng khi phiên được tạo và được lưu trữ trong trình duyệt của người dùng trong cookie [theo mặc định được gọi là PHPSESSID]. Cookie này có thể được nhìn thấy bên dưới trong hình ảnh [từ các công cụ dành cho nhà phát triển của Chrome]


Về phía máy chủ, hệ thống lưu trữ ID phiên này và một mảng thông tin liên quan đến máy khách mà tập lệnh PHP của bạn có thể sử dụng, trong một tệp hoặc trong cơ sở dữ liệu

Tạo, sử dụng và xóa SESSION

Để sử dụng các phiên, bạn phải bắt đầu tập lệnh PHP của mình bằng

session_start[];

Dòng mã này phải xuất hiện trước bất kỳ đầu ra nào được tạo bởi tập lệnh. Hàm session_start[] tạo một phiên mới nếu chưa có hoặc tiếp tục một phiên hiện có

Sau khi các phiên bắt đầu, bạn có thể truy cập và sử dụng mảng toàn cầu $_SESSION và mọi thay đổi đối với mảng này sẽ tồn tại giữa các lần truy cập trang web. Để đặt một giá trị, hãy xử lý biến này giống như bất kỳ mảng nào

$_SESSION['myvariable'] = 'myvalue';

Đặt biến phiên bằng cách sửa đổi mảng $_SESSION lưu trữ thông tin đó trong tệp hoặc cơ sở dữ liệu [tùy thuộc vào cài đặt máy chủ] và giờ đây bạn sẽ có thể truy cập thông tin này từ bất kỳ tập lệnh nào, miễn là phiên hợp lệ. i

Ghi chú. Nếu bạn muốn xuất nhanh toàn bộ nội dung của $_SESSION cho mục đích gỡ lỗi, bạn có thể in ra bất kỳ mảng kết hợp nào ở định dạng đẹp với print_r[] được bao quanh bởi

 tags.
  >
  

Khi làm việc với các giá trị phiên, việc kiểm tra xem một biến phiên cụ thể có tồn tại hay không thường rất hữu ích. Cách dễ nhất để kiểm tra xem một biến có tồn tại hay không là với isset[].

if [isset[$_SESSION['myvariable']] {
  echo $_SESSION['myvariable'];
}

Nếu bạn muốn xóa một biến phiên, bạn nên hủy đặt nó [giống như bạn có thể xóa bất kỳ biến nào trong PHP].

unset[$_SESSION['myvariable']];

Nếu bạn muốn xóa toàn bộ nội dung của SESSION, bạn có thể hủy nó.

session_destroy[];

Truy xuất thông tin PHIÊN cho tính liên tục giữa các trình duyệt

Vì người dùng của bạn có thể kết nối từ các trình duyệt khác nhau trên . g. một giỏ hàng bắt đầu trên một máy tính và tiếp tục trên một máy tính khác], có thể cần lưu trữ thông tin phiên của họ trong một tệp dưới sự kiểm soát của bạn để khi họ đăng nhập, bạn có thể tạo lại phiên của họ.

session_id có thể được lấy từ tập lệnh PHP của bạn sau .

$myid = session_id[];
Dữ liệu phiên có thể được chuyển đổi thành một chuỗi với.
$mysession = session_encode[];
. ________số 8_______ . Chuỗi này có thể được lưu trữ dễ dàng trong một tệp. Hãy tưởng tượng kịch bản này. người dùng kết nối với một trang web và đăng nhập. Thông tin phiên sau đó được truy xuất và khôi phục vào biến $_SESSION của chúng. Khi họ di chuyển qua trang web, mọi thay đổi trong PHIÊN có thể được ghi lại và ghi lại để mọi giao dịch họ có .

Có một số khác biệt lớn giữa cookie và phiên

  • Cookies được lưu trữ trên trình duyệt của bạn
  • Phiên được lưu trữ trên máy chủ
  • Cookie hết hạn dựa trên những gì trang web tạo ra chúng xác định
  • Phiên hết hạn dựa trên cấu hình máy chủ web

Nhớ. phiên hoạt động bằng cách chỉ lưu trữ một cookie trên trình duyệt.

gỡ lỗi

Bạn phải liên tục gỡ lỗi mã của mình, cách tốt nhất để làm điều đó với . Để xem lại nhật ký.

  1. Đăng nhập vào máy chủ web [midn. cs. người Mỹ. edu] qua ssh
    ssh midn.cs.usna.edu
  2. Đuôi [lệnh cho phép bạn xem một vài dòng cuối cùng của tệp, .
    $_SESSION['myvariable'] = 'myvalue';
    0
  3. Nếu có bất kỳ lỗi nào khó hiểu, hãy xem hướng dẫn lỗi nằm ở . Như với bất kỳ ngôn ngữ nào, bạn nên xử lý lỗi đầu tiên xuất hiện, sau đó .
  4. Ngoài ra, bạn có thể truy xuất trang web của mình thông qua dòng lệnh để xem . Curl là một tiện ích tuyệt vời cho việc này và -v [tùy chọn dài dòng] sẽ hiển thị cho bạn lưu lượng truy cập qua lại với .
    $_SESSION['myvariable'] = 'myvalue';
    2
  5. Trong Chrome, bạn có thể nhấn ctrl-shift-j để chuyển đổi trình gỡ lỗi, điều này .
Xin lưu ý. Khi có gì đó không hoạt động [lỗi máy chủ nội bộ], hãy kiểm tra tệp nhật ký lỗi. Bạn sẽ có thể tự gỡ lỗi, trước khi nhờ người hướng dẫn trợ giúp nếu cần.

Các vấn đề

Phiên là một công cụ có giá trị trong việc tạo trang web có nội dung theo dõi người dùng .

Quản lý phiên được thực hiện như thế nào trong PHP?

Khi người dùng lần đầu tiên vào ứng dụng dựa trên phiên bằng cách đưa ra yêu cầu tới trang bắt đầu phiên, PHP sẽ tạo ID phiên và tạo tệp lưu trữ các biến liên quan đến phiên. PHP đặt cookie để giữ ID phiên trong phản hồi mà tập lệnh tạo

Phiên hoạt động như thế nào?

Các phiên hơi khác nhau. Mỗi người dùng nhận được một ID phiên, được gửi lại máy chủ để xác thực bằng cookie hoặc bằng biến GET . Các phiên thường tồn tại trong thời gian ngắn, điều này khiến chúng trở nên lý tưởng trong việc lưu trạng thái tạm thời giữa các ứng dụng. Phiên cũng hết hạn sau khi người dùng đóng trình duyệt.

Cookie và phiên hoạt động như thế nào trong PHP?

id phiên được gửi tới người dùng khi phiên của anh ấy được tạo. nó được lưu trữ trong một cookie [được gọi theo mặc định là PHPSESSID ] cookie này được trình duyệt gửi đến máy chủ với mỗi yêu cầu. máy chủ [PHP] sử dụng cookie đó, chứa session_id, để biết tệp nào tương ứng với người dùng đó

Phiên PHP có được lưu trữ trong trình duyệt không?

PHP cho phép chúng tôi theo dõi từng khách truy cập thông qua một ID phiên duy nhất có thể được sử dụng để tương quan dữ liệu giữa các kết nối. Id này là một chuỗi ngẫu nhiên được gửi tới người dùng khi một phiên được tạo và được được lưu trữ trong trình duyệt của người dùng trong một cookie [theo mặc định được gọi là PHPSESSID] .

Chủ Đề