powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как добавить кол-во товаров в массив session для корзины?
10 сообщений из 10, страница 1 из 1
Как добавить кол-во товаров в массив session для корзины?
    #38054718
Vavan_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Уважаемые.
Подскажите пожалуйста, что не правильно? почему количество из POST не записывается в массив корзины? код ниже...
Заранее благодарю.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
<?php
$del=$_POST[del];
$delete=$_POST[delete];
$del_all=$_POST[del_all];
$add=$_POST[add];

$name = trim($_POST[name]);
$l_name = trim($_POST[l_name]);
$city=trim($_POST[city]);
$mail = trim($_POST[mail]);
$phone=trim($_POST[phone]);
$confirm=$_POST[confirm];

if (isset($confirm)){ // если нажата подтвердить то запишим в базу данных заказ который создали

$ids = array_keys($_SESSION[CART]);// Обновляем количество товара в корзине

foreach( $ids as $id ){
                $_SESSION[CART][$id][quantity] = $_POST[quantity_.$key];
		}
$cart_str=serialize($_SESSION[CART]); // сохраняем масив в разложенном виде чтб потом его высветить
$date=time();
 $add_cart=mysql_query("INSERT INTO cart(name,l_name,city,phone,mail,orders,date)VALUE ('$name','$l_name','$city','$phone','$mail','$cart_str','$date')"); // обращаемся к таблице в базе и записываем юзера   
		         if (!$add_cart){
	                print "Ошибка при записи";
	             } else{
	                 print "Заказ принят <a href='index.php'> Вернутсья на главную </a>";
					 unset($_SESSION[CART]); // удаляем из корзины все
					 
				 }
} else{

if(isset($add)){
print"
<form method='POST' action=''>
Имя<br>
<input type='text' name='name' class='pole1' value='$name?'><br> 
Фамилия<br>
<input type='text' name='l_name' class='pole1' value='$s_name'><br> 
Город<br>
<input type='text' name='city' class='pole1' value='$city'><br> 
Телефон<br>
<input type='text' name='phone' class='pole1' value='$phone'><br> 
Майл<br>
<input type='text' name='mail' class='pole1' value='$mail'<br> 
<input type='submit' name='confirm' value='Подтвердить'>
</form>"; // создаем форму для подтверждения заказа в корзине.
}else{
if(isset($delete)){
$count=count($_SESSION[CART]); // считает сколько товаров добавленно в массиве сесии карзины.
if($count < 1){
 print"Не выбрали ничего для удаления";
 }else{
   foreach($del as $key=>$val){
   unset($_SESSION[CART][$val]); // удаляем из корзины 
   }
}}
if(isset($del_all)){
      unset($_SESSION[CART]); // удаляем из корзины все
   }
$count=count($_SESSION[CART]); // считает сколько товаров добавленно в массиве сесии карзины.
if($count < 1){
   print "Нет товаров";
}else{
    print"<form method='POST' action=''>"; // создаем удаление из карзины с помощью форм ПОСТА
    print "<b>В Вашей корзине<br></b><hr>";
    foreach($_SESSION[CART] as $key=>$val ){
	$prod = mysql_query("SELECT * FROM products WHERE id='$val'");
	$prod_arr = mysql_fetch_array($prod);
	$summa=$summa+$prod_arr[price];
	print "<div class='cart-list-block'><input type='checkbox' name='del[]' value='$val'>
	<div class='cart-list'>
	  <img src='$prod_arr[img]' width=50 height=50>
	   <span class='cart-list-text'><font class='text-cart' >Цена :</font>
	   <font class='pr-cart'>$prod_arr[price]$</font>
	   <input type='text' value='1' name='quantity_".$key."' style='background-color:#333333;color:white' size='3' />
	   <font class='text-cart'>$prod_arr[title]</font></span>
       </div></div><hr>"; // выводим ЧЕКБОКС вместе с товаром и ценой
	}
	Print "<b>Итого :$summa $</b>";
	print "<hr>
	    <input type='submit' name='delete' value='Удалить из корзины'> 
		<input type='submit' name='del_all' value='Удалить все'> 
		<input type='submit' name='add' value='Подтвердить заказ'> 
	    </form>";
}
}
}
?>

