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=****... или что-то вроде этого.