Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Куки, куки и php4 
:(
    Опции темы
alex67
Дата 7.5.2007, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Небольшой скрипт работает в php 4.0.4 а в версии php 4.4.4 уже не работает - пишет следующую ошибку: 
Код

Warning: setcookie() expects parameter 3 to be long, string given in /www/vhosts/html/auth_login2.php on line 5

Warning: Cannot modify header information - headers already sent by (output started at /www/vhosts/kam-tools.ru/html/auth_login2.php:5) in /www/vhosts/html/auth_login2.php on line 7

Сам файл auth_login2.php :
Код

<?php
    include "auth.inc2.php";
    if ( authUser($username,$userpass) ) {
        $exp  = gmdate ("M d Y H:i:s", time()-3600);
        setcookie("AUTHORIZER",$username.":".md5($username.$userpass),$exp." GMT");
    }
    header("Location: $HTTP_REFERER");
?>


Помогите пожалуйста.
PM MAIL   Вверх
PARROT
Дата 7.5.2007, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

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



Заголовки посылаются до вывода чего-либо в браузер.
3 параметром должно быть время жизни куков, целым числом.
Воспользуйтесь поиском.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
alex67
Дата 7.5.2007, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Извиняюсь - я не спец по программированию. Третьим параметром в строке 5?
PM MAIL   Вверх
PARROT
Дата 7.5.2007, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

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





--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Kallisto
Дата 7.5.2007, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



1. Убери: ." GMT" - должно быть: setcookie(...,..., $exp);
2. непонятно почему-то у тебя $exp - 3600, то есть ты удаляешь куки??? Чтобы установились на час, сделай +3600

Добавлено через 2 минуты и 20 секунд
Цитата

Описание
int setcookie (string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])

setcookie() определяет куку для отправки вместе с остальной header-информацией. Куки обязаны быть отправлены до любых других шапок/headers (это ограничение кук, а не РНР). Это требует, чтобы вы помещали вызовы этой функции перед тэгами <html> или <head>.

Все аргументы, кроме name, являются необязательными. Если имеется только аргумент name, кука с этим именем будет удалена с удалённого клиента. Вы можете также заместить любой аргумент пустой строкой (""), чтобы пропустить этот аргумент. Аргументы expire и secure это целые числа/integer и они не могут быть пропущены с помощью пустой строки. В них используйте нуль (0). Аргумент expire это обычное Unix time integer, возвращаемое функциями time() или mktime(). Аргумент secure указывает, что данная кука должна передаваться только через секретное HTTPS-соединение.

После того как куки установлены, доступ к ним может быть получен при загрузке следующей страницы через массив $_COOKIE (который вызывается $HTTP_COOKIE_VARS в версиях PHP до 4.1.0).

Обычные ловушки:

Куки будут невидимы до тех пор, пока не будет загружена следующая страница.

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

PM MAIL   Вверх
alex67
Дата 7.5.2007, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



попробывал - $exp + 3600 и поставил вместо GMT $exp - но все равно таже ошибка. Почему-то в ранней версии все работает. а в другой на другом серваке - нет.

Добавлено через 8 минут и 27 секунд
Может все дело в этом? :
Код

После того как куки установлены, доступ к ним может быть получен при загрузке следующей страницы через массив $_COOKIE (который вызывается $HTTP_COOKIE_VARS в версиях PHP до 4.1.0).

а как в версии  = 4.4.4? Может параметр $HTTP_COOKIE_VARS  поменять на что-то другое?
PM MAIL   Вверх
mishaSL
Дата 10.5.2007, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

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



Цитата(alex67 @  7.5.2007,  13:09 Найти цитируемый пост)
Может параметр $HTTP_COOKIE_VARS  поменять на что-то другое? 


Да заменить на $_COOKIE

И еще на всякий случай прочитайте http://ru2.php.net/register_globals, этот материал не относится к кукам, но есть подозрение, что у вас скрипт работал в режиме register_globals ON. Если этот материал непонятен, то воспользуйтесь поиком на форуме по фразе register_globals на форуме.



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

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


 




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


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

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