...
Рейтинг: 0 / 0
Как добавить кол-во товаров в массив session для корзины?
    #38054724
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. выделайте код тегом src
2. $_POST[quantity_.$key] вы тут ничего не забыли (как и в остальном коде?) . Подсказка, quantity_ сомневаюсь что это константа
код топикстартера
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
<?php
$del=$_POST[del];
$delete=$_POST[delete];
$del_all=$_POST[del_all];
$add=$_POST[add];

$name = trim($_POST[name]);
$l_name = trim($_POST[l_name]);
$city=trim($_POST[city]);
$mail = trim($_POST[mail]);
$phone=trim($_POST[phone]);
$confirm=$_POST[confirm];

if (isset($confirm)){ // если нажата подтвердить то запишим в базу данных заказ который создали

$ids = array_keys($_SESSION[CART]);// Обновляем количество товара в корзине

foreach( $ids as $id ){
 $_SESSION[CART][$id][quantity] = $_POST[quantity_.$key];
 }
$cart_str=serialize($_SESSION[CART]); // сохраняем масив в разложенном виде чтб потом его высветить
$date=time();
 $add_cart=mysql_query("INSERT INTO cart(name,l_name,city,phone,mail,orders,date)VALUE ('$name','$l_name','$city','$phone','$mail','$cart_str','$date')"); // обращаемся к таблице в базе и записываем юзера 
 if (!$add_cart){
 print "Ошибка при записи";
 } else{
 print "Заказ принят <a href='index.php'> Вернутсья на главную </a>";
 unset($_SESSION[CART]); // удаляем из корзины все

 }
} else{

if(isset($add)){
print"
<form method='POST' action=''>
Имя<br>
<input type='text' name='name' class='pole1' value='$name?'><br> 
Фамилия<br>
<input type='text' name='l_name' class='pole1' value='$s_name'><br> 
Город<br>
<input type='text' name='city' class='pole1' value='$city'><br> 
Телефон<br>
<input type='text' name='phone' class='pole1' value='$phone'><br> 
Майл<br>
<input type='text' name='mail' class='pole1' value='$mail'<br> 
<input type='submit' name='confirm' value='Подтвердить'>
</form>"; // создаем форму для подтверждения заказа в корзине.
}else{
if(isset($delete)){
$count=count($_SESSION[CART]); // считает сколько товаров добавленно в массиве сесии карзины.
if($count < 1){
 print"Не выбрали ничего для удаления";
 }else{
 foreach($del as $key=>$val){
 unset($_SESSION[CART][$val]); // удаляем из корзины 
 }
}}
if(isset($del_all)){
 unset($_SESSION[CART]); // удаляем из корзины все
 }
$count=count($_SESSION[CART]); // считает сколько товаров добавленно в массиве сесии карзины.
if($count < 1){
 print "Нет товаров";
}else{
 print"<form method='POST' action=''>"; // создаем удаление из карзины с помощью форм ПОСТА
 print "<b>В Вашей корзине<br></b><hr>";
 foreach($_SESSION[CART] as $key=>$val ){
 $prod = mysql_query("SELECT * FROM products WHERE id='$val'");
 $prod_arr = mysql_fetch_array($prod);
 $summa=$summa+$prod_arr[price];
 print "<div class='cart-list-block'><input type='checkbox' name='del[]' value='$val'>
 <div class='cart-list'>
 <img src='$prod_arr[img]' width=50 height=50>
 <span class='cart-list-text'><font class='text-cart' >Цена :</font>
 <font class='pr-cart'>$prod_arr[price]$</font>
 <input type='text' value='1' name='quantity_".$key."' style='background-color:#333333;color:white' size='3' />
 <font class='text-cart'>$prod_arr[title]</font></span>
 </div></div><hr>"; // выводим ЧЕКБОКС вместе с товаром и ценой
 }
 Print "<b>Итого :$summa $</b>";
 print "<hr>
 <input type='submit' name='delete' value='Удалить из корзины'> 
 <input type='submit' name='del_all' value='Удалить все'> 
 <input type='submit' name='add' value='Подтвердить заказ'> 
 </form>";
}
}
}
?>

