thiet ke web,thiet ke giao dien,thiet ke phan mem,seo len google

logo

ITO PRINT OFFICE

Sửa chửa máy in
Nạp mực máy in
Cài đặt máy in
Linh kiện máy in
Nạp mực máy photo
Sủa máy in tận nhà
Vệ sinh máy in

Trang

quang cao
Sự kiện tiêu biểu

Làm việc với Cookie và Session

(Blogtamsu) - GIỚI THIỆU Trong quá trình phát triển web, một nhu cầu rất thường xuyên nảy ra là làm cách nào truyền dữ liệu từ trang web này sang trang....

Công Nghệ Webblog - Chuyên nhận rip, thiết kế, cung cấp: Template blogspot, template blogger chuẩn SEO, Tối ưu website, tích hợp tin tức, giỏ hàng cho blogger bán hàng...

GIỚI THIỆU
Trong quá trình phát triển web, một nhu cầu rất thường xuyên nảy ra là làm cách nào truyền dữ liệu từ trang web này sang trang web khác? Tất nhiên ta có thể dùng form để submit và truyền data từ một trang web sang trang web tiếp theo qua phương thức POST hoặc truyền dữ liệu qua URL theo phương thức GET.
Tuy nhiên, cách làm này không phải lúc nào cũng khả thi. Trong nhiều trường hợp, cách dùng form hoặc URL gây khá nhiều phiền phức hoặc hầu như không thể thực hiện được. Ví dụ: người dùng click lên 1 link trên trang web của bạn để đi sang 1 website khác, rồi click lên 1 link trên website kia để quay ngược về website của bạn.
Rất may mắn, vấn đề được giải quyết khá dễ dàng với sự trợ giúp của COOKIE và SESSION. Và còn hơn thế nữa, PHP cung cấp rất sẵn nhiều hàm và phương tiện để làm việc dễ dàng và hiệu quả với COOKIE và SESSION. Trong bài viết này chúng ta sẽ tìm hiểu về COOKIE, SESSION và cách sử dụng COOKIE, SESSION trong PHP.
COOKIE VÀ SESSION LÀ GÌ?
Cookie là 1 đoạn dữ liệu được truyền đến browser từ server, đoạn dữ liệu này sẽ được browser lưu trữ (trong memory hoặc trên đĩa) và sẽ gởi ngược lên lại server mỗi khi browser tải 1 trang web từ server [1].
Những thông tin được lưu trữ trong cookie hoàn toàn phụ thuộc vào website trên server. Mỗi website có thể lưu trữ những thông tin khác nhau trong cookie, ví dụ thời điểm lần cuối bạn ghé thăm website, đánh dấu bạn đã login hay chưa, v.v...
Cookie được tạo ra bởi website và gởi tới browser, do vậy 2 website khác nhau (cho dù cùng host trên 1 server) sẽ có 2 cookie khác nhau gởi tới browser. Ngoài ra, mỗi browser quản lý và lưu trữ cookie theo cách riêng của mình, cho nên 2 browser cùng truy cập vào 1 website sẽ nhận được 2 cookie khác nhau.
Session là khoảng thời gian người sử dụng giao tiếp với 1 ứng dụng. Session bắt đầu khi người sử dụng truy cập vào ứng dụng lần đầu tiên, và kết thúc khi người sử dụng thoát khỏi ứng dụng [2]. Mỗi session sẽ có một định danh (ID), 1 session khác nhau sẽ có 2 ID khác nhau. Trong ngữ cảnh ứng dụng web, website sẽ quyết định khi nào session bắt đầu và kết thúc.
Trong 1 session, website có thể lưu trữ một số thông tin như đánh dấu bạn đã login hay chưa, những bài viết nào bạn đã đọc qua, v.v...
Điểm giống và khác nhau giữa Cookie và Session
Cookie và Session đều có chung mục đích là lưu giữ data để truyền từ 1 trang web sang 1 trang web khác (trên cùng website). Nhưng phước thức lưu trữ và quản lý data của Cookie và Session có phần khác nhau.
Cookie sẽ được lưu trữ tại browser, do browser quản lý và browser sẽ tự động truyền cookie ngược lên server mỗi khi truy cập vào 1 trang web trên server.
Dữ liệu lưu trữ trong Session sẽ được ứng dụng quản lý, trong ngữ cảnh web, ứng dụng ở đây sẽ là website và webserver. Browser chỉ truyền ID của session lên server mỗi khi truy cập vào website trên server.
Tự liên hệ giữa Session và Cookie: Mỗi Session gắn với 1 định danh (ID). ID sẽ được tạo ra trên server khi session bắt đầu và được truyền cho browser. Sau đó browser sẽ truyền lại ID này lên server mỗi khi truy cập vào website. Như vậy ta có thể thấy rằng sẽ rất tiện nếu như Session ID được lưu trữ trong Cookie và được browser tự động truyền lên server mỗi khi truy cập vào website.
Sử dụng Cookie hay Session?
Sử dụng Session hoặc Cookie là tuỳ vào lựa chọn của Lập trình viên, tuy nhiên Session thường được ưa chuộng hơn Cookie vì một số lý do sau:
  • Trong một số trường hợp Cookie không sử dụng được. Có thể browser đã được thiết lập để không chấp nhận cookie, lúc đó session vẫn sử dụng được bằng cách truyền session ID giữa các trang web qua URL, ví dụ: script.php?session=abc123.
  • Lượng data truyền tải giữa browser và server: chỉ mỗi session ID được truyền giữa browser và server, data thực sự được website lưu trữ trên server.
  • Bảo mật: càng ít thông tin được truyền tải qua lại giữa browser và client càng tốt, và càng ít thông tin được lưu trữ tại client càng tốt.

