変数の受渡し
変数の受渡し方法と、処理の解説
インタラクティブなホームページ作成には、ユーザーからの入力を受け取り、 それに応じて表示を変えることが必要になりますね。 ここでは、ユーザーからの入力を受け取り、 PHP スクリプトで利用する方法を解説しています。
変数の受渡し方法
ユーザーからの入力データを保存したり、 入力に応じて処理を変えたりしたいことがあるでしょう。 そのような場合、PHP で利用できる変数の受渡方法は、 以下の2つになります。
- リンクURL に書き込んでおく。
- 入力フォームを作っておき、書き込んでもらう。
リンク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-2018. PHP で WEB 作成 All rights reserved.