Как получить все переменные из массива и отобразить его как $ _SESSION?

Страница 1:
На странице 1 у меня есть для цикла:, который содержит что-то вроде этого:

$_SESSION['img_name'] = $img_name[$i];

Когда я вызываю var_dump

var_dump($_SESSION['img_name']);

Я понял, что есть 2 строки:

string (6) «a2.JPG» string (6) «a3.JPG»

Поэтому я обычно делаю ссылку на страницу 2 и вместо того, чтобы использовать $_SESSION Я использую только $_GET как это:

echo '<a href="page2.php?img='.urlencode($img_name[$i]).'">.'.htmlspecialchars($img_name[$i], ENT_QUOTES).'</a>'.'</br>';

Но сегодня я не хочу делать это таким образом, я хочу хранить $img_name[$i] в $_SESSION и получить эти две переменные из $_SESSION на странице 2.

Страница 2:

echo $_SESSION['img_name'];

Но проблема в том, что когда я повторяю $_SESSION на страница 2, он содержит только последнюю переменную из массив, это не повторяет все.
Как получить все переменные, хранящиеся в массив?

На страница 2 var_dump показывает:

Строка (6) «a3.JPG»

строка

строка (6) «a2.JPG»

пропущено 🙁

ВОПРОС 2:

Не могли бы вы сказать мне, как я могу получить данные за пределами цикла? Что-то
например: «echo $ _SESSION [‘img_name’];» но вне цикла.

1

Решение

Вы перезаписываете значения для сеанса каждый раз в forloop

$_SESSION['img_name'] = $img_name[$i];

Так что измени его

$_SESSION['img_name'][] = $img_name[$i];

И на первой странице я думаю var_dump() в настоящее время внутри для цикла. Так что это правильно.

1

Другие решения

$_SESSION['img_name'][$i] = $img_name[$i]

это то, что вы ищете.

1

По вопросам рекламы [email protected]