|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Max Kosyakov 2:5020/400 11 May 2003 11:47:16 To : Sergey Antropov Subject : Re: Cookies -------------------------------------------------------------------------------- > if ($login[0] eq $nick and $login[1] eq $pass) {print "Вы вошли";} else {print > "Введено неправильное имя или пароль";} > > $cookie=cookie(-name => 'netlib', > -value => '$nick::$pass'); > > print header(-cookies=>$cookie); > > > $sth->finish; > $dbh->disconnect; > > } > > Вот код, а выдайт он мне в браузере вот что: > Вы вошлиSet-Cookie: netlib=%24nick%3A%3A%24pass; path=/cgi-bin/ Date: Wed, 07 > May 2003 21:42:12 GMT Content-Type: text/html > > Что зжесь можно исправить? Чтобы работало нормально. Где у меня руки кривые? > > [ы] Пока, All, счастливого тебе коннекта ! ... Когда твой скрипт отвечает, то он сначала засылает заголовки, включая заголовок Set-Cookie, а потом, после пустой строчки --- тело ответа. Таким образом, тебе надо все заголовки печатать перед тем, как ты печатаешь что-либо в браузер. Приверно так: print "Status: 200 Ok\r\n"; print "Content-type: text/html; charset=koi8-r"; print "Set-Cookie: name=alpha; value=beta; path=/;\r\n"; print "Set-Cookie: name=x; value=y; path=/cgi-bin/;\r\n"; ... print "\r\n" # Вот теперь можно вскякую всячину слать print "<html><body><h1>Вы прошли!</h1></body></html>"; Советую прочитать RFC по HTTP и Cookie. Kosyakov. --- ifmail v.2.15dev5 * Origin: ISP ElCat. Bishkek. Kyrgyzstan. (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/8578da2f7726.html, оценка из 5, голосов 10
|