![]() |
таймер
У меня проблема с сессиями.
Если не стоит автоматическая переадресация через header, все работает корректно (регистрируются все необходимые переменные). А с header'ом ни в какую. Вот я и подумал о том, чтобы сделать таймер - задержался на странице на пару сек и пошел дальше. Но вот проблема - не знаю с какого конца взятся... Подскажите функцию, через которую это можно реализовать. |
Собственно, это проблема по моему не хеадера! пхп исполняется на сервере, и пока не исполнится все, что стоит перед header() он дальше не пойдет. хотя смотря как ты пишешь. Еще одно сессия вызваная через функцию регистрируется, но ее переменные нет !
пример. у тебя есть в файле Код:
function newsess() {может я че неправильно понимаю, тогда свети код ... |
Я делаю и-нет магазин. Проблема в том, что товар никогда не кладется в корзину с первого раза, а дальше все нормально...
По-моему сессия регистрируется session_start'ом, а функций я здесь не использую (это отдельный файл). В чем проблема я не понимаю... Вот код... session_start(); Здась задаются все переменные; session_register ("z","colors","am"); header ("Location:$back"); Без header'а все работает идеально... |
Вообще я думаю, что лучше зделать окошко в котором будет написанно, что товар добавлен в казину, а сек через 10-15 происходила автоматическая переброска обратно...
Но какую ф-ию для этого подпрячь я не представляю... |
а зачем хедеры, если не секрет?
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 : только что проверил одну фичу ! если сделать так, то от хеадера ничего независит ! Код:
session_start(); |
| Часовой пояс GMT +4, время: 19:55. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.