Monday, March 9, 2020
  • Back-End
    • PHP
      • PHP căn bản
      • PHP OOP
  • Learn PHP
  • Khoá Học
  • PHP
Tân Hồng IT
  • Back-End
    • PHP
      • PHP căn bản
      • PHP OOP
  • Learn PHP
  • Khoá Học
  • PHP
    • All
    • PHP căn bản
    • PHP OOP
    lap trinh huong doi tuong oop php la gi

    PHP OOP – Bài 1: Lập trình hướng đối tượng trong PHP là gì?

    lo trinh hoc php

    Lộ trình học PHP từ cơ bản đến nâng cao chuyên nghiệp

    xu ly ngoai le php exception

    Bài 19: Xử lý ngoại lệ trong PHP – PHP Exceptions

    kiem tra du lieu isset php

    Bài 18: Những hàm kiểm tra dữ liệu trong PHP (isset, empty,…)

    date time xu ly thoi gina ngay thang php

    Bài 17: Xử lý date time ngày tháng trong PHP

No Result
View All Result
  • Back-End
    • PHP
      • PHP căn bản
      • PHP OOP
  • Learn PHP
  • Khoá Học
  • PHP
    • All
    • PHP căn bản
    • PHP OOP
    lap trinh huong doi tuong oop php la gi

    PHP OOP – Bài 1: Lập trình hướng đối tượng trong PHP là gì?

    lo trinh hoc php

    Lộ trình học PHP từ cơ bản đến nâng cao chuyên nghiệp

    xu ly ngoai le php exception

    Bài 19: Xử lý ngoại lệ trong PHP – PHP Exceptions

    kiem tra du lieu isset php

    Bài 18: Những hàm kiểm tra dữ liệu trong PHP (isset, empty,…)

    date time xu ly thoi gina ngay thang php

    Bài 17: Xử lý date time ngày tháng trong PHP

No Result
View All Result
Tân Hồng IT
No Result
View All Result
Home Back-End

Bài 15: Session trong PHP

by Tân Hồng IT
19/02/2020
in Back-End, Development, Kiến thức, Kiến thức lập trình, Learn PHP, PHP, PHP căn bản, Web Development
0
ADVERTISEMENT

Contents

  1. Các ứng dụng thường dùng đối với Session
  2. Quy cách mà Session hoạt động
  3. Đăng ký bắt đầu tạo một session
  4. Lấy và đọc giá trị của Session trong PHP
  5. Chỉnh sửa, thay đổi giá trị của biến Session trong PHP
  6. Các xoá, huỷ một session trong PHP
  7. BÀI TẬP
  8. Kết thúc

Ở bài 14 mình đã cho các bạn biết về khái niệm và cách thiết lập cookie trong PHP, tiếp tục series học PHP căn bản, sang bài này mình sẽ giới thiệu Session trong PHP là gì, hiểu nó và cách sử dụng nó như thế nào!

Session là một biến được sử dụng để lưu lại dữ liệu của người sử dụng website hoặc là lưu trữ tùy chọn cấu hình hệ thống cho người dùng. Không giống với cookie, biến session được lưu trên một tập tin trên máy chủ.

session trong php
Bài 15: Session trong PHP

Các ứng dụng thường dùng đối với Session

  • Session dùng theo dõi và kết nối giữa các phiên làm việc của người dùng
  • Session dùng để tạo các ứng dụng giỏ hàng, đăng nhập,…
  • Đếm số người dùng đang online,…
  • Bạn muốn truyền giá trị từ trang này sang trang khác.
  • Thay thế cho cookie nếu trình duyệt đó không hỗ trợ cookies.

Quy cách mà Session hoạt động

Khi một session bắt đầu, những điều sau sẽ xảy ra:

  • Đầu tiên, PHP tạo một định danh duy nhất cho session cụ thể đó, định danh này là chuỗi kí tự ngẫu nhiên của 32 số hexa, như 3c7foj34c3jj973hjkop2fc937e3443.
  • 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_. Ví dụ như: sess_3c7foj34c3jj973hjkop2fc937e3443.

Khi PHP script muốn lấy giá trị từ một biến session, PHP 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, Server sẽ chấm dứt session sau một thời gian đã định trước, thường là 30 phút.

Đăng ký bắt đầu tạo một session

Trước khi bạn sử dụng session bạn phải khai báo cho PHP biết bằng cách đặt dòng lệnh session_start() phía trên đầu mỗi file. Nếu bạn dùng nhiều file include lẫn nhau thì đặt nó ở file chính.

Đầu tiên hàm này kiểm tra một session đã được bắt đầu hay chưa, nếu chưa thì nó sẽ bắt đầu một session. Luôn nhớ rằng lời gọi hàm session_start() này được đề nghị đặt ở đầu của mỗi file (trước các thẻ html).

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

<?php
// bắt đầu session (luôn đặt ở đầu file)
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Tạo biến session
$_SESSION["user_id"] = "123456";
$_SESSION["username"] = "tanhongit";
echo "Các biến session đã được tạo.";
?>
</body>
</html>
<?php	//Start the session	
session_start();	
?>	
<!DOCTYPE html>	
<html>	
<body>	
<?php	
//Set session variables	
$_SESSION["favcolor"] = "green";	
?>

