PHP超入門 (52)
■前回までのまとめ■
さて、初めにもお話しましたように、メルマガの発行が、しばらく間が空いて
しまったので、恐らく、今までの話の内容は、(多分?)スッカリ頭の中にな
いんじゃないかと思います。
(本当にすみません。。。)
で、ここで今までの話の流れを振り返ってみたいと思います。
いままでの、PHPプログラムの目的は、
「サーバーのハードディスクにある、文章(テキスト)ファイルをブラウザ
上のフォームに呼び出して、文章(テキスト)を自由に編集した後、再び、
サーバーのハードディスクに保存する」
ということを、ひたすら求めてきました。
今年の前半での話では、その一応の決着をみたのですが、チョットそれでは使
い勝手も悪く、実用的ではありませんでした。
(詳しい内容は省略します)
そこで、もっと実用的にするために、
1.PHPのプログラムで、サーバー上の、あるフォルダに保存してあるファイル
の一覧を、ブラウザ上に表示させる
↓
2.その表示されたファイルにはひとつひとつにリンクが張られており、その
リンクをクリックすると、文章(テキスト)の内容がフォームに呼び出さ
れる。
↓
3.ユーザーはそのフォーム上で、自由に文章(テキスト)の内容を変更する
ことができる
↓
4.その編集した文章(テキスト)を再びサーバー上のハードディスクに保存
する
という流れを追及している最中でした。
そして、前回の最後では、サーバーの「C:\Inetpub\wwwroot\php」フォルダの
中身が次のようになっている場合、
次のPHPプログラム「107-2.php」
--------------------------------------------------------------------
<?php
$dir_file = opendir( './' );
while( $file_name = readdir( $dir_file ) ){
print "<a href='./107-3.php'>"."{$file_name}"."</a>"."<br>";
}
closedir( $dir_file );
?>
--------------------------------------------------------------------
を実行する(ブラウザのアドレス欄に「http://localhost/php/107-2.php」と
入力する)と、フォルダにあるファイルの一覧が表示され、それぞれのファイ
ル名の下にはリンクが張られています。
ただし、ここまでの状況ですと、実際にクリックしてみると分かると思います
が、リンク先は「107-3.php」となっており、ブラウザ上では「ページが見つか
りません」というエラーメッセージが表示されてしまいます。
理由は、当然のこととなりますが、「107-3.php」というファイルは、まだ作っ
ていないのですから。。。
以上が、前回までのお話になりますが、私個人としては、未だ作っていない
「107-3.php」の内容を、なんとか工夫して、うまくやりたいナ〜、というの
が本音なのです。
■ちょっと横道にそれます■
ここで、今までの話は、キレイサッパリ忘れて、ちょっと横道に逸れたPHPプロ
グラムを紹介します。
(ただし、これは後々、上の話と絡まってきます←予告)
まず、以下のような簡単なHTML文をメモ帳等でサクッと作ってみます。
-------------------------------------------------------------------------------
<html>
<head>
<title>PHPのテスト</title>
</head>
<a href="./108-2.php?hensuu01=あいうえお">ここをクリックしてみてください</a>
</body>
</html>
-------------------------------------------------------------------------------
これを、「C:\Inetpub\wwwroot\php」フォルダに、例えば「108-1.htm」という
名前で保存します。
次に、以下のような、チョー簡単なPHPプログラムを書きます
------------------------------
<?php
$hensuu02 = $_GET["hensuu01"];
print ($hensuu02);
?>
------------------------------
このPHPプログラムを、同じく「C:\Inetpub\wwwroot\php」フォルダに、「108-
2.php」という名前で保存します。
さて、ここで実験です。
ブラウザを立ち上げて、アドレス欄に「http://localhost/php/108-1.htm」と
入力してください。
そうすると、「ここをクリックしてみてください」という一行のみの、非常に
シンプルな画面が表示されると思います。
で、ここは素直に、クリックすると、画面が切り替わり、ブラウザには「あい
うえお」と表示されます。
勘の良い方は気が付いたかと思いますが、上記HTML文の中に埋め込まれている、
「108-2.php?hensuu01=あいうえお」の「?」のあとに指定されている文字列が、
「108-2.php」に渡されて、「108-2.php」はその渡された文字列を表示してい
るのです。
この場合、一種の変数である「hensuu01」はユーザーの方で自由に指定できま
すし、「あいうえお」の部分もユーザーで自由に指定できます。
ここで、私が何を言いたいのかというと、このメルマガの前号までは、いろい
ろな値(数値・文字列)をPHPプログラムに渡す場合、HTML文のフォームに入力
して、入力ボタンを押さなければ、それらの値は、PHPプログラムに渡し、いろ
いろな処理ができませんでしたが、ここでは、新たに、PHPプログラムに、いろ
いろな値(数値・文字列)を渡す方法として、「リンクに埋め込む」という方
法もある、ということを言いたかったのです。
ここで、話は、さらに横道に逸れますが、何かのファイル名のあとに「?」が
あり、その後ろに、何か意味不明の文字列があるのを、多分、あなたは(意識
はしていないけれども)しょっちゅう、目にしているはずです。
それは、「Yahoo!」や「Google」の検索エンジンです。
Yahoo!
Google
いずれも、ブラウザのアドレス欄には、「?」の後に、意味不明の文字列が並
んでいますが、これは、ユーザーが入力した検索語が、Yahooの場合は「serch」
という名前のプログラム、Googleの場合も「search」というプログラムに渡さ
れて、いろいろな複雑な処理を行っているのです。
あと、もう1つ横道に逸れたついでに。。。
よく、迷惑メールの中に、アドレスが書いてあって、そのアドレスの中に、上
で説明したように、「?」で続く意味不明の文字列がある場合には、それは絶
対にクリックしてはいけません!!。
その「?」を含むURLが、悪意を持っている場合(大概の場合そうですが)、
あなたの個人情報(例えば携帯の番号)が抜かれてしまう可能性がありますの
で、注意が必要です。
。。。という訳で、なんか、いつものように話は長くなってしまいましたが、
この続きは、次回へ、ということで、ご容赦ください。