Записување на низи во сесии во PHP
Да го разгледаме кодот, направен од нас во претходната лекција:
<?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);
}
?>
Предноста на овој пристап е што нашиот код ќе работи независно од бројот на полиња (inputs) во формата.
Сепак, има и недостаток: презапишувајќи ја
$_SESSION ги бришеме сите податоци
кои претходно се наоѓаа таму. Кој знае што
таму има запишано од друг наш скрипт? А ние тоа ќе го избришеме.
Ајде да постапиме поинаку:
<?php
if (!empty($_GET)) {
$_SESSION['nums'] = $_GET;
}
?>
Како што можете да видите, во променливата за сесија запишавме
не една одредена вредност, туку цела низа.
Сега во датотеката test2.php можеме да ја најдеме
сумата на елементите од оваа низа:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION['nums']);
}
?>
На една страница, користејќи форма, прашајте го
корисникот за неговото име, возраст, плата и уште
нешто. Запишете ги овие податоци во една променлива
на сесијата во вид на низа. При влез на друга
страница, поминете ги низ зачуваните податоци со циклус
и прикажете го секој елемент од низата во свој
тег li во тегот ul.