1 PHP 概要 ホームページは、毎回同じ画面しか表示する事が出来ない。従って、ログインごとにパスワード認証 をしたり、現在の時刻を表示したりするためには、プログラムで HTML の構文を動的に作成する必要 がある。 一般的には、Java や C#が使われるが、それらは多少大がかりな仕掛けが必要になる。従ってプロ バイダのレンタルサーバ等で、利用できるプログラムは、基本的には Pearl や PHP しか無い。Pearl は 過去の言語で、非常にプログラムが煩雑になり、もう使われてはいないため、ゼミでは PHP を利用し た Web プログラミングを実施する。 演習の前準備 C:\xampp\htdocs\に sample というフォルダが無ければ、作成する。 サンプルプログラムは、豊谷の HP のリンクから、 プロジェクト演習(ゼミ):豊谷研究室所属学生向 を選択し、 HP から、PHP 基礎演習ソースプログラム をマウスの右クリックで、ダウンロードする。 上記のソースファイルを解凍して、 C:\xampp\htdocs\sample の中に配置する。 ブラウザを開いて、http://localhost/sample/プログラム名 と入力すれば、プログラムが実行されます。 それでは下記に従って、演習を進めて下さい。 《 ログイン画面 》 【login.html】 ↓ログインボタン押下後 【passwordDisc.php】
2 サンプルプログラム 【login.html】 ■■■■■■■■【課題1】パスワードを自分のオリジナルに書き換えて下さい。■■■■■■■■ <html> <head><title>ログイン</title></head> <body> <!--フォームのパラメーターが送信された時に動作する PHP の指定--> <form method="post" action="passwordDisk.php">
<!--ユーザ、パスワード用テキストフィールドの設定--> ユーザ :<input type="text"name="user"><br> パスワード:<input type="password"name="pwd"><br> <!--送信用ボタンの設定--> <input type="submit"name="sbm"value="ログイン"> </from> </body> </html> 実行 URL http://localhost/sample/login.html 格納フォルダ C:\xampp\htdocs\sample\login.html サンプルプログラム 【passwordDisc.php】 <html> <head><title>ログイン</title></head> <body> <?php $user=$_POST['user']; $pwd=$_POST['pwd']; /*パラメータ値をブラウザに表示する処理*/ print("■あなたの入力したパスワード:<b>".$pwd."</b><hr>"); /*受け取ったパラメータ値を比較し、条件に応じた処理を実行する記述*/ if($pwd==passwd){ print("<p style='color:green;'>".$user."さん、ログインは許可されました。</p>"); }else{ print("<p style='color:crimson;'>ログインできません。</p>"); } ?> </body> </html> 実行 URL http://localhost/sample/passwordDisc.php 格納フォルダ C:\xampp\htdocs\sample\passwordDisc.php
3 《 テキストボックス 》
【textBoxSample.html】
↓送信ボタン押下後 【textBoxInput.php】
4 サンプルプログラム 【textBoxSample.html】 <html> <head><title>ニックネーム</title></head> <body> <!--フォームのパラメーターが送信された時に動作する PHP の指定--> <form method="post" action="textBoxInput.php">
■あなたのニックネームを 10 文字以内で入力して[送信]ボタンを押してください。<br>
<!--テキストボックスの記述パラメータ名「nickname」、デフォルトのパラメータ値「あなたのお名前」 -->
<input type="text" name="nickname" size="20" maxlength="10" value="あなたのお名前"><br> 送信を実行するボタンの記述
<input type="submit" name="sbm" value="送信"> </form> </body> </html> 実行 URL: http://localhost/sample/textBoxsample.html 格納フォルダ: C:\xampp\htdocs\sample\textBoxSample.html サンプルプログラム 【textBoxInput.php】 <html> <head> <title>受付</title> <style>b{margin:60px;color:crimson;font-size:18px;}</style> </head> <body> <?php print("■あなたのニックネームを以下のように受け取りました。<br>"); /*パラメータ値を取得し、表示する記述-->*/ $nickname = $_POST['nickname']; print("<b>".$nickname."</b>"); ?> </body> </html> 実行 URL: http://localhost/sample/textBoxInput.php 格納フォルダ: C:\xampp\htdocs\sample\textBoxInput.php
5 《 チェックボックス 》 ■■■■■■【課題2】スポーツでは無く、趣味 8 つを選択する画面にして下さい。■■■■■■■ 【checkBoxSample.html】 ↓送信ボタン押下後 【checkBoxReceipt.php】
6 サンプルプログラム 【checkBoxSample.html】 <html> <head><title>アンケート</title></head> <body> <!--フォームのパラメーターが送信された時に動作する PHP の指定--> <form method="post" action="checkBoxReceipt.php">
■あなたのお好きなスポーツを選択してください(複数選択可)<p> <!--チェックボックスの記述-->
<input type="checkbox" name="sport[]" value="サッカー">サッカー <input type="checkbox" name="sport[]" value="ボーリング">ボーリング <input type="checkbox" name="sport[]" value="テニス">テニス
<input type="checkbox" name="sport[]" value="スイミング">スイミング <input type="checkbox" name="sport[]" value="ゴルフ">ゴルフ<p> <!--送信を実行するボタンの記述-->
<input type="submit" name="command" value="送信"> </form> </body> </html> 実行 URL http://localhost/sample/checkBoxSample.html 格納フォルダ C:\xampp\htdocs\sample\checkBoxSample.html サンプルプログラム 【checkBoxReceipt.php】 <html> <head> <title>アンケート</title> <style>b{color:orange;margin-left:40px;width:300px;}</style> </head> <body> <?php print("■あなたのお好きなスポーツは以下の通りです。<p>"); $sport = $_POST['sport']; /*パラメータ値を入力していないときの処理*/ if($sport==null){ print("好きなスポーツを選んでいません。"); /*パラメータ値の数だけループさせる処理*/ }else{ for($i=0;$i<count($sport);$i++){ print("<b>・".$sport[$i]."</b><br>"); }
7 } ?> </body> </html> 実行 URL http://localhost/sample/checkBoxReceipt.php 格納フォルダ C:\xampp\htdocs\sample\checkBoxReceipt.php 《 コンボボックス 》 ■■■【課題3】年代を、「9 歳未満」と、「70 歳以上」を加え、メッセージを全て、オリジナルに書き換え て下さい。■■■■■■■ 【comboBoxSample.html】 ↓送信ボタン押下後 【comboBoxReceipt.php】
8 サンプルプログラム 【comboBoxSample.html】 <html> <head><title>アンケート</title></head> <body> <!--フォームのパラメーターが送信された時に動作する PHP の指定--> <form method="post" action="comboBoxReceipt.php">
■あなたの年齢を選択してください。<br> <!--コンボボックスの記述--> <select name="age"> <option value="10">10 歳代 <option value="20">20 歳代 <option value="30">30 歳代 <option value="40">40 歳代 <option value="50">50 歳代 <option value="60">60 歳代 </select> <!--送信を実行するボタンの記述-->
<input type="submit" name="command" value="送信"> </form> </body> </html> 実行 URL http://localhost/sample/comboBoxSample.html 格納フォルダ C:\xampp\htdocs\sample\comboBoxSample.html サンプルプログラム 【comboBoxReceipt.php】 <html> <head> <title>アンケート</title> <style>b{color:crimson;front-size:24px;background:lightyellow;}</style>
9 </head> <body> <?php $age = $_POST['age']; print("■あなたの年齢:<b>".$age."歳代</b><p>"); /*int 型に変換されたパラメータ値の範囲を確認し、条件に合った文字列を表示する処理*/ if(10<=$age && $age<40){print("まだまだ人生これからですね。");
}else if(40<=$age && $age<60){print("人生真っ只中ですね。"); }else if(60<=$age){print("人生の収穫の時期ですね。"); } ?> </body> </html> 実行 URL http://localhost/sample/comboBoxReceipt.php 格納フォルダ C:\xampp\htdocs\sample\comboBoxReceipt.php 《 Cookie 利用プログラム 》 ■■■【課題4】 これをアクセスカウンターにして、10回目、20回目・・・など節目に、 「おかげさまで、●●回目のアクセスです。ありがとうございます。」と表示させて下さい。■■■■■ 【MyCookieCounter.php】 ↓
10 サンプルプログラム <?php $counter=$_COOKIE["count"]; if(!isset($counter)){ /*Cookie に設定する値「Counter」に「0」を設定する処理*/ $counter=0; }else{ /*Cookie の値をカウントアップする処理*/ $counter++; }
/*Cookie 名を「count」、Cookie の値を「Counter」有効期限を 1 日間(60 秒*60 分*24 時間*1 日)に 設定*/ setcookie("count",$counter,time()+60*60*24*1); ?> <html> <head><title>クッキー利用のカウンタープログラム</title></head> <body> <?php print("カウント数 ".$counter."<br>"); ?>
<a href="MyCookieCounter.php"><font size=3>再読み込み</font></a> </body>
11 </html> 実行 URL http://localhost/sample/MyCookieCounter.php 格納フォルダ C:\xampp\htdocs\sample\MyCookieCounter.php