第8回 ことはじめ レポート課題 氏名:小川まどか 学籍番号:C1100420 語学クラス:英語2 コース:社会福祉 1.筆記問題 A.CGI変数とhashは取り出したいものだけを取り出せる点が似ている。 選択肢が多数ある中から、ユーザーが選択したものを取り出して表示させる。 また、配列を設定する際に、CGI変数はcgi = CGI.new , hashはkuni = Hash. new とする点も似ている。 B..hataccessは .rbファイルだけをCGIとして取り込む。 .htmlは選択肢をホームページ上に表示させて、ユーザーが項目を選択するよ うにする。 .rbは、ユーザーが入力したデータを表示させる。 C. という部分で、「購入します」「取り消します」がユーザーにより押された ら .rbプログラムにその内容を送信する。 D.require 'cgi'でCGIを使うことを宣言する。 sta = cgi["start"]とarv = cgi["arrive"]の部分で、ユーザーが選択したデ ータをstaとarvに取り込む。 print("東北本線 切符<title>\n")の部分で、print文を使用しタグを 入力すると、htmlとして内容を表示させることが可能である。 2.プログラム問題 A. i.考えた設定 花巻駅から盛岡駅までの乗車券を発券するCGIを作成した。 ii.作成したプログラム ・ticket.rb #!/usr/bin/env ruby $KCODE = 'e' # 文字コードの設定 require 'cgi' # CGIを使うことを宣言 cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-jp\n\n") sta = cgi["start"] arv = cgi["arrive"] # Ruby に CGI でもらってきた値を代入 print("<link rel=\"stylesheet\" type=\"text/css\" href=\"ticket.css\">\n") print("<html>\n") print("<head>\n") print("<title>東北本線 切符<title>\n") # タイトルを表示 print("</head>\n") print("<body>\n") print("<h1>東北本線 乗車券</1>\n") printf("<p>乗車区間 : %s--%s間</p>\n",sta,arv) # 選択した乗車区間を表示 day=Time.now #日にちを入力 printf("<p>発行日 : %s\n</p>",day) # 発行日を表示 printf("<p>発行日当日のみ有効 途中下車無効</p>") print("</body>\n") print("<html>\n") ・ticket.html <html> <head> <title>オンライン券売機

東北本線 乗車券発券機

iii.変更点 ・到着駅だけではなく出発駅も付け加えた。 ・背景色を変更した。 ・チケットに日にちと時間が表示されるようにした。 ・print文を付け加えた。 iv.実行結果 pan{c110042}% ./ticket.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) start="花巻" arrive="盛岡" Content-type: text/html; charset=EUC-jp 東北本線 切符<title> </head> <body> <h1>東北本線 乗車券</1> <p>乗車区間 : 花巻--盛岡間</p> <p>発行日 : Sat Nov 26 15:31:38 +0900 2011 </p><p>発行日当日のみ有効 途中下車無効</p> </body> </html> v.考察 ホームページ上でも上記の内容が表示された。 このプログラムは正常に動いている。 B.掲載したホームページ (http://roy.e.koeki-u.ac.jp/~c110042/index.html) C.掲載した広告ページ (http://roy/~c110042/advertise2/) 3.感想 CGIについて学んで、インターネット上でよく見るCGIが自分でも作成することが 可能であるのだなと感じました。 ロゴの作成の仕方を忘れていたので、今回復習できてよかったです。 4.参考文献 基礎プログラミングI 第11回 自由課題準備/ロゴ作成 ・ロゴの作成 (http://roy/~madoka/2011/r1/11/r1_11_02_theme_02_logo.html) ・ロゴに書名を入れるには (http://roy/~madoka/2011/r1/11/r1_11_04_theme_03_signature.html) 基礎プログラミングII 第8回 ことはじめ ・動作プログラム作成 (http://roy/~madoka/2011/r2/08/r2_08_08_theme_08_ruby.html) ・RubyでCGIを作る宣言 (http://roy/~madoka/2011/r2/08/r2_08_09_theme_09_declare.html) 西村まどか先生 ウィキペディア 東北本線 駅一覧 (http://ja.wikipedia.org/wiki/%E6%9D%B1%E5%8C%97%E6%9C%AC%E7%B7%9A)