Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Сессии в php создание простейшей корзины
Форумы портала PHP.SU » » HTTP и PHP » Сессии в php создание простейшей корзины

Страниц (1): [1]
 

1. andreya - 14 Мая, 2011 - 17:19:25 - перейти к сообщению
Сессии в php создание простейшей корзины.

Есть таблица с тремя полями.
1 - Название товара
2 - Количество товара (вносим сами в поле ввода)
3 - Кнопка "Добавить в корзину"

Требуется:
При нажатии кнопки в сессию добавлялась бы информация из таблицы"Название Товара+Количество" (и там хранилась - для дальнейшего ее вывода на другой странице или в модальном окне, но главное что бы сохранялась строка).
То есть в сессии сохраняем значение всей строки. И так далее по всей таблицы.
Подскажите пожалуйста как это реализовать?
Очень нужно...
Всем спасибо!
2. molchun201 - 14 Мая, 2011 - 17:56:30 - перейти к сообщению
НА скорую руку Подмигивание

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.     session_start();
  4.    
  5.     // Название товара
  6.     $_SESSION['item'] = $_POST['item'];
  7.     // Кол-во товара
  8.     $_SESSION['count'] = $_POST['count'];
  9.     // Цена товара
  10.     $_SESSION['price'] = 100;
  11.    
  12.     if(isset($_SESSION['item']) and is_numeric($_SESSION['count'])){
  13.         echo "Вы добавили товар в карзину!<br/>";
  14.         echo "Его кол-во ".$_SESSION['count']."<br/>";
  15.         echo "Вы должны заплатить: ".$_SESSION['count'] * $_SESSION['price']." рублей<hr/>";
  16.     }
  17. ?>
  18.  


Форма:

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form method="post">
  3.     Цена товара: <?=$_SESSION['price']." за 1 еденицу"?><br/>
  4.     Кол-во товара: <input name="count" type="text" size="5"/><br/>
  5.     Добавить товар: <input name="item" type="submit" value="Хлеб"/>
  6. </form>
  7.  
3. andreya - 14 Мая, 2011 - 18:02:12 - перейти к сообщению
А можно чуть подробнее? Можно я дам две строки таблицы и занесем их с Вами? ПОЖАЛУЙСТА!!! Уже всю голову сломал.И форма я так понимаю будет второй файл да?
4. molchun201 - 14 Мая, 2011 - 18:08:22 - перейти к сообщению
andreya пишет:
Можно я дам две строки таблицы и занесем их с Вами?

Вы хотите сессии добавлять в БД? Не понял
Это по меньшей мере некорректно, ибо на то они и сессии чтобы хранить во времени одного сеанса данные

Цитата:
И форма я так понимаю будет второй файл да?

это всё должно быть в 1 файле (это единое целое)
5. andreya - 14 Мая, 2011 - 18:10:40 - перейти к сообщению
Нет в БД как раз не надо. Все храниться в сессии должно. Пришел на страницу на нескольких строках нажал кнопку. И эти две строки сохранились в сессии а далее эти две строки вывелись на отдельной странице.. Ведь в сессии легко можно хранить такие объемы... Как так сделать?
6. molchun201 - 14 Мая, 2011 - 18:13:31 - перейти к сообщению
Тогда вот так.

index.php

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.     session_start();
  4. ?>
  5. <form method="post" action="page2.php">
  6.     Цена товара: <?=$_SESSION['price']." за 1 еденицу"?><br/>
  7.     Кол-во товара: <input name="count" type="text" size="5"/><br/>
  8.     Добавить товар: <input name="item" type="submit" value="Хлеб"/>
  9. </form>
  10.  


page2.php

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.     session_start();
  4.    
  5.     // Название товара
  6.     $_SESSION['item'] = $_POST['item'];
  7.     // Кол-во товара
  8.     $_SESSION['count'] = $_POST['count'];
  9.     // Цена товара
  10.     $_SESSION['price'] = 100;
  11.    
  12.     if(isset($_SESSION['item']) and is_numeric($_SESSION['count'])){
  13.         echo "Вы добавили товар в карзину!<br/>";
  14.         echo "Его кол-во ".$_SESSION['count']."<br/>";
  15.         echo "Вы должны заплатить: ".$_SESSION['count'] * $_SESSION['price']." рублей";
  16.     }
  17. ?>
  18.  
7. andreya - 14 Мая, 2011 - 18:23:07 - перейти к сообщению
Уже понятнее... Но как вставить вторую строку? Как ее обрабатывать также и плюсом без перехода в корзину сразу. То есть натыкали пару строк а потом уже "переход в корзину" и там все лежит. Вся строка таблицы. Можно так?
8. molchun201 - 14 Мая, 2011 - 18:29:42 - перейти к сообщению
можно реализовать так:
1.Вытягиваем из БД наименования товаров
2.Записываем их в чекбоксы
3.Если человек отметил нужные ему товары, то автоматом перемещаемся в корзину
4.Потом можно предложить ему вернуться и докупить товары

это всё просто делается, но просто не охота в рутину влезать +свои дела решаю Язычок

Основу я те накатал, так что думаю суть уловил Подмигивание
9. andreya - 14 Мая, 2011 - 18:30:44 - перейти к сообщению
Спасибо огромное"""""""". Попробую добить! А моно если что попозже обратиться если чего не получиться???
10. molchun201 - 14 Мая, 2011 - 18:36:21 - перейти к сообщению
конечно обращайся Подмигивание
11. andreya - 14 Мая, 2011 - 19:09:42 - перейти к сообщению
Первый файл вот такой получился (надо id к каждому элементу свой по нему сохранять как я понимаю поэтому пока присвоил):
<?php
session_start();
?>

<table width="400" border="0" cellspacing="0" cellpadding="0">
<form method="post" action="cart.php">
<tr>
<td>Товар №1</td>
<td>Кол-во товара: <input name="count" type="text" size="5"/></td>
<td>Добавить товар: <input name="id_1" type="submit" value="В корзину"/></td>
</tr>
<tr>
<td>Товар №2</td>
<td>Кол-во товара: <input name="count" type="text" size="5"/></td>
<td>Добавить товар: <input name="id_2" type="submit" value="В корзину"/></td>
</tr>
</form>
</table>

Вот со вторым файлом обработчиком проблема. В него мы переходить сразу не должны.
Хочется сохранить строку в сессии что бы потом когда перешел на другую страницу "корзина" допустим. А там вывалились сразу все строки чего выбрали. Так можно сделать? И если товару id присваивать то в правильном ли месте я его поставил? Как всю строку при нажатии кнопки и вводе количества сохранять в сессии? Можно ли на моей примере таблицы оформить? Пожалуйста!
12. molchun201 - 14 Мая, 2011 - 20:45:27 - перейти к сообщению
http://www.php.su/articles/?cat=...les&page=070
13. andreya - 15 Мая, 2011 - 13:05:35 - перейти к сообщению
ДА я уже весь интернет перерыл. Не получается что бы на обработчик не переходить сразу и что бы они все сохранялись строкой... Уже совсем с кожи лезу..

 

Powered by ExBB FM 1.0 RC1