проблема с проверкой переменной POST - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть form с несколькими inputs с тем же именем. Я использую js, чтобы динамически добавлять больше.

<input type="text" name="links[]" id="addmore"  class="form-control url-link" placeholder="Enter full url">

В моем php контроллере Я обновляю db после проверки, установлен ли $_POST['links'] и не пуст:

if (isset($_POST['links']) && !empty($_POST['links'])) {
                    foreach ($_POST['links'] as $value) {
                        $link = new LessonLinks;
                        $link->lesson_id = $lesson->id;
                        $link->url = $value;
                        $link->save(false);
                    }
                }

Проблема, с которой я сталкиваюсь, заключается в том, что даже если $_POST['links'] пуст и в консоли я вижу, что при отправке form код foreach выполняется, и я получаю пустое значение строки в моей БД. Что здесь не так? Не то чтобы это важно, я использую Yii.

1 Ответ

0 голосов
/ 17 апреля 2020

Вы можете пропустить пустые элементы с помощью дополнительной проверки пустоты. Примерно так должно работать:

if (!empty($_POST['links'])) {
  foreach ($_POST['links'] as $value) {
    if (!empty($value)) {
      $link = new LessonLinks;
      $link->lesson_id = $lesson->id;
      $link->url = $value;
      $link->save(false);
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...