从登录时的onlineUsers表中删除用户

时间:2015-10-17 05:57:57

标签: php mysql sql

Logout.php

<?php
require('includes/database.php');
require('includes/initialize.php');
$username = $_SESSION['username'];
$onlineUsers = $odb->prepare("DELETE FROM `onlineUsers` WHERE `username`='$username'");
$onlineUsers -> execute();
sleep(1);
session_start();
unset($_SESSION['username']);
unset($_SESSION['ID']);
session_destroy();
header('location: index.php');
?>

onlineUsers Table

CREATE TABLE IF NOT EXISTS `onlineUsers` (
`username` varchar(15) NOT NULL,
`isStaff` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

如果您成功登录,它会将您添加到表中,我希望您在退出时将其从表中删除。注销工作正常,除了我需要帮助的部分(从在线用户中移除用户)

3 个答案:

答案 0 :(得分:2)

我们应该在访问它之前正确启动会话,例如。 你的代码应该是这样的。

If ( !isset($_SESSION))
session_start();
$username = $_SESSION['username'];

答案 1 :(得分:1)

您是否在询问如何查询数据库以删除包含在线用户的行?您可能想要做的是:

DELETE FROM table WHERE username=something;

在这种情况下,您将传递要从数据库中删除的用户的用户名。

答案 2 :(得分:0)

你在一些代码之后开始了你的会话。你应该在你的PHP代码的开头就像这个

开始你的会话
<?php
   session_start();