Cách hiển thị tên bằng phiên trong PHP

The following code shows how the PHP session works. The function my_session_start() does almost the same thing as session_start().

error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('session.save_path', __DIR__);

my_session_start();

echo '

session id: '.my_session_id().'

';

echo '

________0';

$now = date('H:i:s');
if (isset($_SESSION['last_visit_time'])) {
  echo '

Last Visit Time: '.$_SESSION['last_visit_time'].'

';
}
echo '

Current Time: '.$now.'

';

$_SESSION['last_visit_time'] = $now;

function my_session_start() {
  global $phpsessid, $sessfile;

  if (!isset($_COOKIE['PHPSESSID']) || empty($_COOKIE['PHPSESSID'])) {
    $phpsessid = my_base32_encode(my_random_bytes(16));
    setcookie('PHPSESSID', $phpsessid, ini_get('session.cookie_lifetime'), ini_get('session.cookie_path'), ini_get('session.cookie_domain'), ini_get('session.cookie_secure'), ini_get('session.cookie_httponly'));
  } else {
    $phpsessid = substr(preg_replace('/[^a-z0-9]/', '', $_COOKIE['PHPSESSID']), 0, 26);
  }

  $sessfile = ini_get('session.save_path').'/sess_'.$phpsessid;
  if (is_file($sessfile)) {
    $_SESSION = unserialize(file_get_contents($sessfile));
  } else {
    $_SESSION = array();
  }
  register_shutdown_function('my_session_save');
}

function my_session_save() {
  global $sessfile;

  file_put_contents($sessfile, serialize($_SESSION));
}

function my_session_id() {
  global $phpsessid;
  return $phpsessid;
}

function my_random_bytes($length) {
  if (function_exists('random_bytes')) {
      return random_bytes($length);
  }
  $randomString = '';
  for ($i = 0; $i < $length; $i++) {
      $randomString .= chr(rand(0, 255));
  }
  return $randomString;
}

function my_base32_encode($input) {
  $BASE32_ALPHABET = 'abcdefghijklmnopqrstuvwxyz234567';
  $output = '';
  $v = 0;
  $vbits = 0;
  for ($i = 0, $j = strlen($input); $i < $j; $i++) {
    $v <<= 8;
    $v += ord($input[$i]);
    $vbits += 8;
    while ($vbits >= 5) {
      $vbits -= 5;
      $output .= $BASE32_ALPHABET[$v >> $vbits];
      $v &= ((1 << $vbits) - 1);
    }
  }
  if ($vbits > 0) {
    $v <<= (5 - $vbits);
    $output .= $BASE32_ALPHABET[$v];
  }
  return $output;
}

Phiên PHP cho phép các ứng dụng web lưu trữ thông tin người dùng trên máy chủ. Do đó, dữ liệu có thể được truy cập từ một số trang trên toàn bộ trang web

Các phiên dựa vào một

Successfully set the session variables.
1 để xác định những người dùng khác nhau. Do đó, thật dễ dàng để truy xuất dữ liệu về một người dùng cụ thể

Không giống như phiên, cookie lưu trữ thông tin của người dùng trên máy tính cục bộ của họ

điều kiện tiên quyết

Để làm theo, bạn cần

  • Hiểu biết cơ bản về các khái niệm cơ bản của PHP
  • Một trình soạn thảo văn bản được cài đặt. Trong bài viết này, chúng tôi sẽ sử dụng mã phòng thu trực quan
  • đã cài đặt xampp hoặc wampp. Hai ứng dụng này cho phép chúng tôi chạy PHP cục bộ

Hiểu các phiên PHP

Phiên PHP lưu trữ dữ liệu của người dùng có thể được hiển thị trên một số trang của ứng dụng hoặc trang web

Mã định danh phiên duy nhất hoặc

Successfully set the session variables.
2 được sử dụng để xác định một người dùng cụ thể. Do đó, khi
Successfully set the session variables.
3 là null, điều đó có nghĩa là chưa có phiên nào được tạo. Do đó, PHP được nhắc khởi tạo một

Trong hướng dẫn này, chúng ta sẽ sớm tìm hiểu cách bắt đầu phiên và khởi tạo biến. Chúng tôi sẽ sử dụng các biến phiên (______0_______4). Đây là một PHP superglobal. Bạn có thể đọc thêm về PHP superglobals từ đây

Làm thế nào để bắt đầu một phiên

