Мистически не работает логин, помогите!!!

Главные вкладки

Аватар пользователя ryurix ryurix 29 марта 2007 в 11:29

Сделал сайт www.4qs.ru, залил на хостинг ur.ru
Не работает форма ввода, ни в блоке, ни /user.
Ввожу логин и пароль, Enter, форма появляется заново, чистая.
Не работает ни в Огнелисе 1.5, ни в IE 6

Почитал темы по этому вопросу -- ничего не помогает.

Drupal: 5.1
MySQL: 5.0.19
PHP: 4.4.2

Что характерно -- в таблице {session} записи не появляются.
Остальные формы работают как надо.

Помогите, люди добрые. Сайт сдавать надо...

P.S.:
Али может подскажите,
какие функции задействованы в механизме сессий?
Сам найду. Может, ссылки на доки?

Комментарии

Аватар пользователя ryurix ryurix 29 марта 2007 в 12:50

В логах ошибок не обнаружено. Страницы обновлял уже раз 50...
Думаю, надо найти почему в БД ничего не записывается...

Аватар пользователя blackvl@drupal.org blackvl@drupal.org 29 марта 2007 в 12:58

Да, еще... мистика, это необъясненная закономерность... какие права доступа у зарегистрированного пользователя - может там галки слетели?!

Аватар пользователя blackvl@drupal.org blackvl@drupal.org 29 марта 2007 в 13:00

Нажал на "Ответы":
user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND n.uid = 0 ORDER BY n.nid DESC' at line 1 query: SELECT n.nid, n.created, n.finished, n.uid, u.name, n.training, t.title FROM 4qs_fourqs_answers n INNER JOIN 4qs_node t ON n.training = t.nid LEFT JOIN 4qs_users u USING (uid) AND n.uid = 0 ORDER BY n.nid DESC in /web/ru4qs/site/www/includes/database.mysql.inc on line 172.

Аватар пользователя Krotty@drupal.org Krotty@drupal.org 29 марта 2007 в 14:57

Сталкивался с похожей проблемой, на локалке все работало нормально, при выкладке на хостинг начались вышеописаные проблемы. В моем случае проблему удалось решить очисткой всей таблицы variable (кеш переменных тоже не забудь очистить), и прописываением заново всех настроек через интерфейс.

Аватар пользователя ryurix ryurix 30 марта 2007 в 8:21

Баг с "Ответы" поправил, спасибо. Smile
Увы, он к логину отношения не имеет.

Очистка variable и заново прописывание -- это шаманизм.
Тем паче, что менять там нечего, и ничего особо важного тоже нет.

А где кэш переменных?

P.S.: Так может кто-нить подскажет по поводу механизма сессий, куда копать?

Аватар пользователя Krotty@drupal.org Krotty@drupal.org 30 марта 2007 в 11:05

Кеш переменных находится в таблице cache, но можешь очистить ее всю...
Шаманством это выглядит только потому, что мы не знаем причины происходящего. Еще раз повторюсь что симптомы у меня были точно такие же, так что попробуй...

Аватар пользователя ryurix ryurix 30 марта 2007 в 11:54

Тут ещё вопрос: Может надо какие-то особые права доступа на подпапки?
А то я chmod -R 755 *
Не, понятно, что для files нужно другое. Но у меня files нет.

Али может из-за того, что PHP установлен как CGI?
Apache 1.3.34

Аватар пользователя ryurix ryurix 2 апреля 2007 в 8:29

Спасибо, bloackvl, поковырял, но чего-то не помогает. Sad

Дело в том, что сессия не создается из по следующим причинам:

Строка 72 файле session.inc:
<?php
if ($user->uid || $value || count($_COOKIE)) {
db_query("INSERT INTO {sessions} (sid, uid, cache, hostname, session, timestamp) VALUES ('%s', %d, %d, '%s', '%s', %d)", $key, $user->uid, $user->cache, $_SERVER["REMOTE_ADDR"], $value, time());
}
?>

То есть, запись сессии в базу происходит только если:
1. Пользователь уже залогинен.
2. Значение уже какое-то задано.
3. В переменной $_COOKIE что-то записано.

Почему-то на сервере ur.ru в переменную $_COOKIE ничего не попадает!
Хотя, даже у анонимоуса должна генериться сессия! Почему?
Может, это связано с тем, что на хостинге PHP установлен как CGI?
Как следствие, через установки в .htaccess не задаются параметры PHP.

Через ini_set в settings.php пробовал задавать
ini_set('session.auto_start', 1);
Но почему-то всё равно не работает и в $_COOKIES ничего не падает.

Может кто есть знающие люди по вопросам механизмов кукисов?
Ещё такой вопрос: Где огнелис 1.5 хранит куки?

Аватар пользователя ryurix ryurix 2 апреля 2007 в 11:50

Всё, разобрался с бедой этой!!!

Проблема в том, что почему-то друпал неправильно переписывал домен для куков.
А может на сервере что-то странное передавалось в $_SERVER['HTTP_HOST']
Так или иначе, когда я установил ini_set('session.cookie_domain', 'www.4qs.ru');
и закомментировал последующий код, где происходит попытка автоматической коррекции этого значения, то всё заработало!!!
Всем спасибо за внимание. На будущее -- есть смысл всегда прописывать в настройках: session.cookie_domain