SỬ DỤNG COOKIE TRONG PHP
Sử dụng Cookie trong PHP khá đơn giản. Để đặt (set) cookie, bạn chỉ cần sử dụng 1 lệnh gán đơn giản: $_COOKIE[tên_cookie] = giá_trị;. Và để đọc (get) lại giá trị của cookie, bạn chỉ cần đọc biến $_COOKIE[tên_cookie].
Ta hãy xem ví dụ sau:
//nội dung file a.php

$t = time();
$_COOKIE['abc'] = time();
?>

a.php
Giá trị của cookie đã được gán giá trị  echo $t; ?>. Click "b.php">vào đây để kiểm tra.
//nội dung file b.php

b.php
Giá trị của Cookie được gán trong "a.php">file a.php:  echo $_COOKIE['abc']; ?>.
Lưu 2 đoạn mã trên vào 2 file a.php và b.php. Đầu tiên, dùng browser truy cập vào file a.php bạn sẽ thấy 1 màn hình tương tự như sau:
Giá trị của cookie đã được gán giá trị 1237828391. Click vào đây để kiểm tra.
Click vào link "vào đây" để truy cập qua file b.php bạn sẽ thấy 1 màn hình tương tự như sau:
Giá trị của Cookie được gán trong file a.php: 1237828391.
SỬ DỤNG SESSION TRONG PHP
Sử dụng Session trong PHP cũng đơn giản không kém :-) Đầu tiên, bạn cần khởi tạo Session bằng cách gọi hàm session_start(), sau đó việc đặt giá trị cho session sẽ đơn giản chỉ là lệnh gán $_SESSION[tên_session] = giá_trị;, và để đọc session, bạn chỉ cần đọc giá trị của biến $_SESSION[tên_session].
Ta hãy xem ví dụ sau:
//nội dung file a.php

session_start();
 
$t = time();
$_SESSION['username'] = 'guest';
$_SESSION['time'] = $t;
?>

a.php

Giá trị của Session đã được gán:

username = guest

time =  echo $t; ?>

