JESOD » 2010.04.06 14:59

Здравствуйте. Такой вопрос. Авторизация проходин на главном домене site.ru и записывается в кукисы логин и пас. Когда же перехожу на поддомен, то они теряются и надо авторизироваться заново. Подскажите выход с этой ситуации.

Gemorroj » 2010.04.06 15:17

как можно помочь не имея кода?
может куки просто перезаписываются или что-то в этом роде.

AND » 2010.04.06 16:05

bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

Parameters domain
The domain that the cookie is available. To make the cookie available on all subdomains of example.com then you'd set it to '.example.com'. The . is not required but makes it compatible with more browsers. Setting it to www.example.com will make the cookie only available in the www subdomain. Refer to tail matching in the » spec for details.

http://ru2.php.net/setcookie
Translit from google

JESOD » 2010.04.06 18:02

AND, ++ ТЕБЕ. Спасибо огромное. Только еще одно. Напиши пример, как записать в кукисы значение: login с переменной: $login время допустим час и чтобы на всех поддоменах работал домена site.ru Спасибо заранее.

AND » 2010.04.06 18:34

Код:

1
setcookie('login', $login, ($_SERVER['REQUEST_TIME'] + 3600), '/', '.site.ru');
JESOD » 2010.04.06 18:57

AND написал:

Код:

1
setcookie('login', $login, ($_SERVER['REQUEST_TIME'] + 3600), '/', '.site.ru');

Спасибо, с этом всё супер, но как сделал это, не хотят потом кукисы записываться и нестись:
$login = ms($_COOKIE['login']);
$pass = ms($_COOKIE['pass']);
(ms - функция фильтра, тут нет ошибок)
Что не так?

JESOD » 2010.04.07 09:51

Gemorroj, не подскажешь?

Gemorroj » 2010.04.07 11:37

данных, для того, чтобы тебе что-то ответить, недостаточно.

JESOD » 2010.04.07 14:06

Код:

1
span style="color: #0000BB"><?phpif (mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `login` = '$login' && `pass` = '$pass'")) > '0') { setcookie('login', $login, time() + 3600, '/', '.site.ru'); setcookie('pass', $pass, time() + 3600, '/', '.site.ru'); header("Location: $home_url/umenu/index.php");}?>

Вот кусок кода это файл enter.php
В header.php несутся кукисы вот таким образом:

Код:

1
span style="color: #0000BB"><?php$login = ms($_COOKIE['login']);$pass = ms($_COOKIE['pass']);if ($login && $pass) { $U = mysql_query(mysql_fetch_assoc("SELECT * FROM `dl_users` WHERE `login` = '$login' && `pass` = '$pass'")); ....и дальше }?>

Этого хватит или ещё что то дать из кода?

Gemorroj » 2010.04.07 15:18

'.site.ru' убери

JESOD » 2010.04.07 18:20

Убрал, кукисы пишутся, но уже не работает на поддоменах, то есть кукисы пропадают когда перехожу на сайте на поддомен: domen.site.ru

AxqpxA » 2010.04.10 05:16

Попробуй принудительно прописать путь печеньки! т.е там где у тебя было ".site.ru" поставь слеш "/"

JESOD » 2010.04.10 12:50

То есть чтобы два раза слеши были?

Replikon » 2010.04.11 21:02

Попробуй написать что-то типа *.site.ru или (*).site.ru. Гг, авось арбузер поймет.