PHPの$_GETとは?URLパラメータを取得する基本と使い方
$_GET は、PHPにおいてURLのクエリパラメータ(例:?key=value
)を取得するためのスーパグローバル変数です。
主に、フォームの送信やリンクによって渡された値を受け取る際に使われます。
$_GETの基本
$_GET
は連想配列として定義されており、キーにパラメータ名、値にその内容が格納されます。
例:
次のようなURLがあった場合:
example.php?name=太郎&age=20
PHPでの取得方法:
echo $_GET["name"]; // 太郎
echo $_GET["age"]; // 20
フォームと$_GET
method="get"
を指定したフォームから送信されたデータも、$_GET で受け取れます。
<form method="get" action="search.php">
<input type="text" name="keyword">
<input type="submit" value="検索">
</form>
送信先の search.php では次のように使えます:
$kw = $_GET["keyword"];
echo "検索ワード:" . htmlspecialchars($kw);
セキュリティ対策
$_GETは外部から自由に値を送信できるため、必ずバリデーションやサニタイズを行いましょう。
htmlspecialchars()
でHTMLエスケープ
filter_input()
を使った検証
例:
$name = htmlspecialchars($_GET["name"]);
存在チェック
存在しないキーにアクセスすると警告が出ることがあるため、isset()
で確認しましょう。
if (isset($_GET["page"])) {
echo $_GET["page"];
} else {
echo "ページが指定されていません";
}
まとめ
$_GET
は URLパラメータを取得するためのスーパグローバル変数
- フォームの method="get" による送信にも使える
- 外部からの入力のため、バリデーションとエスケープが必須
isset()
を使って存在確認を行うのが安全
$_GETを正しく使いこなすことで、動的なページ遷移や検索機能の実装が可能になります。
ただし、セキュリティには十分注意し、必ず入力チェックを行いましょう。