卡密验证及剩余时间显示
本代码实现了一个简单的卡密验证功能,并根据卡密剩余时间进行提示。用户输入卡密后,代码会查询数据库,验证卡密是否有效,并判断是否过期。如果卡密有效且未过期,会将卡密剩余时间以天、时、分、秒的格式显示在页面上。代码还包含一些安全措施,例如使用 `exit()` 终止脚本执行,以及设置 Cookie 来保存卡密信息。
if(isset($_POST['submit'])) {
// 判断是否点击了提交按钮
$card = $_POST['card']; // 获取输入的卡密
$sql = 'SELECT * FROM cardh WHERE card='$card''; // SQL语句
$result = $conn->query($sql);
if ($result->num_rows > 0) { // 如果查询到结果
$row = $result->fetch_assoc();
if ($row['id'] == '1') {
echo '<center>卡密已被使用,请输入新的有效卡密。</center>'; // 提示卡密已用过
echo '<center><br><a href='kami.php'>返回主页</a></center>'; // 提供返回主页链接
exit; // 终止脚本继续执行
}
$expire = strtotime($row['expire']);
$now = strtotime(date('Y-m-d H:i:s'));
if($expire > $now) { // 如果卡密未过期
$days = $row['days'];
$expireTime = $expire - $now;
setcookie('card', $card, time() + $expireTime, '/'); // 保存卡密的cookie,有效期为卡密的剩余时间
// setcookie('card', $card, time() + 23300, '/'); // 1分钟 = 60秒
// header('Location: index.php?expireTime='. $expireTime); // 跳转至主页
header('Location: kami.php'); // 跳转至主页
echo '<script>var expireTime = ' . $expireTime . ';</script>'; // 将expireTime值传递给JavaScript
exit; // 终止脚本继续执行
} else { // 如果卡密已过期
echo '<center>卡密已过期,联系客服微信wyun122购买。</center>'; // 提示购买卡密
echo '<center><br><a href='kami.php'>返回主页</a></center>'; // 提供返回主页链接
}
} else { // 如果未查询到结果
echo '<center>卡密无效,请重新输入。</center>';
echo '<center><br><a href='kami.php'>返回主页</a></center>'; // 提供返回主页链接
}
}
<p>卡密剩余时间:<span id='expireTime'></span></p>
<script>
var days = Math.floor(expireTime / (24 * 3600));
var hours = Math.floor((expireTime % (24 * 3600)) / 3600);
var minutes = Math.floor((expireTime % 3600) / 60);
var seconds = expireTime % 60;
var expireTimeElem = document.getElementById('expireTime');
expireTimeElem.innerHTML = days + '天' + hours + '小时' + minutes + '分' + seconds + '秒';
</script>
说明:
- 代码中使用了
exit()函数来终止脚本执行,防止不必要的代码执行,提高代码效率。 - 使用
setcookie()函数保存卡密信息,并设置有效期为卡密剩余时间。 - 使用
header()函数跳转到指定页面,并使用echo语句将expireTime值传递给 JavaScript。 - 使用 JavaScript 将
expireTime值转换为天、时、分、秒的格式,并显示在页面上。
注意:
- 请根据实际情况修改代码中的 SQL 语句、数据库连接信息、跳转页面等内容。
- 请确保数据库中存在
cardh表,且表中包含card、expire和days列。 - 请确保
kami.php页面存在,并用于显示卡密验证结果。 - 请确保用户能够输入卡密,并提交卡密信息。
- 请确保用户能够看到卡密剩余时间信息。
- 请确保代码能够正常运行,并符合安全规范。
希望本代码能帮助您实现卡密验证功能,并提供更好的用户体验。
原文地址: https://www.cveoy.top/t/topic/muVQ 著作权归作者所有。请勿转载和采集!