Обработка и проверка данных из форм

Статус
В этой теме нельзя размещать новые ответы.

Савелей

Новичок
харэ тупить:

PHP:
foreach($_POST['zak'] as $k=>$v):
 if(isset($_POST['kol'][$k]) && !empty($_POST['kol'][$k]) ):
  echo "$k => $v";
 endif;
endforeach;
 

Савелей

Новичок
Ну да сам тупанул, просто было без foreach, после поставил....

даже сам стал тупить:)
 

Савелей

Новичок
и что.

Как я понял тебе нужно обработать только отмеченные заказы
и проверить количество в заказе, если ноль то ошибка или пропускаем, правильно?
 

dvijaya

Новичок
Автор оригинала: Савелей
и что.

Как я понял тебе нужно обработать только отмеченные заказы
и проверить количество в заказе, если ноль то ошибка или пропускаем, правильно?
Все правильно, должны выбрать поле заказа и поле количества.

Сделал, как ты написал, выводит пустую страницу. Вставил перед foreach print_r ($_POST ['kol']); и print_r ($_POST ['zak']);
массивы не пустые
 

Фанат

oncle terrible
Команда форума
А количество-то в форме указано?
и приведи, наконец, здесь ВЕСЬ код, с которым работаешь.
все 10 строчек.
 

dvijaya

Новичок
Да количество выбирал

Код
1 файл:
PHP:
<?php  $i=0; 
echo '<h1 align="center">Выберите изделие</h1>'; 
echo '<table width="100%" cellspacing="0" cellpadding="3">'; 
echo '<form action="do.php" method="post" name="selitem">'; 
while($str=@mysql_fetch_array($result)) {  
  if ($i==0) {echo "<tr>";} 
  echo "<td>"; echo '<table cellspacing="0" cellpadding="3">'; 
  echo '<tr><td><img src="img/'.$str['img1'].'" alt=\''.$str['name'].'\' height=100  style="border:solid 4px #c0c0c0;"></td></tr>'; 
  echo "<tr><td>" . $str ['name'] . "</td></tr>"; echo "<tr><td>Арт.: " . $str ['art'] . "</td></tr>"; 
  echo "<tr><td>Вес: " . $str ['wei'] . "</td></tr>"; 
  echo '<tr><td>Кол-во: <input type="text" maxLength="2" size="1.5" name="kol[]"></td></tr>'; 
  echo '<tr><td>Заказать: <input type="checkbox" name="zak[]" value="' . $str ['art'] . '"></td></tr>'; 
  echo "</table>";  
  echo '</td>'; 
  $i++; 
  if ($i==4) {
    echo "</tr>"; 
    $i=0;
  }
} 
echo '</table>';  
echo '<input type="submit" name="submit" value="Заказать"></form></p>';  
echo '<br>'; ?>
2 файл:

PHP:
<?php 
foreach($_POST['zak'] as $k=>$v) echo "$k, ".$_POST['kol'][$k]."<br>";  
$a = $_POST['zak']; 
$b = $_POST ['kol'];  
$mess .= "<table border=1><tr><td>Артикул</td>"; 
foreach ($a as $v) { 
$mess .= "<td>"; 
$mess .= $v; 
$mess .= "</td>"; } 
$mess .= "</tr><tr><td>Кол-во</td>"; 
foreach ($b as $g) { 
if (!$g == "") { $mess .= "<td>"; 
$mess .= $g; $mess .= "</td>"; } } 
$mess .= "</tr></table>";  
echo "<br>"; 
echo "Ваш заказ" . $mess; 
?>
 

Савелей

Новичок
dvijaya

твоя ошибка в том что ты написал (kol[]) без указания индекса,

нужно в форме писать:

echo '<tr><td>Кол-во: <input type="text" maxLength="2" size="1.5" name="kol['.$j.']"></td></tr>';
echo '<tr><td>Заказать: <input type="checkbox" name="zak['.$j.']" value="' . $str ['art'] . '"></td></tr>';

либо по ID если он уникален.
 

Фанат

oncle terrible
Команда форума
хотя на вывод это влиять не должно.
хоть что-то, да должно вывестись
 

dvijaya

Новичок
Автор оригинала: *****
хотя на вывод это влиять не должно.
хоть что-то, да должно вывестись
Прописал индексы, ничего не изменилось. Выводит также
0,
1,

и т. д. в зависимости от того сколько позиций было выбрано.

PHP:
echo '<tr><td>Кол-во: <input type="text" maxLength="2" size="2" name="kol['.$k.']"></td></tr>'; 
echo '<tr><td>Заказать: <input type="checkbox" name="zak['.$k.']" value="' . $str ['_art'] . '"></td></tr>';
PHP:
foreach($_POST['zak'] as $k=>$v) echo "$k, ".$_POST['kol'][$k]."<br>";
 

Фанат

oncle terrible
Команда форума
код формы сюда. html код. не рнр код, а html. который видит браузер.
 

Савелей

Новичок
dvijaya
так тебе нужно проверить только отмеченные?
или все что есть в форме?
 

dvijaya

Новичок
Код:
<h1 align="center">Выберите изделие</h1>
<table width="100%" cellspacing="0" cellpadding="3">
<form action="do.php" method="post" name="selitem">
<tr><td><table cellspacing="0" cellpadding="3">
<tr><td><img src="img/1191670219-1661.jpg" alt='foto' height=100  style="border:solid 4px #c0c0c0;"></td></tr>
<tr><td>изделие №1</td></tr>
<tr><td>Арт.: 1661001</td></tr>
<tr><td>Вес: 0.8</td></tr>
<tr><td>Кол-во: <input type="text" maxLength="2" size="2" name="kol[]"></td></tr>
<tr><td>Заказать: <input type="checkbox" name="zak[]" value="1661001"></td></tr></table></td>
<td><table cellspacing="0" cellpadding="3">
<tr><td><img src="img/th_1191670208-1662.jpg" alt='foto' height=100  style="border:solid 4px #c0c0c0;"></td></tr>
<tr><td>изделие №2</td></tr><tr>
<td>Арт.: 1662001</td></tr>
<tr><td>Вес: 1.2</td></tr>
<tr><td>Кол-во: <input type="text" maxLength="2" size="2" name="kol[]"></td></tr>
<tr><td>Заказать: <input type="checkbox" name="zak[]" value="1662001"></td></tr>
</table></td>
и т.д.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху