第 8 回 CGI ことはじめ レポート課題 堀 拓朗 c1111317 英語3 地域共創 [1]筆記問題 A.CGI変数とHashが似ている点は、複数の選択肢があるうちから 選択したいものを取りだせるということだと思う。 CGIは選んだ項目が何かの項目と結びつく。項目は hash でいえば key のよ うなものであり、選択肢は value のようなものであると考えた。 B..htaccess で .rb と付いたプログラムを CGI として扱う。 .html は選択肢を表示し、その結果を .rb で表示するようになっている。 C.授業で作成した ticket.html 参照
酒田--%s
\n", arv) # 文の中に HTMLタグを入力して、HTML文書として出力する print("\n") print("\n") [2]プログラム問題 A. ●考えた設定 前期に作成した web_data_ユーザ ID.dat の 客の詳細情報を表示できるようにしたCGI ●作成したプログラム order_input_c111131 #!/usr/koeki/bin/ruby #coding: euc-jp require 'cgi' # CGI 変数を使用することを明記 cgi = CGI.new(:accept_charset => "EUC-JP") # 使用する Hash を作成し、html文書で使う # EUC-JP で受け取る print("Content-type: text/html; charset=EUC-JP\n\n") # 日本語コードにする arv = cgi["arrival"] # arrive を 「.rbファイル」において使用できるように変数 arv に代入させる。 info = Hash.new # Hash配列 info # info[名前] = [出身大学, 受賞年, 受賞部門, 受賞理由等] info["阿良々木暦"] = ["男", "余目", "0234-43-3501", "6月18日"] info["戦場ヶ原ひたぎ"] = ["女", "酒田", "0234-56-7823", "6月24日"] info["羽川翼"] = ["女", "鶴岡", "0235-33-8474", "6月16日"] info["忍野メメ"] = ["男", "新庄", "0233-26-2381", "6月12日"] info["忍野忍"] = ["女", "上山", "0245-45-4872", "6月25日"] info["八九寺真宵"] = ["女", "遊佐", "7486-32-1538", "6月11日"] info["神原駿河"] = ["女", "鶴岡", "8328-37-1929", "6月14日"] info["千石撫子"] = ["女", "酒田", "7132-63-2187", "6月23日"] info["阿良々木火憐"] = ["女", "余目", "1973-27-8763", "6月13日"] info["阿良々木月火"] = ["女", "余目", "2311-12-3768", "6月10日"] print("\n") print("\n") print("-----お客様情報-----
\n") printf("名前: %s
\n", arv) # 文の中に HTMLタグを入力して、HTML文書として出力する printf("性別: %s\n", info[arv][0]) printf("
出身: %s\n", info[arv][1]) printf("
電話番号: %s\n", info[arv][2]) printf("
返却日: %s
\n\n", info[arv][3]) print("レンタルビデオ TETSUYA 担当:堀
\n") print("\n") print("\n") -------order_input_ユーザ ID.html も貼っておく-------
-----お客様情報-----
名前: 千石撫子
性別: 女
出身: 酒田
電話番号: 7132-63-2187
返却日: 6月23日
レンタルビデオ TETSUYA 担当:堀
●もとのプログラムからの変更点 今回の授業で作成した cgi_ticket.rb を参考にした。 Hash をいれデータが表示されるようにした。 css も入れ見やすいページになるようにした。 ●考察 実行結果が正しく表示されているので このプログラムは正常に動作しているといえる。 [3]感想 普段インターネットをしているとよく目にする CGI だが いざ自分で作成するとなると大変な作業だった。 普段のプログラムならば実行できたことができないという 状態になってしまった。 当初の目標としては .dat からデータを open で 持ってきて表示させようとしたのだがどうしてもできず 断念してしまった。そのかわりに、プログラムの中に Hash を入れ表示させることには成功できた。 悔しいが CGI の仕組みをまだ完璧に理解できていないようなので これからの復習、講義で学びチャレンジしたいと思う。 [4] ●参考文献 ・基礎プログラミング II 第 8 回 (CGI ことはじめ) 「利用者にデータを入力させる部品」 http://roy/~madoka/2012/r2/08/r2_08_05_theme_05_form.html 西村まどか ・基礎プログラミング II 第 8 回 (CGI ことはじめ) 「基本の CGI ホームページの作りかた」 http://roy/~madoka/2012/r2/08/r2_08_06_theme_06_firstcgi.html 西村まどか ・基礎プログラミング II 第 8 回 (CGI ことはじめ) 「試作品のエラーを探せ」 http://roy/~madoka/2012/r2/08/r2_08_14_theme_12_tryanderror.html 西村まどか ・基礎プログラミング II 第 8 回 (CGI ことはじめ) 「動作プログラム作成」 http://roy/~madoka/2012/r2/08/r2_08_08_theme_08_ruby.html 西村まどか ●共同学習者 加藤 岳大 佐藤 航輝