#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, чем подвергать риску хранение чьего-либо кода в моей базе данных. Но это тема для совершенно другого обсуждения.