PHP超入門 (53)


■フォームではなくリンクで値(数値を含む)をPHPプログラムら渡す■

暫く前から、このメルマガでは、

 あるPHPを実行する(ブラウザでアクセスする)と、サーバーのフォルダにあ
 るファイルの一覧が表示される

          ↓

 表示されたファイルにはリンクが張られていて、それをクリックすると、ブ
 ラウザ上にフォーム(テキストエリア)が表示され、同時に、その中にファ
 イル(テキストファイル)の中身(文章)が表示される

          ↓

 ユーザーは、フォーム(テキストエリア)内で、自由に文章が編集できる
          ↓

 「保存」のボタンを押すと、編集された文章がテキストファイルとしてサー
 バー上のハードディスクに再び保存される


ということを目的に、一連のお話をしています。


ここで、前回のおさらいをチラッとしますと、

 <a href="./108-2.php?hensuu01=あいうえお">ここをクリックしてみてください</a>

という形式で、HTML文を書くと、「ここをクリックしてみてください」という
箇所にハイパーリンクが張られ、ユーザーがそのリンクをクリックすると、「
hensuu01」という名前の変数に「あいうえお」という値(文字)が代入され、
「108-2.php」というPHPプログラムに変数の内容を渡すことができることをお
話しました。


一方の、データ(文字・数値)を受け取る側である「108-2.php」では

------------------------------
<?php

$hensuu02 = $_GET["hensuu01"];

print ($hensuu02);

?>
------------------------------

となり、「 $_GET["hensuu01"」という形式で、上記の「hensuu01」の中身(
「あいうえお」)を取り出し、「$hensuu02」という名前の変数に代入していま
す。


最後は「print ($hensuu02);」という関数を用いて、「$hensuu02」の中身にあ
る「あいうえお」という文字をブラウザ上に表示することになります。


以上が、前回のおさらいの内容となります。



■ファイル名一覧に、ファイル名を含んだリンクを生成する■

そこで、いよいよ本題です。

以前の話ですが、とあるフォルダにあるファイル名一覧を表示するPHPプログラ
ムをご紹介しました。

--------------------------------------------------------------------
<?php

$dir_file = opendir( './' );

while( $file_name = readdir( $dir_file ) ){
	print "<a href='./107-3.php'>"."{$file_name}"."</a>"."<br>";
}

closedir( $dir_file );

?>
--------------------------------------------------------------------

このPHPプログラムを実行すると(ブラウザからアクセスすると)、ブラウザの
画面には、ファイル名の一覧がハイパーリンクと共に表示され、それをクリッ
クすると、「107-3.php」というPHPプログラムが起動ることをお話しました。


その時には、「107-3.php」というPHPプログラムというかファイルが存在しな
いので、ブラウザの画面にはエラー表示しかされません。


ここで、上でお話した内容を合体させるのです。


結論としては、

----------------------------------------------------------------------------------------------
<?php

$dir_file = opendir( './' );

while( $file_name = readdir( $dir_file ) ){
	print "<a href='./109-2.php?hensuu01="."{$file_name}"."'>"."{$file_name}"."</a>"."<br>";
}

closedir( $dir_file );

?>
----------------------------------------------------------------------------------------------

というPHPプログラムを一例として考えてみました。

上記のPHPプログラムのキモは、ハイパーリンクの部分を、一度、バラバラに分
解して、文字列を結合させる機能を持つ、「.」という記号で再構成している
点です。

ここの部分で、上記のPHPプログラムが、一見、複雑に見える原因かと思います。

では、ここで、実際、このPHPプログラムを実行(ブラウザからアクセス)する
と、これが、どのようにブラウザに表示されるか見てみましょう。


上記のPHPプログラムを「109-1.php」という名前で、「C:\Inetpub\wwwroot\p
hp」フォルダに保存します。


そして、ブラウザのアドレス欄に「http://localhost/php/109-1.php」と入力
すると、ハイパーリンクが張られたファイルの一覧が表示され、


それぞれのリンクの上にマウスを重ねると(クリックはしないで下さい!!)、
ブラウザの左下に「http://localhost/php/109-1.php?hensuu01=(該当する)
ファイル名」と表示されることが分かると思います。


これで、「109-2.php」というPHPプログラムに、該当するファイル名を渡すこ
とができます。


これで、今回の一連のお話の山場は越えました。

次に、ファイル名を渡された「109-2.php」では、どのような処理をするかとい
うと。。。。

実を言うと、ず〜〜〜〜〜と以前にこのメルマガで登場したPHPプログラムを流
用することになります。


なのですが。。。このままお話を続けると、また非常に長くなってしまうので、
この続きは次回、ということでご了承願います。

。。。続く

新しく「パソコン(PC)初心者向け パソコンサポートサービス」を始めました。
詳細は専用サイトを御覧ください。

上記の内容はシリーズとしてメールマガジンで配信しています。

42歳のオヤジでもできた!パソコンサーバー化計画 (マガジンID:0000114576)

メールマガジン登録  メールアドレス:
メールマガジン解除  メールアドレス:

Powered by まぐまぐ

copyright(c) 2002-2007 E&A工房 All rights reserved.