Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как передать несколько параметров с формы?
Форумы портала PHP.SU » » Вопросы новичков » Как передать несколько параметров с формы?

Страниц (1): [1]
 

1. shurik330 - 16 Ноября, 2011 - 14:01:59 - перейти к сообщению
Здравствуйте.
Столкнулся со следующей проблемой.
На странице выведены несколько div-ов с картинками, ссылками и описанием к картинкам.
У каждой из них есть checkbox.
Нужно передать, как-то, отмеченные на другую страницу-обработчик, сохраняя структуру (вместе с картинками, ссылками и описанием), а потом записать в базу в соответствующие поля таблицы.
index.php
PHP:
скопировать код в буфер обмена
  1.  
  2. for($i=0; $i<sizeof($books); $i++){  
  3.         echo '<div id=con>';
  4.         echo '<img src='.$books[$i]['img'].'><br>';
  5.         echo '<a href='.$books[$i]['href'].'>перейти </a>';
  6.         echo '<form action=action.php method=post><input type=checkbox name=big[] value='.$books[$i]['img'].'/></div>';
  7. }      
  8. echo '<input type=submit value=OK></form>';
  9.  
  10.  


action.php
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach ($_POST['big'] as $key=>$value)
  3.         echo $value.'<br>';
  4.  

Таким образом в action.php выводиться только адрес картинки (src). Если его подставить в тег img, то вообще ничего не выводится.
Помогите разобраться Закатив глазки
Спасибо.
2. Данил_123 - 16 Ноября, 2011 - 14:16:10 - перейти к сообщению
CODE (html):
скопировать код в буфер обмена
  1. <form action="file.php" method="POST">
  2. <input type='checkbox ' name='a'>
  3. <input type='checkbox ' name='b'>
  4. <input type='submit' value='ok'>

PHP:
скопировать код в буфер обмена
  1. if($_POST[a]) echo "a<br />";
  2. if($_POST[b]) echo "da<br />";


как-то так
3. Viper - 16 Ноября, 2011 - 14:28:14 - перейти к сообщению
CODE (html):
скопировать код в буфер обмена
  1. <input type="checkbox" name="chk[]" />
  2. <input type="checkbox" name="chk[]" />
  3. <input type="checkbox" name="chk[]" />
  4. <input type="checkbox" name="chk[]" />
  5. <input type="checkbox" name="chk[]" />
  6. <input type="checkbox" name="chk[]" />


PHP:
скопировать код в буфер обмена
  1. echo '<pre>';
  2. print_r($_REQUEST['chk']);
  3. echo '</pre>';
4. shurik330 - 16 Ноября, 2011 - 14:31:19 - перейти к сообщению
Данил_123 пишет:
CODE (html):
скопировать код в буфер обмена
  1. <html>
  2. <form action="file.php" method="POST">
  3. <input type='checkbox ' name='a'>
  4. <input type='checkbox ' name='b'>
  5. <input type='submit' value='ok'>
  6. </html>

PHP:
скопировать код в буфер обмена
  1. if($_POST[a]) echo "a<br />";
  2. if($_POST[b]) echo "da<br />";


как-то так


У меня всего один checkbox. И если он выбран, то нужно передать и адрес картинки и описание и ссылку. И не совсем понятен вывод в file.php (в Вашем примере).
5. Данил_123 - 16 Ноября, 2011 - 14:46:13 - перейти к сообщению
shurik330 пишет:
У меня всего один checkbox
на картинке их много
6. snikers987 - 16 Ноября, 2011 - 14:46:43 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. for($i=0; $i<sizeof($books); $i++){  
  3.         echo '<div id=con>';
  4.         echo '<img src='.$books[$i]['img'].'><br>';
  5.         echo '<a href='.$books[$i]['href'].'>перейти </a>';
  6.         echo '<form action=action.php method=post>';
  7. echo "<input type = 'hidden' value='{$books[$i]['href']}' name='url[$i]'>";
  8. echo "<input type = 'hidden' value='{$books[$i]['img']}' name='img[$i]'>";
  9. echo "<input type=checkbox name=big[$i] value=''/></div>";
  10. }      
  11. echo '<input type=submit value=OK></form>';
  12.  
  13.  


обработчик

PHP:
скопировать код в буфер обмена
  1.  
  2. for($i=0; $i<count($_POST['url']); $i++){
  3.     if(!isset($_POST['big'][$i])){ continue; }
  4.         echo "<img src='{$_POST['img'][$i]}'><br>";
  5.             echo "<a href='{$_POST['url'][$i]}'>перейти </a>";
  6.    
  7. }
  8.  


писал со кпк мб есть опечатки
7. shurik330 - 16 Ноября, 2011 - 15:13:18 - перейти к сообщению
snikers987 пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. for($i=0; $i<sizeof($books); $i++){  
  3.         echo '<div id=con>';
  4.         echo '<img src='.$books[$i]['img'].'><br>';
  5.         echo '<a href='.$books[$i]['href'].'>перейти </a>';
  6.         echo '<form action=action.php method=post>';
  7. echo "<input type = 'hidden' value='{$books[$i]['href']}' name='url[]'>";
  8. echo "<input type = 'hidden' value='{$books[$i]['img']}' name='img[]'>";
  9. echo '<input type=checkbox name=big[] value=''/></div>';
  10. }      
  11. echo '<input type=submit value=OK></form>';
  12.  
  13.  


обработчик

PHP:
скопировать код в буфер обмена
  1.  
  2. for($i=0; $i<count($_POST['big']); $i++){
  3.     if(isset($_POST['big'][$i])){
  4.         echo "<img src='{$_POST['img'][$i]}'><br>";
  5.             echo "<a href='{$_POST['url'][$i]}'>перейти </a>";
  6.     }
  7. }
  8.  


писал со кпк мб есть опечатки

ОГРОМНОЕ СПАСИБО!!!!!!!!!!!!!!!!!!!! Ха-ха
8. Bio man - 16 Ноября, 2011 - 16:18:59 - перейти к сообщению

for($i=0, $s=sizeof($books); $i<$s; $i++)
9. shurik330 - 17 Ноября, 2011 - 15:49:31 - перейти к сообщению
snikers987 пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. for($i=0; $i<sizeof($books); $i++){  
  3.         echo '<div id=con>';
  4.         echo '<img src='.$books[$i]['img'].'><br>';
  5.         echo '<a href='.$books[$i]['href'].'>перейти </a>';
  6.         echo '<form action=action.php method=post>';
  7. echo "<input type = 'hidden' value='{$books[$i]['href']}' name='url[]'>";
  8. echo "<input type = 'hidden' value='{$books[$i]['img']}' name='img[]'>";
  9. echo '<input type=checkbox name=big[] value=''/></div>';
  10. }      
  11. echo '<input type=submit value=OK></form>';
  12.  
  13.  


обработчик

PHP:
скопировать код в буфер обмена
  1.  
  2. for($i=0; $i<count($_POST['url']); $i++){
  3.     if(isset($_POST['big'][$i])){
  4.         echo "<img src='{$_POST['img'][$i]}'><br>";
  5.             echo "<a href='{$_POST['url'][$i]}'>перейти </a>";
  6.     }
  7. }
  8.  



При таком способе передается, но не те, которые выбраны checkbox-ом, а первые из списка на странице index.php.
Как теперь передать именно то, что выбрано? Не понял
10. snikers987 - 17 Ноября, 2011 - 16:12:24 - перейти к сообщению
внес правки в свой пост выше.

 

Powered by ExBB FM 1.0 RC1