作者fuha (mimi)
看板Ruby
標題[問題] 想問一下在ruby下 用 session
時間Sun Oct 14 20:26:47 2007
我有一個怪問題
目前我用 'cgi/session'
時 我的session記不住我所設定的值
譬如我在 /cgi-bin/login.rb
#!/usr/bin/ruby1.8
require 'cgi'
require 'cgi/session'
require 'erb'
cgi = CGI::new
session = CGI::Session::new(cgi)
session['username'] = 'Admin'
template = File.read("/var/www/login1.rhtml")
eruby = ERB.new(template)
puts eruby.result(binding())
session.close
login1.rhtml
<html><body>
<h1><%= session['username'] %></h1>
<a href="display.rb">display</a>
</body></html>
此時是可以看到 session['username']的值
但是我點連結過去後
/cgi-bin/display.rb
#!/usr/bin/ruby1.8
require 'cgi'
require 'cgi/session'
require 'erb'
cgi = CGI::new
session = CGI::Session::new(cgi)
name = session['username']
template = File.read("/var/www/display1.rhtml")
eruby = ERB.new(template)
puts eruby.result(binding())
session.close
display1.rhtml
<html><body>
<h1>Nmae= <%= name %></h1>
</body></html>
就會有 name=session['username'] 為nil
請問我再傳遞session 的時後 少打了什麼嗎?
我檢查過放 session 的地方~
每取的一次頁面 他就會又生出新的 session暫存檔
所以我前一次設的值就不會被找到
請問我該怎麼讓他找到我正確的 session 值呢?
--
▁▁
▕寧寧▏
▕肥肥▏
 ̄ ̄
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.90.189
1F:推 shelary:不要new也不要close.直接用...session原本就內建了 10/14 20:28
※ 編輯: fuha 來自: 140.120.90.189 (10/14 20:55)
2F:→ fuha:請問用法是?? cgi.session ?? 希望可以多題點一下 謝謝~ 10/14 20:56
3F:推 godfat:我不知道,但是亂猜的話,這也許跟 server cgi 設定有關 10/14 22:49
4F:推 dream1129:session['username'] = @username 10/14 23:37
5F:→ godfat:p.s. 原 po 沒有用 rails 喔 10/15 01:00
6F:推 fuha:感謝~godfat的說明~我是沒有用rails 10/15 01:06
※ 編輯: fuha 來自: 220.131.223.223 (10/15 01:23)
※ 編輯: fuha 來自: 220.131.223.223 (10/15 01:24)
7F:推 shelary:沒用rails哦..rails是會把session存在tmp目錄裡啦 10/15 02:42
8F:→ shelary:所以你應該看一下文件是否有存檔session的相關說明 10/15 02:45