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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сессии в php создание простейшей корзины

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Помогите пожалуйста советом
andreya
Отправлено: 14 Мая, 2011 - 17:19:25
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Сессии в php создание простейшей корзины.

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

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



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


Помог: 5 раз(а)




НА скорую руку Подмигивание

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.  


-----
Обрамляйте код тегами и читайте
 
 Top
andreya
Отправлено: 14 Мая, 2011 - 18:02:12
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




А можно чуть подробнее? Можно я дам две строки таблицы и занесем их с Вами? ПОЖАЛУЙСТА!!! Уже всю голову сломал.И форма я так понимаю будет второй файл да?
 
 Top
molchun201
Отправлено: 14 Мая, 2011 - 18:08:22
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


Помог: 5 раз(а)




andreya пишет:
Можно я дам две строки таблицы и занесем их с Вами?

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

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

это всё должно быть в 1 файле (это единое целое)


-----
Обрамляйте код тегами и читайте
 
 Top
andreya
Отправлено: 14 Мая, 2011 - 18:10:40
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Нет в БД как раз не надо. Все храниться в сессии должно. Пришел на страницу на нескольких строках нажал кнопку. И эти две строки сохранились в сессии а далее эти две строки вывелись на отдельной странице.. Ведь в сессии легко можно хранить такие объемы... Как так сделать?
 
 Top
molchun201
Отправлено: 14 Мая, 2011 - 18:13:31
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


Помог: 5 раз(а)




Тогда вот так.

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.  

(Отредактировано автором: 14 Мая, 2011 - 18:14:20)



-----
Обрамляйте код тегами и читайте
 
 Top
andreya
Отправлено: 14 Мая, 2011 - 18:23:07
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Уже понятнее... Но как вставить вторую строку? Как ее обрабатывать также и плюсом без перехода в корзину сразу. То есть натыкали пару строк а потом уже "переход в корзину" и там все лежит. Вся строка таблицы. Можно так?
 
 Top
molchun201
Отправлено: 14 Мая, 2011 - 18:29:42
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


Помог: 5 раз(а)




можно реализовать так:
1.Вытягиваем из БД наименования товаров
2.Записываем их в чекбоксы
3.Если человек отметил нужные ему товары, то автоматом перемещаемся в корзину
4.Потом можно предложить ему вернуться и докупить товары

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

Основу я те накатал, так что думаю суть уловил Подмигивание


-----
Обрамляйте код тегами и читайте
 
 Top
andreya
Отправлено: 14 Мая, 2011 - 18:30:44
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Спасибо огромное"""""""". Попробую добить! А моно если что попозже обратиться если чего не получиться???
 
 Top
molchun201
Отправлено: 14 Мая, 2011 - 18:36:21
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


Помог: 5 раз(а)




конечно обращайся Подмигивание


-----
Обрамляйте код тегами и читайте
 
 Top
andreya
Отправлено: 14 Мая, 2011 - 19:09:42
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Первый файл вот такой получился (надо 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 присваивать то в правильном ли месте я его поставил? Как всю строку при нажатии кнопки и вводе количества сохранять в сессии? Можно ли на моей примере таблицы оформить? Пожалуйста!
 
 Top
molchun201
Отправлено: 14 Мая, 2011 - 20:45:27
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


Помог: 5 раз(а)






-----
Обрамляйте код тегами и читайте
 
 Top
andreya
Отправлено: 15 Мая, 2011 - 13:05:35
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




ДА я уже весь интернет перерыл. Не получается что бы на обработчик не переходить сразу и что бы они все сохранялись строкой... Уже совсем с кожи лезу..
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB