--
Posted via http://www.ruby-forum.com/.
> When i set a value in session after changing page session doesn't
> remember the value.
> I have an example.
> Page: http://darksky.pl/test/index.cgi
> Source: http://darksky.pl/test/index.txt
> Don't ask why I have to make it with cgi ;/
you need to make sure you flush and close it.
-a
--
be kind whenever possible... it is always possible.
- the dalai lama
I've added sess.close at the end but it still doesn't work :/
>> you need to make sure you flush and close it.
>
> I've added sess.close at the end but it still doesn't work :/
>
are you setting the expiration?
cgi = CGI.new
session = CGI::Session.new(cgi, "session_expires" => Time.at(2**31-1))
at_exit{ session.update; session.close }
>> are you setting the expiration?
>>
>> cgi = CGI.new
>>
>> session = CGI::Session.new(cgi, "session_expires" => Time.at(2**31-1))
>> at_exit{ session.update; session.close }
>
>
> Good suggestions, but both should be unnecessary. CGI::Session uses a
> finalizer to ensure the session is closed and all the builtin session stores
> update on close. No expires means the cookie lives for the duration of the
> browser session.
yeah i know - i had issues with this just last week though - i'll try to
reproduce...
--------------
old:
#!/usr/bin/ruby
require 'cgi'
require 'cgi/session'
require 'cgi/session/pstore'
def mojaSesja(cgi)
return CGI::Session.new(cgi,
#'database_manager' => CGI::Session::PStore, # use PStore
'session_key' => 'rek_key', # custom session key
'session_expires' => Time.now + 30 * 60, # 30 minute timeout
'prefix' => 'rek_') # PStore option
end
cgi = CGI.new("html4")
sess = mojaSesja(cgi)
puts "Content-type: text/html\n\n"
puts "<a href='index.cgi?z=a'>a</a><br />"
puts "<a href='index.cgi?z=b'>b</a><br />"
if cgi['z'] == 'a'
sess['z'] = cgi['z']
sess.update
end
puts sess['z']
--------------
new (ok):
#!/usr/bin/ruby
require 'cgi'
require 'cgi/session'
require 'cgi/session/pstore'
def mojaSesja(cgi)
CGI::Session.new(cgi,
#'database_manager' => CGI::Session::PStore, # use PStore
'session_key' => 'session_id', # custom session key
'session_expires' => Time.now + 30 * 60, # 30 minute timeout
'prefix' => 'rek_') # PStore option
end
cgi = CGI.new("html4")
sess = mojaSesja(cgi)
puts "Content-type: text/html\n\n"
print "<a href='index.cgi?z=a&session_id=",sess.session_id,"'>a</a><br
/>"
print "<a href='index.cgi?z=b&session_id=",sess.session_id,"'>b</a><br
/>"
if cgi['z'] == 'a'
sess['z'] = cgi['z']
end
puts sess['z']
sess.close