当前位置: 首页 > 知识库问答 >
问题:

如何验证用户是否已注册php课程

胡景焕
2023-03-14
       if (isset($_POST['enroll'])) {
            $student_id       =  intval($session->user_id);
            $course_id      =  $course_id;
            $date       =   date('Y-m-d');

我需要一个PDO函数,如果用户course_id已经存在,它将返回false。

    ***if ($enroll->student_id has this->course_id) {
           $message = "<b>U already enrolled continue</b>";
    }else{***
                $enroll->user_id   = $user_id;
                $enroll->course_id  = $course_id;
                $enroll->en_date    = $date;
                $enroll->create();
//            }

这是我的学生表列

  1. 标准标识

A这是我的课程表

  1. 课程编号

我还有报名表

  1. id

我需要验证用户是否已经使用PHP PDO函数学习了一门课程,以及学习了特定课程的学生人数。

共有2个答案

上官英哲
2023-03-14

此查询将验证学生是否注册了上述课程:

SELECT id FROM enrolled_table WHERE student_id = STUDENT_ID_PARAMETER and course_id = COURSE_ID_PARAMETER

此查询将为您提供每门课程的学生人数:

SELECT count(id), course_id FROM enrolled_table
WHERE student_id not null
GROUP BY course_id
ORDER BY count(id) DESC;
拓拔安邦
2023-03-14

您可以使用以下功能检查用户是否已注册。

function user_enroll($student_id, $course_id){
$stmt = $conn->prepare('SELECT * FROM enroll WHERE student_id=? AND course_id=?');
$stmt->bindParam(1, $student_id, PDO::PARAM_INT);
$stmt->bindParam(2, $course_id, PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);

if($row)
{
    return false; // course already taken
}
return true; // course not taken

}

执行返回用户注册与否以及指定课程中注册的学生总数这两项操作。

function user_enroll($student_id, $course_id){
$stmt = $conn->prepare('SELECT * FROM enroll WHERE student_id=? AND course_id=?');
$stmt->bindParam(1, $student_id, PDO::PARAM_INT);
$stmt->bindParam(2, $course_id, PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);

$total_enrolled_students = $pdo->query('select count(*) from enroll WHERE course_id='.$course_id)->fetchColumn(); 
$ret_data = array('user_enroll' => true,'total_std_enrolled'=>$total_enrolled_students);

if($row)
{
    $ret_data['user_enroll'] = false;
    return $ret_data; // course already taken
}
return $ret_data; // course not taken

所以这个函数返回两个元素的数组。一个是user_enroll,表示是否注册学生,另一个是total_std_enroll,表示课程中的学生总数。

 类似资料:
  • 本文向大家介绍Ajax验证用户名或昵称是否已被注册,包括了Ajax验证用户名或昵称是否已被注册的使用技巧和注意事项,需要的朋友参考一下 JavaScript中XMLHttpRequest对象是整个Ajax技术的核心,它提供了异步发送请求的能力 。而用户名或昵称的验证就可以使XMLHttpRequest对象实现。下面是个小例子。 页面: 简单的输入框 JS代码如下: getElementsByNam

  • 本文向大家介绍使用struts2+Ajax+jquery验证用户名是否已被注册,包括了使用struts2+Ajax+jquery验证用户名是否已被注册的使用技巧和注意事项,需要的朋友参考一下 推荐阅读:JQuery+Ajax+Struts2+Hibernate框架整合实现完整的登录注册 在用户模块中的用户注册需求上,通常要进行用户名是否已被注册的验证,今天正好写了这个需求,把详细代码和所遇到的问题

  • 我一直在寻找使用各种AWS服务来处理我们下一个主要项目的基础设施。我们开始研究EC2实例上的docker容器,但在进一步研究AWS Lambda之后,这似乎是一条值得探索的道路。 使用AWS Lambda范例,我们只需使用Lambda函数作为逻辑粘合剂,将数据和事件(来自其他AWS服务)保存在一起。 例如,如果我们产品的用户创建了一个新记录,AWS Lambda可以在该事件中触发,我们可以调用La

  • 本文向大家介绍php用户注册信息验证正则表达式,包括了php用户注册信息验证正则表达式的使用技巧和注意事项,需要的朋友参考一下 下面这个正则验证用户名的方法原则是这样的用户名必须是由字母带数字带定划线组成了,下面一起来看看例子吧. 1.检查用户名是否符合规定“两位以上的字母,数字,或者下划线”,代码如下: 两位以上的字母,数字,或者下划线:^[a-zA-Z0-9_\x7f-\xff][a-zA-Z

  • 我根据Symfony文档开发了一个基本的用户注册表。我在尝试提交密码和失败登录计数不能为空的表单时收到验证错误: 类: 用户实体: 控制器: 问题似乎是表单验证程序返回false,因为它需要“password”和“failedLogins”字段。如代码示例所示,我不希望在表单中包含这些字段,并在表单提交后对其进行处理。。。 如果我将虚拟隐藏字段添加到表单生成器中,则表单可以正常处理: 然而,这似乎

  • 我正在尝试创建一个应用程序,我必须注册用户,我正在使用Firebase进行注册,一旦我将所有数据放入register,然后进入Firebase数据库,我发现我自己并不是在测试模式下创建数据库的注册用户。你能解释一下我可能做错了什么吗? 注册用户代码: 我正在使用实时数据库 规则Firebase: