| 無料ホームページスペース無料メールアドレスをご提供します。 KANSAI WEBサービス会員規約 |
| コンピュータ/通信総合サイト・広島の関西商事 管理人:大内 雅司 |
PHPを使ってみる(Webアプリケーションプログラミング)
| このセクションのポイント |
| @PHPは、Webアプリケーション言語である。 APHPはCGIと異なり、非常に簡単にWebアプリケーションの開発を行なえる。 BApacheでは、モジュールでPHPをサポートすることができる。 |
★PHPの仕組み
PHPは、Apacheのモジュールとして動作します。PHPはWebサーバ上で動作するプログラムで、動作した結果をHTMLとしてブラウザに返します。
このとき、動作のきっかけはブラウザから送られてくる、あるURLへの「リクエスト」になります。
▼PHPの仕組み
@リクエスト「http://192.168.0.12/buy.php」→AApacheがリクエストをPHPモジュールに渡す→PHPモジュールがURLに対応するPHPプログラムを実行→PHPプログラムの実行結果をHTMLとしてブラウザに返す(レスポンス)
@リンクをクリックするなど、ユーザのブラウザ操作などによってWebサーバにリクエストが送信される。リクエストはURLに対して行なわれます。
Aリクエストを受取ったApacheは、対応するPHPプログラムを実行するために、リクエスト情報をPHPモジュールに横流しします。
Bリクエストを受取ったPHPモジュールが、対応するPHPプログラムを実行します。上の図では、「http://192.168.0.12/buy.php」というプログラムにリクエストが行なわれるので「buy.php」といるプログラムが実行されます。
CPHPプログラムの実行結果は多くの場合「HTML」として生成され、ブラウザに送信、表示されます。
このように、リクエストを動作のきっかけとして、ApachetoPHPモジュールが連携して動作します。PHPのようなサーバサイドでのプログラムを作成・利用することによって、多くのサイトで実現されているような検索処理や登録処理をブラウザから行なうことができます。また、インターネット上に公開するものだけでなく、主に社内で利用する勤怠システムなども作成することができます。
★PHPのインストール
| [root@linux ~]# yum install gmp php-pear php php-mbstring [enter] |
■PHPの設定
次に設定に移ります。前述のように、PHPはApacheのモジュールで、Apacheからリクエストを横流ししてもらうことによって動作します。Apacheはリクエスト末尾の「拡張子」によって、その処理の振り分けを行ないます。横流しを行なわせるには、Apacheの設定ファイルに拡張子と、その処理を行なうためのモジュールの登録を行なわなければなりません。それぞれ正しく設定されていることを確認します。
PHPをインストールすると、Apacheの設定ファイルから読み込まれる、PHP専用の設定ファイルが作成されます。
以下の手順でこのファイルの内容を確認しましょう。
なお、モジュールの登録はこのファイルの「LoadModule」の設定で行なわれています。
| [root@linux ~]# cat /etc/httpd/conf.d/php.conf [enter] |
このファイルに、PHP用のApacheの設定が記述されています。以下の「AddType」の行にPHPプログラムの拡張子が記述されています。
| # # PHP is an HTML-embedded scripting Lanfuage which attempts to make it # easy for developers towrite dynamically generated webpages. # LoadModule php5_module modules/libphp5.so # Cause the PHP interpreter to handle files with a .php extension. # AddHandler php5-script .php AddType text/html .pjp |
ここまでの確認ができれば、Apacheの再起動をおこないます。
| [root@linux ~]# /etc/rc./init.d/httpd restart
[enter] httpdを停止中: [ OK ] httpdを起動中: [ OK ] |
では、PHPの動作の確認をします。次のコマンドを実行して、PHPプログラムを作成します。
| [root@linux ~]# echo '<phpinfo( );?>'> /var/www/html/test.php [enter] |
ブラウザを起動して、「http://192.168.0.12/test.php」にアクセスしてPHPのインフォメーション画面が表示されれば、PHPは正しく動作しています。
★PHPプログラムの基本を確認する
ここでは、PHPによるプログラムの基本中の基本を説明します。PHPのプログラムはテキストファイルという形で作成します。そのテキストファイルには、通常のHTMLを記述することができますが、特別なタグを用いてプログラムを埋め込むことができます
では、画面にアクセスされた日付と簡単なメッセージを表示するPHPプログラムを作成してみましょう。
PHPプログラムは、ドキュメントルートなど通常のHTMLと同じ場所に配置します。
また、ファイルの拡張子は「.PHP」でなければなりません(上記で登録した拡張子と同じにします)。
| [root@linux ~]# vi /var/www/html/today.php [enter] |
このファイルの内容は次のようにします。
| <HTML><HEAD> <NETA HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"> <TITLE>現時の日時<TITLE><HEAD><BODY> <H1>現在の日付とじこくです</H1> <?PHP Print Date("Y年m月d日 H:i:s"); ?> </BODY></HTML> |
このプログラムは、ブラウザに現在の日付と時刻を表示するという処理を行ないます。
以降で、プログラムの意味を簡単に説明します。"<php...?>"の間にPHPのプログラムを書きます。それ以外の部分は普通のHTMLです。
プログラムの部分には「print」という文がありますが、「print」はブラウザに文字を表示させるためのPHPの命令の1つです。
また、「Date」は、後ろに与えられた書式で現在の日時を取得するための命令です。PHPはこのような命令を1000以上持っているので、必要に応じて使用します。
ここまで正しく行なってから、ブラウザで「http://192.168.0.12/today.php
」にアクセスすると次のような画面が表示されます。
| 現在の日付と時刻です 2005年02月08日 22:35:28 |
★HTMLフォームからの入力を処理する
では、もう少し高度なPHPプログラムを作成してみましょう。
HTMLフォームから入力したデータをWebサーバに送信し、PHPプログラムで受け取り、ブラウザに表示するというプログラムです。
@「リクエストデータ:山本」→A「Webサーバがフォームのデータを受取り、結果方次画面HTMLを生成」→B「結果表示画面:あなたは山本さんですね?」
上記の動作を実現するために、2つのファイルを作成します。
1.フォーム用HTML(form.html)
2.結果表示用PHPプログラム(disp.php)
日本語が入力できない環境の場合は、日本語の部分は入力しなくてもかまいません。
| [root@linux ~]# vi /var/www/html/form.html [enter] |
▼forrm.html
| <HTML><HEAD> <META HTTP-WQUIV="Content-type" CONTENT="text/html; charset=UTF-8 <TITLE>フォーム<?TITLE></HEAD><BODY> <FORM ACTION="disp.php"> 名前<INPUT TYPE="text" NAME="your_name"><BR> <INPUT TYPE="submit" VALUE="O K"> </FORM></BODY></HTML> |
▼disp.php
| [root@linux ~]# vi /var/www/html/form.html [enter] |
| <HTML><HEAD> <META HTTP-WQUIV="Content-type" CONTENT="text/html; charset=UTF-8 <TITLE>結果表示<?TITLE></HEAD><BODY> あなたは<b><? print $_REQUEST["your_name"]: ?></b>さんですね? <INPUT TYPE="submit" VALUE="O K"> </BODY></HTML> |
2つのファイルを作成後、ブラウザで「http://192.168.0.12/form.php
」にアクセスすると、入力フォームが表示されます。
| 名前 | 山本 | OK |
↓↓↓
| あなたは山本さんですね? |
適当な名前を入力し、【OK】ボタンを押すと、入力した名前がブラウザ上に表示されます。
このように、$REQUESTに、対応するフォームの値が自動的にセットされます。
PHPは、これ以外にも様々な処理を行なうことが可能です。
コラム
PHP言語で記述されたWebアプリケーションは、多数開発されています。PHPを使ってオリジナルのWebアプリケーションを作らなくても、インターネット公開されているPHPプログラムを利用すれば、簡単にWebアプリケーションの導入ができます。PHPプログラムを無償でダウンロードできるサイトを探して行きましょう。
| copy right kansai-syoji,.co all right reserved Web-Master masashi ouchi http://kansai.homelinux.com/~Linux |