今までのレポート課題を全て再提出します。 第8回 CGIことはじめ レポート課題 氏名:佐藤 咲 学籍番号:c1110772 語学クラス:英語 コース:政策 1、筆記問題 A.CGIは、html文書にデータを入力し、Webページでデータを表示させる。また、Hashは、 複数の項目の中から、選択されたものだけを取り出し、ktermで表示させる。 以上がCGIとHashの似ている点だと考える。 B. .htaccess で、そのディレクトリ内のファイルのみがCGIスクリプトであると宣 言する。 *.htmlで、入力されたhtml文書をWebページに表示させ、ユーザに入力を促す。 *.rbで、*.htmlの結果を吐かせ、CGIとして表示する。 C. 乗車券販売機
#ユーザに入力させるフォームを定義 、actionで結果の表示先を指定 #input で結果を *.rb に送る #フォームに沿って入力されたときの作業((input type)この場合submit)と #それに対応する表示名称((value)この場合OK) #input で結果を リセットする #フォームに沿って入力されたときの作業((input type)この場合reset)と #それに対応する表示名称((value)この場合Reset)
D. #!/usr/koeki/bin/ruby #coding: euc-jp require 'cgi' #CGI変数を使う宣言 cgi = CGI.new(:accept_charset=> "EUC-JP") print("Content-type: text/html; charset=EUC-JP\n\n") #日本語コードで表示 arv = cgi["arrival"] #arrival を *.rbで使用できるように変数arvに代入させる print("\n") print("\n") print("オンライン乗車券\n") print("\n") print("\n") printf("

酒田--%s

\n",arv) print("\n") print("\n") 2、プログラミング問題 i.考えた設定 予め、登録している名前と住所、年号をCGIフォームの選択肢として表示させ、年賀 状を作成するというプログラム。 ii.作成したプログラム (order_input_c111077.rb)と(order_input_c111077.html) (order_input_c111077.rb) #!/usr/koeki/bin/ruby #coding: euc-jp require 'cgi' #CGI変数を使う宣言 cgi = CGI.new(:accept_charset=> "EUC-JP") #CGIは変数 print("Content-type: text/html; charset=EUC-JP\n\n") #日本語コードで表示 let = cgi["leter"] #letter を *.rbで使用できるように変数letに代入させる ye = cgi["year"] #yearを *.rbで使用できるように変数yeに代入させる print("\n") print("\n") print("年賀状見本\n") print("\n") print("\n") print("\n") print("

年賀状の仕様になります。

\n") print("

-------------------------------------

\n") print("

宛先:

\n") printf("

%s

\n",let) print("

-------------------------------------

\n") print("

本文:

\n") print("

謹賀新年

\n") print("

本年もどうぞ宜しくお願い申し上げます。

\n") printf("

%s 年 元旦

\n",ye) print("

-------------------------------------

\n") print("

差出人:

\n") print("

979-7461

\n") print("

山形県酒田市錦町8-13

\n") print("

佐藤 咲

\n") print("

-------------------------------------

\n") print("\n") print("\n") (order_input_c111077.html) 年賀状作成
#ユーザに入力させるフォームを定義 、actionで結果の表示先を指定

年賀状作成



著作権について

このプログラムは、東北公益文科大学 佐藤 咲(C111077)が著作権を保有しています。

このプログラムは、入手・実行・改変・再配布はいずれも自由に行うことが出来ます。

ただし、このプログラムで生じたいかなる結果に対しても著作者は責任を負いません。

このプログラムに関する質問・意見などは下記のアドレスまでお送り下さい。

c111077@g.koeki-u.ac.jp iii.もとにしたプログラムからの変更点 第8回の授業で作成した ticket.html とticket.rb をもとに作成した。 授業で作成したCGIは乗車駅を選択するフォームとOK、リセットのフォームだけ だったが、今回のレポートで作成したCGIは、OK、リセットのフォーム以外に宛 先と年号を選択させるフォームに変えて作成した。 iv.プログラムを実行した結果画面 表示先アドレス (http://roy.e.koeki-u.ac.jp/~c111077/rubycgi/order_input_c111077.rb)) 年賀状作成
#ユーザに入力させるフォームを定義 、actionで結果の表示先を指定

年賀状作成



著作権について

このプログラムは、東北公益文科大学 佐藤 咲(C111077)が著作権を保有しています。

このプログラムは、入手・実行・改変・再配布はいずれも自由に行うことが出来ます。

ただし、このプログラムで生じたいかなる結果に対しても著作者は責任を負いません。

このプログラムに関する質問・意見などは下記のアドレスまでお送り下さい。

c111077@g.koeki-u.ac.jp 表示先アドレス (http://roy.e.koeki-u.ac.jp/~c111077/rubycgi/order_input_c111077.rb) 年賀状見本

年賀状の仕様になります。

-------------------------------------

宛先:

伊藤博文 097-2342 岩手県花巻市近江100-2

-------------------------------------

本文:

謹賀新年

本年もどうぞ宜しくお願い申し上げます。

2013 年 元旦

-------------------------------------

差出人:

979-7461

山形県酒田市錦町8-13

佐藤 咲

-------------------------------------

v.結果の考察 作成している途中で、動作を確認しようとWebページでorder_input_c111077.htmlの OKボタンを押しても、order_input_c111077.rb のページにvalueの値がRubyに送 り込まれず、order_input_c111077.rbページにとばないので作業が止まってしまった。 後から原因を考えてみると、 rubycgiの中にあるorder_input_c111077.rb を chmod +x していないことが原因だと気付いた。 この問題が解決したことで、*.htmlではOKボタンを押すと、結果が*.rbに送信され、Resetボタンを押すと、結果がリセットされ、正常に起動することが確認できた。 また、*.rbでは*.htmlから送られてきたhtml文書を吐きだすことができ、表示も正常に 行われていることが確認できた。 3、感想 レポートを作成している過程でCGIの面白さを感じた。 前期の数値情報処理の授業でもExcelを使って、CGIのようなものを作成したこと があったので、考え方がよく似ていると思った。 入力フォームには種類がいくつかあり、今回のレポートで使用した入力フォームは、 そのうちの一つ(ドロップダウンメニュー)だけだったので、次回はぜひラジオボ タンやテキストフィールドも使用したCGIにしたい。 また、CGI に#でメモを書くとそのままWebで表示されてしまうことが分かった。 4、参考文献 西村まどか先生 基礎プログラミングll 第8回 「CGIスクリプトの解説」 http://roy/~madoka/2012/r2/08/r2_08_07_theme_07_actionprogram.html (2012.11.14 閲覧) 西村まどか先生 基礎プログラミングll 第8回 「動作プログラム作成」 http://roy/~madoka/2012/r2/08/r2_08_08_theme_08_ruby.html (2012.11.16 閲覧)