今までのレポート課題を全て再提出します。 第8回 CGIことはじめ レポート課題 氏名:佐藤 咲 学籍番号:c1110772 語学クラス:英語 コース:政策 1、筆記問題 A.CGIは、html文書にデータを入力し、Webページでデータを表示させる。また、Hashは、 複数の項目の中から、選択されたものだけを取り出し、ktermで表示させる。 以上がCGIとHashの似ている点だと考える。 B. .htaccess で、そのディレクトリ内のファイルのみがCGIスクリプトであると宣 言する。 *.htmlで、入力されたhtml文書をWebページに表示させ、ユーザに入力を促す。 *.rbで、*.htmlの結果を吐かせ、CGIとして表示する。 C.
酒田--%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") 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)このプログラムは、東北公益文科大学 佐藤 咲(C111077)が著作権を保有しています。
このプログラムは、入手・実行・改変・再配布はいずれも自由に行うことが出来ます。
ただし、このプログラムで生じたいかなる結果に対しても著作者は責任を負いません。
このプログラムは、東北公益文科大学 佐藤 咲(C111077)が著作権を保有しています。
このプログラムは、入手・実行・改変・再配布はいずれも自由に行うことが出来ます。
ただし、このプログラムで生じたいかなる結果に対しても著作者は責任を負いません。
年賀状の仕様になります。
-------------------------------------
宛先:
伊藤博文 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 閲覧)