Chúng tôi cần lưu trữ dữ liệu người dùng trong

Successfully set the session variables.
5 trước khi chúng có thể được truy cập trên nhiều trang web. Do đó, bước đầu tiên của chúng ta là bắt đầu một
Successfully set the session variables.
6 bằng cách gọi một hàm PHP có tên là
Successfully set the session variables.
7

Hàm

Successfully set the session variables.
7 tạo một
Successfully set the session variables.
9 hoặc khởi động lại một cái hiện có, sau đó tạo một ID phiên duy nhất cho người dùng. Điều này chủ yếu được thực hiện thông qua yêu cầu GET hoặc POST. Bạn có thể tìm hiểu thêm về các phương thức yêu cầu này từ đây

Điều quan trọng là luôn đặt hàm

Successfully set the session variables.
7 ngay sau thẻ
php 
  //Note that we need to call the session_start() function here before proceeding 
  session_start();
?>


  

          //conditional statement with isset() function to check if session is set
      if(isset($_SESSION["name"]) && isset($_SESSION["hobby"])){
           echo "Hi ".$_SESSION["name"]. ", glad to know you enjoy ".$_SESSION["hobby"]. " too!"; 
      }
      //if session variables do not exist, this will run instead
      else{
        echo "Sorry. no such session variables set!";
      }
    ?>
  

1 ở đầu tập lệnh của bạn. Điều này đảm bảo rằng tất cả các chức năng cần thiết đều có thể truy cập được

Hãy tạo một tệp

php 
  //Note that we need to call the session_start() function here before proceeding 
  session_start();
?>


  

          //conditional statement with isset() function to check if session is set
      if(isset($_SESSION["name"]) && isset($_SESSION["hobby"])){
           echo "Hi ".$_SESSION["name"]. ", glad to know you enjoy ".$_SESSION["hobby"]. " too!"; 
      }
      //if session variables do not exist, this will run instead
      else{
        echo "Sorry. no such session variables set!";
      }
    ?>
  

2 và sau đó bao gồm đoạn mã sau

php 
  //Starting session
  session_start();
?>



  
          //Using session variables to set a session
      $_SESSION["name"] = "Neema Muganga";
      $_SESSION["hobby"] = "writing";
      
      echo "Successfully set the session variables.";
    ?>
  

Bạn nên có đầu ra sau

Successfully set the session variables.

Truy cập phiên đã tạo

Bây giờ chúng ta đã có các phiên của mình trong phần trước, hãy truy xuất chúng để đảm bảo rằng chúng đã được đặt thành công

Tạo một chi tiết truy cập. tập tin php. Chúng tôi sẽ sử dụng tệp này để truy cập các biến phiên đã đặt trước đó

Chúng ta sẽ cần sử dụng một câu lệnh có điều kiện để truy cập các biến phiên bắt buộc. Chúng tôi cũng sẽ yêu cầu hàm

php 
  //Note that we need to call the session_start() function here before proceeding 
  session_start();
?>


  

          //conditional statement with isset() function to check if session is set
      if(isset($_SESSION["name"]) && isset($_SESSION["hobby"])){
           echo "Hi ".$_SESSION["name"]. ", glad to know you enjoy ".$_SESSION["hobby"]. " too!"; 
      }
      //if session variables do not exist, this will run instead
      else{
        echo "Sorry. no such session variables set!";
      }
    ?>
  

3 để kiểm tra xem
Successfully set the session variables.
5 đã được đặt chưa

php 
  //Note that we need to call the session_start() function here before proceeding 
  session_start();
?>


  

          //conditional statement with isset() function to check if session is set
      if(isset($_SESSION["name"]) && isset($_SESSION["hobby"])){
           echo "Hi ".$_SESSION["name"]. ", glad to know you enjoy ".$_SESSION["hobby"]. " too!"; 
      }
      //if session variables do not exist, this will run instead
      else{
        echo "Sorry. no such session variables set!";
      }
    ?>
  

Vì các phiên của chúng tôi được đặt trong tệp

php 
  //Note that we need to call the session_start() function here before proceeding 
  session_start();
?>


  

          //conditional statement with isset() function to check if session is set
      if(isset($_SESSION["name"]) && isset($_SESSION["hobby"])){
           echo "Hi ".$_SESSION["name"]. ", glad to know you enjoy ".$_SESSION["hobby"]. " too!"; 
      }
      //if session variables do not exist, this will run instead
      else{
        echo "Sorry. no such session variables set!";
      }
    ?>
  

