Forum Webscript.Ru
Программирование => PHP => Тема начата: FreeSpace от 17 Февраля 2002, 21:56:31
-
Спасибо, что заглянули :)
Учить PHP я начал недавно и вот понадобилось мне написать скрипт администрирования сайта, наподобие виртуальной библиотеки. Решил я писать его как-бы с внешними модулями.
Если кому-то интересно или кто-то захочет помочь мне разобраться во всём этом, то вот архивчик с тем, что я уже написал:
http://users.i.com.ua/~georgem/modules.zip
Там немного, но зато основной файл с подробными комментариями.
Проблемы у меня начали возникать самые разнообразные:
начиная от проблем с глобальными переменными, заканчивая тем проблемой с куками. О них расскажу поподробнее.
В коде основного скрипта есть такая строчка:
SetCookie("cookie_pass", $pass, time()+3600);
А вот в одном из модулей (он отвечает за логаут) есть строчка
SetCookie("cookie_pass");
По идее после её выполнения кук должен удалятся.
Но если вновь запустить основной скрипт, то пароль останется введенным.
Проверял полчаса, потом добавил в основной скрипт
if ($action == "logout"){
SetCookie("cookie_pass");
}
и набрал в браузере "index.php?action=logout".
Всё сработало идеально, кук сбросился.
Подскажите мне, где грабли?
Может потому что модули лежат в отдельной папке, не там, где основной скрипт? :insane:
-
если ты уверен на 100%, что твой скрипт делает логаут (удаляет кукис), то вероятнее всего кэш. Попробуй на главной странице, в которой пароль вводится в вставить.
-
По-моему я уже подошел к решению этой проблемы, перейдя на сессии :)
А вообще в данном случае сессии использовать не могу (на хостинге стоит PHP3 и тот не хочет ставить четвертый) и подозреваю, что нужно установить параметр path, чтобы всё работало. Но вот только на какой?
-
где скрипт исполняется с точки зрения веба т.е. http://www.blabla.bla/bla/blabla.php
из этого в пути надо указать только относительный путь без названия скрипта
PS сессии - те же куки :)
-
Ага, понятно.
Спасибо!
Ну а сесли кук нужно использовать везде на сервере и из любого каталога иметь возможность его удалить?
Хотя, зачем я спрашиваю, когда я уже нашел ответ: я ставил path в "/" и всё отлично работало.
Про сессии: кроме куков можно же ещё через имя_файла.php?PHPSESSID=****... или что-то вроде этого.