Giới thiệu
Script PHP bất kỳ truy cập được nhiều biến định nghĩa sẵn. Tuy nhiên nhiều biến phụ thuộc phần mềm web server, phiên bản PHP và yếu tố khác. Một số không dùng được cho script chạy command line. Biến $GLOBALS lưu tham chiếu tất cả biến toàn cục định nghĩa sẵn. Hầu hết hiển thị bởi phpinfo.php. Dưới đây giải thích các biến thường dùng.
$_SERVER
Mảng chứa thông tin header HTTP, script và môi trường. Các thành viên nổi bật:
- PHP_SELF - tên file script đang chạy. Ví dụ script trong thư mục test của document root local server trả về đường dẫn:
/test/testscript.php - SERVER_ADDR - IP server chạy script hiện tại.
- SERVER_NAME - Tên host server. Localhost trả về localhost.
- QUERY_STRING - Chuỗi truy vấn cặp key=value tách bằng & nối sau ? trong URL. Ví dụ https://localhost/testscript?name=xyz&age=20 trả chuỗi truy vấn.
- REQUEST_METHOD - Phương thức HTTP: GET, POST, PUT, DELETE. URL kèm query string dùng GET.
- DOCUMENT_ROOT - Thư mục cấu hình làm document root. XAMPP apache trả về
C:/xampp/htdocs. - HTTP_USER_AGENT - Chuỗi chỉ user agent (trình duyệt) truy cập trang.
- REMOTE_ADDR - IP máy client xem trang hiện tại.
- SERVER_PORT - Cổng server lắng nghe yêu cầu. Mặc định 80.
$_GET
Mặc định browser gửi request URL bằng HTTP GET. Query string gắn URL chứa cặp key=value nối bằng &. Mảng liên kết $_GET lưu các cặp này.
Giả sử URL: https://localhost/testscript?name=xyz&age=20
Ví dụ
<?php echo "Name: " . $_GET["name"] . "<br>"; echo "Age: " . $_GET["age"]; ?>
Kết quả
Name: xyz Age: 20
$_POST
Mảng liên kết cặp khóa-giá trị gửi URL bằng HTTP POST với content-type URLEncoded hoặc multipart/form-data.
Gửi dữ liệu đến script PHP bằng POST: chỉ định action=POST trong form HTML test.html:
<form action="testscript.php" method="POST"> <input type="text" name="name"> <input type="text" name="age"> <input type="submit" value="submit"> </form>
Script PHP:
Ví dụ
<?php echo "Name: " . $_POST["name"] . "<br>"; echo "Age: " . $_POST["age"]; ?>
Kết quả
Name: xyz Age: 20
$_FILES
Mảng liên kết chứa mục tải lên qua HTTP POST. Yêu cầu form POST với enctype multipart/form-data.
<form action="testscript.php" method="POST" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="submit"> </form>
Trong script PHP, truy cập _FILES:
Ví dụ
<?php print_r($_FILES); ?>
Kết quả
Array ( [file] => Array ( [name] => hello.html [type] => text/html [tmp_name] => C:\xampp\tmp\php9647.tmp [error] => 0 [size] => 56 ) )
$_REQUEST
Mảng liên kết cung cấp nội dung $_GET, $_POST, $_COOKIE.
$_SESSION
Mảng liên kết biến đại diện session HTTP.
$_ENV
Mảng biến môi trường nhập vào không gian tên toàn cục PHP.
$_COOKIE
Server lưu dữ liệu trên máy client dạng cookie. Cookie truyền mỗi lần request. Biến _COOKIE là mảng liên kết biến cookie và giá trị.