Рассмотрим код, сделанный нами в предыдущем уроке:
<?php
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
На самом деле можно было взять и записать
все данные формы сразу в $_SESSION
:
<?php
if (!empty($_GET)) {
$_SESSION = $_GET;
}
?>
А в файле test2.php
сделать вот так:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION);
}
?>
Преимущество такого подхода в том, что наш код будет работать независимо от количества инпутов в форме.
Есть, однако, и недостаток: перезаписывая
$_SESSION
мы затираем все данные,
которые там ранее были. Мало ли что туда
написал другой наш скрипт? А мы это удалим.
Давайте поступим по-другому:
<?php
if (!empty($_GET)) {
$_SESSION['nums'] = $_GET;
}
?>
Как вы видите, в переменную сессии мы записали
не одно какое-то значение, а целый массив.
Теперь в файле test2.php
можем найти
сумму элементов этого массива:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION['nums']);
}
?>
На одной странице с помощью формы спросите
у пользователя имя, возраст, зарплату и еще
что-нибудь. Запишите эти данные в одну переменную
сессии в виде массива. При заходе на другую
страницу переберите сохраненные данные циклом
и выведите каждый элемент массива в своем
теге li
тега ul
.