Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Perl


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Perl / Перл

Выпуск № 82
от 19.01.2007, 19:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 164, Экспертов: 16
В номере:Вопросов: 1, Ответов: 1


Вопрос № 70928: Здравствуйте! Вопрос по CGI-программированию. Как на Perl удалить существующую Cookie? Желательно без CGI.pm и т.п. Спасибо...

Вопрос № 70.928
Здравствуйте!
Вопрос по CGI-программированию.
Как на Perl удалить существующую Cookie?
Желательно без CGI.pm и т.п.
Спасибо
Отправлен: 14.01.2007, 19:12
Вопрос задал: Олег Владимирович (статус: 10-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: dianacode
Доброе время суток, Олег Владимирович

а чем вас не устроил вариант с CGI ? для начинающих очень даже будет полезно.
если вас не устраивает объём модуля, одиновременно подгружающийся в память, то это отнюдь не повод винить Линкольна - он со своей задачей справился успешно, тут вопрос уже в ваших предубеждениях и интересах разработки.

вернёмся к вопросу ^_^
здесь идея удаления cookie сводится к тому, чтобы СОЗДАТЬ тот же cookie, с тем же параметром, НО С ПУСТЫМ ЗНАЧЕНИЕМ или заведомо ошибочным

вот пример вам:
_________________________________________________
===========================================
для установки используем:
use CGI qw(:standard);
my $cookie = cookie(
-name=>'fortressa',
-value=>'34857369837986734968793'
);
print header(-charset=>'windows-1251', -cookie=>$cookie);

===========================================
для удаления пишем вот что -
use CGI qw(:standard);
my $cookie = cookie(
-name=>'fortressa',
-value=>''
);
print header(-charset=>'windows-1251', -cookie=>$cookie);

этим, собственно добиваемся заведомо неверной установки параметра и, в частности, решаем проблему

_________________________________________________
вы хотели вариант без модуля Штейна, вариант будет таким же, но, как договорились, без модуля:

#Значения наших параметров по умолчанию
$param_quan=10;
$param_sort=0;

#Обрабатываем cookies
$cookie_data=$ENV{'HTTP_COOKIE'};
c=split ('; ',$cookie_data);
foreach $itm(@c){
($c_n,$c_v)=split('=', $itm);
$COOKIE{$c_n}=$c_v;
};

#Если параметры установлены в cookie, они "переписывают"
#значения по умолчанию
if (defined ($COOKIE{'quan'})){$param_quan=$COOKIE{'quan'};};
if (defined ($COOKIE{'sort'})){$param_sort=$COOKIE{'sort'};};

вот исход к последнему решению "БЕЗ CGI"
http://www.cgi-scripts.info/perl/cookies.shtml

с уважением, удачи

---------
There is more than one way to do it.
Ответ отправила: dianacode (статус: Студент)
Ответ отправлен: 14.01.2007, 19:46
Оценка за ответ: 5


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.41 beta от 19.01.2007
Яндекс Rambler's Top100

В избранное