2, nên chúng tôi sẽ có đầu ra sau

Hi Neema Muganga, glad to know you enjoy writing too!

Trong trường hợp bạn viết sai chính tả

Successfully set the session variables.
5, PHP có thể không nhận ra dữ liệu bạn đang đề cập và do đó, trả về câu lệnh
php 
  //Note that we need to call the session_start() function here before proceeding 
  session_start();
?>


  

          //conditional statement with isset() function to check if session is set
      if(isset($_SESSION["name"]) && isset($_SESSION["hobby"])){
           echo "Hi ".$_SESSION["name"]. ", glad to know you enjoy ".$_SESSION["hobby"]. " too!"; 
      }
      //if session variables do not exist, this will run instead
      else{
        echo "Sorry. no such session variables set!";
      }
    ?>
  

7

đầu ra

Sorry. no such session variables set!

Đảm bảo bạn đặt dấu chấm phẩy ở cuối câu lệnh PHP để tránh các lỗi cú pháp ngăn mã của bạn chạy

Cách cập nhật phiên đã đặt

Trong một số trường hợp, chúng tôi có thể muốn thay đổi biến phiên thành một giá trị khác

Ở bước này, chúng ta sẽ thay thế biến

php 
  //Note that we need to call the session_start() function here before proceeding 
  session_start();
?>


  

          //conditional statement with isset() function to check if session is set
      if(isset($_SESSION["name"]) && isset($_SESSION["hobby"])){
           echo "Hi ".$_SESSION["name"]. ", glad to know you enjoy ".$_SESSION["hobby"]. " too!"; 
      }
      //if session variables do not exist, this will run instead
      else{
        echo "Sorry. no such session variables set!";
      }
    ?>
  

8 đã đặt sẵn trong tệp
php 
  //Note that we need to call the session_start() function here before proceeding 
  session_start();
?>


  

          //conditional statement with isset() function to check if session is set
      if(isset($_SESSION["name"]) && isset($_SESSION["hobby"])){
           echo "Hi ".$_SESSION["name"]. ", glad to know you enjoy ".$_SESSION["hobby"]. " too!"; 
      }
      //if session variables do not exist, this will run instead
      else{
        echo "Sorry. no such session variables set!";
      }
    ?>
  

2, như hình bên dưới

php
//starting session
session_start();
//updating the session variable name value
$_SESSION["name"] = "Liz Muganga";
?>



  
        echo "You changed your name to ".$_SESSION["name"]."!";
    ?>
  

Đoạn mã trên sẽ thay đổi tên của bạn và sau đó hiển thị nó trên trình duyệt

đầu ra

You changed your name to Liz Muganga!

Phá hủy một phiên

Toàn bộ mục đích của việc sử dụng

Hi Neema Muganga, glad to know you enjoy writing too!
0 là để lưu trữ dữ liệu của người dùng và làm cho dữ liệu đó có thể truy cập được trên toàn bộ ứng dụng web

Do đó, máy chủ có thể xác định ai đang truy cập ứng dụng bằng mã định danh phiên duy nhất

Phiên sẽ bị hủy khi một người đăng xuất hoặc đóng cửa sổ trình duyệt

Các chức năng chúng tôi có thể sử dụng khi hủy phiên

Chúng tôi cũng có thể sử dụng dữ liệu sau để hủy các biến phiên được lưu trữ

  • Hi Neema Muganga, glad to know you enjoy writing too!
    
    1 - Hàm này hủy biến phiên cụ thể của
    Hi Neema Muganga, glad to know you enjoy writing too!
    
    2. Nó yêu cầu biến mục tiêu làm tham số

  • Hi Neema Muganga, glad to know you enjoy writing too!
    
    3 - Hàm này hủy
    Hi Neema Muganga, glad to know you enjoy writing too!
    
    4 biến phiên đã đặt trước đó. Nó không yêu cầu bất kỳ tham số nào

Đoạn mã sau cho biết cách hủy phiên PHP

php

  //starts the session
  session_start();
?>



  
          
      //gets rid of the name session variable
      unset($_SESSION["name"]);

      //Eventually destroys all sessions set
      session_destroy(); 
    ?>
  

Từ phân tích này, tôi hy vọng bạn có ý tưởng về cách triển khai chức năng

Hi Neema Muganga, glad to know you enjoy writing too!
5 trong nhiều ứng dụng

