Presentation is loading. Please wait.

Presentation is loading. Please wait.

制作技術ー4 アクセスカウンタ等付加機能 PHP と Javascript

Similar presentations


Presentation on theme: "制作技術ー4 アクセスカウンタ等付加機能 PHP と Javascript"— Presentation transcript:

1 制作技術ー4 アクセスカウンタ等付加機能 PHP と Javascript
情報スキル活用  第11週 制作技術ー4 アクセスカウンタ等付加機能 PHP と Javascript

2 クライアントとサーバーとの間の双方向通信の考え方 (復習)
クライアントとサーバーとの間の双方向通信の考え方 (復習) クライアント サーバー 閲覧ソフトから URLを送信して <html>から</html>までを取出し Webページとして表示 HTML文書返信 この中に入力要求があれば データ入力 データ送信(cgi) データ受取 処理 Perl 言語 PHP言語 処理結果 (HTML文書) 応答内容表示 入力に対する応答

3 ① <a href="cgi_test.html">cgi起動テスト</a>
データの引渡し cgi_test.html ② <form action="../cgi/cgi_test.cgi"> <input type="submit" name="button" value="起動確認" /> ③ 

4 アンケート調査(いろいろな入力形式の例)
このアンケート調査のHTMLとcgiを圧縮ファイルで「配布資料」欄に掲載しているのでダウンロードし、各自のWebページに組み込みなさい。

5 アンケート調査のHTML文書 <!DOCTYPE html> <html> <head>
<title>アンケート調査</title> <link rel="stylesheet" href="poll.css" type="text/css" media="screen" /> </head> <body> <h3>アンケート調査</h3> <p>あなたのお名前を入力して送信してください.</p> <form action=" /> お名前 : <input type="text" name="namae" /><br /><br /> 性 別 : <input type="radio" name="seibetu" value="男" />男 <input type="radio" name="seibetu" value="女" />女<br /><br /> 趣 味 : <input type="checkbox" name="v1" value="旅行" />旅行 <input type="checkbox" name="v2" value="読書" />読書 <input type="checkbox" name="v3" value="音楽" />音楽 <input type="checkbox" name="v3" value="スポーツ" />スポーツ <input type="checkbox" name="v3" value="その他" />その他<br /><br /> 出身県 : <select name="pref"> <option value="未入">県選択</option> <option value="愛知">愛知県</option> <option value="岐阜">岐阜県</option> <option value="三重">三重県</option> <option value="静岡">静岡県</option> <option value="以外">その他</option> </select><br /><br /> <input type="submit" name="submit" value="送信" /> <input type="reset" name="reset" value="取消" /> </form> </body></html>

6 アンケート調査のcgi(Perl) #!/usr/bin/perl # open(LOGFILE,">>poll.txt");
#アンケート調査 if ($ENV{'REQUEST_METHOD'} eq POST) { $len = $ENV{'CONTENT_LENGTH'}; read(STDIN, $buffer, $len); } else { $buffer = $ENV{'QUERY_STRING'}; #フォームに入力された値を分解し、復元する @pairs = split(/&/,$buffer); foreach ($name,$value) = split(/=/,$pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $hozon{$name} = $value; $w1=$hozon{"namae"}; $w2=$hozon{"seibetu"}; $w3=$hozon{"v1"}; $w4=$hozon{"v2"}; $w5=$hozon{"v3"}; $w6=$hozon{"v4"}; $w7=$hozon{"v5"}; open(LOGFILE,">>poll.txt"); print LOGFILE "$w1\,$w2\,$w3\,$w4\,$w5\,$w6\,$w7\,$w8\,"; ($sec,$min,$hour,$day,$mon,$year) = localtime(time); $year += 1900; $mon += 1; print LOGFILE "$year\/$mon\/$day\,$hour\:$min\:$sec\,"; print LOGFILE "$ENV{'REMOTE_HOST'}\,"; print LOGFILE "$ENV{'REMOTE_ADDR'}\n"; close(LOGFILE); print "Content-type: text/html\n\n"; print "<html>\n"; print "<head>\n"; print "<TITLE>Thank You!</TITLE>\n"; print "</head>\n"; print "<body>\n"; print "<br /><br />"; print "<p>$w1さん ご回答ありがとうございましたm(_ _)m</p>"; print "</body></html>\n"; exit (0);

7 入力形式一覧 入力形式指定 <input type="****" name="++++" value"####" />
text : 文字列入力 氏名 radio : 択一 男女 checkbox : 複数選択 趣味 submit : 送信 送信ボタン reset : リセット リセットボタン 一覧から選択 <select name="++++"> 出身県 <option value="値1">見出し1</option>  県名1 <option value="値2">見出し2</option>  県名2 <option value=" : ">  :  </option> <option value="値n">見出しn</option> </select>

8 中央画面の</div>の前に 次のスライドの内容を追加 ファイル名を index.php で保存
アクセスカウンターの設定(本日の作業) 準備  トップページをエディターに取り出し 中央画面の</div>の前に  次のスライドの内容を追加 ファイル名を index.php で保存 count.txtファイルを作り  初期値    0  書込み権 を ON PHPを使ったHTMLのファイルは 拡張子を「.php」とする。 閲覧ソフトでは.phpファイルを 直接実行することはできません。 ですから、PHPを使ったHTMLの動作確認は、そのファイルをサーバーにアップロードしてからアクセスしなければなりません。

9 アクセスをカウントするPHPプログラムの追加
<div class="right"> 文章 </div> <?php $fp=fopen("count.txt","r+"); $count=fgets($fp,10); $count=$count+1; fseek($fp,0); fputs($fp,$count); fclose($fp); ?> あなたは<b> echo $count; </b>人目の来訪者です。

10 PHPプログラムはHTML文書の中に組み込みます。 <?php から : ?> まで の内部がPHPの文です。
 : ?> まで の内部がPHPの文です。 複数の箇所の記載されても情報(データ)は継続します。 PHPの文

11 アクセスをカウントするPHPプログラムの説明
$fp=fopen("count.txt","r+"); ① ファイルを開き $count=fgets($fp,10); ② 文字列を取り出し数値化し $count=$count+1; ③ それに「1」を加え fseek($fp,0); ④ 記録場所を探し fputs($fp,$count); ⑤ そこへ記録して fclose($fp); ⑥ ファイルを閉じる ?> あなたは<b> この行は HTML です。 echo $count ; ⑦ $countの値を出力する </b>人目の来訪者です。 この行は HTML です。

12 PHPによるアクセスカウンター


Download ppt "制作技術ー4 アクセスカウンタ等付加機能 PHP と Javascript"

Similar presentations


Ads by Google