Проблема с магазином

Markel

Guest
Хорошо как реализовать эту задачу, я просто показал что я пытался сделать, если это не верно, то как по другому.
Есть bag (хранит информацию о выбраном товаре). товар в него должен попадать тот где пользователь в эдит боксе указал количество.
До этого был такой код (рабочий)
//---- в свиче
...
case 'add': //Добавить в корзину
$bag[id][$add]=$add;
$bag[count][$add]+=1;
header("Location: shop2.php?view=$view&fromnumber=$fromnumber");
break;
....
//.... вместо эдит бокса
<td><a href='test.php?cmd=add&add=$a_row[id]&view=$view&fromnumber=$fromnumber'>добавить<a></td>\n";
 

tashkentchi

Новичок
Массив $bag['count'] можно создать так:
PHP:
...
<input type="text" name="count[]" size=4></
...
принимаем:
PHP:
foreach($_POST['count'] as $value) { 
   $bag['count'][]=$value; 
}
 

Markel

Guest
Автор оригинала: tashkentchi
Массив $bag['count'] можно создать так:
PHP:
...
<input type="text" name="count[]" size=4></
...
принимаем:
PHP:
foreach($_POST['count'] as $value) { 
   $bag['count'][]=$value; 
}
Проблема осталась таже карзина пуста:(

-~{}~ 20.05.05 18:20:

var_dump($_POST['count']);
тот же NULL получается

-~{}~ 20.05.05 18:28:

я так понимаю переменная count[] содержит количество; в bag форма должна передать строку единицы товара по id. Как это связать??? В карзину товар не попадает значит наверное форма не передает, или где проблема?
 

tashkentchi

Новичок
У меня нормально отрабатывает следующее.
Форма:
PHP:
<form method="post">
<input name="cmd" type="hidden" value="add">
<input type="text" name="count[]" size=4>
<input type="text" name="count[]" size=4>
<input type="submit" value="Добавить">
</form>
Обработчик:
PHP:
$cmd = $_POST['cmd'];
switch($cmd) {
   case 'add':
      foreach($_POST['count'] as $value) {
         $bag['count'][]=$value;
      }
      break;
};
var_dump($bag['count']);
Выводит: array(2) { [0]=> string(1) "1" [1]=> string(1) "2" }
То есть данные нормально получаются. Другой вопрос, что с ними дальше делать?
 

Markel

Guest
Автор оригинала: tashkentchi
У меня нормально отрабатывает следующее.
Форма:
PHP:
<form method="post">
<input name="cmd" type="hidden" value="add">
<input type="text" name="count[]" size=4>
<input type="text" name="count[]" size=4>
<input type="submit" value="Добавить">
</form>
Обработчик:
PHP:
$cmd = $_POST['cmd'];
switch($cmd) {
   case 'add':
      foreach($_POST['count'] as $value) {
         $bag['count'][]=$value;
      }
      break;
};
var_dump($bag['count']);
Выводит: array(2) { [0]=> string(1) "1" [1]=> string(1) "2" }
То есть данные нормально получаются. Другой вопрос, что с ними даль
ше делать?
Пробовал сделать то что предлагаешь выдает ошибку:
Parse error: parse error, unexpected T_VARIABLE in test.php

-~{}~ 20.05.05 18:46:

указывает на ошибку в этом месте
-~{}~ 20.05.05 18:57:

не работает вот это место

case 'add': //Добавить в корзину
foreach($bag[id] as $k=>$v)
{
$bag[count][$k]=$v;
}

var_dump($bag['count']); показал
array(1) { ["count"]=> NULL }
хотя в эдитах выставлял количество
 

tashkentchi

Новичок
Тяжело разобраться, незная откуда чего берется. Как создается $bag[id]?
 

Markel

Guest
Автор оригинала: tashkentchi
Тяжело разобраться, незная откуда чего берется. Как создается $bag[id]?
Согласен, что тяжело разобраться в чужом коде, тем более в фрагментах, может проще от Постановки задачи... и как бы ты решил проблему, или
давай я весь код покажу,
может легче будет разобраться.

А дано следующее: массив содержащий товар (на страничке ввиде таблицы представлен), напротив каждого картежа(строки) есть поле edit, где пользователь указывает количество товара, по нажатию на батон выбранный товар должен помещаться в карзину.
 
Сверху