担当 鹿嶋
サーバサイドスクリプト言語の一つである,PHPを使い,サーバサイドプログラミングの基礎を学ぶ.
PHP: Hypertext Preprocessorは動的なWebページを実現するためのプログラミング言語です. PHPはHTML埋め込み型のサーバサイドスクリプト言語です.
WebサーバはクライアントからリクエストされたファイルがPHPファイルであると認識すると,そのファイルを一旦PHPのシステムに渡します.PHPのシステムはファイルに書かれたスクリプトの内容に応じて処理を行い,その結果をクライアントに返します. これにより,動的なWebページを表現することができます.
PHPはスクリプト言語として分類されます.一番単純な開発方法は,
1)テキストエディタを用いてPHPファイル,HTMLファイルを作成する.
2)作成したPHPファイルやHTMLファイルをサーバに転送する.
3)Webブラウザを用いて,PHPファイルを実行する. 1)に戻り,デバッグ等適切な修正を行う.
以上です.
以下の手順に従って,PHPファイルを作成し,実行してみましょう.
(1)Z:\ドライブにWWWという名前のフォルダが無い場合,Z:\ドライブを開き,右クリック→新規作成→フォルダ(F)と進み,新しいフォルダを作成してください.フォルダの名前を「WWW」とします.
(2)Z:\WWW の下にexp2-5という名前のフォルダを(1)と同じ手順で作成します.ここが実験で作成した課題を格納するフォルダになります.
なお,この実験においては,上記のフォルダに作成したファイルを保存するという行為が,「2)作成したPHPファイルやHTMLファイルをサーバに転送する」という操作に相当します.ただし,外部のサーバを利用する場合,FTPなどを用いて,指定された場所に転送する必要があります.
(1)右クリック→新規作成→テキストドキュメントを選択し,テキストファイルを作成します.
(2)作成したテキストファイルの名前を「sample01.php」に変更して,メモ帳などのテキストエディタで開きます.
(3)以下のコードを入力して,保存します.
(4)Webブラウザを起動し,以下のURLにアクセスします.
http://ed.ibe.kagoshima-u.ac.jp/~sc*******/exp2-5/sample01.php ここで,「sc*******」の部分には,皆さんのアカウント名が入ります.適宜変更してください.
以下のようなページが表示されたら,成功です.
この実験で皆さんが学んでいる言語はサーバサイドのスクリプト言語です.プログラムはサーバ上で実行されます.この時点で上手く実行されない場合は,自分が今どこで何をしようとしているのかを良く考えてから,もう一度試してみてください.
課題1 以下のことについて調べてレポートで報告してください.(実験終了後で構いません)
サーバサイドプログラミングの概要について,調べてください.
PHP以外のサーバサイドスクリプト言語について,2つ以上調べてください.
皆さんが今までに学んだ言語(C言語等)とPHPの違いにつてい,説明してください.
PHPスクリプトの宣言
PHPスクリプトを書く際は,PHPスクリプトの前後を 「<?PHP」 と「?>」で囲みます.この内部に記述された部分がPHPスクリプトとして扱われます.
行末
PHPの1つのコマンドが終わったことを示すために,スクリプトの各行の最後には「;」をつける必要があります.
HTMLとの混在
PHPスクリプトは,HTMLファイルと混在して記述することができます.これには,主に3つのパターンがあります.
a)PHPスクリプトにのprintコマンドによって,HTML文を出力する.
b)PHPスクリプトとHTML文を分離して記述する.
c)HTML文の中に,PHPスクリプトを埋め込む.
この実験では,b)のスタイルを採用して,進めていきます.以下にPHPスクリプトとHTML文を分離したスタイルでの記述例を示します.
なお,a)のスタイルで記述する場合には,例えば,以下のようになります.
全体をPHPスクリプトとして,「<?PHP」 と「?>」で囲みます.HTML文については,PHPスクリプトでの文字列として扱うために,「" "」で囲み,print コマンドで書き出します.課題2
sample02.phpを入力して,出力結果を確かめてください.
printコマンドによって,HTML文を出力する a) のスタイルで,sample02.php と同等の結果が得られるプログラムを作成し,出力してください.
ソースコード,出力結果は印刷して,レポートに添付してください.
スクリプトの中に記述する説明文を”コメント”といいます.このコメントは実行時には無視して処理が行われますから,何を書いてもエラーにはなりません.一般的に,ヘッダ部分でのプログラム名やスクリプトの製作者の名前や作成日などの情報,バージョン情報,また,変数や関数の説明,デバッグ時に使う処理の内容などを記述します.
PHPでは,コメント文として,以下の2つが用意されています.
1) 「// 」 で1行のコメント文として,記述する.
2) 「/*」 と 「*/」で囲み,複数の行にわたるコメント文を記述する.
課題3
「sample03.php」を作成して,実行してください.
実行結果から,適切なコメント文を上記で作成したコードに追記してください.
ソースコード,出力結果は印刷して,レポートに添付してください.
変数はプログラムの処理過程において,結果やその過程を保存するためのデータの入れ物です.変数とはPHPに限らず,全てのプログラミング言語で用いられています.PHPにおける変数には以下のルールがあります.
PHPの変数には,宣言は必要ない
「$+名前」がPHPの変数名となる. 例:$value , $string, $neme
変数名には英字の大文字,小文字,数字を用いることが出来る.ただし,数字を先頭の文字とすることはできない.また,大文字・小文字の区別がある.
変数には,数値,文字,文字列などのデータを格納できる.また,ある変数に代入したデータを他の変数に格納できる.
PHPには型の制約が無く,同じ変数に数値,文字,文字列等を代入できる.
以下に,変数を使った簡単なプログラムを示します.
課題4
「sample05.php」を作成して,実行してください.
実行結果から,適切なコメント文を上記で作成したコードに追記してください.変数に関するコメントも忘れずに.
ソースコード,出力結果は印刷して,レポートに添付してください.
PHPには以下の算術演算子が用意されています.
四則演算 算術演算子 加算(足し算) + 減算(引き算) - 乗算(掛け算) * 除算(割り算) / 剰余(割り算の余り) %
また,算術演算子に「=」を組み合わせた複合演算子として以下のものが用意されています
変数自身に対する四則演算 | 算術演算子 |
加算代入 | += |
減算代入 | -= |
乗算代入 | *= |
除算代入 | /= |
剰余代入 | %= |
いくつかの講義・演習等で学習したとおり,一般的なプログラミング言語は「逐次処理」,「条件分岐」,「繰返し処理」のの3つの基本的な制御構造を持ちます.これは,PHPにおいても同様です.極論するなら,この3つの構造さえ抑えておけば,どのよなプログラミング言語で書かれたソースであっても,読み進めることは可能です.
ここでは,主に「条件分岐」と「繰返し処理」の2つについて学んでいきます.
条件分岐
PHPでは条件分岐の処理を行うために,if 文,if〜else文,if〜elseif 〜 else文,swich文 の4つが用意されています.どれを使うかは,状況によって使い分けてください.
if文
if ( 条件式 ) 命令文 ;
if ( 条件式 ) {
命令文;
命令文:
命令文;
}if〜else 文
if ( 条件式 ) {
命令文;
}
else {
命令文;
}if〜elseif 〜 else文
if ( 条件式1 ) {
命令文;
}
elseif ( 条件式2 ) {
命令文;
}
else {
命令文;
}switch 文
switch( 変数 )
case 値1:
命令文;
命令文;
・
・
break;
case 値2:
命令文;
命令文;
・
・
break;
・
・
default:
命令文;
命令文;
・
・
break;
}課題5
sample06.phpを作成し,ソースコードおよび出力結果を印刷してレポートに添付してください.
繰返し処理
PHPでは繰返し処理のために,for文,while文,do〜while文の3つが用意されています.書式はそれぞれ以下の通りです.
for 文
for (カウンタ初期値; ループの続行条件; カウントアップ式 ){
命令文;
・
・
}while 文
while( ループの続行条件 ){
命令文;
・
・
}do 〜 while 文
do {
命令文;
・
・
} while( ループの続行条件 );
課題6
sample07.phpを作成し,ソースコードおよび出力結果を印刷してレポートに添付してください.
sample07.phpと同等の処理を行うプログラムをwhile 文を用いて作成し,ソースコードおよび処理結果を印刷してレポートに添付してください.
Webアプリケーションでは,ユーザインターフェースは絶対に欠かせないものの一つです.例えば,Webページから入力したキーワードを抽出条件として,データベースへのアクセス行い,キーワードに一致するデータ表示したり,氏名・住所などを入力してデータベースに登録するなど,さまざまな場面で必要となります.
HTMLの<HOME>タグを使い,入力フォームを作成し,作成したページから入力された値を,実際の処理を行うPHPファイルへ渡し,計算を行い結果を出力します.以下に入力フォーム用のHTMLファイルと出力用のPHPファイルを示します.
課題7
- sample08.htmlおよびsample08p.phpを作成し,出力結果を確認してください.
- 上記のプログラムを参考にして,以下の出力結果が得られるHTMLファイルおよびPHPファイルを作成してください.
なお,氏名については,自分の名前を入力したものにしてください.その他の情報については,適当でいいです.- ソースコード,出力結果は印刷して,レポートに添付してください.
HTMLファイルの出力結果
PHPの出力結果
レポートについて