Học PHP/Biến môi trường

Tủ sách mở Wikibooks
Buớc tưới chuyển hướng Bước tới tìm kiếm

Nội dung chính Ý kiến (0)

Home » PHP căn bản » Các biến môi trường của PHP($_POST,$_GET)

Bài mới  Ý kiến cho bài viết

PHP hỗ trợ sẵn một số biến:

+ Biến request$HTTP_GET_VARS hoặ $_GET, $HTTP_POST_VARS hoặc $_POST): dùng để lấy giá trị từ các form hoặc lấy giá trị theo đường dẫn. + Biến môi trường $_SERVER hoặc $_ENV: lấy các giá trị về hệ thống ví dụ IP của mây đang truy cập website, đường dẫn đến file dang thực thi tren web browser

Ví du: + $_HTTP_GET_VARS hoặc $_GET, hay biến này cùng lấy dữ liệu từ form theo phuong thức GET hoặc lấy dữ liệu theo đường dẫn. bạn tạo file search.php có nội dung như sau:

<? 
print $_GET['php']; 
?> 

Khi đó nếu bạn gọi search.php?php=xxxx thì kết quả in ra sẽ là xxxx Ở đây biến $_GET lấy nội dung theo các đối số của đường link

+ $_HTTP_POST_VARS hoặc $_GET, hay biến này cùng lấy dữ liệu từ form theo phuong thức POST

Bạn tạo file .htm nội dung như sau: 

<form method=POST action="search.php"> <input type="text" name="search"> <input type="submit" value="Submit" </form>

Tạo file search.php có nội dung như sau: 

<? print $_POST['search']; ?>

Khi bạn bấm nút Submit trên file .htm thì nội dung bạn nhập trong form có name="search" sẽ được gửi đến trang search.php (action="search.php) bằng phương thức post(method="post") lúc đó trong trang search.php để nhận dữ liệu từ trang .htm fải sử dụng biến $_POST['search'] để nhận dữ liệu từ form (có name = search) từ trang .htm.

Ghi chú: $_GET và $_POST là hình thức viết ngắn của $HTTP_GET_VARS và $HTTP_POST_VARS , $_GET và $_POST chỉ hổ trợ cho những phiên bản sau này của PHP trước đây khô hỗ trợ ( và hiện nay fần lớn host hổ trợ php 4.x nên có thể dùng dạng ngắn gọn được)

Các biến $_SERVER và $_ENV: láy giá trị của hệ thống một số giá trị thường sử dụng: - $_ENV["HTTP_USER_AGENT"]: Tên trình duỵệt đang sử dụng để view website - $_ENV["SERVER_ADDR"]: IP máy chủ - $_SERVER['HTTP_HOST'] tên host của webisite([phpbasic.com http://phpbasic.com]) ..................

Nội dung chính Ý kiến (4)

Home » PHP căn bản » Session

Bài mới  Ý kiến cho bài viết

Khi bạn cần lưu một giá trị từ trang này sang trang khác, nếu sử dụng biến thông thường thì giá trị sẽ bị thay đổi, ví du: page1.php có nội dung: <? $a = 5; print '<a href="page2.php">Page 2</a>'; ?> page2.php co nội dung <? print 'giá trị: '.$a; ?> Sau khi trang page1.php được gọi click vào link Page 2 thì trang page2.php được gọi và kết quả của trang page2.php là 'giá trị: '

Rõ ràng trong trang page2.php giá trị của biến $a không được giử lại từ trang page1.php Để lưu lại thông tin từ trang page1.php bạn sử dụng một biến session, nội dung page1.php và page2.php được thay đổi như sau: page1.php <? session_start(); $_SESSION['a'] = 5; print '<a href="page2.php">Page 2</a>'; ?> page2.php co nội dung <? session_start(); print 'giá trị: '.$_SESSION['a']; ?>

Khi đó kết quả trang page2.php là giá trị: 5 như vậy giá trị của biến session được sử dụng từ trang page1.php

Các biến session được dùng thường xuyên trong các ứng dụng đăng nhập, giỏ hàng.......

      • Khi sử dụng session cần lưu ý:

- dòng session_start() phải được đặt ở dòng đầu tiên của trang .php chỉ sau thẻ < ?