Обрабатывать значения формы через цикл

#php

#php

Вопрос:

У меня есть форма, в которой есть поля со следующим именем

 <input type="text" name="value[]">
<input type="text" name="value[]">
<input type="text" name="value[]">
  

При отправке формы мне нужно выполнить запрос и сохранить каждое отправленное непустое значение в моей базе данных. Как мне это сделать? Я полагаю, мне нужно запустить цикл, но не уверен, как и особенно, чтобы избежать отправки пустых полей.

Комментарии:

1. я бы сначала предложил сделать print_r($_GET['value']) для get или print_r($_POST['value']) для post и посмотреть, что выводится.

2. О, он отправляется нормально, я могу видеть все отправленные поля и какие из них имеют значения, а какие нет. Но как мне интегрировать это в свой код?

3. ну, каков ваш код?

4. У меня пока нет ни одного. Я думал о чем-то в этом роде: для ($ i = 0; $ i < sizeof ($value); $ i) { // запрос к БД}, но это не отсеивает пустые представления. Должен ли я просто запускать цикл и проверять перед запуском запроса к БД?

5. почему бы не добавить какое-нибудь условие внутри цикла? и сделайте запрос к БД условным (обратите внимание, что у вас нет $ value, но $ _POST[‘значение’])

Ответ №1:

 foreach($_POST['value'] as $val)
{
   if($val != "")
   {
       //process query, $val will have the tag's value
   }
}
  

Комментарии:

1. проверка isset после присвоения переменной не имеет смысла.

2. Я этого боялся. Отредактировано для ограничения пустых значений.

3. Не могу ли я добавить TRIM, а затем проверить, является ли ($val != «) или (!empty($ val)?

4. Ты @santa. вы можете делать все, что пожелаете, не так ли? конечно, вы можете добавить trim, никто вам этого не запрещает. empty() тоже избыточен.

5. @Col. Shrapnel на самом деле тот, который я использую, в основном ищет вставки скриптов. Довольно мягкий и довольно быстрый. Я бы предпочел удалить чей-то HTML, чем подвергать риску хранение чьего-либо кода в моей базе данных. Но это тема для совершенно другого обсуждения.