浏览器关闭时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。