php mysql 演習資料3 - 東京工業大学 › lecture › project2004 ›...

13
1 PHP×MySQL 演習資料 3 1. 下記表に従って,チーム単位で PCと無線LANカードを受け取ってください. チーム 1 2 3 4 5 6 7 8 9 演習用PC 番号 1~4 5~8 9,10,12,3713~16 17,18,19,38 21~24 25~28 29~32 33~36

Upload: others

Post on 30-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PHP MySQL 演習資料3 - 東京工業大学 › lecture › project2004 › hands_on_3.pdfPHP×MySQL 演習資料3 ※1. 下記表に従って,チーム単位でPCと無線LANカードを受け取ってください

1

PHP×MySQL 演習資料 3

※1. 下記表に従って,チーム単位でPCと無線LANカードを受け取ってください.

チーム 1 2 3 4 5 6 7 8 9

演習用PC番号 1~4 5~8 9,10,12,37 13~16 17,18,19,38 21~24 25~28 29~32 33~36

Page 2: PHP MySQL 演習資料3 - 東京工業大学 › lecture › project2004 › hands_on_3.pdfPHP×MySQL 演習資料3 ※1. 下記表に従って,チーム単位でPCと無線LANカードを受け取ってください

2

プログラミングとは• コンピュータプログラム: コンピュータが実行すべき手順を記

述したもの

• プログラミング:コンピュータプログラムを作成すること

a=0を記憶しなさい

b=5を記憶しなさい

Aをbに足しなさい

結果を記憶しなさい

コンピュータコンピュータ プログラムプログラム

Page 3: PHP MySQL 演習資料3 - 東京工業大学 › lecture › project2004 › hands_on_3.pdfPHP×MySQL 演習資料3 ※1. 下記表に従って,チーム単位でPCと無線LANカードを受け取ってください

3

B = 10; A= 0;

C = A+B;

B = B - 1;

コンピュータが理解できる

機械語の命令列

人間の言葉に近い高級言語で

書かれたプログラム

機械語に近いアセンブリ言語で書かれたプログラム

プログラム言語人間がプログラミング言語(C, Java, CASLなど)を用いて作成したプログラム(ソースコード)を、コンピュータが理解できる形式に変換してから,はじめて実行できる。

変換

※この機械語の命令列は 「オブジェクトコード」や「バイナリ

コード」と呼ばれている

Page 4: PHP MySQL 演習資料3 - 東京工業大学 › lecture › project2004 › hands_on_3.pdfPHP×MySQL 演習資料3 ※1. 下記表に従って,チーム単位でPCと無線LANカードを受け取ってください

4

コンパイラ型言語とインタプリタ型言語

• コンパイラ型言語ソースコードをまとめてオブジェクトコードに変換しておき,実行時はオブジェクトコードを直接実行するタイプのプログラム言語

例: COBOL,Fortran,C,C++• インタプリター型言語

ソースコードをオブジェクトコードに変換しながら、そのプログラムを実行するタイプのプログラム言語

例: BASIC,Java Script,PHP

※ Java ScriptやPHPのような,処理速度は遅いが小規模なプログラムを簡単に記述することができる簡易プログラミング言語のことを「スクリプト言語」と呼ぶことがある.

Page 5: PHP MySQL 演習資料3 - 東京工業大学 › lecture › project2004 › hands_on_3.pdfPHP×MySQL 演習資料3 ※1. 下記表に従って,チーム単位でPCと無線LANカードを受け取ってください

5

PHPプログラミングの基本• HTMLの中で,PHPプログラムの部分は <?php と ?> の間に書く

• echo または print 文を使って,画面に文字を出力できる※出力方法の詳細について,http://www.1kara.net/php/basic/variable.php を参照すること

• コメントを書くソースコードを理解しやすいように,コメントをソースコードに書き込むことができる.コメントを書きたいときは,文頭に「//」をつける.また/* コメント*/ という風に囲んで書くこともできる.

• 変数に値を代入し,出力する変数は,値(数字や文字列) の入れ物である.一定のルールに従って,変数名を自由につけることができる.変数を参照するとき,変数名の前$マークをつける.

使用可能な変数名の例:$abc $ABC $_111

使用できない変数名の例:$111 $a-b-c

<?php$abc = 100; // 変数abcに,100という数値を代入echo $abc; // 変数abcの中身を画面に出力する

?>

<?phpecho "<b>Hello World!</b>";

?>

Page 6: PHP MySQL 演習資料3 - 東京工業大学 › lecture › project2004 › hands_on_3.pdfPHP×MySQL 演習資料3 ※1. 下記表に従って,チーム単位でPCと無線LANカードを受け取ってください

6

PHPで使える演算子

• 代数演算子 :+ ,- ,* ,/ ,%

• 結合演算子(文字をつなげる): .

• 比較演算子:==,<> ,<,> など

• 論理演算子:and,or,xor,!,&&,||

• その他: エラー制御演算子,実行演算子 など

※参考情報: http://www.1kara.net/php/basic/operator.php

Page 7: PHP MySQL 演習資料3 - 東京工業大学 › lecture › project2004 › hands_on_3.pdfPHP×MySQL 演習資料3 ※1. 下記表に従って,チーム単位でPCと無線LANカードを受け取ってください

7

<?php$i = 1;// 変数i が7を上回らないかぎり,繰り返すwhile ($i <= 7) { echo "ループ".$i."回目<br>¥n";

$i++; // iの値に1を足す }?>

