实现一天多次登录只增加一次积分的功能,可以使用数据库记录用户的登录时间,并在每次登录时检查上一次登录的时间。以下是一个简单的 PHP 示例,演示如何实现这个功能:
数据库表结构:
首先,创建一个用于存储用户登录信息的数据库表。在这个表中,包括用户ID、登录时间等字段。
CREATE TABLE user_login (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
login_time DATETIME
);
PHP 代码:
<?php
// 连接数据库,替换为实际的数据库连接信息
$servername = "your_server_name";
$username = "your_username";
$password = "your_password";
$dbname = "your_database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 获取当前用户ID,这里假设用户ID为 1,请根据实际情况获取用户ID
$userId = 1;
// 获取当前时间
$currentDateTime = date('Y-m-d H:i:s');
// 查询上一次登录时间
$sql = "SELECT login_time FROM user_login WHERE user_id = $userId ORDER BY login_time DESC LIMIT 1";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 如果有上一次登录记录,检查是否在同一天
$row = $result->fetch_assoc();
$lastLoginTime = $row['login_time'];
if (date('Y-m-d', strtotime($lastLoginTime)) != date('Y-m-d')) {
// 如果不是同一天,可以进行积分操作
// 在这里添加积分操作的代码
echo "积分操作成功!";
// 更新用户登录时间
$sql = "INSERT INTO user_login (user_id, login_time) VALUES ($userId, '$currentDateTime')";
$conn->query($sql);
} else {
// 如果是同一天,不进行积分操作
echo "今天已经积分过了,不重复积分。";
}
} else {
// 如果没有上一次登录记录,说明是第一次登录,可以进行积分操作
// 在这里添加积分操作的代码
echo "积分操作成功!";
// 插入用户登录记录
$sql = "INSERT INTO user_login (user_id, login_time) VALUES ($userId, '$currentDateTime')";
$conn->query($sql);
}
$conn->close();
本站原创内容,如需转载请注明来源:https://www.liutonghui.com/177.html
评论列表(0条)
暂时没有评论!