Страница 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’];» но вне цикла.
Вы перезаписываете значения для сеанса каждый раз в forloop
$_SESSION['img_name'] = $img_name[$i];
Так что измени его
$_SESSION['img_name'][] = $img_name[$i];
И на первой странице я думаю var_dump()
в настоящее время внутри для цикла. Так что это правильно.
$_SESSION['img_name'][$i] = $img_name[$i]
это то, что вы ищете.