Truyền biến giữa các trang trong php

Truyền biến giữa các trang trong php
Chào các bạn, hôm nay 20/04/2013, trời đẹp, nắng nhẹ, không mưa, rất thích hợp go out với some guys or girls, nhưng mà vì vẫn còn là FA, hơn nữa đang 'viêm màng túi' nên ở nhà viết bài blog giải khuây ^^.

OK! Hôm nay chúng ta sẽ nói về cách thức truyền biến giữa các trang trong PHP.

Về cơ bản có 04 cách truyền biến giữa các trang: URL,session, cookie, HTML form. Hãy xem qua một số cấu trúc khi nhận biến truyền qua các trang:

$_GET[‘tên biến’]: Khi phương thức chuyển biến là “GET” phương thức trong HTML forms.

$_POST[‘tên biến’]: Khi phương thức chuyển biến là “POST” phương thức trong HTML forms.

$_SESSION[‘tên biến’]: Khi biến đã được ấn định giá trị từ một session đặc biệt.

$_COOKIE[‘tên biến’]: Khi biến đã được ấn định giá trị từ một cookie.

$_REQUEST[‘tên biến’]:Khi nó không quan trọng ($_REQUEST bao gồm các biến chuyển từ bất cứ cách nào ở trên).

$_SERVER[‘tên biến’]:  Khi biến đã được ấn định giá trị từ một server.

$_FILES[‘tên biến’]: Khi biến đã được ấn định giá trị từ một  file upload.

$_ENV[‘tên biến’]: Khi biến đã được ấn định giá trị từ một môi trường hệ điều hành. 

1. Truyền biến thông qua URL

- Hãy xem đường link sau:

http://www.mydomain.com/news/articles/showart.php?id=12345

- Những phần sau dấu ? gọi là chui truy vấn (query string). Có thể nối giữa các biến trong URL bằng cách dùng dấu &. Ở đây mình truyền biến id có giá trị 12345 đến trang showart.php
- Ở đây có một vài bất lợi :

  • Mọi người có thể nhìn thấy giá trị của biến, những thông tin nhạy cảm thì không được bảo mật khi sử dụng cách thức này.
  • Người dùng  có thể đổi giá trị biến trong URL, mở những phần mà người lập trình không muốn hiển thị.
  • Một người sử dụng có thể gặp phải những thông tin không chính xác hoặc đã cũ khi dùng URL đã được lưu với những biến cũ trong đó.

- Trong trang showart.php chúng ta có thể hứng biến trên bằng cách sau:

2. Truyền biến bằng Session:

- Đây thực chất không phải là truyền biến mà là thiết lập một biến có giá trị và có thể truy xuất được ở bất cứ file nào trong site.

- Cách thiết lập như sau:

session_start();// Khởi tạo Session

$_SESSION['id'] == 12345; // Khởi tạo session có tên là id và giá trị là 12345

?>

- Nếu mình đứng ở 01 file php khác, muốn sử dụng biến session trên thì mình làm như sau:

session_start();// Khởi tạo Session

echo $_SESSION['id']; // in biến ra trang Web

?>

3. Truyền biến qua Cookie:

- Cookie là một file dữ liệu nhỏ được Webserver gửi và lưu trên trình duyệt của máy khách, nó chứa một số các thông tin về quá trình người dùng lướt web như: username, mật khẩu, lịch sử lướt web...

- Cookie được người lpaaj trình tạo ra và có giá trị như là một biến số. Để tạo cookie chúng ta làm như sau:


setcookie("user", "Alex Porter", time()+60*60*24*30);
//Tạo cookie có tên "user", giá trị "Alex Porter", thời gian tồn tại trên máy khách là 30 ngày
?>

 - Sau thời gian 30 ngày cookie sẽ tự động được xóa. Đơn vị tính thời gian ở đây là giây.

4. Truyền biến thông qua HTML Form:

- Form là hình thức ô nhập dữ liệu và gửi đến file xử lý, được các lập trình viên làm để khách nhập thông tin.

- Chúng ta có một Form như sau (về cách tạo form, thuộc tính... là HTML nhé, mình sẽ trình bày thành một bài khác trong mục HTML):



       

- Form trên có tên là "information", cách thức gửi dữ liệu là POST, và đích đển của dữ liệu là file handle.php. Ví dụ, mình nhập tên mình vào ô input và nhập tên và sau đó nhấn nút Submit. Form sẽ chuyển hướng trình duyệt đến file handle.php kèm theo dữ liệu đã nhập.

- Trong file handle.php mình hứng dữ liệu như sau:

$Fulname = $_POST['Fullname'];

echo $Fullname;

?>

OK! truyền biến trong PHP cơ bản chỉ có vậy thui mình viết hơi ngắn gọn bạn nào góp ý thì ghi bên dưới nhé ^^