使用PHP加载基于用户名的不同视图


Load disparate views based on user name using PHP

我使用PHP和MySQL创建了一个学生和教师反馈系统。学生和讲师登录后应显示一个单独的视图。学生用户名采用B********的形式,讲师用户名采用E********的形式。我在想,有没有一种方法可以接受用户输入的用户名,将其截断并匹配BE,然后为给定用户提供相关的PHP视图,或者有没有更好的方法来实现我想要的。我对PHP还比较陌生,所以如果有任何帮助,我将不胜感激。

下面是我的方法:

  1. 在数据库中,创建一个"userType"列,指示用户名属于学生还是教师
  2. 用户提交其登录详细信息。如果找到匹配项,请选中"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";

您可以使用数组访问语法[]、字符串访问语法{}和各种其他方法轻松获取字符串的第一个字符。

if ("B" == $name[0]) {
    // show student page
}
else {
   // show instructor page
}
if ( $username[0] == 'E' )
{
  // It's a teacher
} else if ( $username[0] == 'B' )
{
  // It's a student
} else {
  // Username is invalid
}