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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу считать cookies в Safari в Mac OS X 
V
    Опции темы
iPlay
Дата 22.3.2010, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Есть подобный скрипт который проверяет установлены ли куки и авторизует пользователей
Код

<? 
mysql_connect("localhost", "root", ""); 
mysql_select_db("itex"); 

if (isset($_COOKIE['id']) and isset($_COOKIE['hash'])) 
{   
    $query = mysql_query("SELECT *,INET_NTOA(user_ip) FROM users WHERE user_id = '".intval($_COOKIE['id'])."' LIMIT 1"); 
    $userdata = mysql_fetch_assoc($query); 

    if(($userdata['user_hash'] !== $_COOKIE['hash']) or ($userdata['user_id'] !== $_COOKIE['id'])) 
    { 
        setcookie("id", "", time() - 3600*24*30*12, "/"); 
        setcookie("hash", "", time() - 3600*24*30*12, "/"); 
        print "<br/>You should sign in!!!"; 
    } 
    else 
    { 
        print "<br/>Hello, ".$userdata['user_login'];
    } 
} 
else 
{ 
    print "<br/>You should sign in!!!"; 
} 
?>


Данный скрипт прекрасно отрабатывается во всех броузерах в Windows и в Mac OS кроме Safari, подскажите в чем может быть проблема? 
PM MAIL   Вверх
skyboy
Дата 22.3.2010, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


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

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



а средствами javascript'a ты можешь установить куки с теми же параметрами?
куки устанавливаются?
ты убери нафиг код, не имеющий отношения к cookie. оставь только установку cookie и вывод $_COOKIE. перезагрузи страницу. устанавливаются?
PM MAIL   Вверх
iPlay
Дата 22.3.2010, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Забыл добавить, что куки устанавливаются все отлично!!! Я их тупо считать не могу. Пробовал считать просто print($_COOKIE['id']); Не считывает, есть подозрение что массив $_COOKIE пуст, хотя куки установленны. 
PM MAIL   Вверх
skyboy
Дата 22.3.2010, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


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

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



Цитата(iPlay @  22.3.2010,  11:06 Найти цитируемый пост)
setcookie("id", "", time() - 3600*24*30*12, "/"); 

мне кажется, или тут устанавливаются куки, срок жизни которых истек год назад?
PM MAIL   Вверх
iPlay
Дата 22.3.2010, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Эта строка фактически удаляет куку если она есть в броузере, проставляет куки другой скрипт. Там setcookie("id", $data['user_id'], time()+60*60*24*30); нормально выполнен. Так что суть не во времени суть возможно в специфике броузера и массива $_COOKIE.

Добавлено через 1 минуту и 13 секунд
Да и работает же в других броузерах!!!
PM MAIL   Вверх
iPlay
Дата 30.3.2010, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Решение найдено, в Safari из соображений безопасности, теперь нужно указывать все параметры функции setcookie()
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.0434 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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