По Порядку: есть список товаров, по запросу пользователю выводятся некоторые товары, в $a[1] содержится ID конкретного товара формирую список товаров в переменной $goodlist, после вывожу на страницу: $goodlist.="<form method=POST name=toCart action=javascriptpen_window('modules/cart.php?add=".$a[1]."&cnt=".$cnt."',600,400) width=100%>"; $goodlist.="<input type=text name=cnt[".$a[1]."] value=0 >"; $goodlist.="<input type=submit value=Заказать></form>\n"; скрипт, открывающий новое окно содержащее корзину: <script> //java-скрипт, открывающий новое окно со спсиком товаров в корзине function open_window(link,w,h) { var win = "width="+w+",height="+h+",menubar=no,location=no,resizable=yes,scrollbars=yes"; newWin = window.open(link,'newWin',win); } </script> Проблема: параметр $Add передается без проблем, а вот $cnt ни в какую... как я понимаю, если в цикле формировать поля ввода <input type=text name=cnt[".$a[1]."] value=0 > и давать в качестве имен что-то типа cnt[$a[1]], где $a[1] текущий выбранный элемент массива с ID товаров, то $cnt автоматически станет массивом? где я туплю, подскажите?
хмм... открываешь свой итоговый хтмл и смотришь, чему равны атрибуты name у твоих инпутов. Удивляешься - никаких cnt[что-то-там] там нет. Вот эти имена и приходят post-ом с формы.
в том и фигня, что name корректно вроде заполняется... сейчас попробовал передать javascriptpen_window('modules/cart.php?add=".$a[1]."&cnt[".$a[1]."]',600,400) width=100%> вот что получил в принимающем скрипте по phpinfo(32): _REQUEST["add"] 65 _REQUEST["cnt"] Array ( [65] => ) _REQUEST["PHPSESSID"] e906130a5499a01f8ab977a83e37fb7f _GET["add"] 65 _GET["cnt"] Array ( [65] => )
сделал так: $goodlist.="<form method=Post name=toCart action=test.php?add=".$a[1]."&cnt=".$cnt." width=100%>"; $goodlist.="<input type=text name=cnt[".$a[1]."] value=0 >"; $goodlist.="<input type=submit value=Заказать></form>"; Test.php: <?php Echo "Add= ".$add; echo "<br>"; Echo "Cnt= ".$cnt[$add]; ?> все работает.... прихожу к выводу, что в скрипте проблема... помогите скрипт разобрать...
Что за извращенческий способ передавать через форму данные ? сделай PHP: $goodlist.="<form method=Post name=toCart action=test.php width=100%>"; $goodlist.="<input type=hidden name=add value=".$a[1].">"; $goodlist.="<input type=text name=cnt value=".$cnt.">"; $goodlist.="<input type=submit value=Заказать></form>"; ... и зачем форме передавать параметр width ?
по поводу Width, знаю что каверканье чужих программ дело не благодарное, не доглядел )... дело в том, что товаров на форме может быть много и у каждого своя форма, и с этой страницы уходить не желательно, посему я думаю был сделан вызов нового окна через скрипт. так вот, скрипт не получает массив $cnt, в этом и загвоздка....
Думаю, массив тебе передать не удастся. Как вариант, если массив - это все товары в корзине - делай как люди делают - храни каждый товар в отдельной переменной в куке. А если этот массив статичный - храни его на сервере в файле или БД.
массив динамический, что если я реализую покупательскую корзину в БД, записывая session ID? очищая записи от текущей сессии после оформления покупки.....?
У меня весь магазин на MySQL! кроме корзины. Просто смысла не было упоминать, с загрузкой прайса из 1С 7.7 ТиС)) впрос бул в том как переделать корзину, т.е. оставить в таком виде как я описал, добавив необходимые переменные или тоже в БД запихать) В общем спасибо за наведение на умные мысли. буду переделывать под MySQL корзинку)