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. Bear - 24 Октября, 2011 - 22:42:04 - перейти к сообщению
Выпадающий список не передает значение через post.
Помогите починить. Спасибо!

PHP:
скопировать код в буфер обмена
  1. <?
  2. include ('id.php');
  3. echo '<form action="del.php" method="post" name="edit_form">';
  4. echo'<p>Выберите событие для удаление: <select size="1" method="post"></p>';
  5.         while($i<=$id) {
  6.                 for ($i=1; $i<=$id; $i++){$path="rp/$i.php"; if(file_exists($path)) {
  7.                 include ('rp/'.$i.'.php');
  8.                 echo "<option name=".$i." value='".$i."'>".$i." || ".$name."</option>";};};};
  9. echo'</select>';
  10. echo '<br><input type="submit" value="Удалить событие"></form>';
  11.  
  12. $del=$_POST['i'];
  13. echo $del;
  14. ?>


Форма отображается, список в ней генерируется на ура, но вот выбранное значение не передается.
2. snikers987 - 24 Октября, 2011 - 23:07:32 - перейти к сообщению
во первых, что это за обилие ; между фиг. скобками?
PHP:
скопировать код в буфер обмена
  1.  
  2.  echo "<option name=".$i." value='".$i."'>".$i." || ".$name."</option>";};};};
  3.  


во-вторых, зачем указывать метод передачи элементу формы?

PHP:
скопировать код в буфер обмена
  1. <select size="1" method="post"></p>';


в третих, имя нужно давать селекту, а не его option

PHP:
скопировать код в буфер обмена
  1.  echo "<option name=".$i." value='".$i."'>".$i." || ".$name."</option>";


рабочий вариант:

PHP:
скопировать код в буфер обмена
  1.  
  2. include ('id.php');
  3. echo "<form action='del.php' method='post' name='edit_form'>";
  4. echo"<p>Выберите событие для удаление: <select size='1' name='select'>";
  5.         while($i<=$id) {
  6.                for ($i=1; $i<=$id; $i++){
  7.                                 $path="rp/$i.php";
  8.                                 if(file_exists($path)){
  9.                                         include ('rp/'.$i.'.php');
  10.                                         echo "<option value='".$i."'>".$i." || ".$name."</option>";
  11.                                 }
  12.                         }
  13.                 }
  14. echo"</select></p>";
  15. echo "<br><input type='submit' name='enter' value='Удалить событие'></form>";
  16.  
  17. if(isset($_POST['enter'])){
  18.  echo $_POST['select'];}

не проверял, но должен работать.

поправил
3. Bear - 24 Октября, 2011 - 23:14:48 - перейти к сообщению
Спасибо за разъяснения. Все работает!

 

Powered by ExBB FM 1.0 RC1