Почему я не могу отправить этот массив в PHP? - PullRequest
0 голосов
/ 14 июля 2020

У меня есть таблица с данными и флажками. Когда я устанавливаю флажки, я беру идентификатор элемента каждого выбранного, и при отправке я получаю PHP, НО теперь я изменил свой подход. Теперь я хочу отправить весь массив в PHP, однако я его не получаю:

 <?php foreach ($arr_cases as $cases) : ?>
   <tr>                           
     <td>           
       <input type="checkbox" name="devices" value="<?php $dataa = serialize($cases); $encodedd = htmlentities($dataa); echo $encodedd; ?>">
     </td>
   </tr>
 <?php endforeach; ?>

Как я делаю выше, я могу получить ТОЛЬКО ОДИН массив в PHP, поэтому попытался присвоить флажкам имена от devices до devices[], но на этот раз его печать пуста (ничего).

Я, конечно, десериализую его в PHP. Что я здесь делаю не так?

1 Ответ

0 голосов
/ 14 июля 2020

Вам необходимо использовать имя в стиле массива для флажка, чтобы вы получили их все в массиве.

<input type="checkbox" name="devices[]" value="<?php $dataa = serialize($cases); $encodedd = htmlentities($dataa); echo $encodedd; ?>">

Тогда $_POST['devices'] будет массивом всех отмеченных значений. Каждый элемент этого массива будет сериализован, и вам придется десериализовать его.

if (!empty($_POST['devices'])) {
    $devices = array_map('unserialize', $_POST['devices']);
} else {
    $devices = [];
}
var_dump($devices);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...