我正在设计一个可以登录不同限制的php网站,如老师和学生。 我正在使用XAMPP服务器和phpMyAdmin来创建数据库,并且已经成功连接到数据库。
我想创建“学生网站”和“教师网站”,当用户登录时,系统可以识别用户类型并转到"student site"
或"teacher site"
。
这是因为我认为“教师网站”有管理员权限来配置学生的工作,而“学生页面”用于将文件上传到教师。
我应该如何设计数据库?我应该创建两个"student"
和"teacher"
的数据库,还是创建一个" member"
的数据库并添加一个类别来识别教师/学生
答案 0 :(得分:2)
您可以创建将存储用户类型的user_group
表。在您的情况下,可以有3个用户:
超级管理员 - 该组中只有一名用户拥有教师和学生的全部权利
教师 - 教师小组
学生 - 学生小组
然后创建users
表,其中包含姓名,电子邮件,密码等基本信息以及user_group
的标识符,该标识符将标识用户是否为超级管理员/教师/学生。
根据users
表中的这个组标识符,您可以在PHP代码中决定应该显示哪个站点。
希望这有帮助!
答案 1 :(得分:0)
不需要2个表,你可以使用具有列homework
的成员,然后在你的编程中,你可以知道哪个类型可以看到哪个部分。
///编辑:
另一方面,您可以创建表名fromusert, tomaster,file,date
,其中包含以下列:{{1}}
然后你可以管理你的请求,将作业发送给大师。
答案 2 :(得分:0)
如果您的登录页面相同,您可以创建一个表成员,并且在登录过程之后您可以获得该用户的类别,并且您必须使用登录凭据检查每个请求到您的网站页面的类别,因为学生可以看到不同的页面哪位老师可以看到。在这种情况下,学生和教师不能重复用户名。
如果您将为学生或老师提供特权,说老师1可以看到,老师2无法看到,同时学生没有这些特权,所以在这种情况下,您应该制作不同的表格。在这种情况下,您应该创建不同的登录页面或设置类别下拉列表,登录用户是教师或学生,通过用户选择进行身份验证。
结论,您的要求将指导您。
答案 3 :(得分:0)
你应该创建不同的表。原因是学生和老师是不同的"授权" ..定义两个不同的实体在很多方面为你提供了优势。https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model
对于登录用例,拥有一个表似乎是合乎逻辑的..但是在开发过程中需求会发生变化,因此用例也会发生变化..
有两个实体(学生和老师)的好处..你仍然可以拥有一个成员实体,其中有一个" is-a relationship" ..
http://www.dcs.bbk.ac.uk/~ptw/teaching/DBM/er.pdf
如果你对'&34;实体" ...的术语感到困惑。它是一组信息。在你的情况下,教师是表名......教师代表一个老师..