繁体   English   中英

如何打印当前设置的所有会话变量?

[英]How to print all session variables currently set?

不必按名称调用每个会话变量,有没有办法显示当前设置的所有会话变量的内容?

echo '<pre>';
var_dump($_SESSION);
echo '</pre>';

或者,如果您不关心类型,则可以使用print_r 如果您使用print_r ,您可以将第二个参数TRUE这样它将返回而不是 echo,对于...

echo '<pre>' . print_r($_SESSION, TRUE) . '</pre>';
<?php
    session_start();
    echo "<h3> PHP List All Session Variables</h3>";
    foreach ($_SESSION as $key=>$val)
    echo $key." ".$val."<br/>";
?>

不是一个简单的方法,不。

假设“活动”的意思是“尚未超过最大生命周期”并且没有被明确销毁,并且您正在使用默认会话处理程序。

  • 首先,最大生命周期定义为 php.ini 配置,并根据会话中的最后一个活动定义。 因此,“到期”机制必须读取会话的内容以确定应用程序定义的到期时间。
  • 其次,您必须手动读取会话目录并读取文件,我什至不知道它们的格式。

如果你真的需要这个,你必须实现某种自定义会话处理程序。 请参阅session_set_save_handler

还要考虑到,如果用户只是关闭浏览器或离开您的站点而没有明确退出,您将不会收到任何反馈。 根据您认为会话“不活跃”的阈值,您将获得的误报数量可能非常高,这取决于您认为不活动的程度。

这对我有用:-

<?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
)

您可以使用以下代码。

print_r($_SESSION);
session_start();
echo '<pre>';var_dump($_SESSION);echo '</pre>';
// or
echo '<pre>';print_r($_SESSION);echo '</pre>';

注意: session_start(); line is must那么只有你才能打印值 $_SESSION

将会话对象回显为 json。 我喜欢 json,因为我有一个浏览器扩展,可以很好地格式化 json。

session_start();
echo json_encode($_SESSION);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM