第8回 ことはじめ レポート課題 氏名 鈴木智也 学籍番号 c110129 語学クラス 英語6 コース 地域共創 A.CGI(Common Gateway Interface)はHTML文書内にデータを入力してその所であ らかじめ自分で定めておいた処理を行う。保存方法は、CGIを作るためファイル は、public_html内部におかなくてはならない。一方、ブラウザから見たい場合 はRubyではpublic_htmlにディレクトリーを作るらなければならない。 CGIスクリプトを実行するため、kterm内で実行することは、Rubyと同様の作業と なる。CGIスクリプトについて入力した値により出力を切り替えるという作業を if文を使っておこなっている。 B.「この場所でCGIを利用する」ためのディレクトリを作成し、そこに.htaccess という名前のファイルを作成する。そこで、CGI利用宣言をする。以後このディ レクトリに作成する.rbという名前で終わるファイルはCGIスクリプトと認識され る。ファイル内でいれた値はすべてCGI変数でCGIスクリプトに送られ、プログラ ムはその変数を受け取りに応じた処理によってHtml文書として出力される。 C. CGI入力フォームは、formをつかって導く。のよう に示す。メソッドの部分はGETまたはPOSTのどちらかを指定する。 1行のテキスト入力フィールドはinput要素を用いる。type属性には種類がありtextを 使用する。inputは1行だけの文字列入力をスクリプトないで作りあげる。 HTMLからrbに渡すCGI変数としてinput type,name,size,などはがあげられる。 name属性はCGIスクリプトに引き渡す際のkeyとして使うため、必ず指定しなけれ ばいけない。に対してはいらない。ただし、最低限formで使う 入力要素はnameは必ず必要である。 D、 require'cgi'というものでh=CGI.newでHTMLの入力フォームからひきだされた値 が、ハッシュ変数hに代入される。hはハッシュ値として代入されていることから、 各入力値はHTMLが引き出すことに設定された。 2.A,html文書(オンライン発券) オンライン券売機

Ruby文書 #!/usr/bin/env ruby $KCODE = 'e' require = 'cgi ' cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-jp\n\n") namae=cgi["leave"] arv=cgi["arrive"] print("\n") print("オンライン特急乗車券\n") print("\n") print("

出発駅は %s ですね

\n",arv) printf("

到着駅は %s ですね

\n",namae) print("

山形急行 Yamagata Express

\n") print("

山形急行特急券

\n") print("\n") print("\n") print("\n") print("\n") print("\n") print("\n") print("\n") print("\n") print("\n") print("\n") print("\n") print("まいれーじ番号: X999-0000
発行番号 :22-1123座席:7 号車 3B
利用者名: 公益ルビ緒使用日 :2010年 5月 3日
種類; おっとく切符\n") print("

券面記載の指定日のみ有効

\n") print("

カードは乗務員に提示すること

\n") print("

山形急行株式会社

\n") プログラムの説明 このプログラムはまずrubyで受け取ったデータをrequireで許容する。requireの 意味は元もと必要とすると解釈できる。Ruby内ではCGIを変数として扱うことに する。CGI.newはCGIをHTML内に保存するために必要であり、このrequire〜 CGI.newまでは必ず要素としている。私はCGI変数をhなどの適当なアルファベッ トに置き換えたりした。print文はHTML文書を出力する際にはいるので、HTML文 書にprintをつけて画面上に表示させるようにした。HTML文書ではform要素を用 いている。formの基本要素は