在PHP開發中,全局數組是一類在腳本的任何作用域中都可以訪問的預定義變量。它們用於接收HTTP請求的數據、管理會話信息、處理Cookie等操作,是構建動態Web頁面的基礎。本文將詳細介紹幾種常見的PHP全局數組及其用法。
$_GET數組用於接收通過URL參數傳遞的數據,通常用於處理GET請求。每個參數都會作為鍵值對存儲在該數組中,方便程序獲取特定參數的值。
// URL示例:http://example.com?name=John&age=30
$name = $_GET['name'];
$age = $_GET['age'];
echo "Name: " . $name;
echo "Age: " . $age;
在上面的示例中,通過URL傳遞的name和age參數被$_GET數組接收,可以直接輸出相應的值。
$_POST數組用於接收通過表單以POST方式提交的數據。相比GET方式,它更適合用於提交敏感或大量數據。
<form action="process.php" method="post">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="Submit">
</form>
// process.php
$username = $_POST['username'];
$password = $_POST['password'];
echo "Username: " . $username;
echo "Password: " . $password;
上例展示了一個用戶登錄表單,用戶提交的信息會被process.php接收並處理。
$_SESSION用於在用戶與服務器之間的多個頁面中保持數據狀態。它依賴於服務器端會話機制。
// start.php
session_start();
$_SESSION['username'] = 'John';
// profile.php
session_start();
$username = $_SESSION['username'];
echo "Username: " . $username;
在上面的代碼中,用戶登錄後的用戶名通過$_SESSION保存,可以在多個頁面之間共享。
$_COOKIE數組用於存儲和讀取客戶端的cookie。 cookie常用於保存用戶偏好或自動登錄信息。
// set_cookie.php
setcookie("username", "John", time()+3600); // 設定1小時有效期
// get_cookie.php
$username = $_COOKIE['username'];
echo "Username: " . $username;
上例中,cookie被設置在客戶端,並在後續訪問時由服務器讀取。
PHP中的$_GET、$_POST、$_SESSION和$_COOKIE等全局數組在Web開發中起著關鍵作用。它們提供了在不同作用域和頁面間傳遞數據的能力。
在使用這些全局數組時,務必進行輸入驗證和數據過濾,防止SQL注入、XSS等安全問題。例如,可以使用filter_input()或htmlspecialchars()等函數來增強輸入的安全性。
熟練掌握PHP的這些基礎全局變量,有助於你構建更安全、穩定且功能完善的Web應用。