Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Программирование > PHP

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 10.07.2002, 23:29
eugesh вне форума Посмотреть профиль Отправить личное сообщение для eugesh Посетить домашнюю страницу eugesh Найти все сообщения от eugesh
  № 1  
eugesh
 
Аватар для eugesh

Регистрация: Mar 2001
Адрес: Москва, Россия
Сообщений: 109
Отправить сообщение для eugesh с помощью ICQ
Attention таймер

У меня проблема с сессиями.
Если не стоит автоматическая переадресация через header, все работает корректно (регистрируются все необходимые переменные). А с header'ом ни в какую. Вот я и подумал о том, чтобы сделать таймер - задержался на странице на пару сек и пошел дальше.
Но вот проблема - не знаю с какого конца взятся... Подскажите функцию, через которую это можно реализовать.

Старый 11.07.2002, 01:40
advocat вне форума Посмотреть профиль Отправить личное сообщение для advocat Посетить домашнюю страницу advocat Найти все сообщения от advocat
  № 2  
advocat
 
Аватар для advocat

Регистрация: Feb 2001
Адрес: Киев
Сообщений: 649
Отправить сообщение для advocat с помощью ICQ
Собственно, это проблема по моему не хеадера! пхп исполняется на сервере, и пока не исполнится все, что стоит перед header() он дальше не пойдет. хотя смотря как ты пишешь. Еще одно сессия вызваная через функцию регистрируется, но ее переменные нет !
пример. у тебя есть в файле
Код:
function newsess() {
  session_register("sesiya");
  $sesiya = "456654";
}
и если ты вызываешь из другого файла эту функцию, то у тебя сессия регистрируется а переменная $sesiya нет !
может я че неправильно понимаю, тогда свети код ...
__________________
заходите в гости
advocat, это не по професия - это диагноз!
Обычно в PHP обитаю ...

Старый 12.07.2002, 05:58
eugesh вне форума Посмотреть профиль Отправить личное сообщение для eugesh Посетить домашнюю страницу eugesh Найти все сообщения от eugesh
  № 3  
eugesh
 
Аватар для eugesh

Регистрация: Mar 2001
Адрес: Москва, Россия
Сообщений: 109
Отправить сообщение для eugesh с помощью ICQ
Я делаю и-нет магазин. Проблема в том, что товар никогда не кладется в корзину с первого раза, а дальше все нормально...
По-моему сессия регистрируется session_start'ом, а функций я здесь не использую (это отдельный файл).
В чем проблема я не понимаю...

Вот код...

session_start();
Здась задаются все переменные;
session_register ("z","colors","am");
header ("Location:$back");

Без header'а все работает идеально...

Старый 12.07.2002, 06:03
eugesh вне форума Посмотреть профиль Отправить личное сообщение для eugesh Посетить домашнюю страницу eugesh Найти все сообщения от eugesh
  № 4  
eugesh
 
Аватар для eugesh

Регистрация: Mar 2001
Адрес: Москва, Россия
Сообщений: 109
Отправить сообщение для eugesh с помощью ICQ
Вообще я думаю, что лучше зделать окошко в котором будет написанно, что товар добавлен в казину, а сек через 10-15 происходила автоматическая переброска обратно...
Но какую ф-ию для этого подпрячь я не представляю...

Старый 12.07.2002, 11:19
ZJA вне форума Посмотреть профиль Отправить личное сообщение для ZJA Посетить домашнюю страницу ZJA Найти все сообщения от ZJA
  № 5  
ZJA

Регистрация: Jun 2001
Адрес: Москва
Сообщений: 166
Question а зачем хедеры, если не секрет?

2eugesh я с похожей проблемой сталкивался, но у меня как-то без заголовков все обошлось, и окон не надо дополнительных, надо всего лишь чтоб при любом переходе от страницы к странице, если на странице есть форма(заказа например) - то она долна сабмититься, а уже скрипт решает чего юзер забил в нее(и чего не забил) и что он этим хотел сказать))) разумеется все страницы с сессиями и если пользователь что-то дельное забил, то это регистрируется, например забил: товара по 7 wm 3 штуки и ушел (не нажав кнопку добавить в корзину) на форум на этом сайте или новости почитать, но когда он переходил со страницы заказа на страницу форума, форма уже связалась, и скрипт запомнил в сессии что вроде пользователь хочет это купить, но еще не надумал окончательно, если пользователь вернеться, все циферки и буковки подставяться наместо и ему не придется это по второму разу забивать. Ну это так просто пример, все это можно варьировать как угодно.
2advokat да, описанная штука на счет переменных внутри ф-ций имеет место быть и я решил эту проблему сделав переменную глобальной, если есть у кого более рульное решение - предлагайте. Кстати это достаточно сильно зависит от версии php и конфы, т.к. некоторые версии поддерживают массивы навроде $HTTP_SESSION_VARS/$_SESSION - которые по умолчанию суперглобальные и т.о. все переменные сессии становятся доступными в любой точке скрипта, даже если регистрировались они внутри ф-ции из другого файла. На это весьма советую посмотреть примерчики на www.php.net
__________________
Если что-то может случиться... оно обязательно произойдет

Старый 15.07.2002, 14:22
advocat вне форума Посмотреть профиль Отправить личное сообщение для advocat Посетить домашнюю страницу advocat Найти все сообщения от advocat
  № 6  
advocat
 
Аватар для advocat

Регистрация: Feb 2001
Адрес: Киев
Сообщений: 649
Отправить сообщение для advocat с помощью ICQ
Такс, а теперь разберем все по порядку ! Да действительно имеет место в новых версиях пхп глобальные переменные по умолчанию отключены, но если у нас есть файл например conf.php в нем есть переменная $color = "red"; то если мы создаем какой нибудь файл типа:
include_once("conf.php");
global $color;
то наща переменная остается начальной независимо от того глобальнные переменные по умолчанию включены или выключены! Это уже проверено, на версии 4.21 которая по default настроена ...
Далее, если мы регистрируем сессию и в сессии переменную, то при любом дальнейшем использовании этой сессии, а она используется до того момента, как ее убить или закрыть окно, то наша переменная зарегистрированная в сессии остается ! Но правда нелишним будет в каждом файле проставить session_start();
какие еще вопросы будут ?

2 eugesh :
только что проверил одну фичу ! если сделать так, то от хеадера ничего независит !
Код:
session_start(); 
if (session_register ("z","colors","am")) { 
  header ("Location:$back");
  exit;
}
__________________
заходите в гости
advocat, это не по професия - это диагноз!
Обычно в PHP обитаю ...

Создать новую тему   Часовой пояс GMT +4, время: 15:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:57.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.