<?php$a = 50;if($a == 100) { echo ‘100です’;} // a の値が100でしたら,○○と出力

elseif ($a == 50) {echo ‘50です’;} // a の値が50でしたら,○○と出力else { echo ‘100でも50でもありません’;} // その他の場合,○○と出力

?>

PHPで使える制御構文

• if文

• while文

• for文

• その他:switch文,foreach文 など※ 参考情報:http://www.1kara.net/php/cons/if_cons.php

<?php// 変数iI の初期値を0とし,iが7になるまで1を足しながら繰り返すfor ($i = 0 ; $i <= 7 ; $i++) { echo “ループ $i 回目<br>¥n”; }?>

Page 8: PHP MySQL 演習資料3 - 東京工業大学 › lecture › project2004 › hands_on_3.pdfPHP×MySQL 演習資料3 ※1. 下記表に従って,チーム単位でPCと無線LANカードを受け取ってください

8

• HTML文書の中で記入フォームを作るとき,FORMタグを使う.例 <FORM ACTION="URL"> ... </FORM>

• FORMタグの重要な属性:– ACTION :実行されるプログラムの「住所」(URL)を記述

• 記入フォームの重要な部品:– テキスト入力部品 <input type="text"> – 複数行テキスト入力部品 <textarea> – パスワード入力部品 <input type="password"> – チェックボックス部品 <input type="checkbox"> – ラジオボタン部品を<input type="radio"> – 選択部品 <select> – 実行ボタン <input type="submit"> – リセットボタン <input type="reset"> – 隠しフィールド<input type="hidden"> – ファイルをアップロードする<input type="file">

※参考情報:http://tohoho.wakusei.ne.jp/html/index9.htm の「フォーム(入力フォーム)」部分

HTMLのフォーム

Page 9: PHP MySQL 演習資料3 - 東京工業大学 › lecture › project2004 › hands_on_3.pdfPHP×MySQL 演習資料3 ※1. 下記表に従って,チーム単位でPCと無線LANカードを受け取ってください

9

• HTMLフォームの“POST”メソッドで送られたデータが$_POSTという配列変数の中に入る.

例:<input type=“text”name=“data1”>から送られたデータは

$_POST[‘data1’]の中に入る.

<select name=“data2"><option>10<option>9・・・

<option>1</select>

から送られたデータは $_POST[‘data2’] の中に入る.

※参考情報:http://www.1kara.net/php/app/form.php

フォームで送信されたデータを受け取る

Page 10: PHP MySQL 演習資料3 - 東京工業大学 › lecture › project2004 › hands_on_3.pdfPHP×MySQL 演習資料3 ※1. 下記表に従って,チーム単位でPCと無線LANカードを受け取ってください

10

サンプルプログラム

時刻をn 回表示するプログラム (n はユーザに入力してもらう)

Page 11: PHP MySQL 演習資料3 - 東京工業大学 › lecture › project2004 › hands_on_3.pdfPHP×MySQL 演習資料3 ※1. 下記表に従って,チーム単位でPCと無線LANカードを受け取ってください

11

HTML FORM のサンプル(form.html)<HTML>

<BODY>

<P>

<form action="result.php" method="POST">

&nbsp 時間表示を何回繰り返しますか?

<select name="r_number">

<option>10

*** 省略***

<option>1

</select>

<br><br>

&nbsp &nbsp &nbsp &nbsp <input type="submit" value="表示">

</FORM>

</P>

</BODY>

</HTML>

Page 12: PHP MySQL 演習資料3 - 東京工業大学 › lecture › project2004 › hands_on_3.pdfPHP×MySQL 演習資料3 ※1. 下記表に従って,チーム単位でPCと無線LANカードを受け取ってください

12

<HTML><BODY><P>

<?php

$r_number = $_POST['r_number']; //送信された実行回数を受け取る

if ( $r_number != NULL ) {

echo "時刻表示を$r_number 回繰り返します。<br><hr>";

flush();

echo "<font color=¥"#000099¥">"; // 青色で表示

for($nn=$r_number; $nn>0; --$nn){

echo "[$nn] 時刻は、"

.date( "Y年m月d日 H時i分s秒")

. "です。<br>¥n";

flush();

}

echo "</font><hr><br>";

} else { echo "時間表示の回数は未入力です。"; }

?>

</P></BODY></HTML>

送信された情報を受け取るPHPプログラムのサンプル(result.php)

Page 13: PHP MySQL 演習資料3 - 東京工業大学 › lecture › project2004 › hands_on_3.pdfPHP×MySQL 演習資料3 ※1. 下記表に従って,チーム単位でPCと無線LANカードを受け取ってください

13

演習課題1

• 課題内容:– HTMLのFORMから,PHPプログラムに指示を送り,その指示に従って,なんらかの

情報を表示するPHPプログラムを作成すること.

• 例)– 好きな色を選択してから送信すると,その色の文字を表示するプログラム.

– 単位,時差,年号などの換算プログラム

• 提出方法:– 11月11日 の演習時間の最初に,TAにソースコード及びデモを見せる.

• 参考資料:– 堀田倫英, 広川類, 石井達夫(著),『PHP4 徹底攻略—Web DB プログラミング徹底

入門[改訂版]』(http://www.net-newbie.com/support/pdf2/)の第1部 第2.9~2.10節(pp21-24 )に年号換算プログラムの作り方が掲載されている.

– 各種実用的な換算機能を提供するWebサイト:http://www.mie.to/123/index.html