Truy cập đối tượng phiên
Đối tượng phiên có thể được tạo bằng cách thực thi mã sau đây.
Link đăng ký khóa học : Phần mềm lập trình PHP chuyên nghiệp.
Phương thức trên sẽ lấy hai đối số, giá trị và khóa mà theo đó giá trị sẽ được lưu trữ.
Thí dụ
Hàm trên sẽ chỉ lấy một đối số là khóa của giá trị được sử dụng tại thời điểm ghi dữ liệu phiên. Khi khóa chính xác được cung cấp thì hàm sẽ trả về giá trị của nó.
Thí dụ
Khi bạn muốn kiểm tra xem dữ liệu cụ thể có tồn tại trong phiên hay không, thì bạn có thể sử dụng phương thức session () .
Hàm trên sẽ chỉ lấy khóa làm đối số.
Thí dụ
Hàm trên sẽ chỉ lấy khóa của giá trị sẽ bị xóa khỏi phiên.
Thí dụ
Khi bạn muốn đọc và sau đó xóa dữ liệu từ phiên, chúng ta có thể sử dụng phương thức session () .
Hàm trên sẽ chỉ lấy khóa làm đối số.
Thí dụ
Phá hủy một phiên
Chúng ta cần hủy một phiên người dùng khi người dùng đăng xuất khỏi trang web và phá hủy phiên mà phương thức destroy () được sử dụng.
Thí dụ
Phiên hủy sẽ xóa tất cả dữ liệu phiên khỏi máy chủ nhưng sẽ không xóa cookie phiên.
Thí dụ
Hoàn thành phiên
config / routes.php
src / Controller / SessionsController.php
Tạo một thư mục Các phiên làm việc tại src / Template và dưới thư mục đó tạo một tập tin Xem có tên là write_session_data.ctp . Sao chép mã sau vào tệp đó.
src / Mẫu / Phiên / write_session_data.ctp
Tạo một tệp Xem khác có tên là retrieve_session_data.ctp trong cùng một thư mục Phiên và sao chép mã sau vào tệp đó.
src / Template / Sessions / retrieve_session_data.ctp
Tạo một tệp Xem khác có tên là check_session_data.ctp trong cùng thư mục Phiên và sao chép mã sau vào tệp đó.
src / Mẫu / Phiên / check_session_data.ctp
Tạo một filbe Xem gọi delete_session_data.ctp dưới cùng thư mục Sessions và sao chép đoạn mã sau vào tập tin đó.
src / Mẫu / Phiên / delete_session_data.ctp
Tạo một tệp Xem khác có tên là destroy_session_data.ctp trong cùng một thư mục Phiên và sao chép mã sau vào tệp đó.
src / Mẫu / Phiên / destroy_session_data.ctp
http: // localhost: 85 / PHP / phiên-ghi
Truy cập URL sau để đọc dữ liệu phiên - http: // localhost: 85 / PHP / phiên đọc
Truy cập URL sau để kiểm tra dữ liệu phiên - http: // localhost: 85 / PHP / sessioncheck
Truy cập URL sau để xóa dữ liệu phiên - http: // localhost: 85 / PHP / sessiondelete
Truy cập URL sau để hủy dữ liệu phiên - http: // localhost: 85 / PHP / sessiondestroy
$session = $this->request->session();
Viết dữ liệu phiên
Để viết một cái gì đó trong phiên, chúng ta có thể sử dụng phương thức write () session .Session::write($key, $value)
Phương thức trên sẽ lấy hai đối số, giá trị và khóa mà theo đó giá trị sẽ được lưu trữ.
Thí dụ
$session->write('name', 'Virat Gandhi');
Đọc dữ liệu phiên
Để lấy dữ liệu đã lưu từ phiên, chúng ta có thể sử dụng phương thức session read () .Session::read($key)
Hàm trên sẽ chỉ lấy một đối số là khóa của giá trị được sử dụng tại thời điểm ghi dữ liệu phiên. Khi khóa chính xác được cung cấp thì hàm sẽ trả về giá trị của nó.
Thí dụ
$session->read('name');
Khi bạn muốn kiểm tra xem dữ liệu cụ thể có tồn tại trong phiên hay không, thì bạn có thể sử dụng phương thức session () .
Session::check($key)
Thí dụ
if ($session->check('name')) {
// name exists and is not null.
}
Xóa dữ liệu phiên
Để xóa dữ liệu khỏi phiên, chúng tôi có thể sử dụng phương thức xóa () để xóa dữ liệu.Session::delete($key)
Hàm trên sẽ chỉ lấy khóa của giá trị sẽ bị xóa khỏi phiên.
Thí dụ
$session->delete('name');
Khi bạn muốn đọc và sau đó xóa dữ liệu từ phiên, chúng ta có thể sử dụng phương thức session () .
static Session::consume($key)
Hàm trên sẽ chỉ lấy khóa làm đối số.
Thí dụ
$session->consume('name');
Phá hủy một phiên
Chúng ta cần hủy một phiên người dùng khi người dùng đăng xuất khỏi trang web và phá hủy phiên mà phương thức destroy () được sử dụng.
Session::destroy()
Thí dụ
$session->destroy();
Phiên hủy sẽ xóa tất cả dữ liệu phiên khỏi máy chủ nhưng sẽ không xóa cookie phiên.
Gia hạn một phiên
Trong trường hợp bạn muốn gia hạn phiên người dùng, chúng tôi có thể sử dụng phương thức renew () phiên .Session::renew()
Thí dụ
$session->renew();
Hoàn thành phiên
Make changes in the config/routes.php file as shown in the following program.
config / routes.php
<?php use Cake\Core\Plugin; use Cake\Routing\RouteBuilder; use Cake\Routing\Router; Router::defaultRouteClass('DashedRoute'); Router::scope('/', function (RouteBuilder $routes) { $routes->connect('/sessionobject', ['controller'=>'Sessions','action'=>'index']); $routes->connect('/sessionread', ['controller'=>'Sessions','action'=>'retrieve_session_data']); $routes->connect('/sessionwrite', ['controller'=>'Sessions','action'=>'write_session_data']); $routes->connect('/sessioncheck', ['controller'=>'Sessions','action'=>'check_session_data']); $routes->connect('/sessiondelete', ['controller'=>'Sessions','action'=>'delete_session_data']); $routes->connect('/sessiondestroy', ['controller'=>'Sessions','action'=>'destroy_session_data']); $routes->fallbacks('DashedRoute'); }); Plugin::routes();Tạo một tệp SessionsController.php tại src / Controller / SessionsController.php . Sao chép mã sau trong tệp bộ điều khiển.
src / Controller / SessionsController.php
<?php namespace App\Controller; use App\Controller\AppController; class SessionsController extends AppController{ public function retrieveSessionData(){ //create session object $session = $this->request->session(); //read data from session $name = $session->read('name'); $this->set('name',$name); } public function writeSessionData(){ //create session object $session = $this->request->session(); //write data in session $session->write('name','Virat Gandhi'); } public function checkSessionData(){ //create session object $session = $this->request->session(); //check session data $name = $session->check('name'); $address = $session->check('address'); $this->set('name',$name); $this->set('address',$address); } public function deleteSessionData(){ //create session object $session = $this->request->session(); //delete session data $session->delete('name'); } public function destroySessionData(){ //create session object $session = $this->request->session(); //destroy session $session->destroy(); } } ?>
Tạo một thư mục Các phiên làm việc tại src / Template và dưới thư mục đó tạo một tập tin Xem có tên là write_session_data.ctp . Sao chép mã sau vào tệp đó.
src / Mẫu / Phiên / write_session_data.ctp
The data has been written in session.
Tạo một tệp Xem khác có tên là retrieve_session_data.ctp trong cùng một thư mục Phiên và sao chép mã sau vào tệp đó.
src / Template / Sessions / retrieve_session_data.ctp
Here is the data from session.
Name: <?=$name;?>
Tạo một tệp Xem khác có tên là check_session_data.ctp trong cùng thư mục Phiên và sao chép mã sau vào tệp đó.
src / Mẫu / Phiên / check_session_data.ctp
<?php if($name): ?> name exists in the session. <?php else: ?> name doesn't exist in the database <?php endif;?> <?php if($address): ?> address exists in the session. <?php else: ?> address doesn't exist in the database <?php endif;?>
Tạo một filbe Xem gọi delete_session_data.ctp dưới cùng thư mục Sessions và sao chép đoạn mã sau vào tập tin đó.
src / Mẫu / Phiên / delete_session_data.ctp
Data deleted from session.
Tạo một tệp Xem khác có tên là destroy_session_data.ctp trong cùng một thư mục Phiên và sao chép mã sau vào tệp đó.
src / Mẫu / Phiên / destroy_session_data.ctp
Session Destroyed.
Đầu ra
Thực hiện ví dụ trên bằng cách truy cập URL sau. URL này sẽ giúp bạn ghi dữ liệu trong phiên.http: // localhost: 85 / PHP / phiên-ghi
![]() |
| Phần mềm lập trình PHP chuyên nghiệp |
Truy cập URL sau để đọc dữ liệu phiên - http: // localhost: 85 / PHP / phiên đọc
Truy cập URL sau để kiểm tra dữ liệu phiên - http: // localhost: 85 / PHP / sessioncheck
Truy cập URL sau để xóa dữ liệu phiên - http: // localhost: 85 / PHP / sessiondelete
Truy cập URL sau để hủy dữ liệu phiên - http: // localhost: 85 / PHP / sessiondestroy

Không có nhận xét nào:
Đăng nhận xét