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


Автор: shootnix 4.8.2008, 18:41
Здрасьти.
Вот такая заковыка: скрипт встроен в .shtml-файл, вот так:
<!--#exec cgi="/cgi-bin/vote.pl"--> 
Вот... Эта голосовалка, по идее, должна проверять кукис, но на деле что-то не получается. Может, и не получится? Кто знает? Может, существует какой-то специальный путь чтения кукис через SSI? smile))

Автор: nitr 7.8.2008, 17:32
shootnix, не знаю. Должно и так работать.

Автор: korob2001 7.8.2008, 23:01
Да впринципе с чтением никаких проблем нет, вот пример:

файл /cgi-bin/read_cookies.pl
Код

#!/usr/bin/perl -w
use strict;
use CGI;

my $cgi = new CGI();
my $cookie = $cgi->cookie('test') || "Can't read cookies. :(";

print $cgi->header( -charset => "windows-1251" );

print $cgi->start_html();
print $cgi->p($cookie);
print $cgi->end_html();


Файл /read_cookies.shtml
Код

<!--#include virtual="/cgi-bin/read_cookies.pl"-->


Кстати прочитать кукисы через SSI можно и таким образом:
Код

<!--#if expr="$HTTP_cookie" --> 
<FONT SIZE="4">You have a cookie set: </FONT><!--#echo var="HTTP_cookie" --> 
<!--#endif -->


Разумеется, что бы всё это заработало, кукисы должны быть уже записаны. Примерно так:
Код

#!/usr/bin/perl -w
use strict;
use CGI;

my $cgi = new CGI();
my $cookie = $cgi->cookie(
    -name => "test",
    -expires => '+1h',
    -value => "Test value - 10"
);

print $cgi->header(
       -charset => "windows-1251",
       -cookie => [$cookie]
);

print $cgi->start_html();

print $cgi->p(";)");

print $cgi->end_html();

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