Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Работа с Cookie


Автор: Alex 17.12.2004, 21:36
CGI.pm
Получение:
Код
$q = CGI->new();
$value1 = $q->cookie('key1');
$value2 = $q->cookie('key2');

Установка:
Код
$cookie1 = new cookie(-name => 'key1', value => 'value1', -expires => '+1m'); #Минутная печенька
$cookie2 = new cookie(-name => 'key2', value => 'value2', -expires => '+1d'); #Дневная печенька
$cookie3 = new cookie(-name => 'key3', value => 'value3', -expires => '+1h'); #Часовая печенька
$cookie4 = new cookie(-name => 'key4', value => 'value4', -expires => '+1M'); #Месячная печенька
$cookie5 = new cookie(-name => 'key5', value => 'value5', -expires => '+1y'); #Годичная 
$cookie6 = new cookie(-name => 'key6', value => 'value6', -expires => '+1s'); #Секунда
$cookie7 = new cookie(-name => 'key7', value => 'value7', -expires => '+1m'); #Минута
$cookie8 = new cookie(-name => 'key8', value => 'value8', -expires => 'now'); #срок действия истекает немедленно

Удаление:
Код
$cookie6 = new cookie(-name => 'key6', value => 'value6', -expires => '-1y');
print header (-cookie => [$cookie1, $cookie2, $cookie3, $cookie4, $cookie5, $cookie6]);



В заголовке 
Установка:
Код
print "Content-type: text/html\n";
print "Set-Cookie: key1=value1;EXPIRES=+1m;PATH=\admin\;DOMAIN=vingrad.ru;SECURE\n";
print "Set-Cookie: key2=value2;EXPIRES=+1m;PATH=\admin\;DOMAIN=vingrad.ru;SECURE\n";

Чтение:
Код
$cook=$ENV{'HTTP_COOKIE'};# Получаем строку вида: name=date;name=date



HTML
Установка:
Код
<META HTTP-EQUIV="Set-Cookie" CONTENT="key1=value1; EXPIRES=+1m; DOMAIN=vingrad.ru; PATH=\admin\; SECURE">
<META HTTP-EQUIV="Set-Cookie" CONTENT="key2=value2; EXPIRES=+1m; DOMAIN=vingrad.ru; PATH=\admin\; SECURE">



JAVA SCRIPT
Установка:
Код
        function setCookie(name, value, expires, path, domain, secure) {
           var curCookie = name + "=" + escape(value) +
             ((expires) ? "; expires=" + expires.toGMTString() : "") +
             ((path) ? "; path=" + path : "") +
             ((domain) ? "; domain=" + domain : "") +
             ((secure) ? "; secure" : "");
           document.cookie = curCookie;
        }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)