[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с обработкой данных из форм
Эдик
Здравствуйте!
У меня такая проблема:напротив каждого наименования товара у меня отдельная форма, где имена их заполняются с помощью цикла(вот скрипт)
<html>
<
body>
<?


$z=0;
$x=0;
$c=0;
$csv="test.csv";
$open=fopen($csv,"r");
$file=file($csv);
echo "<table border=1>";
foreach($file as $string)
{

echo "<tr>";
$elements=explode(";",$string);
for($p=0;$p<count($elements);$p++)
{
echo "<td bgcolor=lightblue>$elements[$p]</td>";
}
if($x>=1)
{ $z++;echo "<td bgcolor=lightblue><form method=post action=index.php><input type=text size=3 name=$z></td>";$c++;}
echo "</tr>";
$x++;
}
echo "</table>";
fclose($open);
echo "<input type=submit value='Сформировать заказ'></form>";


?>
</body>
</
html>

В приинципе, как можно сделать так, чтобы, когда покупатель вводит в несколько форм кол-во товаров, нажав "сформировать заказ" он попал на страницу(корзину), где только отображались бы товары, количество которого он вводил в формы?
Я думал,может, поставить условие в начале файла--есть ли какие-нибудь глобальные переменные вообще, если нет, то выводить таблицу, а если есть, то как-нибудь по глобальным переменным вывести строчки требуемого товара.Только как определить, какие переменные есть, а каких нет?
Может быть, кто-нибудь знает более простой способ??Заранее спасибо



Спустя 2 часа, 14 минут, 6 секунд (26.12.2009 - 23:54) VolCh написал(а):
1. Для начала сделай нормальный HTML-код - у тебя формы начинаются много раз, а закрывается только один. Или делай одну форму на все инпуты, или по одной форме на каждый и в каждой один сабмит. Во втором случаае только один товар можно передать
2. Проверить можно через isset($var)

Спустя 10 минут, 10 секунд (27.12.2009 - 00:04) Эдик написал(а):
Вот, изменил:
<html>
<
body>
<?


$z=0;
$x=0;
$c=0;
$csv="test.csv";
$open=fopen($csv,"r");
$file=file($csv);
echo "<table border=1><form method=post action=index.php>";
foreach($file as $string)
{

echo "<tr>";
$elements=explode(";",$string);
for($p=0;$p<count($elements);$p++)
{
echo "<td bgcolor=lightblue>$elements[$p]</td>";
}
if($x>=1)
{ $z++;echo "<td bgcolor=lightblue><input type=text size=3 name=$z></td>";$c++;}
echo "</tr>";
$x++;
}
echo "</table>";
fclose($open);
echo "<input type=submit value='Сформировать заказ'></form>";


?>
</body>
</
html>

А isset($var), что она вообще делает или обозначает?

Спустя 12 минут, 24 секунды (27.12.2009 - 00:16) VolCh написал(а):
проверяет определена ли переменная $var, то есть в твоем случае надо что-то вроде if(isset($_POST["$z"])) ....

Спустя 11 минут, 25 секунд (27.12.2009 - 00:28) Эдик написал(а):
Так $z это просто переменная, которая каждый раз увеличивается на 1 и присваевается каждый раз новой форме, те в одной строке форма имя=2, в другой строке name=3 и тд.Как тогда вообще он будет проверять?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.