第8回 基礎プログラミング II レポート課題 氏名:遠藤裕貴 学籍番号:c1090294 語学クラス:中国語 コース(系):政策マネ 1 A CGIはある項目の複数の選択肢からひとつ選択すると、それがある項目と結びつ き、選択肢によって表示する結果が変わる。項目はhashでいうところのkeyで、 選択肢はvalueとなる。CGIとhashに共通する部分はなになにと言えばこれこれの ように必ず2つのデータが結びつき、一つの項目として処理を行なうという点である。 B ディレクトリでCGIを利用するためにhtaccessを作成する。 ユーザーがデータを入力するためにHTML文書の.htmlを作成する。 入力したデータを受け取って処理するためのプログラム .rbを作成する ことで CGIのしくみが成り立つ。 C OKを押すとvalueが結果を出力するプログラムに送られる。 D require 'cgi' #CGIを使えるように呼び出す cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-JP\n\n") #受け取ったデータを使えるように宣言 arv = cgi["arrive"] #*.htmlで選択したものを受け取って代入するようにする。 printf("

到着駅は %s ですね

\n", arv) #printf文内にHTMLタグを入れ、HTML文書として出力する 2 A ●考えた設定 出発駅と到着駅を設定し、その間のチケットを表示するプログラム ●作成したプログラム #!/usr/koeki/bin/ruby require 'cgi' cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-jp\n\n") dep =cgi["departure"] arv =cgi["arrive"] print("\n") print("\n") print("\tチケット\n") print("\n") print("\n") print("

\n") printf("%s--%s\n",dep,arv) print("

\n") print("\n") print("\n") ・HTML オンライン券売機

●変更点 授業で作成したものに出発駅も表示できるように加えた。 ●実行結果 roy{c109029}% ./ticket.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) departure=山形 arrive=天童 Content-type: text/html; charset=EUC-jp チケット

山形--天童

roy{c109029}% ./ticket.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) departure=北山形 arrive=新庄 Content-type: text/html; charset=EUC-jp チケット

北山形--新庄

●考察 しっかり表示されているので正しくプログラムされているといえる。 B http://roy/~c109029/index.html C http://roy/~c109029/advertise2/ 3 ◯感想 今回は授業でやったプログラムを少し変えるだけだったのでいつもよりは時間が かからず完成できたのでよかった。 4 参考文献 基礎プログラミング II 第8回 CGIことはじめ 「動作プログラム作成」 http://roy/~madoka/2010/r2/08/08_08_theme_07_ruby.html 基礎プログラミング II 第8回 CGIことはじめ 「Ruby で CGI を作る宣言」 http://roy/~madoka/2010/r2/08/08_09_theme_08_declare.html 基礎プログラミング II 第8回 CGIことはじめ 「print() 文と HTML 文書のなかみ」 http://roy/~madoka/2010/r2/08/08_10_theme_09_printhtml.html 共同学習者 横山くん ファイルを添付します