我有一个带有登录和注销的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用户所在的页面,当他们点击“注销”时......有什么想法吗?
答案 0 :(得分:2)
使用以下行替换logout.php中所有与会话相关的函数:
session_start();
session_destroy();