Click "b.php">vào đây để kiểm tra.

//nội dung file b.php

session_start();
?>

b.php

Giá trị của hiện tại của Session được gán trong "a.php">file a.php:

username =  echo $_SESSION['username']; ?>

time =  echo $_SESSION['time']; ?>

Lưu 2 đoạn mã trên vào 2 file a.php và b.php. Đầu tiên, dùng browser truy cập vào file a.php bạn sẽ thấy 1 màn hình tương tự như sau:
Giá trị của Session đã được gán:
username = guest
time = 1237828417
Click vào đây để kiểm tra.
Click vào link "vào đây" để truy cập qua file b.php bạn sẽ thấy 1 màn hình tương tự như sau:
Giá trị của hiện tại của Session được gán trong file a.php:
username = guest
time = 1237828417
Lấy session ID: trong nhiều trường hợp, bạn cần lấy giá trị của session ID (để đếm số lượng session đã được tạo chẳng hạn), PHP cung cấp cho ta hàm session_id() để lấy giá trị hiện tại của session ID.
Lưu ý: hàm session_id() phải được gọi sau hàm session_start(). Ví dụ:
//khời tạo session
session_start();
 
//lấy sesion ID
$id = session_id();
echo "Session ID = ".$id;

MỘT SỐ LƯU Ý KHI SỬ DỤNG COOKIE VÀ SESSION
  • Các lệnh gán giá trị cho Cookie và Session phải nên được gọi trước khi bất cứ dữ liệu nào được xuất ra browser. Thậm chí 1 ký tự trắng ở đầu chương trình (có ký tự trắng trước Giới thiệu - Các bước chuẩn bị cần thiết".
  • Lệnh session_start() phải được gọi ở đầu chương trình, trước tất cả các lệnh gán hoặc đọc session.
CÁC HÀM PHP ĐƯỢC DÙNG TRONG VÍ DỤ
TÀI LIỆU THAM KHẢO

Contact us

Admin

Tìm kiếm bài viết

Maytinhrpro Share

MAYTINHPRO.COM

Máy tính văn phòng
Máy tính doanh nghiệp
Máy in văn phòng
máy in cá nhân
Máy chiếu văn phòng
máy fax cty
Máy tính bàn

MAYTINHPRO.COM

dịch vụ máy tính
sửa chữa máy in
vệ sinh máy tính
bảo trì máy máy
cài đặt windows
dịch vụ sửa chữa máy in
dịch vụ cài đặt máy in

Kết Nối Maytinhpro

Hotline: 0972 893 393 - 0908 113 095
Skype: vkmaytinhpro@gmail.comFacebook: https://www.facebook.com/dichvusuachua
Website: www.maytinhpro.com
OFICE: 185 Đường Hoàng Sa - P.Đakao - Quận 1 - TP.HCM
CPO: 184/15 LH80, P.Hiệp Thành. Quận 12.HCM
Len dau trang

HÌNH ẢNH THI CÔNG

Tag: dịch vụ sơn nước , dịch vụ sơn nhà, sơn nhà giá rẻ, sơn nhà đẹp, sơn nhà hồ chí minh, sơn sửa nhà phố, sơn nước uy tin, sơn nước tận nhà, sơn nước tại nhà, sơn nước chất lượng, sơn nhà đẹp, sơn nhà trọn gói, sơn giả đá, sơn giả gỗ,sơn nhà sài gòn, sơn nhà siêu đẹp

DỊCH VỤ SƠN NHÀ TẬN NƠI

  • Bốn Tư

    Hotline - Mr Bốn

    Call: 097 777 0017

    hotrokythuat@gmail.com

    skype

Tư Vấn Dịch vụ - Mr.Tư

Call: 097 777 0017

hotrokythuat@gmail.com

skype Mr Bốn

Xem thêm>>

Xem thêm>>

Đóng liên hệ [x]
hotline0916 72 69 59