Ну и каша...
Во первых,
Цитата(SneG0K @ 15.3.2008, 04:00 ) | | Не работают куки и не регистрируется сессия. Есть следующий алгоритм: |
Это заявление логически необосновано. Чтобы говорить, что не работают куки, надо писать код, который проверяет, работают ли куки. И дело не в том, что ты говоришь. А в том, как ты воспринимаешь ситуацию. Gрограммист тем и отличается от юзера, что основывается в своих выводах на фактах - иначе ему просто никогда не найти ошибку. Gоэтому программист всегда проверяет свои утверждения. Думаем, что не работают куки - проверяем работу кук, скриптом
| Код | setcookie("user","test",0); echo $_COOKIE["test"];
|
Если не работают - разбираемся. Только с куками, и ничем больше. Если работают - ищем проблему дальше.
Думаем, что не работают сессии? Проверяем, тестовым скриптом, например, отсюда: http://phpfaq.ru/sessions Если не работают - разбираемся. Только с сессиями, и ничем больше. Если работают - ищем проблему дальше.
Дальше - значит, что проблема не в куках и не в сессиях, а в алгоритме. Алгоритм надо ОТЛАЖИВАТЬ. Слово написано большими буквами потому, что это главное слово в программировании. Отладка - это многоуровневое пошаговое выполнение. Разделяем задачу на не свзанные между собой сегменты (шаги), и каждый выполняем построчно (по шагам). На каждом шаге проверяя корректность данных.
Мы уже начали отлаживать, проверяя сегменты по работе с куками и сессиями. Теперь проверяем пошагово основной текст. К примеру, что у тебя находится в переменной $session? Какое значение выставляет куке оператор setcookie("user",$session,0);? А эта ветка case вообще выполняется? Не знаешь. А надо знать.
Вот в этом и заключается работа программиста. Не switch - case писать. А знать, какое значение имеет каждая переменная в каждый момент выполнения программы. Не все время знать, конечно. А тогда, когда он занимается отладкой. И руководствоваться логикой. То есть, описание ситуации не на уровне "я поставил куку, а она не работает", а "я выставил куку с такими-то параметрами". Все, ВСЕ свои действия надо проверять! Буквально каждую строчку.
Но самое смешное во всей этой ситуации - что отлаживать, проверять свои переменные программист может только сам, на своей машине. На форуме за него это при всем желании не сделают. поэтому придется учиться искать ошибки самостоятельно.
И убери из кода ненужную session_register и совсем уж чудовищную session_destroy Автор: http://vingrad.ru/@Feldmarschall Источник: http://forum.vingrad.ru/index.php?show_type=forum&showtopic=200750 |