Tạo một ứng dụng thực hiện các phiên

Hãy thực hành những gì chúng ta đã học được trong phần trên

Chúng tôi sẽ tạo một ứng dụng web đơn giản sử dụng phiên PHP. Chúng tôi sẽ sử dụng kiểu dáng Bootstrap để tiết kiệm thời gian

Bước đầu tiên là tạo một tệp và đặt tên là

Hi Neema Muganga, glad to know you enjoy writing too!
6. Trong tập tin này, thêm đoạn mã sau

php
//Starting the Session
session_start();

//Accessing session variables
$_SESSION['name'] = 'John Doe';
$_SESSION['email'] = '[email protected]';
?>




    
    
    
    PHP Project
      href="https://fonts.googleapis.com/css?family=Roboto:ital">
  

    
    

  
        

Khi bạn điều hướng đến trình duyệt của mình, trang web sẽ trông như hình bên dưới

Cách hiển thị tên bằng phiên trong PHP

Trong đoạn mã trên, chúng tôi đã tạo một ứng dụng lưu trữ các biến phiên (tên và email). Chúng tôi sẽ truy xuất dữ liệu này khi chúng tôi điều hướng đến trang web thứ hai

Đối với trang thứ hai, hãy tạo một tệp và đặt tên là

Hi Neema Muganga, glad to know you enjoy writing too!
7. Sau đó thêm đoạn mã sau

php
//start session
session_start();
?>




    
    
    
    PHP Project
      href="https://fonts.googleapis.com/css?family=Roboto:ital">
  

    
    

  
      
Hey There we confirm that is your email address!

Khi bạn xem ứng dụng trong trình duyệt của mình, bạn sẽ có đầu ra sau

Cách hiển thị tên bằng phiên trong PHP

Như đã nêu, khi bạn nhấp vào nút trong

Hi Neema Muganga, glad to know you enjoy writing too!
6, bạn sẽ được chuyển hướng đến một trang khác, như minh họa bên dưới

Cách hiển thị tên bằng phiên trong PHP

Trang này truy xuất bộ

Hi Neema Muganga, glad to know you enjoy writing too!
9 trong
Hi Neema Muganga, glad to know you enjoy writing too!
6 và hiển thị chúng trên trình duyệt

Chúng tôi có thể hủy các phiên của mình bằng cách đóng trình duyệt hoặc đăng xuất khỏi ứng dụng

Chúng tôi cũng có thể xóa các phiên theo chương trình bằng hàm

Hi Neema Muganga, glad to know you enjoy writing too!
3, như minh họa bên dưới

Successfully set the session variables.
0

Nhấp vào nút đăng xuất sẽ gọi phương thức

Hi Neema Muganga, glad to know you enjoy writing too!
3. Điều này được thể hiện trong hình dưới đây

Cách hiển thị tên bằng phiên trong PHP

Phần kết luận

Phiên thực sự là một phần quan trọng của ứng dụng web. Bài viết này đã chỉ cho bạn cách tạo, cập nhật, truy xuất và xóa phiên. Do đó, bạn có thể sử dụng kiến ​​thức này để tạo ra các ứng dụng mạnh mẽ khác

Làm cách nào để lấy dữ liệu từ phiên trong php?

Và hãy nhớ rằng các biến được chuyển đến phiên sẽ khả dụng sau khi tải lại trang. – hoa mẫu đơn. .
Vâng. .
Bạn nói đúng, nó sẽ không. .
Nhưng, bạn có thể thử nhìn vào đây. .

Làm thế nào để một phiên xác định người dùng?

Khi bạn đăng nhập vào hệ thống (HOẶC phiên bắt đầu), id phiên duy nhất được tạo và id phiên này thường được lưu trữ trong cookie . điều đó sẽ xác định trình duyệt của bạn. Sau đó, máy chủ sử dụng id phiên này để lấy dữ liệu từ máy chủ. Lưu câu trả lời này.

Làm cách nào để in biến phiên trong php?

Sử dụng cái này. echo ' Or you can use print_r if you don't care about types. If you use print_r, you can make the second argument TRUE so it will return instead of echo, useful for...

Làm cách nào để lấy ID người dùng phiên trong php?

session_id() trả về id phiên cho phiên hiện tại hoặc chuỗi trống ( "" ) nếu không có phiên hiện tại (không tồn tại id phiên hiện tại).