Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Печеньки

42K
22 июля 2010 года
coirius
73 / / 21.07.2010
Здравствуйте. Пишу для себя сайтец и дошло дело до админки. вообщем не могу никак куки установить:
 
Код:
$time = time() + 3600;
$path = "/coirius.com/";
$domain = "localhost";
setcookie("crsps_user", $user_name, $time, $path, $domain);
setcookie("crsps_password", $user_password, $time, $path, $domain);
header("Location: ".$SiteURL);


вроде все правильно делаю, а куки не создаются.
1
22 июля 2010 года
kot_
7.3K / / 20.01.2000
а как проверяется что они не создаются?
42K
22 июля 2010 года
coirius
73 / / 21.07.2010
Цитата: kot_
а как проверяется что они не создаются?



когда поверяю програмным методом, через echo $_COOKIE['crsps_user'] пишет:

Цитата:
Notice: Undefined index: crsps_user in C:\wamp\www\coirius.com\index.php on line 70



в хроме есть инструменты разработчика и там можно смотреть куки от сайта.

1
22 июля 2010 года
kot_
7.3K / / 20.01.2000
а вторая кука создается?
42K
22 июля 2010 года
coirius
73 / / 21.07.2010
Цитата: kot_
а вторая кука создается?



нет :eek:

1
22 июля 2010 года
kot_
7.3K / / 20.01.2000
значит проверьте пожалуйста, что до установки кук вы не высылаете никакой информации клиенту. Т.е. нет никаких print - echo - header.
1
22 июля 2010 года
kot_
7.3K / / 20.01.2000
ну и создать куку и работать с ней на этой же странице нельзя - вы обязаны выполнить редирект или каким либо способом заставить пользователя перезагрузить страницу.
42K
22 июля 2010 года
coirius
73 / / 21.07.2010
Цитата: kot_
ну и создать куку и работать с ней на этой же странице нельзя - вы обязаны выполнить редирект или каким либо способом заставить пользователя перезагрузить страницу.



у меня весь код содержатся в одном файле index.php, после того как я ставлю куки и отправляю пользователя на главную страницу.

1
22 июля 2010 года
kot_
7.3K / / 20.01.2000
на главную - это на какую? У вас происходит перезагрузка страницы после установки кук?
42K
22 июля 2010 года
coirius
73 / / 21.07.2010
если header("Location: ".$SiteURL); можно считать перезагрузкой страницы - то да.
1
22 июля 2010 года
kot_
7.3K / / 20.01.2000
тогда не понятно, где вы проверяете в своем коде, что куки установлены?
Я вообще не понимаю - это кому нужно мне или вам - с куя я все с вас по кусочкам вытягиваю? Мы так и будем играть в угадай мелодию или вы себе дадите труд нормально сформулировать ваш же вопрос и привести нормально код?
42K
22 июля 2010 года
coirius
73 / / 21.07.2010
Вот мой код: http://pastebin.com/cVWXgK3a
Куки проверяю на "отдельной странице": index.php?section=cookie
1
23 июля 2010 года
kot_
7.3K / / 20.01.2000
а если так:
 
