変数の受渡し

変数の受渡し方法と、処理の解説

インタラクティブなホームページ作成には、ユーザーからの入力を受け取り、 それに応じて表示を変えることが必要になりますね。 ここでは、ユーザーからの入力を受け取り、 PHP スクリプトで利用する方法を解説しています。

変数の受渡し方法

ユーザーからの入力データを保存したり、 入力に応じて処理を変えたりしたいことがあるでしょう。 そのような場合、PHP で利用できる変数の受渡方法は、 以下の2つになります。

  1. リンクURL に書き込んでおく。
  2. 入力フォームを作っておき、書き込んでもらう。

リンクURL に書き込む方法(GET)

1. の方法は、<a href="index.php?id=11">のように、 リンクタグに「変数=値」の型式で書いておくと、 PHP スクリプトで処理が可能です。 送信された変数は、PHP スクリプトでは $_GET['変数名'] で利用できます。 複数の変数がある場合は、id=11&rank=3 のように、 「&」でつなげることができます。

ただし、この方法を使うと、変数と値がブラウザの履歴に残ってしまうので、 パスワード等の情報の受渡しには使わない方が良いでしょう。 設定が簡単なので、アクセスランキングのサイトID など、 他人に知られても問題の無い場合は利用してもかまいません。

入力フォームに書いてもらう方法(POST)

2. の方法は、入力フォームを作り、 ユーザーに書き込んでもらった情報を受け取る方法です。 以下のような入力フォームを作成しておく必要があります。

<form action=index.php method=POST>
<input type=text name=id>
<input type=text name=rank>
<input type=submit value="送信する">
</form>

この場合、送信された変数は、PHP スクリプトでは $_POST['変数名'] で利用できます。 変数名は入力フォームの「name=???」の「???」の部分になります。 複数の変数を送信する場合は、 <input type=text name=???>を複数書いておきます。 (なお、「method=GET」と指定すると$_GET['変数名'] で利用できますが、 こちらは使わない方が良いでしょう。)

この方法だと、ブラウザの履歴上には残らないので、 比較的安全にデータの受渡しができます。 (入力フォームを使用する場合でも、 「method=GET」と指定するとブラウザの履歴に残ります。) ※ブラウザによっては、ブラウザ独自の保存機能により、 入力されたデータを保存していることがあります。

※PHP4.2.0 以降では、register_globals が標準でオフになったので、 変数の受渡しは「$id」ではなく、「$_POST['id']」 を使わないといけなくなりました。

Copyright (C) 2003-2013. PHP で WEB 作成 All rights reserved.