浏览器关闭时php自动编译

浏览器关闭时php自动编译,php,session,Php,Session,session\u set\u cookie\u参数(0)不工作。如果浏览器已关闭,则网站应自动注销。请帮帮我 <?php session_set_cookie_params(0); session_start(); include('connection.php'); unset($_SESSION['email']); session_destroy(); header('location:index.php'); ?> 您可

session\u set\u cookie\u参数(0)不工作。如果浏览器已关闭,则网站应自动注销。请帮帮我

<?php
    session_set_cookie_params(0);
    session_start();
    include('connection.php');

    unset($_SESSION['email']);
    session_destroy();

    header('location:index.php');
?>

您可以使用javascript执行此操作,只需删除名为“PHPSESSID”的cookie,该cookie允许服务器知道客户端的会话id

function removeCookie(cookieName)
{
    cookieValue = "";
    cookieLifetime = -1;
    var date = new Date();
    date.setTime(date.getTime()+(cookieLifetime*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
    document.cookie = cookieName+"="+JSON.stringify(cookieValue)+expires+"; path=/";
}
这是删除cookie的函数,您只需在用户关闭浏览器时调用该函数

window.onbeforeunload = closingCode;
function closingCode()
{
  removeCookie("PHPSESSID");
}

没有真正的方法可以看到何时用PHP关闭浏览器。我想您可以使用AJAX,但这是假设您的用户浏览器支持Javascript并且启用了它。谢谢您的回复。请告诉我AJAX或javascriptIs
$\u SESSION['email']
设置的另一种方式?浏览器关闭时,会话将自动销毁,因此,如果您使用
$\u会话保持登录,您的用户将自动注销。Cookie会一直保存在您的浏览器中,直到过期。对不起,我是php新手。我不明白您不能
unset()
a
$\u会话
。您可以设置如下会话:
session_start()$_会话['email']=“随便什么”
。现在设置了
$\u会话['email']
,并等于字符串
'whatever'
。一旦用户登录,您通常会设置一个
$\u会话
,以确保您可以
以其他方式查看页面$\u会话
s不会使您的站点安全。您还应该使用SSL和其他技术来确保某人不能只是嗅探一个
$\u会话”。我做了一系列独特的数据库查询,并在需要时自己使用SSL。