第 8 回 CGI ことはじめ レポート課題 氏名:佐藤航輝 学籍番号:c1110766 語学クラス:英語3 コース:地域共創 1.筆記問題 A. CGI 変数の html 文書にあらかじめ入力されたデータをプログラムに持ってくる という部分と、Hash のプログラム内に入力されたデータをそのまま持ってくる 部分とが、似ていると思う。 B. 全ての .rb ファイルを CGI だとするのは他の作業に支障が出る。そこで、 rubycgi の下の .rb ファイルのみが CGI スクリプト であると設定する。 rubycgi の下に、.htaccess という名前のファイルを作成する。すると、.rb と いう名前で終わるファイルは CGI スクリプトと認識される。 .html は選択肢を表示し、その結果を .rb で表示するようになっている。 C.
酒田--%s
\n", arv) print("\n") print("\n") 2.プログラム問題 A. i.考えた設定 前期に作成した 個人作品 で使用したデータやプログラムを利用して、CGI で入 力する部分を作った。 ii.作成したプログラム 宿題のホームページ ( order_input_c111076.html ) 動かすプログラム ( order_input_c111076.rb ) css ( index.css ) 宿題のホームページ ( order_input_c111076.html )佐藤航輝 (c1110766@g.koeki-u.ac.jp)
動かすプログラム ( order_input_c111076.rb ) #!/usr/bin/env ruby #coding: euc-jp require 'cgi' # cgi を使うことを教える cgi = CGI.new(:accept_charset => "EUC-JP") print("Content-type: text/html; charset=EUC-JP\n\n") goi = cgi["goise"] # goise を goi にいれる print("\n") # html のはじまり print("\n") # ページのオプションのはじまり print("男子10000m -- %s
\n", goi) # 選手 print("\n") # 本文のおわり print("\n") # html のおわり css ( index.css ) body { background: #f0e68c; front-size: 1.5em; margin-right: 10em; margin-left: 10em; margin-top: 10; text-aline: center; } h1 { color: #be0039; background: #; front-size: 1.5em; text-aline: center; # border: dotted 8px #ff6347 } li { color: #27477a; font-size: 1.0em; text-aline: center; } p { color: #2f4f4f; font-size: 1.0em; text-aline: center; } a:link { color: #008080; text-decoration: underline; } a:visited { color: #008080; darkolivegreen; text-decoration: underline; } iii.もとにしたプログラムからの変更点 講義で作成したticket.html と ticket.rb をもとにした。またいつも使用して いる css を組み込ませた。 iv.プログラムを実行した結果画面 出力した結果の Web男子10000m -- 大迫傑
kterm での実行結果 roy{c111076}% ./order_input_c111076.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) 大迫傑 /usr/local/ruby/1.9/lib/ruby/1.9.1/cgi/core.rb:602: warning: regexp match /.../n against to EUC-JP string /usr/local/ruby/1.9/lib/ruby/1.9.1/cgi/core.rb:602: warning: regexp match /.../n against to EUC-JP string /usr/local/ruby/1.9/lib/ruby/1.9.1/cgi/core.rb:602: warning: regexp match /.../n against to EUC-JP string /usr/local/ruby/1.9/lib/ruby/1.9.1/cgi/core.rb:592: warning: regexp match /.../n against to EUC-JP string /usr/local/ruby/1.9/lib/ruby/1.9.1/cgi/core.rb:592: warning: regexp match /.../n against to EUC-JP string /usr/local/ruby/1.9/lib/ruby/1.9.1/cgi/core.rb:610: warning: regexp match /.../n against to EUC-JP string Content-type: text/html; charset=EUC-JP男子10000m --
v.導き出された結果の考察 きちんと表示されているので、このプログラムは正しい。 3.感想 難しかった。選択した人のデータが出てくるように、open などでやってみたが ならなかった。ただ、.rb に css を組み込ませることには、偶然だと思うが成 功した。データが出てくるようにしたいので、次回以降チャレンジしたいと思う。 vi.参考文献 基礎プログラミング II 第 8 回 「CGI ことはじめ」 http://roy/~madoka/2012/r2/08/ 基礎プログラミング I 第 8 回 「電子チケットを作ろう」 http://roy/~madoka/2012/r1/08/#filewrite 基礎プログラミング II 第 8 回 (CGI ことはじめ) 「日本語の受け渡し」 http://roy/~madoka/2012/r2/08/r2_08_10_appendix_01_codingset.html 基礎プログラミング II 第 8 回 (CGI ことはじめ) 「Ruby の print() 文」 http://roy/~madoka/2012/r2/08/r2_08_12_appendix_02_rubyprint.html 基礎プログラミング II 第 8 回 (CGI ことはじめ) 「HTML ソース」 http://roy/~madoka/2012/r2/08/r2_08_15_appendix_03_anqhtmlsource.html 共同学習者 大野敬司 阿部誠吾 堀たくろう