TODAY: YESTERDAY:
TOTAL:

Lesson9-1 〜パラメータの受け渡し〜
■Lessonを終えると以下のようなPHPプログラムが作れます。


Lessonサンプル

まずは作業用のフォルダを作成しましょう。「C:\Program Files\Apache Group\Apache2\htdocs」に「lesson9」というフォルダを作成してください。

■What's

以前のLessonでは、フォームを使ったりラジオボタンやチェックボックスなんかを使って値をPHPプログラムに渡してましたね。今回は掲示板や至る所で使われる「パラメータ」について解説していきます。コレほんとよく使うので覚えときましょう!

■サンプルプログラム1

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>パラメータの受け渡し</title>
</head><body>
<p><a href="sample01.php?no=1">NO.1ここをクリックしてミソ。</a></p>
<p><a href="sample01.php?no=2">NO.2次はここをクリック。</a></p>
<p><a href="sample01.php?no=3">NO.3ラストはココ!</a></p>
</body>
</html>

■サンプルプログラム2

<?php
$no = $_REQUEST["no"];
?><html>
<head>
<title>sample01</title>
</head>
<body>
<?php
if($no == 1){
print "あなたはNO.${no}のリンクをクリックしました。";
}else if($no == 2){
print "あなたはNO.${no}のリンクをクリックしました。";
}else{
print "あなたはNO.${no}のリンクをクリックしました。";
}

?>
<p><a href="parameter.html">戻る</a></p>
</body>
</html>

テキストエディタに以下のように書き込んで、「lesson9」フォルダの中に「parameter.html」として保存しましょう。

できましたら、ブラウザのアドレスに
http://localhost/lesson9/parameter.html」にアクセス!
ロリポップ!
さくらのレンタルサーバ
などのレンタルサーバー使ってる方はlocalhostのところはドメイン名になります。
(簡単に安くネットショップを開きたい方はこちら!)

さて、如何でしょうか?ちゃんと表示されましたでしょうか?

■解説1(parameter.html)

sample01.php?no=1
sample01.php?no=2
sample01.php?no=3

ちょっと変わったのがコレ。<a>タグでsample01.phpファイルにリンクを張っているのですが、.php?の後ろがナニヤラついてますね。?以降の文字列のことを「パラメータ」と言います。つまり、sample01.phpに「no」と名前をつけた値(ここでは、1・2・3)を渡しているわけです。それではPHPプログラムのほうを見てみましょう。

■解説2(sample01.php)

$no = $_REQUEST["no"];

さて、$_REQUEST["no"]としてparameter.htmlのリンクに埋め込んだパラメータを受け取っています。<a href="sample01.php?no=1">とあったと思いますが、?のすぐ後ろの名前(no)を$_REQUEST["no"]にセットしてるわけですね。それを$noに代入しています。それでは、$noには何が代入されているか?それは「sample01.php?no=1」の「no=1」の「1」の部分が代入されるわけです。
  こうすることによって、どのリンクをクリックしたかが判別できます。

if($no == 1){
print "あなたはNO.${no}のリンクをクリックしました。";
}else if($no == 2){
print "あなたはNO.${no}のリンクをクリックしました。";
}else{
print "あなたはNO.${no}のリンクをクリックしました。";
}

parameter.htmlからどのリンクをクリックしたか判別できたら、あとはPHPプログラムのほうでどう処理するかです。
 上から順に追っていくと、

  1. もし$noが1だったら、{}の中を実行
  2. もし$noが2だったら、{}の中を実行
  3. それ以外だったらら、{}の中を実行

と、いうことになりますね。う〜ん、あんまり大したこと無い?ってオモッテマスカ?そうですか・・・。そうでないんです!これのナイスな所は、パラメータによってひとつのPHPプログラム(今回は、sample01.php)の出力する画面が変わる。つまり、1つのPHPで色々な出力ができる。ということなのです。HTMLでは、いくつも用意しないといけないですよね?この点が素晴らしいとこなのです。ハイ。
  次は、パラメータを2つに増やしてみたいと思います。

このLessonが役に立った方は、1クリックお願いします!PHPランキング

■スポンサードリンク