首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP $_GET 超全局變數:獲取表單與 URL 參數完整指南

     編輯:PHP 相關知識

什麼是 $_GET?

$_GET 是 PHP 的超全局變數之一,專門用於接收通過 HTTP GET 方法傳遞的數據。無論是 HTML 表單提交(method="get"),還是 URL 參數(如 page.php?id=123),$_GET 都能輕鬆捕獲。

核心用法一:接收表單數據

當表單的 method 屬性設為 get 時,用戶輸入的數據會以鍵值對形式附加在 URL 後方,PHP 可直接透過 $_GET 陣列讀取。

範例:簡單表單提交

<form action="get.php" method="get">
  名稱: <input type="text" name="username" />
  <input type="submit" value="送出" />
</form>

get.php 處理邏輯:

<?php
echo '您好,' . htmlspecialchars($_GET['username']) . '!';
?>

若用戶輸入「PHP 學習者」,瀏覽器網址列將顯示:

get.php?username=PHP+%E5%AD%B8%E7%BF%92%E8%80%85

輸出結果:您好,PHP 學習者!

核心用法二:直接讀取 URL 參數

無需表單,只要 URL 含查詢字串,$_GET 即可解析。例如連結 a.php?value=my,在 a.php 中:

<?php
echo 'value 的值是 ' . htmlspecialchars($_GET['value']);
?>

輸出:value 的值是 my

進階應用:處理陣列型參數(核取方塊)

當多個同名輸入元素(如核取方塊)使用 name="fruit[] 時,PHP 會自動將其組成陣列。

表單範例

<form action="checkbox.php" method="get">
  <input type="checkbox" name="fruit[]" value="Apple"> 蘋果<br>
  <input type="checkbox" name="fruit[]" value="Orange"> 橘子<br>
  <input type="checkbox" name="fruit[]" value="Mango"> 芒果<br>
  <input type="submit" value="送出">
</form>

後端處理

<?php
if (isset($_GET['fruit'])) {
    echo '共選擇 ' . count($_GET['fruit']) . ' 項:<br>';
    foreach ($_GET['fruit'] as $val) {
        echo htmlspecialchars($val) . '<br>';
    }
}
?>

若勾選「橘子」與「芒果」,輸出:

共選擇 2 項:
Orange
Mango

重要限制與安全提醒

  • 長度限制:GET 請求的 URL 長度通常限制在 2048 字元左右(瀏覽器/伺服器差異),不適合大量數據傳輸。
  • 可見性:參數明文顯示於網址列,避免傳遞敏感資訊(密碼、Token)。
  • XSS 防護:輸出 $_GET 內容前務必使用 htmlspecialchars() 轉義。

總結

$_GET 是 PHP 接收 GET 請求數據的標準入口,適用於搜尋、分頁、篩選等無副作用、可收藏、可分享的場景。善用陣列語法可輕鬆處理多值欄位,但務必注意長度限制與資安風險。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved