2015-04-23 180 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找到用戶。