Более простое решение - собрать всех пользователей в одну таблицу и предоставить им права по уровням.Например, admin обычно имеет уровень 0 (или имеет флаг с именем root или что-то в этом роде) и простой пользовательский уровень 1.
Поэтому, когда вы отправляете свой логин, код проверяет что-то вроде этого:
// $db is your mysql connection
$user = array();
if (isset($_POST) && !empty($_POST)) {
$sql = "SELECT id, level FROM users WHERE username='".mysql_real_escape_string($_POST['username'])."' AND password=MD5('".mysql_real_escape_string($_POST['password'])."'";
$rs = mysql_query($sql, $db);
if (mysql_num_rows($rs)>0) {
$user['username'] = $_POST['username'];
$user['login_time'] = time();
// user found, let's see his rights
while ($row = mysql_fetch_assoc($rs)) {
$rights = $row['level'];
$user['id'] = $row['id']; // keep the id for references
if ($rights = 0) {
$user['admin'] = true; // is admin
} else {
$user['admin'] = false; // is normal user
}
}
// user array is now full of the data we want, so put it in a session, cookie
// or anything else and then go to login area or whatever.
header("location: /login-area.php");
} else {
header("location: /user-login-failed.php"); // Send him to a user not found page
}
} else {
// The post here is empty. Someone is trying to do something or something went really
// wrong. It's up to you.
}