Sah*_*hil 8 php cookies session
?php
function destroy_session_and_data() {
session_start();
$_SESSION = array();
if (session_id() != "" || isset($_COOKIE[session_name()]))
setcookie(session_name(), '', time() - 2592000, '/');
session_destroy();
} ?>
Run Code Online (Sandbox Code Playgroud)
我理解上面的代码用于终止会话,但我无法理解if条件和setcookie命令的必要性.
还能请你解释一下session_id()和session_name()到底是什么.
一个明确的解释将是最受欢迎的.谢谢
PHP 使用 cookie 来管理会话;具体来说,通过在 cookie 内设置该会话的标识键/值对。
PHPSESSID. session_name()返回会话名称,或者如果传递了参数,则更新会话名称。session_id()返回会话 ID,或者如果传递了参数,则更新会话 ID。问题中的代码检查是否有随请求传递的会话:首先使用 启动/重新激活会话session_start(),然后检查是否有与会话名称匹配的现有 cookie。如果代码找到一个,它会通过将 cookie 的过期日期设置为过去的时间来强制浏览器删除 cookie。
| 归档时间: |
|
| 查看次数: |
3702 次 |
| 最近记录: |