Передаем массив в любую часть сайта.
Подробно о передаче массива по сайту..
- Подготовка массива для передачи на другую страницу.
- Как передать массив с помощью сессии?
- Передаем массив с помощью Метода
Подготовка массива для передачи на другую страницу.
Мы делаем только живые примеры, поэтому - создадим какой-то массив, для того, чтобы его передать в другую часть сайта или на другую страницу!
Простой массив не интересен - давайте создадим ассоциативный - не будем подробно останавливаться на моменте создания массива:$id_page = 'example';
$example_arr[$id_page]['data'] = date('d.m.Y H:i:s');
$example_arr[$id_page]['id'] = '97cbe03a092845230984578a9b65bd4d';
$example_arr[$id_page]['title_page'] = 'пример заголовка';
$example_arr[$id_page]['text'] = 'пример текста';
Выведем массив, который будем передавать!
Теперь, давайте посмотрим на выше приведенный массив! Выведем его с помощью print_r
echo '<pre>';
print_r($example_arr);
echo '</pre>';
Результат вывода массива, который будем передавать!
Array
(
[example] => Array
(
[data] => 23.09.2023 08:16:21
[id] => 97cbe03a092845230984578a9b65bd4d
[title_page] => пример заголовка
[text] => пример текста
)
)
Как передать массив с помощью сессии?
Теперь, когда у нас готов массив, нам нужна сессия и мы данный массив поместим туда, в сессию.
Не мудрствуя лукаво, сессию назовем также, как и наш массив.
И поскольку в сессии находится массив, то мы его тоже будем выводить с помощью print_r, вот таким образом:
Давайте его здесь прямо таки выведем, посмотрим, есть ли что-то в нашей сессии:
Результат вывода передаваемого массива в сессии:
Для проверки живого скрипта - перезагрузите страницу и обратите внимание на ячейку "data" - у неё есть показатель секунды...
Array
(
[example] => Array
(
[data] => 23.09.2023 08:16:21
[id] => 97cbe03a092845230984578a9b65bd4d
[title_page] => пример заголовка
[text] => пример текста
)
)
Отлично... сессия прекрасно сработала и массив помещен в сессию !
Теперь нам нужно получить данный массив где-то в другом месте... используя get
нам понадобится ссылка типа:
И далее... после такой длительно подготовки - мы можем попробовать отправить массив с помощью сессии в другое место нашего сайта:
Передаем массив с помощью Метода
Для того, чтобы нам проделать аналогичную операцию, что описана выше - передать массив на другую страницу или в любую другую часть сайта, нам понадобится метод post и :два скрипта:
Один отправить массив этим способом на другую страницу.
А второй скрипт получит этот массив на другой странице!
Массив будем передавать, что уже выше создали... давайте напомним его и выведем его здесь:
Array
(
[example] => Array
(
[data] => 23.09.2023 08:16:21
[id] => 97cbe03a092845230984578a9b65bd4d
[title_page] => пример заголовка
[text] => пример текста
)
)
Один из вариантов... разобрать данный массив по ячейкам и на каждую ячейку создать свои input - но у данного способа есть один главный недостаток... при изменении количества ячеек - естественно нужно прописывать новый инпут, а если у вас 10 инпутов или количество инпутов переменное - в общем, этот способ даже рассматривать не буду... из-за своей ущербности.
Мы преобразуем массив в строку и уже её спокойненько вернем массив на второй странице!
Давайте уже приступать! Нам понадобится...
Простая форма form
И внутри один input с submit
Еще в форме нам потребуется атрибут action с указанием страницы , куда будем посылать нам массив.
<button name="submit" type="submit" value="здесь массив"></button>
</form>
Далее в value нам нужно поместить наш массив. Но прежде его нужно перегнать в строку с помощью serialize и... далее у вас возникнет ошибка кавычек...(вопрос на засыпку... почему!?), поэтому нам нужна другая функция str_replace, а вообще... лучше написать свою функцию, чтобы не использовать эти две... :
Для замены я использовал "Æ" - это в принципе не важно, лишь бы элемент не повторялся в самом массиве, иначе массив получим кривой...
{
return str_replace('"', 'Æ', serialize($value) );
}
Давайте пропустим наш массив через данную функцию:
И нам понадобится страница на которой мы проделаем все те операции с функциями в обратном порядке... это довольно скучно см. второй файл в архиве...
Весь код примера можно будет скачать в архиве.Итак...
Живой пример отправки массива на другую страницу с помощью php:
Для того, чтобы отправить массив на другую страницу нажмите кнопку ниже:
Скачать - что в архиве?
Скачиваем архив здесь.В архиве два файла.
test.php
test1.php
Открываем архив.
Бросаем два файла в любую папку и получаем:
https://dwweb.ru/__a-data/___sale/php/array/test.php
Открываем в браузере файл test.php
И нажимаем отправить массив(массив приведен в качестве примера).

подробнее.
подробнее.