読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

セッションを使うCGIの簡単なサンプル

Ruby

セッションを使うCGIの簡単なサンプルを書いてみました。

  • CGI::Sessionを使って簡単に使えます。
  • データの格納先や形式をオプションでいろいろ変更できます。詳細はCGI::Sessionの解説を参照。
    • 以下の例では、特にオプションは指定せずデフォルトで使ってます。
  • HTMLデータの出力は、CGI#outで行なうこと!
    • 「puts "hoge"」とかしていると、クッキーの設定が出力されないため、セッションが有効になりません。(10分くらいはまった・・・。)
#!/usr/bin/ruby --

require 'cgi'
require 'cgi/session'

cgi = CGI.new

# セッションを作成
# デフォルトでは、一時ファイル領域のテキストファイルで記録されるらしい。
session = CGI::Session.new(cgi)

if ( cgi["operation"] == "close" )
  # セッションを削除する。
  session.delete
  cgi.out{ "delete session." }
else
  
  # セッションから値を取り出す。
  value = session['value']
  value = "0" if value == nil # 初回アクセス時などデータが未設定の場合nilになる。

  # 値を出力
  #
  # ※cgi#outを利用して出力すること!
  #   「puts value」とかすると、クッキーの設定が出力されず、セッションが有効にならない。
  cgi.out{ value } 
  
  # 値を更新して記録する。
  value = (value.to_i + 1).to_s
  session['value'] = value
end

確認はこちらから。リロードすると数字が増えていきます。また、ここにアクセスすると、セッションがリセットされます。