Lấy và đọc giá trị của Session trong PHP

Bạn hãy tạo 2 file có nội dung code bên dưới. Bạn hãy chạy làn lượt từng file trên trình duyệt và xem kết quả nhé!

Lưu ý rằng các biến session không được chuyển riêng lẻ đến từng trang mới, thay vào đó chúng được truy cập từ session mà chúng ta khai báo ở đầu mỗi trang (session_start()) và các giá trị biến session được lưu trữ trong biến toàn cầu $_SESSION:

<?php
// bắt đầu session
session_start();
?>
<!DOCTYPE html>
<html>
<body>
 
<?php
// Tạo biến session
$_SESSION["user_id"] = "123456";
$_SESSION["username"] = "tanhongit";
echo "Các biến session đã được tạo.";
?>
</body>
</html>
<?php
// bắt đầu session
session_start();
?>
<!DOCTYPE html>
<html>
<body>
    <?php
    // hiển thị các biến session được tạo ở file session_demo1.php
    echo "user_id là: " . $_SESSION["user_id"] . "<br>";
    echo "username là: " . $_SESSION["username"];
    ?>
</body>
</html>

kết quả bạn sẽ thấy sau khi chạy lần lượt 2 file là thông tin của session được lưu lại:

user_id là: 123456
username là: tanhongit

Ngoài ra để tránh gặp lỗi, các bạn hãy nhớ luôn sử dụng hàm isset() để kiểm tra xem nó có tồn tại hay không rồi hẵn láy nhé! Ví dụ về hàm isset() mình đã có làm nhiều trong các bài viết trước rồi, và mình cũng sẽ có viết riêng 1 bài nói về hàm isset() cho các bạn tham khảo nhé!

Để in tất cả các biến session, sử dụng hàm print_r():

print_r($_SESSION);

Chỉnh sửa, thay đổi giá trị của biến Session trong PHP

Để thay đổi giá trị của một session, ta chỉ cần thiết lập giá trị mới đè lên giá trị cũ của session đó.

<?php
// bắt đầu session
session_start();
?>
<!DOCTYPE html>
<html>
<body>
    <?php    
    $_SESSION["username"] = "tanhongitcom";
    print_r($_SESSION);
    ?>
</body>
</html>

Kết quả: Array ( [user_id] => 123456 [username] => tanhongitcom )

Qua ví dụ dưới đây sẽ cho các bạn thấy rõ hơn về sự thay đổi giá trị của Session.

Ví dụ: Xuất ra số lần truy cập vào trang web thông qua session

<?php
session_start();

if (isset($_SESSION['count'])) {
    $_SESSION['count'] += 1;
} else {
    $_SESSION['count'] = 1;
}
$mess = "Bạn đã truy cập trang này " .  $_SESSION['count'] . " lần trong session này.";
?>
<html>
<body>
    <?php echo ($mess); ?>
</body>
</html>

Sau khi bắt đầu 1 session, ta tạo 1 biến session có tên là count, tiếp tục với biểu thức điều kiện if sẽ kiểm tra số lần load vào trang này và xuất ra tổng số lần. Bạn thử load lại nhiều lần sẽ thấy giá trị của nó thay đổi lần lượt tăng thêm 1.

Các xoá, huỷ một session trong PHP

  • Xóa tất cả biến session đã tạo ta sử dựng hàm session_unset()
  • Xóa luôn toàn bộ session, ta sử dụng hàm session_destroy()
  • Hoặc sử dụng hàm unset() để xóa một biến.

Trong đó hàm unset() dùng để giải phóng một biến ra khỏi bộ nhớ.

// Xóa session username
unset($_SESSION['username']);
  
// Xóa hết session
session_destroy();

BÀI TẬP

  1. Xây dựng ứng dụng lưu phiên đăng nhập người dùng
  2. Xây dựng ứng dụng lưu thông tin giỏ hàng

Kết thúc

Vậy là qua bài viết trên mình đã giới thiệu cho các bạn về session, qua 2 bài vừa rồi nói về cookie, session là 2 khái niệm bạn sẽ phải đụng chạm rất nhiều vào các ứng dụng, các dự án sau này. Các bạn hãy áp dụng thật nhiều để nắm rõ cách sử dụng và hoạt động của nó nhé! Qua bài viết tiếp theo chúng ta sẽ qua một khái niệm mới về file và các hàm xử lý file trong PHP.

Nếu các bạn cảm thấy Website TanHongIT.Com thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!

Xem thêm:

  •  Bài 7: Vòng lặp Foreach trong PHP (Các loại vòng lặp phần 2)
  • Bài 8: lệnh Break, Continue và các hàm (function) exit, die thường dùng trong PHP
  • Bài 9: Hàm (Function) Trong PHP

  • Bài 10: Mảng (Array) Trong PHP

  • Bài 11: Các hàm xử lý mảng (Array) trong PHP
  • Bài 12: Chuỗi (String) Và Các Hàm Xử Lý Chuỗi Trong PHP
  • Bài 13: Phương thức GET và POST trong PHP
  • Bài 14: Cookie là gì? Cookie trong PHP

