Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; WP_MatchesMapRegex has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/class-wp.php on line 632

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Translation_Entry has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/entry.php on line 14

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; POMO_Reader has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/streams.php on line 12

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; POMO_FileReader has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/streams.php on line 120

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; POMO_StringReader has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/streams.php on line 175

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; POMO_CachedFileReader has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/streams.php on line 221

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; POMO_CachedIntFileReader has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/streams.php on line 236

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; WP_Widget_Factory has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/widgets.php on line 544

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzAdSense has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/easy-adsense-lite.php on line 38

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzAdsWidget has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/easy-adsense-lite.php on line 941

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzAdsSearch has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/easy-adsense-lite.php on line 1003

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzAdsLU has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/easy-adsense-lite.php on line 1078

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzBaseOption has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 22

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzCheckBox has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 174

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzRadioBox has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 199

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzSelect has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 250

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzMessage has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 294

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzHelpTag has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 313

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzHelpPopUp has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 328

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzTextArea has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 346

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzText has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 366

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzSubmit has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 385

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzColorPicker has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 409

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzOneTab has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 432

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzMiniTab has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 476
Cookie và session cơ bản trong php

Khoá học PHP cơ bản online Bài 4: Cookie và Session cơ bản trong PHP

Giới thiệu về Cookie và Session

Cookie Session  là hai phương pháp quản lý các phiên làm việc giữa client  và server.  

Ví dụ, lần đầu tiên khi bạn vào facebook, bạn phải đăng nhập. Sau khi đăng nhập, tài khoản của bạn sẽ được gán cho một phiên làm việc nào đó, và được giới hạn trong một khoảng thời gian nhất định.

Cụ thể, sau khi đăng nhập, hệ thống sẽ lưu lại thông tin cơ bản của bạn như id, tên, email sử dụng vào Session hoặc cookies. Từ đó hệ thống kiểm tra xem bạn đăng nhập hay chưa, và giới hạn quyền của bạn (ví dụ như đăng nhập mới có thể mua hàng ) …

  1. Cookie

Cookie là những dữ liệu được lưu ở phía client (người dùng)

Mỗi khi client  gửi yêu cầu lên một server nào đó, nó sẽ gửi phần dữ liệu được lưu trong cookie tương ứng với server máy chủ đó.

Dữ liệu lưu trong cookie phụ thuộc vào phía server, bao gồm :

  • Địa chỉ URL mà client sẽ gửi cookie tới.
  • Thời gian hết hạn của cookie.
  • Các cặp biến, giá trị được lưu trữ liên tục.

Cách sử dụng Cookie

Hãy làm một ví dụ đơn giản

  • Khởi tạo cookie với cú pháp:

setcookie(“tên cookie”, “giá trị”, time()+thời gian sống);

Tạo file cookie.php

 

 

Lệnh setcookie(“name”,”Test Cookie”,time() +3600); đã tạo một cookie có tên là name , giá trị là Test Cookie và thời gian tồn tại là 3600 giây (1 giờ ).

Đoạn html hiển thị link dẫn đến file UseCookie.php ,  nơi mà ta sẽ sử dụng dữ liệu mà cookie chúng ta đã tạo ra.

 

  • Sử dụng cookie :

Lấy cookie thông qua biến $_COOKIE[“tên cookie”]

Tạo file UseCookie.php

 

Nhiệm vụ của trang này là hiển thị ra giá trị của cookie name  mà chúng ta tạo ở file cookie.php trước đó thông qua biến $_COOKIE[‘name’]

Kết quả hiển thị:
Tên của Cookie là Test Cookie
Đến trang hủy Cookie

  • Hủy cookie

setcookie(“tên cookie”,”giá trị”,time()-thời gian sống);

(thời gian sống ở đây đúng bằng thời gian sống khi ta khởi tạo cookie)

Tạo file deleteCookie.php

 

Trang này sẽ xóa cookie mà ta đã tạo ở đầu (thay mỗi “time() +” thành “time() –“  ).

Đoạn html hiển thị link về trang UseCookie.php để test xem sau khi hủy cookie rồi , biến $_COOKIE[‘name’] còn tồn tại nữa không.

Cookie đã bị hủy nên biến $_COOKIE[‘name’] không xác định, hệ thống báo lỗi.

 

  1. Session

Session được lưu trữ hoàn toàn trên server, tính bảo mật cao. Các website thường sử dụng session để lưu thông tin người dùng khi họ đăng nhập.

Session là một cách đơn giản để lưu trữ một biến và khiến biến đó tồn tại từ trang này sang trang khác, và biến đó chỉ mất đi khi ta xóa nó hoặc hết tuổi thọ (thoát khỏi ứng dụng hoặc qúa thời gian load dữ liệu).

 

Cách sử dụng session

Trong mỗi trang bạn sử dụng session , hãy để đoạn code sau vào đầu trang

 Hãy làm một ví dụ đơn giản sau đây :

  • Đầu tiên, khởi tạo Session với cú pháp:

$_SESSION[“tên session”] = “giá trị”;

Tạo file session.php

Trang này có sử dụng session nên cần session_start();

Đăng ký biến $_SESSION[“name”] với giá trị  “Session”.

Trang hiển thị link dẫn đến trang UseSesssion.php , nơi ta sử dụng biến session.

  • Sử dụng biến Session

Tạo file UseSession.php

  • Hủy Session:

Cú pháp: session_destroy();

Tạo file deleteSession.php 

 

Kết quả là biến $_SESSION[“name”] đã bị hủy, hệ thống báo lỗi.

  1. Nên sử dụng cookie hay session ?

Sử dụng cookie hay session tùy thuộc vào người lập trình. Tuy nhiên,  Session thường được ưa chuộng hơn Cookie vì:

  • Trong một số trường hợp Cookie không sử dụng được (do browser hoặc các yếu tố từ client …)
  • Dữ liệu truyền tải giữa clientserver bằng session khá tiết kiệm : chỉ có session ID, còn dữ liệu thực sự chỉ lưu ở trên server, trong khi dùng cookie dữ liệu truyền tải sẽ lớn hơn.
  • Tính bảo mật cao: do Session ít không tin truyền tải giữa client và server, và dữ liệu chỉ lưu trên server.

You may also like...

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">