Javascript 使用PHP基于用户名加载不同的视图
我使用PHP和MySQL创建了一个学生和教师反馈系统。学生和讲师登录后应显示单独的视图。学生用户名的形式为Javascript 使用PHP基于用户名加载不同的视图,javascript,php,mysql,database,login,Javascript,Php,Mysql,Database,Login,我使用PHP和MySQL创建了一个学生和教师反馈系统。学生和讲师登录后应显示单独的视图。学生用户名的形式为B*********,讲师用户名的形式为E*********。我在想,有没有一种方法可以获取用户输入的用户名并将其截断,然后匹配B或E,然后为给定用户提供相关的PHP视图,或者有没有更好的方法来实现我的目标。我对PHP比较陌生,因此非常感谢您的帮助。您可以使用数组访问语法[]、字符串访问语法{}和各种其他方法轻松获取字符串的第一个字符 if ("B" == $name[0]) { /
B*********
,讲师用户名的形式为E*********
。我在想,有没有一种方法可以获取用户输入的用户名并将其截断,然后匹配B
或E
,然后为给定用户提供相关的PHP视图,或者有没有更好的方法来实现我的目标。我对PHP比较陌生,因此非常感谢您的帮助。您可以使用数组访问语法[]
、字符串访问语法{}
和各种其他方法轻松获取字符串的第一个字符
if ("B" == $name[0]) {
// show student page
}
else {
// show instructor page
}
以下是我的做法:
$sql = $this->db->query("
SELECT userType
FROM userTable
WHERE userName = //Username typed in by the user
AND password = //Password typed in by the user
");
$result = $sql->fetchAll();
if($result[0][0] == "student") include_once "student.php";
if($result[0][0] == "teacher") include_once "teacher.php";
else echo "User does not exist";
您可以为用户使用标志。例如,-s代表学生,-l代表讲师。然后,当用户登录并检查密码时,也检查标志,提供由标志决定的视图。yoda条件是什么?“红色是颜色吗?”一点也不比“颜色是红色吗?”@DusteD您可以随意阅读,但是
“B”=$name[0]
是一个语法错误$name[0]=“B”
总是真的
,因此,此刻我为学生和讲师分别安排了一张桌子。一个包含StudentID,一个包含讲师ID。如果是这种情况,我是否需要一个userType类来区分它们之间的区别,或者我是否可以像从Student中选择StudentID那样;然后包括student.php;否则,如果从讲师中选择讲师ID;然后包括讲师.php;否则打印“您输入的用户ID不正确”或者这是完全错误的?我建议您使用一个表来表示两者,并使用“userType”列来区分它们。这样,您的数据库设计将更干净,查询将更简单。
$sql = $this->db->query("
SELECT userType
FROM userTable
WHERE userName = //Username typed in by the user
AND password = //Password typed in by the user
");
$result = $sql->fetchAll();
if($result[0][0] == "student") include_once "student.php";
if($result[0][0] == "teacher") include_once "teacher.php";
else echo "User does not exist";