• 検索結果がありません。

Webデザイン論

N/A
N/A
Protected

Academic year: 2021

シェア "Webデザイン論"

Copied!
22
0
0

読み込み中.... (全文を見る)

全文

(1)

情報コース特殊講義

Webデザイン論

檀 裕也

([email protected])

http://www.cc.matsuyama-u.ac.jp/~dan/

2008年度 松山大学経営学部 開講科目

(2)

出席確認

受講管理システム 「AMUSE」 を使って、

本日の出席登録をせよ。

学籍番号とパスワードを入力するだけでよい:

http://davinci.cc.matsuyama-u.ac.jp/~dan/amuse/

(3)

前回の課題

3つの例題を完成させ、それぞれ指定された

URLでアクセスできるようにアップロードせよ。

宛先:

[email protected]

件名: Webデザイン#26_課題

本文: 公開URL

授業の感想など

(4)

今回の内容

CGI/Perl(2)

「ファイル処理」

アクセスカウンタ (例題1)

(5)

ファイル処理

データをファイルに保存して蓄積する

蓄積したデータをWebページに反映させる

サーバー側に保存するメリットは?

Web

ブラウザ

①要求(request)

③応答(response)

Webサーバ

Webクライアント

Content-type: text/html

HTML

ファイル

データファイル

...

...

プログラム

②実行

(6)

例題1

#!/usr/local/bin/perl

open( INFILE, "<counter.txt" ); $num = <INFILE>;

close( INFILE ); $num = $num + 1;

open( OUTFILE, ">counter.txt" ); print OUTFILE "$num¥n";

close( OUTFILE );

print "Content-type: text/html¥n¥n"; print << "END_OF_HTML"; <html> <head> <title>例題#27: アクセスカウンタ</title> </head> <body> <h1>アクセスカウンタ</h1> <p>これまで $num 回のアクセスがありました。</p> </body> </html> END_OF_HTML exit;

counter.cgi

(7)

アップロード

完成した counter.cgi を

http://www.cc.matsuyama-u.ac.jp/~

user

/cgi-bin/counter.cgi

にアップロードせよ。

(8)

データファイルの作成

アクセス数を記録するファイルを作成する

CGI プログラムによる書き込みを認めるために

アクセス権限を設定する

0

counter.txt

書き込み権限を認めないと、

カウンタを更新できない

(9)

表示例

アクセスがあるごとにカウンタ値が増大する

(10)

解説1

ファイルの内容を読み込む

ファイルハンドル

を指定してファイルを開く

open(

FileHandle

, "<

filename

" );

ファイルの内容を変数に読み込む

$

variable

= <

FileHandle

>;

使用後はファイルを閉じる

open( INFILE, "<counter.txt" );

$num = <INFILE>;

(11)

解説2

ファイルにデータを書き込む

ファイルハンドル

を指定して開く

(不等号の向きに注意)

open(

FileHandle

, ">

filename

" );

※ ">>

filename

" と書くと追記する

ファイルに内容を書き込む

print

FileHandle

"

data

";

あらかじめファイルに書き込み権限を付与しておく

open( OUTFILE, ">counter.txt" );

print OUTFILE "$num¥n";

(12)

例題2

(1/2)

#!/usr/local/bin/perl

#メッセージを受け取る

$query = $ENV{ 'QUERY_STRING' };

( $name, $message ) = split( /=/ , $query ); $message =~ tr/+/ /;

$message =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C",hex($1))/eg;

open OUTFILE, ">>message.txt"; print OUTFILE "$message¥n"; close( OUTFILE );

#出力形式を整える $html ="";

open INFILE, "<message.txt"; while( $line = <INFILE> ){

$html .= "<li>$line</li>¥n"; }

close INFILE;

(13)

例題2

(2/2)

print "Content-type: text/html¥n¥n";

print << "END_OF_HTML"; <html> <head> <title>例題#27: 掲示板</title> </head> <body> <h1>掲示板</h1> <ul> $html </ul>

<form action="./bbs.cgi" method="get">

<input type="text" name="msg" size="24" /> <input type="submit" value="送信" />

</form> </body> </html>

END_OF_HTML

(14)

データファイルの作成

投稿記事を記録するファイルを作成する

CGI プログラムによる書き込みを認めるために

アクセス権限を設定する

自由に書き込んでください。

message.txt

書き込み権限を認めないと、

カウンタを更新できない

(15)

表示例

(16)

解説1

GET 方式で送信された文字列を受け取る

記号 "=" で文字列を分割する

http://.../bbs.cgi

?

msg=%83%81%83b%83Z%81%5B%83W

URLエンコーディング

された文字列を復元する

(半角スペースとマルチバイト文字)

$query = $ENV{ 'QUERY_STRING' };

( $name, $message ) = split( /=/ , $query );

$message =~ tr/+/ /;

(17)

解説2

ファイルの内容を読み込み出力形式を整える

while文による繰り返し

ファイルの内容を1行ずつ変数

$line

に代入する

連結演算子 "." を使って変数

$html

に li 要素を

作成する

$html = $html."<li>$line</li>¥n";

open INFILE, "<message.txt";

while( $line = <INFILE> ){

$html .= "<li>$line</li>¥n";

}

(18)

解説3

入力フォームを作成する form 要素

入力データの送信先と送信方法を指定する

(それぞれaction属性とmethod属性)

input 要素

(フォームの部品)

type="text"

…テキストボックス

type="submit" …送信ボタン

<form action="./bbs.cgi" method="get">

<input type="text" name="msg" size="24" />

<input type="submit" value="送信" />

(19)

次回の予定

第28回 CGI/Perl(3)

「入力フォームの設計」

2008年 7月23日(水) 5時限目

870教室

※21日は 「海の日」 のため、授業はありません

(20)

提出物

2つの例題を完成させ、公開せよ。

宛先:

[email protected]

件名: Webデザイン#27_課題

本文: 公開URL

授業の感想など

(21)

期末試験

「Webデザイン論」 期末試験

実施日時:

2008年 8月 4日(月)

12:30~13:30 (60分)

出題形式:

筆記試験

出題範囲:

授業の内容

参照:

自筆メモのみ持ち込み可

ただし、A4サイズ1枚 (表裏)

(22)

前期末のスケジュール

2008年度 前期末

7月28日(月)

3時限 授業

7月30日(水)

授業なし

参照

関連したドキュメント

の点を 明 らか にす るに は処 理 後の 細菌 内DNA合... に存 在す る

(1) テンプレート編集画面で、 Radius サーバ及び group server に関する設定をコマンドで追加して「保存」を選択..

答 200dpi 以上の解像度及び赤・緑・青それぞれ 256 階調 (注) 以上で JIS X6933 又は ISO

Q-Flash Plus では、システムの電源が切れているとき(S5シャットダウン状態)に BIOS を更新する ことができます。最新の BIOS を USB

すべての Web ページで HTTPS でのアクセスを提供することが必要である。サーバー証 明書を使った HTTPS

光を完全に吸収する理論上の黒が 明度0,光を完全に反射する理論上の 白を 10

QRされた .ino ファイルを Arduino に‚き1む ことで、 GUI |}した ƒ+どおりに Arduino を/‡((スタンドアローン})させるこ とができます。. 1)

を基に設定するが,敷地で最大層厚 35cm が確認されていることも踏まえ,堆積量評価結果