Ltphp - Session

1. Giới thiệu

Session là một phiên làm việc, session được tạo ra trong PHP được dùng để lưu trữ thông tin của người dùng hoặc là lưu trữ tùy chọn cấu hình hệ thống cho người dùng.

Mỗi người dùng sẽ có một ID session khác nhau để làm căn cứ phân biệt giữa người dùng này với người dùng khác. Vì vậy việc thông tin Session ở người dùng A bị ảnh hưởng đến người dùng B là điều không thể.

Thông thường chúng ta sử dụng Session để lưu thông tin đăng nhập, giỏ hàng hoặc những dữ liệu mang tính chất tạm thời và mỗi người dùng sẽ có dư liệu khác nhau.

2. Qui trình làm việc

Một Session sẽ bắt đầu khi phía người dùng yêu cầu phiên làm việc. Khi ấy một cookie được gọi là PHPSESSID sẽ được gửi tự động đến máy tính người dùng để lưu trữ chuỗi định danh session duy nhất ở trên.

Một file được tạo tự động trên Server trong thư mục tạm thời đã được chỉ định và nó mang tên của định danh duy nhất và được bắt đầu bằng sess_.

Khi server muốn lấy giá trị từ một biến session, server tự động lấy chuỗi định danh session duy nhất này từ PHPSESSID cookie, sau đó tìm file mang tên đó trong thư mục tạm thời của nó, một xác thực có thể được hoàn thành bằng việc so sánh các giá trị đó.

Một session kết thúc khi người dùng tắt trình duyệt hoặc sau khi rời khỏi site này hay Server sẽ chấm dứt session sau một thời gian đã định trước nếu xét thấy người dùng không dùng nữa.

3. Khởi động session

Cú pháp:

 <?php 
  session_start();
 ?>

Ý nghĩa:

  • - Hàm này sẽ đăng ký session với trình duyệt.
  • - Hàm khởi động session chúng ta nên đặt lên trên thẻ HTML.
  • - Trước khi dùng session chúng ta phải khởi động session.

Ví dụ:

 <?php 
  session_start();
 ?>
 <html>
  <head>
  <title> </title >
  </head>
  <body>
   <div>Thầy Trần Vĩnh Xuyên xin chào!</div>
  </body>
 </html >
4. Đăng ký session

Sao khi chúng ta đã khởi động session, chúng ta có thể tiến hành đăng ký một biến session để lưu trữ dữ liệu.

Cú pháp:

 <?php 
  $_SESSION[“tên_biến”]= giá_trị;
 ?>

Ví dụ:

 <?php 
  session_start();
 ?>
 <html>
  <head>
  <title>Bài học session</title >
  </head>
  <body>
  <?php 
   $_SESSION["username"] = "tranvinhxuyen";
   $_SESSION[“password"] = "123"; 
  ?>
  </body>
 </html >
5. Sử dụng session

Để sử dụng biến session mà chúng ta đã lưu trữ trước đó trong php, chúng ta hoàn toàn có thể gọi giá trị mà các biến session đã lưu.

Cú pháp:

 <?php 
  $tenbien = $_SESSION['tên_biến'];
 ?>

Chú ý:

  • - Giá trị trong $_SESSION['tên_biến'] sẽ trả về cho biến $tenbien.
  • - Trước khi chúng ta lấy giá trị session chúng ta nên kiểm tra nó có tồn tại không rồi hãy lấy.
  • - Hàm kiểm tra sự tồn tại là hàm isset().

Ví dụ:

 <?php 
  session_start();
  if(isset($_POST['username'])){
   $_SESSION['name'] = $_POST['username'];
  }
 ?>
 <html>
  <head>
  <title>Bài học session</title >
  </head>
  <body>
  <?php 
  if(isset($_SESSION['name'])){
   echo 'Bạn đã đăng nhập với tên: ' . $_SESSION['name'];
  } 
  ?>
  <form method="POST" action="">
   <input type="text" name="username" value=""/>
   <input type="submit" name="save-session" value="Lưu Session"/>
  </form >
  </body>
 </html >
6. Hủy session

Sau khi đã sử dụng xong biến session, chúng ta không còn cần sử dụng biến session này nữa, chúng ta có thể hủy biến session này, để giải phóng một biến ra khỏi bộ nhớ.

Cú pháp:

 <?php
  unset($_SESSION['tên_session']);
 ?>

Trong đó:

  • - Unset: là tên hàm.
  • - $_SESSION: là biến session.
  • - $tên_session: là tên session.

Ví dụ:

 <?php 
  session_start();
  if(isset($_SESSION['name'])){
   unset($_SESSION['name']);
  }
 ?>
7. Xóa toàn bộ session

Chúng ta có thể xóa bỏ toàn bộ session hiện đang tồn tại trên hệ thống, để giải phóng bộ nhớ.

Cú pháp:

 <?php 
  session_destroy();
 ?>

Ví dụ:

 <?php 
  session_start();
  session_destroy();
 ?>

Trích dẫn: (http://khonggiankythuat.com)

Học liệu
  • Phần mềm hỗ trợ: Không có
  • Sách tham khảo: Không có
  • Video hướng dẫn: Không có
2015 | Designed by Th.S Trần Vĩnh Xuyên!
0903979218
Facebook
Twitter
Instagram
Youtube
Chat liền