$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);
Печеньки
Код:
вроде все правильно делаю, а куки не создаются.
а как проверяется что они не создаются?
Цитата: kot_
а как проверяется что они не создаются?
когда поверяю програмным методом, через echo $_COOKIE['crsps_user'] пишет:
Цитата:
Notice: Undefined index: crsps_user in C:\wamp\www\coirius.com\index.php on line 70
в хроме есть инструменты разработчика и там можно смотреть куки от сайта.
а вторая кука создается?
Цитата: kot_
а вторая кука создается?
нет :eek:
значит проверьте пожалуйста, что до установки кук вы не высылаете никакой информации клиенту. Т.е. нет никаких print - echo - header.
ну и создать куку и работать с ней на этой же странице нельзя - вы обязаны выполнить редирект или каким либо способом заставить пользователя перезагрузить страницу.
Цитата: kot_
ну и создать куку и работать с ней на этой же странице нельзя - вы обязаны выполнить редирект или каким либо способом заставить пользователя перезагрузить страницу.
у меня весь код содержатся в одном файле index.php, после того как я ставлю куки и отправляю пользователя на главную страницу.
на главную - это на какую? У вас происходит перезагрузка страницы после установки кук?
если header("Location: ".$SiteURL); можно считать перезагрузкой страницы - то да.
Я вообще не понимаю - это кому нужно мне или вам - с куя я все с вас по кусочкам вытягиваю? Мы так и будем играть в угадай мелодию или вы себе дадите труд нормально сформулировать ваш же вопрос и привести нормально код?
http://pastebin.com/cVWXgK3a
Куки проверяю на "отдельной странице": index.php?section=cookie
Вот мой код:
Куки проверяю на "отдельной странице": index.php?section=cookie
Код:
#
if ($Section == "cookie") {
if(isset($crsps_user)
echo $crsps_user;
}
if ($Section == "cookie") {
if(isset($crsps_user)
echo $crsps_user;
}
Код:
if ($Section == "cookie") {
echo 'variables_order = ' . ini_get('variables_order') . "\n";
...
echo 'variables_order = ' . ini_get('variables_order') . "\n";
...
Если variables_order не содержит 'C', что, по-моему, маловероятно, то нужно ковырять php.ini или стучать по голове провайдеру.
И хорошо бы видеть содержимое config.php.
В чем трабл немогу понять.
Цитата:
if ($Section == "cookie") {
if(isset($crsps_user)
echo $crsps_user;
}
тот же результат.
Т.е. для 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);
$path = "/";
$domain = ".localhost";
setcookie("crsps_user", $user_name, $time, $path, $domain);
setcookie("crsps_password", $user_password, $time, $path, $domain);
header("Location: ".$SiteURL);
Если заработает - отпишитесь.
Наработает. Для phpMyAdmin куки создаются, а для моего сайта нет.
Цитата: Shiizoo
И хорошо бы видеть содержимое config.php.
Пока не станете реагировать на все предложения и предоставлять необходимую информацию, результаты будут такие же, как от гадания на кофейной гуще.
Код:
<?php
$SiteURL = "http://localhost/coirius.com/";
$SiteName = "coirius homepage";
$SiteDescription = "code is poetry";
$DataBaseHost = "localhost";
$DataBaseUser = "coirius";
$DataBasePassword = "password";
$DataBaseName = "coirius.com";
?>
$SiteURL = "http://localhost/coirius.com/";
$SiteName = "coirius homepage";
$SiteDescription = "code is poetry";
$DataBaseHost = "localhost";
$DataBaseUser = "coirius";
$DataBasePassword = "password";
$DataBaseName = "coirius.com";
?>
Второе, на какой ОС вы дома сайт пробывали? Если windows, то как вы к нему обращались в браузере? http://localhost/?
обращался по http://localhost/coirius.com/
А ОС какая?
Код:
session_start();
а после этого можно ставить куки:
Код:
session_start();
setcookie("crsps_user", $username);
setcookie("crsps_user", $username);
Очень странно.
угу. весьма странно - если разве что вы пытались инициализировать куку идентификатором сессии
Еще такая мысль. Возможно, у файла (основного или включаемого — конфига) )был BOM и он шел наружу, сводя на нет все последующие попытки заголовки установить. Тогда понятно, почему session_start помогло — включилась буферизация вывода. Обратите на это внимание и исправьте, если это так, т. к. механизм куки должен работать независимо от сессий.
Я тут подумал и решил отойти от идеи использовать куки как основу и перейти на использование сессии + бд. Вопрос: могут ли когда-то совпасть идентификаторы сессий разных пользователей?
Если не проверять вновь сгенерированный идентификатор сессии на присутствие в базе, то вполне.
Код:
session_destroy();
Выдает ошибку:
Цитата:
Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in C:\wamp\www\sysadmin\index.php on line 64
Вы просто пытаетесь убить сессию, которая не инициализирована (session_start())
сессия то инициализирована ...
Тогда почему он так пишет?