本代码实现了一个简单的卡密验证功能,并根据卡密剩余时间进行提示。用户输入卡密后,代码会查询数据库,验证卡密是否有效,并判断是否过期。如果卡密有效且未过期,会将卡密剩余时间以天、时、分、秒的格式显示在页面上。代码还包含一些安全措施,例如使用 `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 表,且表中包含 cardexpiredays 列。
  • 请确保 kami.php 页面存在,并用于显示卡密验证结果。
  • 请确保用户能够输入卡密,并提交卡密信息。
  • 请确保用户能够看到卡密剩余时间信息。
  • 请确保代码能够正常运行,并符合安全规范。

希望本代码能帮助您实现卡密验证功能,并提供更好的用户体验。

卡密验证及剩余时间显示

原文地址: https://www.cveoy.top/t/topic/muVQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录