2013-10-01 5 views
1

Я пытаюсь внедрить торговый сайт. При нажатии кнопки «Checkout», я пытаюсь проверить, был ли пользователь уже зарегистрирован или нет. ЕСЛИ да хотите показать платежную форму ему, иначе войдите в форму.Как хранить и использовать идентификатор сеанса в HTML

Пока он предоставляет правильную информацию (имя пользователя и пароль), в сценарии входа я пытаюсь создать сеанс.

// On providing correct username and password 

use CGI::Session qw(); 
my $s = CGI::Session->new; 
$s->param(User_id => 12); 
my $id = $s->id; # e.g. '4cd29ac608405e4d0a463d153e64defd' 

Я хочу использовать этот идентификатор сеанса.

Моя проблема заключается в том, как хранить идентификатор сеанса в HTML и использовать его для отображения различных форм на основе этого идентификатора сеанса.

Ваша помощь очень ценится.

Devesh

+3

клиент (браузер) должен передать обратно на веб-сервер, поэтому он обычно хранится в куки. Это самый простой способ. – ikegami

+0

Если вы хотите, чтобы он передавался вам как параметр CGI, вам нужно создать скрытое поле со значением и/или добавить к URL-адресам на страницах, которые вы отправляете клиенту. – ikegami

+0

Я бы не рекомендовал авторизацию на основе идентификатора, отправленного скрытым полем ввода, так как это может привести к проблемам безопасности. – Sedi

ответ

0

Я хотел бы начать с прочтения этой страницы: http://perldoc.perl.org/CGI/Cookie.html

объект CGI :: Cookie позволит вам хранить идентификатор сессии в куки браузера.

Это пример того, как сохранять и читать куки:

$cookie_sid = CGI::Cookie->new(-name=>'SID',-value=>$session_id); 

print header(-cookie=>[$cookie_sid]); 

# reading cookies 
%cookies = CGI::Cookie->fetch; 
$id = $cookies{'SID'}->value; 
Смежные вопросы