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 :: Версия для печати :: Запись из поля select в базу данных
Форумы портала PHP.SU » » Вопросы новичков » Запись из поля select в базу данных

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

1. psyhello - 11 Апреля, 2018 - 12:20:17 - перейти к сообщению
Добрый день господа и дамы. Я только начал постигать php и к сожалению не нашел решения своей проблемы. Может я не правильно искал, ткните носом если это так.

Собственно проблема в следующем:
Дано БД со списком должностей. Я получаю и вывожу его в html-поле select вот таким кодом :

PHP:
скопировать код в буфер обмена
  1. <select>
  2. <? $sql = "SELECT name FROM dept";
  3. $i = mysql_query($sql);
  4. while ( $dept = mysql_fetch_assoc($i))
  5.  {
  6. echo '<option value="'.$dept[name].'">'.$dept[name].'</option>';}?>
  7. </select>


Далее необходимо выбрать должность и обратно передать в базу, но другой таблице ( по сути это регистрация пользователя.) Передаю в базу с помощью вот такого кода :
PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['duty'])) { $duty=$_POST['duty'];}
  2.  
  3. $result = mysql_query ("INSERT INTO user (duty) VALUES('$duty')");
  4.  
  5.  

Сделал так же проверку на ошибки:
PHP:
скопировать код в буфер обмена
  1.  
  2.   if ($result=='TRUE')
  3.     {
  4.     echo "Вы успешно зарегистрированы!";
  5.     }
  6.  else {
  7.     echo "Ошибка! Вы не зарегистрированы. $duty";// добавил вывод переменной т.к. понял что скорей всего причина в ней.
  8.     }


В ответ выдаёт ошибку, и пустое поле переменной. Сразу скажу, я уменьшил кол-во переменных. Т.к. Инпутами передаётся переменная, и хочется понять где именно я накосячил с выводом. Не перевёл в строку значение? или еще что-то?
2. psyhello - 11 Апреля, 2018 - 14:58:17 - перейти к сообщению
Спасибо, 2 часа отдыха помогли. Я не прописал name= "duty" у селекта. Теперь данные передаются в правильном виде. Но ошибка никуда не делась. Буду искать дальше.

Тему можно закрывать проблему решил. Успешная рега произведена. Совет - если что-то не получается, отдохните час, и с новыми силами посмотрите на проблему. Потому что можете заметить косяк в имени переменной( как у меня и было).

 

Powered by ExBB FM 1.0 RC1