Как напечатать все переменные сеанса, установленные в данный момент? - PullRequest
59 голосов
/ 26 июля 2010

Не вызывая каждую переменную сеанса по имени, есть ли способ отобразить содержимое всех переменных сеанса, установленных в данный момент?

Ответы [ 6 ]

124 голосов
/ 26 июля 2010
<code>echo '<pre>';
var_dump($_SESSION);
echo '
';

Или вы можете использовать print_r, если вам не нужны типы.Если вы используете print_r, вы можете задать второй аргумент TRUE, чтобы он возвращал вместо echo, что полезно для ...

<code>echo '<pre>' . print_r($_SESSION, TRUE) . '
';
11 голосов
/ 27 октября 2014
<?php
    session_start();
    echo "<h3> PHP List All Session Variables</h3>";
    foreach ($_SESSION as $key=>$val)
    echo $key." ".$val."<br/>";
?>
4 голосов
/ 26 июля 2010

Не простой способ, нет.

Предположим, что под "активным" вы подразумеваете "не прошло максимальное время жизни" и не были явно уничтожены, а вы используете обработчик сеанса по умолчанию.

  • Во-первых, максимальное время жизни определяется как конфигурация php.ini и определяется в терминах последнего действия в сеансе. Таким образом, механизм "истечения срока действия" должен будет считывать содержимое сеансов, чтобы определить определенный для приложения срок действия.
  • Во-вторых, вам нужно будет вручную прочитать каталог сессий и прочитать файлы, формат которых, я даже не знаю, в них.

Если вам это действительно нужно, вы должны реализовать какой-то пользовательский обработчик сеанса. См session_set_save_handler.

Примите также во внимание, что у вас не будет обратной связи, если пользователь просто закроет браузер или уйдет с вашего сайта без явного выхода из системы. В зависимости от большой неактивности вы считаете порог для того, чтобы считать сессию «неактивной», количество ложных срабатываний, которые вы получите, может быть очень высоким.

0 голосов
/ 01 ноября 2018
<code>session_start();
echo '<pre>';var_dump($_SESSION);echo '
'; // или же echo '
';print_r($_SESSION);echo '
';

ПРИМЕЧАНИЕ: session_start (); строка должна , тогда только вы сможете напечатать значение $ _SESSION

0 голосов
/ 30 марта 2017

это сработало для меня: -

<?php echo '<pre>' . print_r($_SESSION, TRUE) . '</pre>'; ?>

спасибо, что поделились кодом ...

Array
(    
    [__ci_last_regenerate] => 1490879962

    [user_id] => 3

    [designation_name] => Admin
    [region_name] => admin
    [territory_name] => admin
    [designation_id] => 2
    [region_id] => 1
    [territory_id] => 1
    [employee_user_id] => mosin11
)
0 голосов
/ 26 июля 2010

Вы можете использовать следующий код.

print_r($_SESSION);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...