RubyCGI.org

RubyでCGIを作ろう


2章3節 フォームのデータを受け取る 更新日付: [2002-05-17]



今回はフォームで送られてきたデータの扱い方を学びます。今回は先にプログラムを見てからそのプログラムを解析します。今回はHTML部分とプログラム部分とに分かれていますので注意してプログラムを見て下さい。

-- HTML 始まり -- html231.htm

<html>
<head>
<title></title>
</head>
<body>

<form action="test231.cgi" method="POST">
<input type="text" name="senddata">
<input type="submit" value="送信">
</form>

</body>
</html>

-- HTML 終わり --

-- プログラム 始まり -- test231.cgi

#!/usr/local/bin/ruby
print "Content-type: text/html\n\n"
require "cgi-lib"
input = CGI.new

inputdata = input["senddata"]
print "<html><body>inputdata = #{inputdata}</body></html>"

-- プログラム 終わり --

この二つのファイルをアップロードして実行属性を付けてください。まずhtml231.htmをWeb上で見ます。テキストボックスと送信と書いたボタンが出てきますので、テキストボックスに「hello」と入力して送信ボタンを押してください。そうすると画面に「inputdata = hello」と表示されます。html231.htmのテキストボックスに入れる言葉をいろいろと変えるとCGIの表示もいろいろと変わります。

ではプログラムの説明です。html231.htmはHTMLのわかる方なら特に問題はないと思いますので説明は飛ばします。test231.cgiでは1行目、2行目は決り文句です。3、4行目はフォームで文字を受け取る際の決り文句のような物です。Rubyでは便利な事にCGI用のフォームのデコード用のパッケージが用意されています。3行目でこれを呼び出し、4行目でそれの初期化とinputへの連結を行っています。ここはよく意味がわからない場合は読み飛ばしちゃっていいです。フォームを受け取る際の決り文句だと思ってかまいません。

6行目でinputdataにフォームのsenddataの文字を入れています。7行目でその文字の表示です。

自分の打ち込んだ文字が表示されるというのは非常にインタラクティブですよね。なんとなく掲示板の作成も見えてきた感じですね。

今回はフォームのデータの受け取り方を学びました。



今回始めて使った命令など
require文

RubyによるCGIプログラミング
RubyによるCGIプログラミング

<− 前へ : 2.2. 変数を使おう | 次へ : 2.4. ファイルの読み出し −>

RubyでCGIを作ろうトップ

| トップページ | 書籍「Ruby/GTKプログラミング入門」 | 書籍「RubyによるCGIプログラミング」 | RubyでCGIを作ろう | リンク集 | ツールなど | 自己紹介 |