SQLyog如何创建数据库,详细教程,SQLyog如何创建数据库,你知道怎么操作吗?下面将详细介绍......
php如何利用session和mysql来统计用户在线时常
很多初学者,不太知道怎么计算用户的在线时长,下面小编教大家如何统计
工具/原料
- sublime
方法/步骤
简单制作一个登陆页面(这里我没写任何的css,主要为了实现功能)
接下来是登陆成功跳转页面(这里我没写任何的css,主要为了实现功能)
页面完成之后,设计数据库(如果您还有其它需求自行添加其它字段)
修改php-ini中session自动开启
如果不自动开启
每次使用之前就要手动开启
如果忘记开启就会导致其它页面取不到session的值
//登录代码
?php
header("Content-type: text/html; charset=utf-8");
// 创建连接
$conn = new mysqli("localhost", "root", "root","litong");
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$adminname=$_POST['adminname'];//用户名
$password=md5($_POST['password']);//密码
$query = "select * from admin where (adminname = '{$adminname}' && password = '{$password}')";
$result = $conn->query($query);
if($result){//判断用户是否存在
$admin = $result->fetch_assoc();
$time = time();
$sql = "update admin set login_time = '{$time}'";//把用户登录时间保存
$res=$conn->query($sql);
if ($res){
//把数据存进session中
$_SESSION['uid'] = $admin['id'];
$_SESSION['login_time'] = time();
header("location:index.php");//登录成功跳转
}
}
?>
//退出代码
?php
header("Content-type: text/html; charset=utf-8");
// 创建连接
$conn = new mysqli("localhost", "root", "root","litong");
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$login_time = $_SESSION['login_time'];
$logout_time = time();
$line_time = $logout_time-$login_time;
$sql = "update admin set logout_time = '{$logout_time}',line_time='{$line_time}' where id = '{$_SESSION['uid']}'";
$re = $conn->query($sql);
if ($re) {
$_SESSION='';
echo("成功退出"); print_r($_SESSION);
}?>
这里我只是把登录时间和退出时间相减(时间戳),没做其它处理,您可以根据需求自行修改在线时间
注意事项
- 注意数据库连接以及session问题
- 亲们看见就点赞、评论哦!!!
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章
- 详细阅读
- 详细阅读
-
如何处理'mysql' 不是内部或外部命令的报错详细阅读
如何处理mysql 不是内部或外部命令的报错,今天安装myql-5.7.23,想要从命令行中连接myql,结果出现如图报错。下面来写下,这种报错的解决方式:......
2023-03-16 500 MYSQL