perl+cgi+cookies
print "Set-cookie: password=qwerty;path=/";
вывести кукис можно как я понял :
$cookie=$ENV{'HTTP_COOKIE]};
а как сделать так что бы была проверка, что значение ключа password совпадало с $a?
$cookie вернет ассоциативный массив, надо взять ключ password и сравнить с переменной $a,.... непанимаю что тут сложного?
http://perldoc.perl.org/index.html - читай всё :)
2elvenoracle:
Цитата: Тень Пса
2elvenoracle: http://perldoc.perl.org/index.html - читай всё :)
Злой ты Пес ;)=
читай здесь
http://perldoc.perl.org/CGI.html
на счет того что
Код:
$cookie=$ENV{'HTTP_COOKIE]};
не слушай кто сказал, что в $cookie находица массив, ему там неокуда взяться ;)=
пользуйся пакетом CGI.pm
создаю кукис:
Код:
my $cookie = cookie( -name =>'authuser',
-value =>'hehe',
-expires =>'+1y',
);
-value =>'hehe',
-expires =>'+1y',
);
ввожу его в браузер:
Код:
header(-cookie => $cookie),
а как теперь мне в переменную $v получить значение -value, то, которое hehe?
я пробовал : my $v = $cookie->{value}; но это судя по всему не верный вариант...
Цитата:
не слушай кто сказал, что в $cookie находица массив, ему там неокуда взяться = пользуйся пакетом CGI.pm
... а что там тогда находицца?
или это:
Цитата:
my $cookie = cookie( -name =>'authuser',
-value =>'hehe',
-expires =>'+1y',
);
не массив?
Цитата: Maniak
... а что там тогда находицца?
или это:
не массив?
или это:
не массив?
Уважаемый, вы все таки хотите со мной поспорить откуда в конструкции
Код:
$cookie=$ENV{'HTTP_COOKIE'};
в переменную $cookie - передасца массив, как в первоначальном вопросе спрашивалось?
или же попытаетесь развеять мои сомнения в том что функция пакета CGI возвращает ссылочку? уверяю вас, не стоит ;)=
Автору ветки, используйте интерфейс пакета, а не попытки обращения за данными объекта по ключу ;)=
http://search.cpan.org/~lds/CGI.pm-3.29/CGI.pm#HTTP_COOKIES
Код:
my @cookies = split(";", $ENV{"HTTP_COOKIE"});
foreach my $cook (@cookies) {
my @cook1 = split(/=/, $cook);
if ($cook1[0] =~ /^password$/i) {
print $cook1[1]."<br/>"; # здесь твои действия
}
}
foreach my $cook (@cookies) {
my @cook1 = split(/=/, $cook);
if ($cook1[0] =~ /^password$/i) {
print $cook1[1]."<br/>"; # здесь твои действия
}
}
в догонку второй вопросик:
есть форма авторизации, если всё ок то выводит форму редактирования текста
но при её выводе форма ввода логина с паролем остаётся, каким способом можно убрать её?