Помощник
|
Сессии/Куки, Нужна помощь |
Scream_mw
|
Сообщение
#1
|
||
|
|
||
|
|||
eyexal |
1.3.2010, 21:24;
Ответить: eyexal
Сообщение
#2
|
|
представь что куки это база со стороны клиента, в браузере !
чтоб добавить товар в эту базу надо сделать к примеру так: setcookie('tovar', '256|3'); - тут мы как бы обозвали переменную tovar и записали в неё значение 256|3, теперь это хранится у клиента в кукисах когда клиент заходит на сервер то сервер проверяет клиента на наличие кукисов а именно на tovar по условию если tovar есть тогда надо отделить id от количества, отделяем ид от кол-ва $tovar = "256|3"; $tovar = explode("|",$tovar); echo $tovar[0] - это будет 256 echo $tovar[1] - это будет 3 лезем в базу чтоб выдрать инфу о таваре под id 256 $asd= mysql_query("select * from base where id = {$tovar[1]}"); дальше просто выводит на екран инфу о товаре.. я пока на этом остановлюсь, мне пора бежать домой ) прийду допишу |
|
|
FordogeN |
1.3.2010, 21:58;
Ответить: FordogeN
Сообщение
#3
|
|
По моему логичней было бы когда добавляем в куки новый товар чтоб было значение вроде "256|1", а в самой корзине можно было изменять кол-во товара...
-------------------- |
|
|
ZiTosS |
2.3.2010, 0:01;
Ответить: ZiTosS
Сообщение
#4
|
|
Scream, Куки и сессии это две разные вещи.
Сессии лежат на сервере, и представляю из себя временные файлы, содержащие данные в виде сериализиованного - сжатого массива. Идентификация сессии происходит по ID сессии, который может храниться в куках, а так же(если куки отключены) передаваться в строке браузерной строке в GET параметрах. Сессии хороши тем, что пользователь не имеет возможности руками править помещенные в них данные. Данные в сессию помещает скрипт, работающий на сервере и использующий данную сессию(текущее соединение с клиентом) для хранения данных. Чтобы активизировать работу сессии, надо исполнить функцию session_start() Заносить данные в сессии можно по-средством суперглобального массива $_SESSION Куки - это временные данные, хранящиеся на клиентской машине во временных файлах(эти файлы используют браузеры, за которыми они закреплены). Данные куки пользователь имеет возможность править вручную, он может вписать в них всё что угодно. Советую для корзины использовать сессии, данные о товарах хранить в формате: [php]<?php $_SESSION = array( "products" => array( ['номер_товара_1'] => ['количество'], ['номер_товара_2'] => ['количество'], ... ['номер_товара_N'] => ['количество'] ) ); ?>[/php] Надо удлаить i-тый товар? Да запросто: [php]unset($_SESSION['products'][$i]);[/php] Но не забываем, у нас PHP неактивный язык, и для выполнения каких-либо действий нужно производить полсыку данных в заголовках страниц(требуется перезагрузка страницы). Хотя есть и AJAX, но тут уже + JS |
|
|
Scream_mw
|
Сообщение
#5
|
|
Спасибо! Завтра утром по пробую!
А еще такой вопрос: как можно эти данные запихнуть в одну форму для дальнейшей передачи в POST/GET запросе? Т.е. чтоб номер_товара|кол-во, номер_товара|кол-во, номер_товара|кол-во... |
|
|
ZiTosS |
2.3.2010, 1:34;
Ответить: ZiTosS
Сообщение
#6
|
|
Scream,
Не понятно, что имеется ввиду. Данные передаются не в POST/GET. Вы их один раз занесете в сессии, а потом при переходе в нужную область(к примеру, корзина) происходит обработка сессий. А если что, данные можно передавать в виде массивов скрытых полей, но зачем, не пойму... <input type="hidden" name="products[]" value="[id_товара_1]|[количество]" /> <input type="hidden" name="products[]" value="[id_товара_2]|[количество]" /> ... <input type="hidden" name="products[]" value="[id_товара_M]|[количество]" /> На выходе вы получите массив [php]<?php $_POST['products'] = array( [0] => "[id_товара_1]|[количество]", [1] => "[id_товара_2]|[количество]", ... [N] => "[id_товара_M]|[количество]" ); ?>[/php] |
|
|
Scream_mw
|
Сообщение
#7
|
|
Это нужно чтоб записать в бд как заказ.
Спасибо, буду разбираться! |
|
|
ZiTosS |
2.3.2010, 2:07;
Ответить: ZiTosS
Сообщение
#8
|
|
Scream, а что вам мешает писать в БД из сессий? Вы меня пугаете.
|
|
|
Scream_mw
|
Сообщение
#9
|
|
Я же новичёк :blink:
|
|
|
ZiTosS |
2.3.2010, 3:06;
Ответить: ZiTosS
Сообщение
#10
|
|
Scream,
файл записи заказа order.php (это естественно для показа) [php]<?php session_start(); /* * Есть массив $_SESSION['products'] * */ foreach($_SESSION['products'] as $id_order => $count) { // собираем данные как нужно } // помещаем данные в базу ?>[/php] |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Как вставить куки? | 0 | Alex1231 | 1250 | 19.8.2015, 20:12 автор: Alex1231 |
|
Разработать механизм запоминания в куки. PHP, JavaScript. | 13 | Bad_Ivan | 6745 | 27.2.2012, 0:53 автор: -Blink- |
Текстовая версия | Сейчас: 19.3.2024, 15:39 |