-
Доброе время суток! Возник такой вот вопрос. Как правильно прочитать cookie? Я уже написал скрипт его создания, но вот чтение никак не получается. Вообще, создается 2 cookie с именами UserName и UserEmail. Пробовал чтение одним методом (код ниже), но оно никак не происходит. В чем причина и как исправить? Помоги, пожалуйста!
Код:
$raw_cookie = $ENV{'HTTP_COOKIE'};
if ($raw_cookie) {
****($Cookie_Info, $Expires, $Path, $Domain) = split(/;/, $raw_cookie);
****($Cookie_Name, $Cookie_Value) = split(/=/, $Cookie_Info);
****if ($Cookie_Name eq "UserName") {
*$remembered_name=$Cookie_Value;
****}
****if ($Cookie_Name eq "UserEmail") {
*$remembered_email=$Cookie_Value;
****}
}
-
Почему бы не использовать уже готовый модуль CGI::Cookie:
Код:
use CGI::Cookie;
%allcookie=fetch CGI::Cookie;
while( ($key, $val)=each(%allcookie) ) {
# $key - ключ, $val - значение
}
Твой код верный. Попробуй только изменить вот эту строку кода:
Код:
($Cookie_Info, $Expires, $Path, $Domain) = split(/;/, $raw_cookie);
на (пробел в сплите):
Код:
($Cookie_Info, $Expires, $Path, $Domain) = split(/; /, $raw_cookie);
Может поможет.