Session + Post...

Asar

Новичок
Session + Post...

2Admin: заглавными буквами прописал название темы в прошлый раз потому что обычно $_SESSION & $_POST пишутся заглавными буковками...
2All: повтор вопроса:
Хочу, чтобы при первом заходе на страницу показывались иллюстрации и был отмечен флажок "иллюстрации". Потом - при обновлении страницы либо при снятии флажка и перезагрузке страницы значение может меняться на угодное пользователю. Кроме того, при переходе на следующую страницу каталога (?page=2) значение бралось с предыдущей страницы.
Для этого смотрю $_POST и прописываю соответсвующий $_SESSION.
Но, т. к. в ПОСТе есть или значение флажка "отмечено" или там вообще ничего нет (т. е. там нет значения "не отмечено"), то я никак не могу отделить мух от прочего:
Если ставлю условие, что ставить флаг, если имеется ПОСТ, то при первой загрузке ничего не проставится - ПОСТа то нет, также возникают проблемы с другими использованными мною вариантами - типа условий ПОСТа нет и СЕССИИ нет и т. д.
В лучшем случае все пашет нормально, если сразу не обновить загруженную впервые страницу.
Может ли кто подсказать, как здесь сделать грамотно?
 

Tor

Новичок
флаг=1
если в СЕССИИ флаг=0, то, автоматически, флаг=0
если во ПОСТе флаг=0, то пишем в СЕССИЮ флаг=0

что не понятно?
 

confguru

ExAdmin
Команда форума
Asar

Читаем правила форума.. что непонятного..
Думаешь тут не знают как они пишутся?
 

Asar

Новичок
Если чел заходит в первый раз на страницу, то в сессии у него 0 и в посте 0, а картинки при этом должны быть. Вот что непонятно здесь...
 

Tor

Новичок
хорошо

давай на пальцах разбирать мой первый пост

что не ясно в первой строке?
а во второй?
...
 

Asar

Новичок
Пробовал я так, естественно...
При таком варианте, если первый раз загрузить страницу все Ок. Но, если ее обновить здесь же (тупо Ф5) - то сессия то уже есть, а поста нет. В результате - картинок нет...

-~{}~ 25.04.05 16:05:

Судя по ответу, который здесь только что был, смысл моего поста от 25.04.05 15:57 был ясен...

-~{}~ 25.04.05 16:06:

На всякий случай: понятно все и в первой строке, и во второй. Я так и делаю, в общем. А проблема - при загрузке первой страницы в первый раз. А ее решение, недавно здесь предложенное, но уже убитое - не подходит, причины я только что описал...
 

Tor

Новичок
Но, если ее обновить здесь же (тупо Ф5) - то сессия то уже есть
сессия может и есть
а вот флаг=0 в ней взяться неокуда

или ты просто проверяешь наличие сессии, а не ее содержимое?
 

Asar

Новичок
Все, понятно. Я действительно ступил, делая сессию аналогично посту - типа или есть такая или нет вообще... чтоб хтмл писать проще было :--)
Спасибо за разъяснения.

-~{}~ 16.05.05 16:22:

Автор оригинала: Tor
если в СЕССИИ флаг=0, то, автоматически, флаг=0
если во ПОСТе флаг=0, то пишем в СЕССИЮ флаг=0
И вот еще проблемка возникла:
Если в сессии прописано "с картинками", а в посте - 0, т. е. "без картинок" - то будет без картинок. Но, если мы переходим на следующую страницу каталога, то в посте будет 0 полюбому. Как с этим то обычно человеки справляются? Не проверять же каждый раз, пришел человек с другой страницы или обновил эту...
 

Фанат

oncle terrible
Команда форума
"refer" тут не причём.
Moby, потрудись почитать форум хотя бы за один день, прежде, чем лезть со своими советами не в тему.
 

Asar

Новичок
Автор оригинала: Фанат
а сессия тебе на что?
Так в этом то и дело.
По идее мы должны менять значение в сессии, если в посте 0 - т. е. отлавливаем момент, когда пользователь снимает флаг. Но в посте будет 0 не только когда человек снял флаг и нажал кнопку для вывода страницы с новыми параметрами, но и тогда, когда он просто переходит на новую страницу каталога. Т. е. у него мог быть проставлен флаг, а при переходе на следующую страницу он сбрасывается - в посте то 0. Вот как различить эти 2 случая, кроме как посмотреть, с какой страницы человек пришел мне в голову и не приходит... О том и спрашиваю...
 

Фанат

oncle terrible
Команда форума
Но в посте будет 0 не только когда человек снял флаг и нажал кнопку для вывода страницы с новыми параметрами, но и тогда, когда он просто переходит на новую страницу каталога
Это ещё с какой радости? У тебя со страницы на страницу ходят постом?

-~{}~ 17.05.05 10:57:

короче.
я понял.
ты всё делаешь неправильно

У тебя каталог?
и ты навигацию по нему делаешь постом+сессии?
выкини всю свою систему на помойку.
навигация по каталогу делается ТОЛЬКО ГЕТОМ
 

Asar

Новичок
Я сейчас делаю все постом, кроме страниц (?page=2) - чтоб роботы могли докопаться.
Что ли правильнее делать строку вроде ?page=2&pics=on&sort=brand&limit=50 ?
 

Asar

Новичок
Все бы с гетом хорошо, но возникла еще небольшая проблемка:
Изначально для каталога у меня передается через гет еще и категория (т. е. путь выглядел примерно как ?category=2&page=3). Теперь же, из-за того, что из формы в гет выплевываются устанавливаемые пользователем параметры, изначально прописанные в нем страница и категория оттуда уходят, что не есть хорошо.
Можно страницу и категорию запихивать в сессию (если гета нет, то брать значение из сессии).
Можно страницу и категорию запихивать в инпут-хидден - тогда они будут в гете.
Что из этого посоветуете или, может, еще какие варианты имеются? С хидденом путь мне не слишком симпатичен...
 

Фанат

oncle terrible
Команда форума
ну если я посоветовал гет, и не посоветовал сессии - то так трудно догадаться, что я посоветую из привелённых двух вариантов? :)

А мне с сессией кажется вариант те то,что не симпатичным, а просто уродливым.
Мне тут девушка как раз недавно прислала ссылку на сайт http://tutu.ru , будучи уверенной, что я получил расписание конкретной электрички. ХА ХА. Держи карман шире. Параметры остались у неё в сессии, а я попал на главную страницу. пришлось узнавать у неё вокзал, станцию, направление на словах.
Феноменально удобно, правда? Именно для этого интрнет и придумали.
 

Asar

Новичок
Да, с ссылками и правда будут проблемы. Значит, делаю хидденом. Спасибо за разъяснения.
 

Фанат

oncle terrible
Команда форума
а чем тебе не нравится хидденом-то?
ну пиши не в хидден, а в экшен. Тебе легче станет?
 

Asar

Новичок
Ничего особенно рационального в том, что не хотелось хидден нет, просто не хотелось страницу лишним хтмл-ем замазывать. Кроме того, это счастье пару пробелов занимает - тоже неприятно.
Насчет экшена. Ранее использовал только для того, чтобы данные из формы направлять на определенную страницу. Что ли туда прописать REQUEST_URI вместе с ?page= или я чего то не догоняю?
 
Сверху