第8回 基礎プログラミングII レポート課題 氏名:久保田 瑛一郎 学籍番号:c109058 語学クラス:英語1 コース:社会福祉 1 A CGIでは例えばアンケートで、あなたの好きな化粧品は何ですか?という質問に 対しユーザが答える際に「ルビ緒化粧水」「ルビ緒マスカラ」「ルビ緒マニキュ ア」という質問があったとする。仮に「ルビ緒マスカラ」を選んだとする。これ はハッシュの考え方に乗っ取れば、ユーザが何も入力していないときの初期値が chosa[kesyouhin]=nilとなり、アンケートに答えるとchosa[kesyouhin]="ルビ緒 マスカラ"となる。 要は両方ともユーザが入力したものについて覚えることが出来、結果を出力する ことが出来る B htaccessでCGIを作るよ!rubyで!ということを宣言させ、htmlにて内容(アンケー トの内容など)を入力させ、rbで結果を出力している。例えるならhtaccessは親 分であるOSでhtmlが実際に内容を入力させるワードプロセッサーソフト、rbはそ れを印刷するプリンターである 以降rpt_8.rbとrpt_8.htmlを作成し、それを用いて解説する C受け渡し rpt_8.html 第8回レポート解説用 アンケート調査</tiltle> </head> <body> <form method="POST" action="./rpt_8.rb"> <p>あなたは電子商取引(オークションやインタネットショッピングなど)を活用しま すか?</p> 選択肢:<select name ="shitumon"> <option>はい <option>いいえ </select> <p> <input type="submit" value="OK"> <input type="reset" value="reset"> </p> </form> </body> </html> 解説 <form method="POST" action="./rpt_8.rb">の"./rpt_8.rb"(実行すると言う意 味)で「印刷の司令を出している」 選択肢:<select name ="shitumon">でshitumonという変数(はこ)に「はい」か 「いいえ」をいれている submitで送信している。 D受けとり rpt_8.rb #以降を解説とする #!/usr/koeki/bin/ruby require'cgi' cgi = CGI.new("html4") print("Content-type: text/html; charest=EUC-jp\n\n") #htmlに書きこむことを宣言し、文字化け防止 kotae=cgi["shitumon"] #さきのshitumonにいれたrpt_08.htmlのデータをコピーしている(受け取り) print("<html>\n") print("<head>\n") print("<title>入力内容確認/title>\n") print("<h1>入力内容確認</h1>\n") print("</head>\n") print("<body>\n") print("あなたは電子商取引(オークションやインタネットショッピングなど)を活用しま すか?\n") printf("<p>--%s\n</p>",kotae) print("</body>\n") print("</html>\n") #以上 printの部分を書きこんでいる 実行結果 roy{c109058}% ./rpt_8.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) shitumon="はい" Content-type: text/html; charest=EUC-jp <html> <head> <title>入力内容確認/title> <h1>入力内容確認</h1> </head> <body> あなたは電子商取引(オークションやインタネットショッピングなど)を活用しま すか? <p>--はい </p></body> </html> よってこのプログラムは正しい なおこのCGIは http://roy.e.koeki-u.ac.jp/~c109058/rubycgi/rpt_8.htmlにある。 2プログラム問題 A考えた設定 羽田空港国際線ターミナルの運用開始にともない、新駅が完成した京浜急行だが、 その京浜急行の切符発券システムonlineorder.rb と onlineorder.htmlを作成した。 Bもとにしたプログラム ticket.rbとtricket.htmlをもとにした。変更点は出発駅も選べるようにし、駅 数を増加させた。 また前期の自分の最高傑作を見ながらcssをプログラムに組み込ませる方法を確 認した。 C作成したプログラム onlineorder.html <html> <head> <title>電車チケット発券システム

電車チケット発券システム

いななら前路線200円!!

出発駅:
到着駅:

optionは駅など選べる項目を指す onlineorder.rb #!/usr/koeki/bin/ruby #インタプリタである事を宣言する require'cgi' #cgiを使うことを教える cgi=CGI.new("html4") #変数cgiはcgiである print("Content-type: text/html; charest=EUC-jp\n\n") #htmlに書きこむ、文字化け防止 deru=cgi["hatu"] #先のhtmlに入力されたhatuをderuに入れる tuku=cgi["tyaku"] #先のhtmlに入力されたtyakuをtukuに入れる print("\n") #htmlであることを宣言する print("\n") #ページのオプションであることを宣言する print("切符出力\n") #タイトル print("\n") #css設定 print("\n") #ページのオプションのおわりであることを宣言する print("\n") #本文であることを宣言する print("御利用ありがとうございました切符を以下に印刷します\n") #おまけ印刷 print("
\n") #線を引く print("

200円

\n") #値段印刷 printf("

%s--------%s\n

",deru,tuku) #行先印刷 hiniti=Time.now #今日の日付、時間を出す printf("発行日:%s\n
",hiniti) #発行日の印刷 print("上記発行日の当日のみ有効
") #注意書き印刷 print("
\n") #線を引く print("\n") #本文の終わりであることを宣言する print("\n") #htmlの終わりであることを宣言する css body { color:#000000; background-color:#ff9999 } d 実行結果roy{c109058}% ./onlineorder.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) tuku="品川" deru="蒲田" Content-type: text/html; charest=EUC-jp 切符出力 御利用ありがとうございました切符を以下に印刷します

200円

--------

発行日:Wed Nov 17 02:31:01 +0900 2010
上記発行日の当日のみ有効

このCGIページ→http://roy/~c109058/rubycgi/onlineorder.html e考察 ブラウザ上できちんと表示されている。よってこのプログラムは正しい。 参考文献 京急沿線情報満載!京急まちWeb http://www.keikyu-ensen.com/train/kakueki.jsp 西村まどか 基礎プログラミング I 第 8 回 「電子チケットを作ろう」CSS の色見本 (講義ノート) http://roy.e.koeki-u.ac.jp/~madoka/2010/r1/08/08_12_appendix_01_safecolor.html B ロゴのコンセプトは特にない。たまたま見ていたらカッコよい組合せにめぐり会っ たのである。 感想→http://roy.e.koeki-u.ac.jp/~c109058/advertise2/r2_c109058.pdf バナー→http://roy/~c109058/logo_r2_c109058.png 共同学習者:小松由里