Сабмит формы и передача методом GET

Mishanja

Новичок
_vampiro_

Сессия у меня стартует не всегда, а только тогда, когда ты что-то добавляешь в корзину. Т.е. до того момента когда ты ищешь, но еще ничего не добавил в корзину сессия еще не стартовала.

Когда ты нашел себе в отдельном окне красный, а жене в другом окне синий, то для моего скрипта это будут 2 разные сессии и соответственно 2 разные корзины.

-~{}~ 28.06.06 15:37:

Бат зе уэй.

Все ж таки интересно получить ответ на вопрос. Возможно ли комбинированное использование POST и GET?
 

Bermuda

Новичок
Mishanja
Сессия должна быть одна, на то она и сессия. Вот например у меня находится сразу в двух комнатах никак не получается, каким бы загадочным путем я по ним не перемещался. Один клиент -- одна сессия.
С корзиной то же самое. Хотя иногда в продуктовом магазине я беру две корзины, но в этом случае альтернативой будет одна тележка. Один клиент -- одна корзина.
Когда я прихожу домой, то сразу оказываюсь в какой-нибудь комнате, а не после того как разуюсь. Сессию (если конечно мы планируем ей пользоваться) следует стартовать при первом же появлении клиента и поддерживать до его ухода.

Конечно же найдутся "альтернативные решения", однако представленная идеология самая простая и логичная в реализации, а "альтернативные решения" приведут к усложнению функционала и логики сессии клиента.
 

Mishanja

Новичок
Bermuda

Зачем стартовать сессию тем, кому она не нужна? Ведь большей части уж точно она ни к чему. Потому как большая часть приходит не за покупками, а просто смотрит.

-~{}~ 28.06.06 15:45:

Я не думаю, что из 1000 человек, будет хотябы 3 которые захотят искать товары в магазине в разных окнах.

-~{}~ 28.06.06 15:47:

Тем не менее, я не случайно в этом форуме задал вопрос. Я бы и рад не тягать в сессиях данные формы поиска.

И думаю что есть способ не делать этого. Просто в Java Script не в зуб ногой.

А ведь все что мне нужно от JavaScript - это повесить на каждую кнопку "Добавить в корзину" сабмит формы поиска в которой все данные уже забиты изначально.

Мож все-таки кто-то раскроет секрет?
 

Bermuda

Новичок
Автор оригинала: Mishanja
Bermuda
Зачем стартовать сессию тем, кому она не нужна?
Клиента нужно знать в лицо. Кроме того, запуск и поддержание сессии почти не составляет никаких затрат.
При старте сессии по требованию мы должны проверять, например, положил ли пользователь что-то в карзину? Если это так так, тогда запускаем сессию, и только потом кладем в нее переменную. Если мы стартовали сессию заранее, то нам останется только лишь положить в нее переменную без лишних телодвижений.

Моя идея в том, что сессия должна жить в течение всего присутсвия клиента. Только тогда мы сможем отличать одного клиента от другого.
 

Mishanja

Новичок
или я уже всех задолбал.

_vampiro_ - надеюсь на тебя. onClick=search.form.submit(); не фурычит.

-~{}~ 28.06.06 15:56:

Bermuda

Бермуда, ну в идеале конечно. Есть пользователь - есть сессия.
Вопрос тогда кого считать пользователем? Ведь 2 товарища могут совершенно свободно по очереди сидеть за компом и юзать один и тот же магазин. И почему это у них должна быть одна сессия?
Но все ж таки смысла стартовать каждому человеку, который зашел поковырять в носу сессию я не вижу.
 

Bermuda

Новичок
Автор оригинала: Mishanja
Все ж таки интересно получить ответ на вопрос. Возможно ли комбинированное использование POST и GET?
Рекомендую "комбинированное использование" GET и GET.

И что вы к этому POST привязались? Название нравится или будете песни петь про "безопасность"?
 

Mishanja

Новичок
Bermuda

просто 15 параметров в дресную строку пихать не красиво
 

Bermuda

Новичок
Автор оригинала: Mishanja
Есть пользователь - есть сессия.
Вопрос тогда кого считать пользователем?
Я говорил про клиента и про севрер, а не про пользователя.

Ведь 2 товарища могут совершенно свободно по очереди сидеть за компом и юзать один и тот же магазин. И почему это у них должна быть одна сессия?
Нужно определение клиента?

-~{}~ 28.06.06 14:06:

Автор оригинала: Mishanja
Bermuda

просто 15 параметров в дресную строку пихать не красиво
А в сессию красиво? Там не видно, да?
 

_vampiro_

Новичок
Mishanja
Когда ты нашел себе в отдельном окне красный, а жене в другом окне синий, то для моего скрипта это будут 2 разные сессии и соответственно 2 разные корзины.
Э! да ты раскуриваешь шишки посильнее моих! :)

когда ты якобы "создаешь" вторую сессию - ты просто затираешь первую. можешь проверить. Сессия хранится в файле с нумером. этот нумер передается браузеру, и в браузере есть только одна переменная для его хранения. то есть отсылая браузеру второй номер сессии, ты затираешь первый. Так что на это не надейся особо.


Решение же оченьь простое. Как уже сказал "Кром", тебе надо намутить следующее:
При поиске записать все параметры поиска в сессию. под определенным уникальым номером. Этот номер прилепить к ссылке, которая кидает товар в корзину. То есть ссылка будет типа того:
Код:
<a href="put.php?ID=12332&search=1">...</a>
put.php клает товар в корзину, и делает редирект на thanks.php?return=search.php&search=1.
thanks.php рисует сообщение вида "ок товар добавлен. Ща вас кинет обратно в поиск."
и через 3 сек. кидает на search.php?search=1;
а поиск просто берет из сессии данные по поиску с нужным номером и рисует их.

Вроде самый "то, что надо" вариант.
 

Mishanja

Новичок
Bermuda

Интересуют не определения, а практическое применение. Я считаю что сессии - это инструмент, который надо использовать тогда когда в нем есть необходимость. По вашей логике сессии необходимы абсолютно везде и всегда. На мой взгляд это не так.
Но у меня еще опыта мало, чтобы спорить с Вами. Я программировать на PHP начал с апреля 2006 года.
Просто из того что я понял о сессиях и о их применении в своем проекте я сделал такой вывод. Возможно я не прав. Опыт покажет.

Так POST и GET можно подружить или нет?
 

_vampiro_

Новичок
Mishanja
можно, если время "горит". если не горит, то лучше сделать сейчас правильно и не гадать через полгода "почему всё отвалилось".


это чтобы ехать:

Код:
<form name="frm_search" ...>
<input type="hidden" name="product_ID" value="">
...
тут другие поля
....
</form>
<a href="add.php" onclick="document.frm_search.product_ID.value=this.ID;submit_form();" id=ТУТ_ИД_ТОВАРА>купить</a>
-~{}~ 28.06.06 16:23:

во... маразм упорно не хотел постится как надо... %)
 

Mishanja

Новичок
Ладно мужики, спасибо за внимание к проблеме. Ежели где ступил, не поминайте лихом.
 

Flanker

незнайка
Совет от чайника. Надо делать все долотом и молотком.
Добавь к своей страничке фрейм(можешь сделать его воопще невидимым) где в скриптах массивов будеш сохранять запросы и отсылать или создашь там форму с textarea куда будешь добовлять и потом отсылать с любой другой форми
parent.basket.form.submit()
Всё время собираешь один раз отправляешь.
 
Сверху