无法注销-始终使用php会话和cookie登录

无法注销-始终使用php会话和cookie登录,php,session,cookies,logout,unset,Php,Session,Cookies,Logout,Unset,我正在使用此函数创建登录会话和cookie function startSession($time,$ses) { session_set_cookie_params($time,'/','.domain.com',false,true); // if I use www.domain.com the session won't start and the user won't be able to sign in session_name($ses); if(sess

我正在使用此函数创建登录会话和cookie

function startSession($time,$ses) {
   session_set_cookie_params($time,'/','.domain.com',false,true); 
   // if I use www.domain.com the session won't start and the user won't be able to sign in
   session_name($ses);
   if(session_id() == '') {
       session_start();
   }
   if (isset($_COOKIE[$ses]))
       setcookie($ses, $_COOKIE[$ses], time() + $time, "/");
}
登录页面的头部包含此代码

ini_set('session.cookie_lifetime',99999999);
ini_set('session.gc_maxlifetime',99999999);
ini_set('session.use_trans_sid', false);
ini_set('session.use_only_cookies' , true);
if(session_id() == '') {
   session_start();
}
startSession($time = '99999999', $ses = 'mySession');
如果凭证正确,我调用函数

startSession($time = '99999999', $ses = 'mySession');
并将值作为数组添加到其中

$_SESSION['mySession'][0] = 'value1';
$_SESSION['mySession'][1] = 'value2';
然后将用户重定向到头中包含此代码的索引页

ini_set('session.cookie_lifetime',99999999);
ini_set('session.gc_maxlifetime',99999999);
ini_set('session.use_trans_sid', false);
ini_set('session.use_only_cookies' , true);
if(session_id() == '') {
   session_start();
}
startSession($time = '99999999', $ses = 'mySession');
“注销”页面包含此代码

session_start();
unset($_SESSION['mySession']);
session_destroy();
unset($_COOKIE['mySession']);
setcookie('mySession', null, -999999999, '/');
$_SESSION['mySession'] = array();
$_SESSION['mySession'][0]=' ';
$_SESSION['mySession'][1]=' ';
session_regenerate_id(true);
然后,用户再次被重定向到索引页,但注销过程不起作用,用户会自动再次登录。
是什么让用户通过取消会话和cookie再次登录?

有一个非常简单的登录和注销解决方案

登录:

<?php
# Firstly:
session_start();

# Suppose authentication is successful and you have a user array...
# $user = array('id' => 5, 'name' => 'Rayn', 'email' => 'xyz@gmail.com');

# Now you want to log that user in.

$_SESSION['user'] = $user;

# Now if I want to add the cookie.
setcookie('user', $user, time()+3600*24*30, '/');
# It is time() + 30 Days.

# Now check in your protected pages...
if (!empty($_COOKIE['user'])) {
    $_SESSION['user] = $_COOKIE['user'];
}

#and focus your concentration on the session.
if (empty($_SESSION['user])) {
    // Redirect him to the login page.
}
?>
<?php
# Firstly:
session_start();
unset($_SESSION['user']);
setcookie('user', NULL, time() - 3600*24, '/');
# It is actually time() - 24 Hours. 
# You have wrote only -[some time value]. Which is a negative time.
?>