Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> странная проблема с куками, то работает то нет 
V
    Опции темы
zorch
  Дата 19.3.2006, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 19.3.2006

Репутация: нет
Всего: нет



сделал тестовую прогу
Код

#!/usr/bin/perl
use CGI;
$hash=true_rand(); # Функция рандома, писал сам
$flogin="zorch";
#Устанавливаем куку
my $query = CGI->new;
print $query->header(-cookie => $query->cookie(-name => $flogin,-value => $hash,-expires =>  '+3M'));

При этом кука появляется, все нормально работает.
Вставляю в большую свою программу которую пишу, в виде функции:
Код

sub cook
{
                        $hash=true_rand();
                        $dbh = DBI->connect("DBI:mysql:XXXXXXXXX", "XXXX", "XXX");
                        $sth = $dbh->prepare("UPDATE users SET `ip`='$ip',`hash`='$hash' WHERE login = \"$flogin\" ");
                        $sth->execute();
                        $dbh->disconnect;
                        my $query = CGI->new;
                        print $query->header(-cookie => $query->cookie(-name => $flogin,-value => $hash,-expires =>  '+3M'));
}

В базу все кладется. А вот кука не появляется! Где грабли?
PM MAIL   Вверх
BlackLFL
Дата 19.3.2006, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

Репутация: 3
Всего: 12



Цитата(zorch @ 19.3.2006, 21:59 Найти цитируемый пост)
Вставляю в большую свою программу которую пишу, в виде функции:

теневые послыки должны выставляться перед заголовком типа документа, проверьте скрипт, нет у Вас вызова ранее, например:
Код

print $q->header('text/html');

PM WWW   Вверх
zorch
Дата 19.3.2006, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 19.3.2006

Репутация: нет
Всего: нет



Нет. Ничего таког нет.
Забыл уточнить, в логах все чисто, и при выполнении sub cook на экране появляется строка типа
Код
Set-Cookie: name=value; path=/; expires=Sat, 17-Jun-2006 17:46:53 GMT Date: Sun, 19 Mar 2006 17:46:53 GMT Content-Type: text/html; charset=ISO-8859-1

PM MAIL   Вверх
BlackLFL
Дата 19.3.2006, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

Репутация: 3
Всего: 12



Цитата(zorch @ 19.3.2006, 22:23 Найти цитируемый пост)
и при выполнении sub cook на экране появляется строка типа

это говорит о том, что Ваша программа уже отдала заголовок! ищите внимательнее ...
Добавлено @ 21:36
вариант с "ошибкой", т.к. заголовок уже отдан на 7 строчке
Код

#!/usr/bin/perl
use strict;
use warnings;
use CGI::Carp qw(fatalsToBrowser); # For debuging
use CGI;

print "Content-type: text/html\n\n";

sub cook {
    my $query = CGI->new;
    print $query->header(-cookie => $query->cookie(-name => 'login',-value => 'Black',-expires =>  '+3M'));
}

&cook;
1;

выведет на экран
Цитата

Set-Cookie: login=Black; path=/; expires=Sat, 17-Jun-2006 18:37:38 GMT Date: Sun, 19 Mar 2006 18:37:38 GMT Content-Type: text/html; charset=ISO-8859-1

PM WWW   Вверх
zorch
Дата 21.3.2006, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 19.3.2006

Репутация: нет
Всего: нет



Да спасибо. Заголовок отдавался раньше.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0410 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.