PHPでクエリパラメータをマスター!実用的な5つの手順とサンプルコード

PHPでクエリパラメータを取得する方法とサンプルコードの説明図 PHP

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

このサービスはSSPによる協力の下、運営されています。

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

この記事を読むことで、PHPでクエリパラメータを取得する方法が理解でき、自分のサイトに応用することができるようになります。

●クエリパラメータとは

クエリパラメータは、WebページのURLの後ろに付く「?key=value」の形式のデータのことを指します。

これは、サーバーに情報を送ったり、ページの表示を制御したりする際に用いられます。

●PHPでクエリパラメータを取得する方法

PHPでは$_GETスーパーグローバル配列を用いてクエリパラメータを取得することができます。

体的なコードを見ていきましょう。

○サンプルコード1:基本的なクエリパラメータの取得

まずは”product”という名前のクエリパラメータを取得する簡単なコードを紹介します。

このコードでは、$_GET配列を使ってクエリパラメータを取得しています。

<?php
// URLから"product"という名前のクエリパラメータを取得
$product = $_GET['product'];

echo $product;
?>

○サンプルコード2:存在しないクエリパラメータの取得

次に、存在しないクエリパラメータを取得しようとした場合のコードを見ていきましょう。

この例では、isset関数を使ってクエリパラメータの存在を確認しています。

<?php
// クエリパラメータ"product"が存在するか確認
if (isset($_GET['product'])) {
    $product = $_GET['product'];
} else {
    $product = 'デフォルトの商品';
}

echo $product;
?>

○サンプルコード3:複数のクエリパラメータの取得

複数のクエリパラメータを一度に取得するコードも見てみましょう。

この例では、”product”と”price”の2つのクエリパラメータを取得しています。

<?php
// 複数のクエリパラメータを取得
$product = $_GET['product'];
$price = $_GET['price'];

echo $product . ': ' . $price . '円';
?>

●クエリパラメータの応用例

クエリパラメータは、ページング機能や検索機能の実装など、Web開発において様々な場面で利用されます。

○サンプルコード4:クエリパラメータを利用したページング機能

ここでは、クエリパラメータを利用したページング機能のサンプルコードを見ていきます。

この例では、”page”というクエリパラメータで現在のページ数を管理しています。

<?php
// デフォルトのページ数を1とする
$page = 1;

// クエリパラメータ"page"が存在する場合、その値で上書き
if (isset($_GET['page'])) {
    $page = $_GET['page'];
}

echo '現在のページ: ' . $page;
?>

○サンプルコード5:クエリパラメータを利用した検索機能

クエリパラメータを利用して検索機能を実装するコードを見てみましょう。

この例では、”keyword”というクエリパラメータを使って検索キーワードを管理しています。

<?php
// 検索キーワードのデフォルトは空文字
$keyword = '';

// クエリパラメータ"keyword"が存在する場合、その値で上書き
if (isset($_GET['keyword'])) {
    $keyword = $_GET['keyword'];
}

echo '検索キーワード: ' . $keyword;
?>

このコードでは、クエリパラメータ”keyword”を使って検索キーワードを取得し、それを表示しています。

クエリパラメータが存在しない場合、デフォルトの空文字が検索キーワードとして使用されます。

●注意点と対処法

クエリパラメータの取得には、いくつか注意すべき点があります。

まず、クエリパラメータが存在しない場合に備え、存在確認を行うことが重要です。

例えば、上記のコードではisset関数を使用して、クエリパラメータの存在を確認しています。

また、クエリパラメータをそのまま使用すると、セキュリティの問題が発生する可能性があります。

たとえば、クエリパラメータを使ってデータベースの検索条件を生成する場合、SQLインジェクションのリスクがあります。

これを避けるためには、クエリパラメータの値をエスケープ処理するなどの対策が必要です。

まとめ

クエリパラメータは、Webアプリケーション開発において非常に便利なツールです。

しかし、適切に使用しないと、予期しない動作やセキュリティの問題を引き起こす可能性があります。

そのため、クエリパラメータの取得と使用には注意が必要です。

今回紹介したコードが、クエリパラメータの基本的な使い方を理解する一助となれば幸いです。