foreach ($_POST as $key => $val) {
if (!isset($_SESSION[$key]) || ($val !== $_SESSION[$key])) {
$_SESSION[$key] = $val;
}
}
Короче говоря,
, если рассматриваемое в данный момент значение ключа POST не имеет соответствующей записи в массиве SESSION или эти два значения отличаются, скопируйте данные POST в SESSION.
Однако имейте в виду, что это позволит злонамеренным пользователям перезаписывать весь массив сеансов. Если они знают, что вы сохраняете флаг $_SESSION['is_admin']
, они могут просто перезаписать его соответствующим значением и дать себе полномочия суперпользователя.
Непосредственная + слепая передача предоставленных пользователем данных в переменную сеанса НИКОГДА не является хорошей идеей.