Files
YelayMaths/服务端/API/ApiPasswordCodeValidate.php
T
2026-09-29 13:39:36 +08:00

110 lines
3.8 KiB
PHP
Executable File

<?php
//播放视频流程
//传入openid、口令码
//查询数据库中课程对应口令码
//用口令码注册课程 返回拥有的课程
//认证失败 返回null
// 声明JSON内容类型
header('Content-Type: application/json');
// 获取传入的 OpenID 值
$openid = $_GET['openid'];
// 获取传入的 课程ID 值
$passwordcode = $_GET['PasswordCode'];
// 引用配置,建立数据库连接
require_once 'ApiConfig.php';
$conn = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
$result1_end_data=null;
$courseid=null;
$coursename=null;
$courseinfo=null;
$result1_end_data=null;
$coursedate=null;
$returndata=null;
$codecount=null;
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
//查询用户是否存在
$sql00 = "SELECT * FROM 用户信息 WHERE OpenID='$openid'";
$result00 = $conn->query($sql00);
if ($result00->num_rows > 0){
// 用户存在 则查询数据库中符合条件的记录
$sql = "SELECT * FROM 课程口令码 WHERE 口令码='$passwordcode' AND 剩余有效次数 > 0";
$result1 = $conn->query($sql);
// 如果查询结果不为空,则进行二次查询
if ($result1->num_rows > 0) {
$row1 = $result1->fetch_assoc();
$result1_end_data=$row1['口令结束日期'];
$courseid= $row1['课程id'];
$coursename= $row1['课程'];
$courseinfo= $row1['课程介绍'];
$codecount= $row1['剩余有效次数'];
//$coursedate= $row1['购课日期'];
// 获取当前时间戳
$currentDateTime = strtotime(date('Y-m-d H:i:s'));
// 将口令结束日期转换为时间戳
$endTime = strtotime($result1_end_data);
// 查询数据库的 用户已购课程 表
$sql2 = "SELECT * FROM 用户已购课程 WHERE OpenID='$openid' AND 课程id='$courseid'";
$result2 = $conn->query($sql2);
//用户已经购买了课程
if ($result2->num_rows > 0) {
// 这里返回提示即可
echo json_encode(["result" => "成功", "Data" => "您已购买该课程!", "ReturnData" => $returndata]);
} else if (($result2->num_rows === 0)&&($currentDateTime < $endTime)) {
//用户未购买课程 验证日期有效性后添加信息即可
$sql3="INSERT INTO 用户已购课程 (OpenID, 课程id, 课程, 课程介绍, 购课日期) VALUES ('$openid','$courseid','$coursename','$courseinfo', NOW())";
if ($conn->query($sql3) === TRUE) {
//口令码有效次数减 1 操作
$codecount=$codecount-1;
$sql5 = "UPDATE `课程口令码` SET `剩余有效次数` = '$codecount' WHERE `口令码` = '$passwordcode'";
$result5 = $conn->query($sql5);
//查询插入后的信息
$sql4 = "SELECT * FROM 用户已购课程 WHERE OpenID='$openid'";
$result4 = $conn->query($sql4);
if ($result4->num_rows > 0) {
// 这里返回所有已经购买的课程
$data = array();
while ($row = $result4->fetch_assoc()) {
$data[] = $row;
};
$returndata = $data;
echo json_encode(["result" => "添加成功!", "Data" => "课程添加成功", "ReturnData" => $returndata]);
} else {
echo json_encode(["result" => "插入信息查询失败!", "Data" => "课程添加成功", "ReturnData" => $returndata]);
}
} else {
echo json_encode(["result" => "添加失败!", "Data" => "课程添加失败", "ReturnData" => $returndata]);
};
} else {
echo json_encode(["result" => "失败", "Data" => "口令码已失效", "ReturnData" => $returndata]);};
} else {
echo json_encode(["result" => "失败", "Data" => "口令码无效", "ReturnData" => $returndata]);
}
} else {
echo json_encode(["result" => "失败", "Data" => "该用户不存在", "ReturnData" => $returndata]);
};
// 关闭数据库连接
$conn->close();
?>