点击注销链接还是直接到login.php没有进入login.php?action=logout<?php
header("Content-type: text/html; charset=GB2312");
if (!isset ($_POST['submit']))
{
exit('非法访问');
}$username =htmlspecialchars($_POST['username']);
$password =$_POST['password'];include 'conn.php';
$result = mysql_query("SELECT * FROM Persons WHERE UserName='$username'and PassWord ='$password'");if($row = mysql_fetch_array($result)){
//登录成功
$_SESSION['username'] = $username;
$_SESSION['userid'] = $row['uid'];
echo $username,' 欢迎你!进入 <a href="my.php">用户中心</a><br />';
echo '点击此处 <a href="login.php?action=logout">注销</a> 登录!<br />';
exit;
}
else {
exit('登录失败!点击此处 <a href="javascript:history.back(-1);">返回</a> 重试');
}
session_start();//注销登录
if($_GET['action'] == "logout"){
unset($_SESSION['userid']);
unset($_SESSION['username']);
echo '注销登录成功!点击此处 <a href="login.html">登录</a>';
exit;
}?>
header("Content-type: text/html; charset=GB2312");
if (!isset ($_POST['submit']))
{
exit('非法访问');
}$username =htmlspecialchars($_POST['username']);
$password =$_POST['password'];include 'conn.php';
$result = mysql_query("SELECT * FROM Persons WHERE UserName='$username'and PassWord ='$password'");if($row = mysql_fetch_array($result)){
//登录成功
$_SESSION['username'] = $username;
$_SESSION['userid'] = $row['uid'];
echo $username,' 欢迎你!进入 <a href="my.php">用户中心</a><br />';
echo '点击此处 <a href="login.php?action=logout">注销</a> 登录!<br />';
exit;
}
else {
exit('登录失败!点击此处 <a href="javascript:history.back(-1);">返回</a> 重试');
}
session_start();//注销登录
if($_GET['action'] == "logout"){
unset($_SESSION['userid']);
unset($_SESSION['username']);
echo '注销登录成功!点击此处 <a href="login.html">登录</a>';
exit;
}?>
if($row = mysql_fetch_array($result)){
//登录成功
$_SESSION['username'] = $username;
$_SESSION['userid'] = $row['uid'];
echo $username,' 欢迎你!进入 <a href="my.php">用户中心</a><br />';
echo '点击此处 <a href="login.php?action=logout">注销</a> 登录!<br />';
exit;
}
else {
exit('登录失败!点击此处 <a href="javascript:history.back(-1);">返回</a> 重试');
}在这不管有没有带 $_GET['action'] 都要先执行上面的代码块,而你的判断不论走那条路都要exit,当然不会执行注销了,所以把注销的代码放到前面去,登陆处理放到最后