...
Рейтинг: 0 / 0
Как добавить кол-во товаров в массив session для корзины?
    #38054726
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3. Подсказка номер три: что есть переменая $key в коде:
Код: php
1.
2.
3.
 foreach( $ids as $id ){
 $_SESSION[CART][$id][quantity] = $_POST[quantity_.$key];
 }
...
Рейтинг: 0 / 0
Как добавить кол-во товаров в массив session для корзины?
    #38054761
Vavan_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ренат,

$key получаю тут
Код: php
1.
2.
3.
4.
 
foreach($_SESSION[CART] as $key=>$val 
далее с помощью формы вводим количество, где quantity_(номер товара) = количеству 
<input type='text' value='1' name='quantity_".$key."' style='background-color:#333333;color:white' size='3' />
...
Рейтинг: 0 / 0
Как добавить кол-во товаров в массив session для корзины?
    #38054948
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vavan_k,

мы с вами о разных фореачах говарим?
...
Рейтинг: 0 / 0
Как добавить кол-во товаров в массив session для корзины?
    #38055179
Vavan_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ренат,
добрый вечер.
да мы говорим о 2х разных форечарах один сверху который идет после нажатия кнопки ПОДТВЕРДИТЬ ЗАКАЗ, а второй снизу, где на основании данного условия выводится массив с товаром и где вводиться количество. Если Вам не сложно просмотрите весь код, он работает полностью,без ввода количества. Мне очень нужна помощь я застрял на этом моменте и 2й день пытаюсь исправить но все тщетно. Пожалуйста.
...
Рейтинг: 0 / 0
Как добавить кол-во товаров в массив session для корзины?
    #38055391
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vavan_k,

еще раз повторю:
у вас тут неивзестная переменная $key
замените код:
Код: php
1.
2.
3.
foreach( $ids as $id ){
 $_SESSION[CART][$id][quantity] = $_POST[quantity_.$key];
 }


на
Код: php
1.
2.
3.
foreach( $ids as $id ){
 $_SESSION['CART'][$id]['quantity'] = $_POST['quantity_' . $id];
 }
...
Рейтинг: 0 / 0
Как добавить кол-во товаров в массив session для корзины?
    #38055862
Vavan_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ренат,
Добрый день, Вы правы изначально в коде я ставил id но ничего так и не происходило, и после я указал key,в надежде на то что он будет получать те данные которые были внесены нижею
...
Рейтинг: 0 / 0
Как добавить кол-во товаров в массив session для корзины?
    #38056258
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vavan_k,

1.
Код: php
1.
<input type='text' value='".$val['quantity']."' name='quantity_".$key."' style='background-color:#333333;color:white' size='3' />


2. вы обрамили индексы в кавычки? Или это у вас аткие константы?
3.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
 $add_cart=mysql_query("INSERT INTO cart(name,l_name,city,phone,mail,orders,date)VALUE ('$name','$l_name','$city','$phone','$mail','$cart_str','$date')"); // обращаемся к таблице в базе и записываем юзера 
 if (!$add_cart){
 print "Ошибка при записи";
 } else{
 print "Заказ принят <a href='index.php'> Вернутсья на главную </a>";
 unset($_SESSION[CART]); // удаляем из корзины все

 }



замените на
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
$query = "INSERT INTO cart(name,l_name,city,phone,mail,orders,date)VALUE ('$name','$l_name','$city','$phone','$mail','$cart_str','$date')";
print $query;
 $add_cart=mysql_query($query); // обращаемся к таблице в базе и записываем юзера 
$error = mysql_error();
 if ($error){
 print "Ошибка при записи: " . $error;
 } else{
 print "Заказ принят <a href='index.php'> Вернутсья на главную </a>";
 unset($_SESSION[CART]); // удаляем из корзины все

 }


и скажиет что выведет
...
Рейтинг: 0 / 0
Как добавить кол-во товаров в массив session для корзины?
    #38056330
Vavan_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ренат,
Добрый день.
изменил,но совсем перестал записывать массив в базу, не товар не кол-во.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как добавить кол-во товаров в массив session для корзины?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]