XEM MỤC LỤC CÁC BÀI VIẾT PHP
Biến SIÊU
TOÀN CỤC được giới thiệu trong PHP 4.1.0, và được xem như là biến có phạm vi sử
dụng trên tất cả phạm vi.
Biến TOÀN CỤC – SIÊU TOÀN CỤC trong PHP
Trong PHP,
biến “SIÊU TOÀN CỤC” nghĩa là chúng luôn có thể truy cập bất chấp phạm vi – bạn
có thể truy cập chúng từ bất kỳ hàm , lớp hoặc tập tin mà không cần phải làm gì
cả.
Các biến
siêu toàn cục của PHP là:
·
$GLOBALS
·
$_SERVER
·
$_REQUEST
·
$_POST
·
$_GET
·
$_FILES
·
$_ENV
·
$_COOKIE
·
$_SESSION
Biến $GLOBALS trong PHP
Biến $GLOBALS
là biến siêu toàn cục của PHP được dùng để truy cập các biến toàn cục từ bất kỳ
đâu trong các đoàn mã PHP (cũng như trong các hàm và phương thức).
PHP lưu trữ
tất cả biến toàn cục trong 01 mảng gọi là $GLOBALS[chỉ số].
Chỉ số của mảng lưu giữ tên biến.
Chỉ số của mảng lưu giữ tên biến.
Ví dụ dưới
đây cho thấy cách sử dụng biến siêu toàn cục $GLOBALS
<!DOCTYPE html>
<html>
<body>
<?php
$x = 75;
$y = 25;
function addition() {
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>
</body>
</html>
<html>
<body>
<?php
$x = 75;
$y = 25;
function addition() {
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>
</body>
</html>
Trong ví dụ
ở trên, vì z là 01 biến tồn tại bên trong mảng $GLOBALS , nên nó cũng có thể
truy cập bên ngoài hàm!
Biến $_SERVER trong PHP
Biến $_SERVER
là 01 biến siêu toàn cục trong PHP lưu giữ thông tin về headers, các đường dẫn,
và vị trí đoạn mã.
Ví dụ dưới
đây cho thất các sử dụng vài phần tử trong biến $_SERVER
<!DOCTYPE html>
<html>
<body>
<?php
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
?>
</body>
</html>
<html>
<body>
<?php
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
?>
</body>
</html>
Bảng danh
sách sau liệt kê các phần tử quan trọng nhất bên trong biến $_SERVER
Element/Code
|
Description
|
$_SERVER['PHP_SELF']
|
Returns
the filename of the currently executing script
|
$_SERVER['GATEWAY_INTERFACE']
|
Returns the version
of the Common Gateway Interface (CGI) the server is using
|
$_SERVER['SERVER_ADDR']
|
Returns
the IP address of the host server
|
$_SERVER['SERVER_NAME']
|
Returns the name of
the host server (such as www.lophocvitinh.com)
|
$_SERVER['SERVER_SOFTWARE']
|
Returns
the server identification string (such as Apache/2.2.24)
|
$_SERVER['SERVER_PROTOCOL']
|
Returns the name and
revision of the information protocol (such as HTTP/1.1)
|
$_SERVER['REQUEST_METHOD']
|
Returns
the request method used to access the page (such as POST)
|
$_SERVER['REQUEST_TIME']
|
Returns the
timestamp of the start of the request (such as 1377687496)
|
$_SERVER['QUERY_STRING']
|
Returns
the query string if the page is accessed via a query string
|
$_SERVER['HTTP_ACCEPT']
|
Returns the Accept
header from the current request
|
$_SERVER['HTTP_ACCEPT_CHARSET']
|
Returns
the Accept_Charset header from the current request (such as utf-8,ISO-8859-1)
|
$_SERVER['HTTP_HOST']
|
Returns the Host
header from the current request
|
$_SERVER['HTTP_REFERER']
|
Returns
the complete URL of the current page (not reliable because not all
user-agents support it)
|
$_SERVER['HTTPS']
|
Is the script
queried through a secure HTTP protocol
|
$_SERVER['REMOTE_ADDR']
|
Returns
the IP address from where the user is viewing the current page
|
$_SERVER['REMOTE_HOST']
|
Returns the Host
name from where the user is viewing the current page
|
$_SERVER['REMOTE_PORT']
|
Returns
the port being used on the user's machine to communicate with the web server
|
$_SERVER['SCRIPT_FILENAME']
|
Returns the absolute
pathname of the currently executing script
|
$_SERVER['SERVER_ADMIN']
|
Returns
the value given to the SERVER_ADMIN directive in the web server configuration
file (if your script runs on a virtual host, it will be the value defined for
that virtual host) (such as someone@lophocvitinh.com)
|
$_SERVER['SERVER_PORT']
|
Returns the port on
the server machine being used by the web server for communication (such as
80)
|
$_SERVER['SERVER_SIGNATURE']
|
Returns
the server version and virtual host name which are added to server-generated
pages
|
$_SERVER['PATH_TRANSLATED']
|
Returns the file
system based path to the current script
|
$_SERVER['SCRIPT_NAME']
|
Returns
the path of the current script
|
$_SERVER['SCRIPT_URI']
|
Returns the URI of
the current page
|
Biến $_REQUEST trong PHP
Trong PHP,
biến $_REQUEST được dùng để thu thập dữ liệu sau khi gửi (submit) 01 form HTML.
Ví dụ dưới
đây cho thấy 01 biểu mẫu với 01 vùng nhập dữ liệu và 01 nút submit.
Khi 01 người dùng gửi (submit) dữ liệu bằng cách bấm "Submit", dữ liệu của biểu mẫu được gửi đến tập tin được xác định trong thuộc tính action của thẻ <form> .
Trong ví dụ này, chúng ta trỏ về chính tập tin đó để xử lý dữ liệu biểu mẫu.
Nếu bạn muốn dùng 01 tập tin PHP khác để xử lý dữ liệu biểu mẫu cứ việc thay thế tập tin bạn muốn.
Sau đó, chúng ta có thể dùng biến siêu toàn cục $_REQUEST để thu thập giá trị của dữ liệu nhập vào.
Khi 01 người dùng gửi (submit) dữ liệu bằng cách bấm "Submit", dữ liệu của biểu mẫu được gửi đến tập tin được xác định trong thuộc tính action của thẻ <form> .
Trong ví dụ này, chúng ta trỏ về chính tập tin đó để xử lý dữ liệu biểu mẫu.
Nếu bạn muốn dùng 01 tập tin PHP khác để xử lý dữ liệu biểu mẫu cứ việc thay thế tập tin bạn muốn.
Sau đó, chúng ta có thể dùng biến siêu toàn cục $_REQUEST để thu thập giá trị của dữ liệu nhập vào.
<!DOCTYPE html>
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// collect value of input field
$name = htmlspecialchars($_REQUEST['fname']);
if (empty($name)) {
echo "Chưa nhập tên!!!";
} else {
echo $name;
}
}
?>
</body>
</html>
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// collect value of input field
$name = htmlspecialchars($_REQUEST['fname']);
if (empty($name)) {
echo "Chưa nhập tên!!!";
} else {
echo $name;
}
}
?>
</body>
</html>
Biến $_POST trong PHP
Biến $_POST
trong PHP được sử dụng rộng rãi để thu thập dữ liệu biểu mẫu sau khi gửi
(submit) 01 biểu mẫu HTML bằng phương thức "post".
Biến $_POST cũng được sử dụng rộng rãi để nạp biến??.
Biến $_POST cũng được sử dụng rộng rãi để nạp biến??.
Ví dụ dưới
đây cho thấy 01 biểu mẫu với 01 vùng nhập liệu và 01 nút submit.
Khi 01 người dùng gửi dữ liệu bằng cách bấm nút "Submit", dữ liệu biểu mẫu được gửi đến 01 tập tin xác định trong thuộc tính action của thẻ <form>
Trong ví dụ này, chúng ta trỏ đến chính tập tin đó để xử lý dữ liệu biểu mẫu.
Nếu bạn muốn dùng 01 tập tin PHP khác để xử lý dữ liệu biểu mẫu, cứ việc thay thế tập tin mà bạn muốn.
Sau đó, ta có thể dùng biến siêu toàn cục $_POST để thu thập giá trị dữ liệu nhập vào.
Khi 01 người dùng gửi dữ liệu bằng cách bấm nút "Submit", dữ liệu biểu mẫu được gửi đến 01 tập tin xác định trong thuộc tính action của thẻ <form>
Trong ví dụ này, chúng ta trỏ đến chính tập tin đó để xử lý dữ liệu biểu mẫu.
Nếu bạn muốn dùng 01 tập tin PHP khác để xử lý dữ liệu biểu mẫu, cứ việc thay thế tập tin mà bạn muốn.
Sau đó, ta có thể dùng biến siêu toàn cục $_POST để thu thập giá trị dữ liệu nhập vào.
<!DOCTYPE html>
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// collect value of input field
$name = $_POST['fname'];
if (empty($name)) {
echo "Name is empty";
} else {
echo $name;
}
}
?>
</body>
</html>
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// collect value of input field
$name = $_POST['fname'];
if (empty($name)) {
echo "Name is empty";
} else {
echo $name;
}
}
?>
</body>
</html>
Biến $_GET trong PHP
Trong PHP,
biến $_GET cũng có thể dùng để thu thập dữ liệu sau khi gửi 01 biểu mẫu HTML bằng
phương thức "get".
Biến $_GET cũng có thể thu thập dữ liệu gửi đi
trong URL.
Giả định ta
có 01 trang HTML có chứa 01 siêu liên kết với các tham số:
<!DOCTYPE html>
<html>
<body>
<a href="test_get.php?subject=PHP&web=Lophocvitinh.com">Test $GET</a>
</body>
</html>
<html>
<body>
<a href="test_get.php?subject=PHP&web=Lophocvitinh.com">Test $GET</a>
</body>
</html>
Khi người
dùng bấm vào liên kết "Test $GET", các tham số "subject" và "web" được gửi đến trang "test_get.php",
và bạn có thể truy cập các giá trị này trong trang "test_get.php" bằng biến $_GET.
Ví dụ dưới
đây là toàn bộ mã trang "test_get.php":
<html>
<body>
<?php
echo "Học " .
$_GET['subject'] . " tại " . $_GET['web'];
?>
</body>
</html>
Mẹo: Bạn sẽ
học kỹ về $_POST và $_GET trong loạt bài PHP Forms.
Nếu vẫn chưa rõ các bạn xem thêm video clip sau:
By #drM
Nguồn: sưu tầm
Không có nhận xét nào:
Đăng nhận xét