CHÚC CÁC BẠN THÀNH CÔNG VÀ VUI VẺ

5 / 5 ( 2 votes )
Tags: CodeCode WebKiến thứcKiến Thức Lập TrìnhLearn PHPPHPWeb DevelopmentWebsite
ShareTweetScanShare
Previous Post

Bài 13: Phương thức GET và POST trong PHP

Next Post

Mô hình Client-Server là gì và cách hoạt động Client-Server

Related Posts

lam viec code nguoi khac

Cách làm việc với code của người khác

09/03/2020
lap trinh huong doi tuong oop php la gi

PHP OOP – Bài 1: Lập trình hướng đối tượng trong PHP là gì?

05/03/2020
lo trinh hoc php

Lộ trình học PHP từ cơ bản đến nâng cao chuyên nghiệp

28/02/2020 - Updated on 06/03/2020
xu ly ngoai le php exception

Bài 19: Xử lý ngoại lệ trong PHP – PHP Exceptions

26/02/2020 - Updated on 04/03/2020
kiem tra du lieu isset php

Bài 18: Những hàm kiểm tra dữ liệu trong PHP (isset, empty,…)

24/02/2020
date time xu ly thoi gina ngay thang php

Bài 17: Xử lý date time ngày tháng trong PHP

23/02/2020
Next Post
mo hinh client server

Mô hình Client-Server là gì và cách hoạt động Client-Server

apache and php

Vai trò Apache và PHP Hoạt Động Cùng Nhau Như Thế Nào

ham xu ly file trong php

Bài 16: Các hàm xử lý và làm việc với file trong PHP

date time xu ly thoi gina ngay thang php

Bài 17: Xử lý date time ngày tháng trong PHP

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

  • Trending
  • Comments
  • Latest
lo trinh hoc php

Lộ trình học PHP từ cơ bản đến nâng cao chuyên nghiệp

28/02/2020 - Updated on 06/03/2020
date time xu ly thoi gina ngay thang php

Bài 17: Xử lý date time ngày tháng trong PHP

23/02/2020
lenh ham thuong dung trong php

Bài 8: lệnh Break, Continue và các hàm (function) exit, die thường dùng trong PHP

17/02/2020
ham xu ly file trong php

Bài 16: Các hàm xử lý và làm việc với file trong PHP

22/02/2020
hang va bien trong php

Bài 2: Cú pháp trong PHP, Khai báo hằng và biến trong PHP

15/02/2020
gioi thieu ngon ngu lap trinh php

Bài 1: Ngôn ngữ lập trình PHP là gì và hướng dẫn thiết lập môi trường để lập trình PHP

1
lam viec code nguoi khac

Cách làm việc với code của người khác

0
apache web server

Apache là gì? Và Kiến thức về Apache Web Server

0
source code dong ho dong html5

Share đồng hồ động source code web html5 css js cực đẹp

0
kieu du lieu trong php

Bài 3: Những kiểu dữ liệu trong PHP

0
lam viec code nguoi khac

Cách làm việc với code của người khác

09/03/2020
lap trinh huong doi tuong oop php la gi

PHP OOP – Bài 1: Lập trình hướng đối tượng trong PHP là gì?

05/03/2020
lo trinh hoc php

Lộ trình học PHP từ cơ bản đến nâng cao chuyên nghiệp

28/02/2020 - Updated on 06/03/2020
xu ly ngoai le php exception

Bài 19: Xử lý ngoại lệ trong PHP – PHP Exceptions

26/02/2020 - Updated on 04/03/2020
kiem tra du lieu isset php

Bài 18: Những hàm kiểm tra dữ liệu trong PHP (isset, empty,…)

24/02/2020
  • lo trinh hoc php

    Lộ trình học PHP từ cơ bản đến nâng cao chuyên nghiệp

    0 shares
    Share 0 Tweet 0
  • Bài 17: Xử lý date time ngày tháng trong PHP

    7 shares
    Share 7 Tweet 0
  • Bài 8: lệnh Break, Continue và các hàm (function) exit, die thường dùng trong PHP

    0 shares
    Share 0 Tweet 0
  • Bài 16: Các hàm xử lý và làm việc với file trong PHP

    0 shares
    Share 0 Tweet 0
  • Bài 2: Cú pháp trong PHP, Khai báo hằng và biến trong PHP

    0 shares
    Share 0 Tweet 0
Tân Hồng IT

Chia sẻ tài liệu, kiến thức, thủ thuật tin học, máy tính, khóa học, lập trình, giải trí tin học công nghệ IT

DMCA.com Protection Status
  • About

© 2020 - Tutorial, tips, tricks Information technology knowledge by TanHongIT.

No Result
View All Result
  • Back-End
    • PHP
      • PHP căn bản
      • PHP OOP
  • Learn PHP
  • Khoá Học
  • PHP

© 2020 - Tutorial, tips, tricks Information technology knowledge by TanHongIT.