PHP Logout不会在用户注销时从用户所在的页面中注销用户

时间:2013-06-18 13:14:03

标签: php logout

我有一个带有登录和注销的PHP站点,使用$_SESSION['userName']来存储登录成员的username

但是当人们登录时,由于某些原因,这不会立即发生。与Logout脚本相同:它有效,但不是立即。在事情发生之前,我必须尝试2-4次。

这是我的登录代码和注销代码:

代码:/login.php

session_start();
//=============Configuring Server and Database=======
$host        =    'host';
$user        =    'username';
$password    =    'password';
//=============Data Base Information=================
$database    =    'database';

$conn        =    mysql_connect($host,$user,$password) or die('Server Information 
is not Correct'); //Establish Connection with Server
mysql_select_db($database,$conn) or die('Database Information is not correct');

//===============End Server Configuration============

//*******Form Information********

$userName=mysql_real_escape_string($_POST['username']); 
$password=mysql_real_escape_string($_POST['password']); 
$passWord=md5($password); // Encrypted Password

//*********retrieving data from Database**********

$query = "select * from users where userName='$userName' and passWord='$passWord'";

$res = mysql_query($query);

$rows = mysql_num_rows($res);

//**********if $userName and $passWord will match database, The above function 
//**********will return 1 row

if($rows==1)

//***if the userName and password matches then register a session and redrect 
//***user to the Successfull.php
{
    $_SESSION['userName'] = $userName;
    header("location: ../index.php");
}
else
{
    echo 'Incorrect username or password.';
}
exit;

代码:/logout.php

session_name('userName');
session_start('userName');
session_unset('userName');
session_destroy();
header("Location:index.php");

我真的希望你能帮我解决这个问题。 登录工作正常,注销可以将用户从所有页面中记录下来EXEPT用户所在的页面,当他们点击“注销”时......有什么想法吗?

1 个答案:

答案 0 :(得分:2)

使用以下行替换logout.php中所有与会话相关的函数:

session_start();
session_destroy();