【PHP】GETパラメータで表示内容を切り替える簡易的な分岐処理

【PHP】GETパラメータで表示内容を切り替える簡易的な分岐処理 PHP

Webページを動的に制御する場面では、URLに含まれる GETパラメータ によって表示する内容を切り替える処理がよく使われます。

この記事では、PHPを使って GETパラメータの値に応じて表示内容を変更する基本的な方法 をご紹介します。

GETパラメータとは?

URLの末尾に ?key=value の形式で付加される値のことを GETパラメータ と呼びます。複数ある場合は & で区切ります。

https://example.com/page.php?type=news

この例では、type=news がGETパラメータです。

基本的な分岐処理の書き方

<?php
$type = isset($_GET['type']) ? $_GET['type'] : '';

if ($type === 'news') {
  echo '<h2>最新ニュース一覧</h2>';
} elseif ($type === 'blog') {
  echo '<h2>ブログ記事一覧</h2>';
} else {
  echo '<h2>全コンテンツ一覧</h2>';
}
?>
  • $_GET[‘type’] で type パラメータの値を取得
  • isset() で存在チェックを行うことで未指定時のエラーを防止
  • 条件分岐で表示内容を出し分け

応用:パラメータごとにテンプレートを分ける

パラメータに応じて別ファイルを読み込む実装も可能です。

<?php
$type = isset($_GET['type']) ? $_GET['type'] : 'default';

switch ($type) {
  case 'news':
    include 'template-news.php';
    break;
  case 'blog':
    include 'template-blog.php';
    break;
  default:
    include 'template-default.php';
    break;
}
?>
  • 管理がしやすく、テンプレートを分けて記述可能
  • 再利用性も高く保守性が向上

セキュリティ上の注意点

GETパラメータは誰でもURLに自由に入力できるため、バリデーションやエスケープ処理が重要です。

例:出力時には htmlspecialchars() を使用する。

<?php
echo htmlspecialchars($_GET['type'], ENT_QUOTES, 'UTF-8');
?>

まとめ

GETパラメータを利用することで、ページの表示を柔軟に切り替えることが可能です。
条件分岐による表示切り替えだけでなく、テンプレートの読み込みやコンテンツ制御にも応用できます。
フォームやリンク先で ?type=news のようにパラメータを付けるだけで、簡単に動的なページを実現できるため、ぜひ活用してみてください。