Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 当存在完全不同的角色时,在数据库上存储用户登录名和密码的方法_Mysql_Sql - Fatal编程技术网

Mysql 当存在完全不同的角色时,在数据库上存储用户登录名和密码的方法

Mysql 当存在完全不同的角色时,在数据库上存储用户登录名和密码的方法,mysql,sql,Mysql,Sql,我正在创建一个网站,有3个角色。管理员、教师、家长。具有任何角色的用户都可以访问该站点,但1个角色具有完全访问权限,教师只能为学生打分,家长只能观看这些分数。 我了解如何将角色划分为脚本。只需根据我检查登录名和密码时数据库将返回的内容保存一些参数 所以!管理员只有登录名和用户名。还可以存储有关如何联系用户的信息,以使系统更加友好。就这些 教师有名、姓、中名(父亲的名字)、地址、电话等,并且必须有登录和密码字段 父项仅具有名、名、名。当然,我应该在某个地方存储有关登录名和密码的数据 所以,我是否应

我正在创建一个网站,有3个角色。管理员、教师、家长。具有任何角色的用户都可以访问该站点,但1个角色具有完全访问权限,教师只能为学生打分,家长只能观看这些分数。 我了解如何将角色划分为脚本。只需根据我检查登录名和密码时数据库将返回的内容保存一些参数

所以!管理员只有
登录名和用户名
。还可以存储有关如何联系用户的信息,以使系统更加友好。就这些

教师有名、姓、中名(父亲的名字)、地址、电话等,并且必须有登录和密码字段

父项仅具有
名、名、名
。当然,我应该在某个地方存储有关登录名和密码的数据

所以,我是否应该逐个检查这个表,根据表的不同,我将在“我将返回”角色中输入$login和$password?我认为这不是一个好主意。请提出别的建议

我想做什么。我想,如果我再创建一个像
users
这样的表来存储:
id、用户名、登录名、角色、用户id
(需要考虑一下)。问题是用户id。此表将如何连接到其他表?例如,用户_id`将是1。101%将有1行具有此id


我想问一下你们的自建系统的经验。请你提个建议好吗

你说得对。为用户设置不同的表是没有意义的。我建议您将授权和个人数据存储在单独的表中。当然,您还需要角色的附加表:

此方案背后的思想是保留精简的
用户
表,以实现快速授权。如果授权成功,则应检查
角色的权限
或从
用户数据
表获取个人数据


为DDL看这个。

谢谢!所以管理员、家长和老师将存储在一个表中,对吗?是的,我认为您不需要将它们分开。只需为管理员保留未使用的字段,如
firstname
lastname
midname
。确定。我只是想开始你的建议,但我意识到我有半个系统与我的旧数据库模型相连接,在那里管理员、家长和学生在分开的表格中:(你的想法当然很好,但我在考试前只有5个小时!)(顺便说一句,我认为
users user\u data
应该是另一种类型。
users 0..11 user\u data
Teachers
Parents
链接到许多其他表。我现在应该将所有表链接到
user\u data
,对吗?在我的系统中,可以创建一个与
角色连接的新行o它将是一名教师、一名家长或一名管理员。如果创建了
users
中与此
user\u数据.id
表链接的行,此人将可以登录。对吗?我认为最好用另一种方式命名此表。我说得对吗?您明白我的意思吗?也可以将
user\u数据命名为
user\u数据>下一步链接:
users 1 1 user\u data
并可能合并这两个表。如果任何教师、管理员或家长必须具有登录名和密码,就像在我的系统中一样,这将起作用,对吗?