PHP:用户管理、数据访问
我在大学里做了一个小小的web应用程序,在数据访问方面遇到了一些问题 有3个用户帐户可以登录,所有用户都可以在之后创建自己的讲座 问题: 每个老师应该只看他自己创作的讲座,而不是其他两位老师创作的讲座。现在每个老师都看每一节课 我不知道我应该在这里发布哪些代码,但我非常感谢您的帮助 非常感谢 编辑:谢谢你的回答。我在过去的几个小时里试过,但我不知道该怎么做了 这是我的代码,我将讲座保存到数据库中。美元会话似乎有问题PHP:用户管理、数据访问,php,database,user-management,data-access,Php,Database,User Management,Data Access,我在大学里做了一个小小的web应用程序,在数据访问方面遇到了一些问题 有3个用户帐户可以登录,所有用户都可以在之后创建自己的讲座 问题: 每个老师应该只看他自己创作的讲座,而不是其他两位老师创作的讲座。现在每个老师都看每一节课 我不知道我应该在这里发布哪些代码,但我非常感谢您的帮助 非常感谢 编辑:谢谢你的回答。我在过去的几个小时里试过,但我不知道该怎么做了 这是我的代码,我将讲座保存到数据库中。美元会话似乎有问题 public function save(Vorlesung $vorlesun
public function save(Vorlesung $vorlesung)
{
try {
$stmt = $this->pdo->prepare('
INSERT INTO vorlesung
(name, login_dozent)
VALUES
(:name, '$_SESSION[dozent]')
');
$stmt->bindParam(':name', $vorlesung->name);
$stmt->execute();
} catch (PDOException $e) {
echo("Fehler! Bitten wenden Sie sich an den Administrator...<br>" . $e->getMessage() . "<br>");
die();
}
return $vorlesung;
}
这是我的登录代码:
<?php
require_once("Mapper/DozentManager.php");
require_once("Mapper/Dozent.php");
$login = htmlspecialchars($_POST["login"], ENT_QUOTES, "UTF-8");
$password = htmlspecialchars($_POST["password"], ENT_QUOTES, "UTF-8");
if (!empty($login) && !empty($password)) {
$DozentManager = new DozentManager();
$dozent = $DozentManager->findByLogin($login, $password);
if ($dozent==null) {
header('Location: login.php');
die();
} else {
session_start();
$_SESSION ['dozent'] = $dozent;
$_SESSION ['login'] = "1";
header('Location: index.php');
die();
}
} else {
echo "Error: Bitte alle Felder ausfüllen!<br/>";
}
您的讲台应如下所示:
id | lecture_name | teacher_id
------------------------------
1 | lecture 1 | 1
2 | lecutre 2 | 2
select * from lecture where teacher_id = 1; // or another teacher id
您的查询应如下所示:
id | lecture_name | teacher_id
------------------------------
1 | lecture 1 | 1
2 | lecutre 2 | 2
select * from lecture where teacher_id = 1; // or another teacher id
它不是很精确,没有代码示例。。。 让我们概括一下: 将以下内容存储到数据库中: -每位教师都可能有一个唯一的登录名或id -讲座:每个讲座都应该包含一个用于识别老师的数据:其唯一的登录名或id 然后,您将能够使用当前连接的教师筛选您的讲座,例如,您应该将其存储为会话值 在登录脚本上: 使用登录名+密码检查教师是否在数据库中,并获取其唯一登录名或id。然后将其存储到会话值中: $\u会话['teacher']=$教师id 创建讲座时,将教师id与讲座的其他数据一起存储到数据库中: 在讲座教师、其他讲座数据值“$”会话[教师]、$其他讲座数据值中插入 列出所有可用讲座时,请使用当前连接的教师唯一登录名或id对其进行筛选:
从教师=“$”会话[教师]所在的讲座中选择* 首先:非常欢迎来到stackoverflow!这似乎是你的家庭作业——这里的人不喜欢做你的事情。欢迎来到SO:为了帮助我们帮助你,你尝试了什么?对于当前的问题,我们只能给出非常一般的解决方案,这可能对您毫无帮助。谢谢您的回答。理论上这听起来不错,但我的代码仍然存在一些问题。我在上面编辑了我的答案。非常感谢!谢谢你的回答!我还是不知道我是怎么把老师的身份证放到讲课桌上的。