2015-04-23 193 views
0

我是新来的PHP用户登录区分,我想创建一个登录页面形式管理员登录,并在PHP

<form action="welcome.php" method="post"> 
Login: <input type="text" name="name"><br> 
Password: <input type="password" name="password"><br> 
<input type="submit" value="Login as admin user"> 
<input type="submit" value="Logins as Student"> 

我想区分,其提交按钮用户点击,直接给他对应页面

即如果他点击登录作为用户,他应该转发到adminLogin.php或Vise Versa。

+0

如果你打算用这种风格来做,我会建议一个名称为“userType”的单选按钮。将一个值设置为'admin',将另一个值设置为'student',然后检查(在PHP部分中)$ _POST ['userType']'以查看它是管理员还是学生。 –

+0

为什么不只是具有相同的登录功能,然后相应地修改用户对象/会话? – chris85

+0

@史蒂夫感谢您的建议史蒂夫。 – Priyaranjan

回答

0

更好的是在数据库中添加一列来区分用户类型并根据输入的凭据登录并获取数据,并相应地重定向。

+0

更多评论而不是答案,不是? – chris85

+0

为什么不制作两个不同的表'admin'和'students'?这样他可以将任何其他仅与学生或管理员有关的数据连接到适当的用户类型。 –

+0

@steve大多数时候,登录功能只需要用户名和密码,那么使用两个表的目的是什么,因为更详细的信息存储在单独的表中,这是我尽我所能了解的最佳做法。 –

0

在注册时区分管理登录和用户登录。然后,当登录过程发生时,您可以轻松地识别用户登录或管理员登录。将其重定向到其他页面。

0

首先,分配唯一的ID给每个按钮:

<input type="submit" id="adminLogin" value="Login as admin user"> 
<input type="submit" id="userLogin" value="Logins as Student"> 

现在,你可以通过jQuery做到这一点:

<script> 
    $(document).ready(function(){ 
    $("#adminLogin").click(function(){ 
      $('form').attr("action", "adminLogin.php"); 
    }); 
    $("#userLogin").click(function(){ 
      $('form').attr("action", "userLogin.php"); 
    }); 
    }); 
</script> 
0

在你的数据库表中只需添加一列,用指定的角色用户是它的管理员或用户,然后根据其价值,你的相关登录页面。

0

你可以有一个表users与模式一样,

user_id | name | password | type 
1   admin  admin  1 
2   memeber member  0 

例如,你可以有1为admin和0的成员。

所以,在形式上可以有一个代码,

<form action="validate.php" method="post"> 
Login: <input type="text" name="name"> 
Password: <input type="password" name="password"> 
<input type="submit" name="login" value="Login"> 
</form> 

validate.php,检查他是否是一个管理员或学生,

<?php 

    $db = mysqli_connect("specify host here","specify db username","specify db password","specify db name"); 

    if(isset($_POST['login']) // check whether user submits the form 
    { 

     $name_b = $_POST['name']; 
     $password_b = $_POST['password']; 

     $name = mysqli_real_escape_string($db,$name_b); // escaping special characters 
     $password = mysqli_real_escape_string($db,$password_b); 

     $query = "SELECT `type` FROM `users` WHERE `name` = '$name' AND `password` = `$password` LIMIT 1 "; 
     $result = mysqli_query($db, $query) 

     if($result) 
     { 
      $row = mysqli_fetch_assoc($result); 

     $user_type = $row['type']; // you get user type here whether he's admin or login 

     if ($user_type == 1) { 

      // this use is admin 
      // do stuff here or redirect to admin panel or wherever you want 
     } 

     elseif ($user_type == 0) { 
      // this user is member 
      // do stuff here or redirect wherever you want 
     } 

     else 
     { 
      // if there's some other value, simplyredirect to login page again 
     } 
     } // close of if($result) 
    else 
    { 
     echo "query failed"; // redirect to login page again 
     } 

    } 

    else 
    { 
     // redirect to login page again   
    } 




?> 
1

只需添加状态栏到数据库就像一个状态= 1和状态= 0如果状态1找到,则管理员和状态0找到用户。