|
|
|||||
таймер
У меня проблема с сессиями.
Если не стоит автоматическая переадресация через header, все работает корректно (регистрируются все необходимые переменные). А с header'ом ни в какую. Вот я и подумал о том, чтобы сделать таймер - задержался на странице на пару сек и пошел дальше. Но вот проблема - не знаю с какого конца взятся... Подскажите функцию, через которую это можно реализовать. |
|
|||||
Собственно, это проблема по моему не хеадера! пхп исполняется на сервере, и пока не исполнится все, что стоит перед header() он дальше не пойдет. хотя смотря как ты пишешь. Еще одно сессия вызваная через функцию регистрируется, но ее переменные нет !
пример. у тебя есть в файле и если ты вызываешь из другого файла эту функцию, то у тебя сессия регистрируется а переменная $sesiya нет ! может я че неправильно понимаю, тогда свети код ...
__________________
заходите в гости advocat, это не по професия - это диагноз! Обычно в PHP обитаю ... |
|
|||||
Я делаю и-нет магазин. Проблема в том, что товар никогда не кладется в корзину с первого раза, а дальше все нормально...
По-моему сессия регистрируется session_start'ом, а функций я здесь не использую (это отдельный файл). В чем проблема я не понимаю... Вот код... session_start(); Здась задаются все переменные; session_register ("z","colors","am"); header ("Location:$back"); Без header'а все работает идеально... |
|
|||||
Вообще я думаю, что лучше зделать окошко в котором будет написанно, что товар добавлен в казину, а сек через 10-15 происходила автоматическая переброска обратно...
Но какую ф-ию для этого подпрячь я не представляю... |
|
|||||
Регистрация: Jun 2001
Адрес: Москва
Сообщений: 166
|
а зачем хедеры, если не секрет?
2eugesh я с похожей проблемой сталкивался, но у меня как-то без заголовков все обошлось, и окон не надо дополнительных, надо всего лишь чтоб при любом переходе от страницы к странице, если на странице есть форма(заказа например) - то она долна сабмититься, а уже скрипт решает чего юзер забил в нее(и чего не забил) и что он этим хотел сказать))) разумеется все страницы с сессиями и если пользователь что-то дельное забил, то это регистрируется, например забил: товара по 7 wm 3 штуки и ушел (не нажав кнопку добавить в корзину) на форум на этом сайте или новости почитать, но когда он переходил со страницы заказа на страницу форума, форма уже связалась, и скрипт запомнил в сессии что вроде пользователь хочет это купить, но еще не надумал окончательно, если пользователь вернеться, все циферки и буковки подставяться наместо и ему не придется это по второму разу забивать. Ну это так просто пример, все это можно варьировать как угодно.
2advokat да, описанная штука на счет переменных внутри ф-ций имеет место быть и я решил эту проблему сделав переменную глобальной, если есть у кого более рульное решение - предлагайте. Кстати это достаточно сильно зависит от версии php и конфы, т.к. некоторые версии поддерживают массивы навроде $HTTP_SESSION_VARS/$_SESSION - которые по умолчанию суперглобальные и т.о. все переменные сессии становятся доступными в любой точке скрипта, даже если регистрировались они внутри ф-ции из другого файла. На это весьма советую посмотреть примерчики на www.php.net
__________________
Если что-то может случиться... оно обязательно произойдет |
|
|||||
Такс, а теперь разберем все по порядку ! Да действительно имеет место в новых версиях пхп глобальные переменные по умолчанию отключены, но если у нас есть файл например conf.php в нем есть переменная $color = "red"; то если мы создаем какой нибудь файл типа:
include_once("conf.php"); global $color; то наща переменная остается начальной независимо от того глобальнные переменные по умолчанию включены или выключены! Это уже проверено, на версии 4.21 которая по default настроена ... Далее, если мы регистрируем сессию и в сессии переменную, то при любом дальнейшем использовании этой сессии, а она используется до того момента, как ее убить или закрыть окно, то наша переменная зарегистрированная в сессии остается ! Но правда нелишним будет в каждом файле проставить session_start(); какие еще вопросы будут ? 2 eugesh : только что проверил одну фичу ! если сделать так, то от хеадера ничего независит !
__________________
заходите в гости advocat, это не по професия - это диагноз! Обычно в PHP обитаю ... |
Часовой пояс GMT +4, время: 18:30. |
|
« Предыдущая тема | Следующая тема » |
|
|