Код:
#
if ($Section == "cookie") {
      if(isset($crsps_user)
                echo $crsps_user;

        }
287
23 июля 2010 года
Shiizoo
958 / / 14.03.2004
Попробуйте:

 
Код:
if ($Section == "cookie") {
      echo 'variables_order = ' . ini_get('variables_order') . "\n";
...


Если variables_order не содержит 'C', что, по-моему, маловероятно, то нужно ковырять php.ini или стучать по голове провайдеру.

И хорошо бы видеть содержимое config.php.
42K
23 июля 2010 года
coirius
73 / / 21.07.2010
Сайт был на локалхосте, залил я его на свой хостинг - тот же результат.
В чем трабл немогу понять.

Цитата:

if ($Section == "cookie") {
if(isset($crsps_user)
echo $crsps_user;

}



тот же результат.

369
23 июля 2010 года
Kesano
451 / / 09.10.2007
Я не совсем спец по кукам, но, кажись, согласно вашей записи, кука действительна только для скриптов в директории /home/localhost/www/coirius.com/(script.php).
Т.е. для http://localhost/coirius.com/ работает, а для http://localhost/ нет...

Попробуйте так:

 
Код:
$time = time() + 3600;
$path = "/";
$domain = ".localhost";
setcookie("crsps_user", $user_name, $time, $path, $domain);
setcookie("crsps_password", $user_password, $time, $path, $domain);
header("Location: ".$SiteURL);


Если заработает - отпишитесь.
42K
23 июля 2010 года
coirius
73 / / 21.07.2010
Наработает. Для phpMyAdmin куки создаются, а для моего сайта нет.
287
23 июля 2010 года
Shiizoo
958 / / 14.03.2004
Цитата: Shiizoo
И хорошо бы видеть содержимое config.php.



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

42K
23 июля 2010 года
coirius
73 / / 21.07.2010
 
Код:
<?php
    $SiteURL = "http://localhost/coirius.com/";
    $SiteName = "coirius homepage";
    $SiteDescription = "code is poetry";

    $DataBaseHost = "localhost";
    $DataBaseUser = "coirius";
    $DataBasePassword = "password";
    $DataBaseName = "coirius.com";
?>
287
23 июля 2010 года
Shiizoo
958 / / 14.03.2004
Первое, а как на хостинге этот же конфиг выглядит?
Второе, на какой ОС вы дома сайт пробывали? Если windows, то как вы к нему обращались в браузере? http://localhost/?
42K
23 июля 2010 года
coirius
73 / / 21.07.2010
конфиг везде одинаковый.
обращался по http://localhost/coirius.com/
287
23 июля 2010 года
Shiizoo
958 / / 14.03.2004
Попробуйте все упоминания localhost заменить на ip (ай-пи) дома и на нормальный адрес (доменный) на хостинге. Возможно, засада в этом. Посмотрите в "инструменты->информация о странице->защита->просмотреть куки" (для firefox, в других браузерах по-другому как-нибудь) куда привязаны куки для phpmyadmin, раз оно работает. Врядли там localhost.

А ОС какая?
42K
23 июля 2010 года
coirius
73 / / 21.07.2010
Вообщем проблема была в том, что перед установкой куков нужно начать сесию:
 
Код:
session_start();

а после этого можно ставить куки:
 
Код:
session_start();
                setcookie("crsps_user", $username);
287
24 июля 2010 года
Shiizoo
958 / / 14.03.2004
Очень странно.
1
24 июля 2010 года
kot_
7.3K / / 20.01.2000
угу. весьма странно - если разве что вы пытались инициализировать куку идентификатором сессии
287
24 июля 2010 года
Shiizoo
958 / / 14.03.2004
Еще такая мысль. Возможно, у файла (основного или включаемого — конфига) )был BOM и он шел наружу, сводя на нет все последующие попытки заголовки установить. Тогда понятно, почему session_start помогло — включилась буферизация вывода. Обратите на это внимание и исправьте, если это так, т. к. механизм куки должен работать независимо от сессий.
42K
24 июля 2010 года
coirius
73 / / 21.07.2010
Я тут подумал и решил отойти от идеи использовать куки как основу и перейти на использование сессии + бд. Вопрос: могут ли когда-то совпасть идентификаторы сессий разных пользователей?
287
24 июля 2010 года
Shiizoo
958 / / 14.03.2004
Если не проверять вновь сгенерированный идентификатор сессии на присутствие в базе, то вполне.
42K
24 июля 2010 года
coirius
73 / / 21.07.2010
как убить сессию?
 
Код:
session_destroy();

Выдает ошибку:
Цитата:
Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in C:\wamp\www\sysadmin\index.php on line 64

339
26 июля 2010 года
verybadbug
619 / / 12.09.2005
Это не ошибка....
Вы просто пытаетесь убить сессию, которая не инициализирована (session_start())
42K
26 июля 2010 года
coirius
73 / / 21.07.2010
сессия то инициализирована ...
366
26 июля 2010 года
int
668 / / 30.03.2005
Тогда почему он так пишет?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог