Выберите из переключателя + введите имя пользователя = открыть профиль пользователя - PullRequest
0 голосов
/ 23 января 2012

У меня есть 3 радиокнопки, помеченные «admin», «manager» и «employee» в registration.php.

Когда новый пользователь выбирает радиокнопку, он должен перейти в БД.

Когда на странице входа в систему указаны имя пользователя и пароль, пользователь должен перейти на соответствующую целевую страницу в соответствии с выбранным переключателем:

  • admin переходит к admin.php
  • менеджер идет в manager.php
  • сотрудник идет в employee.php

Какие поля следует указать для двух таблиц?

Ответы [ 2 ]

0 голосов
/ 23 января 2012

Это почти тот же вопрос, что и Объединение таблиц в MySql с одним общим полем, но с разными значениями для общего поля , на которое вы ответили, я вижу (хотя я его не читал и не не знаю, было ли это правильно).

В основном просто ОДНА таблица называется пользователями со столбцом для «роли» со значениями 1-3, 1 для администратора, 2 для менеджера и 3 для сотрудника.

Когда пользователь входит в систему, обработайте данные, чтобы проверить правильность пароля и имени пользователя, что, я полагаю, вы уже сделали. Если это так, проверьте «роль» пользователя и перенаправьте его

if($role == 1){
// redirect to admin page
}
elseif($role == 2){
// redirect to manager page
}
elseif($role == 3){
// redirect to employee page
}

В ответ на ваши комментарии ... Я извиняюсь, потому что я не совсем уверен, что вы спрашиваете. Но для извлечения "роли" пользователя (администратора, менеджера или сотрудника) из базы данных используйте

$getrole = mysql_query("SELECT role FROM table WHERE username = $username AND password = $password", $conn);
$rowrole = mysql_fetch_assoc($getrole);
$role = $rowrole['role'];

Где $ conn - это ваше соединение с базой данных, $ username - это имя пользователя, введенное в форму входа, а $ password - пароль, введенный в форму входа. Если имя пользователя или пароль неверны, $ role будет возвращено как 0, и вы можете отобразить сообщение об ошибке.

У вас должна быть роль по умолчанию, например, сотрудник, потому что я предполагаю, что сотрудников будет больше, чем менеджеров или администраторов, поэтому зайдите в phpMyAdmin и установите для столбца "роль" значение по умолчанию как Определено как 1. Это означает, что пользователь регистрируется и они не выбирают роль, по умолчанию они назначаются сотрудниками. Но вы можете проверить это поле и заставить их выбрать роль. В любом случае ... После извлечения роли пользователя вы узнаете, на какую страницу направить их.

if($role == 0){
// show error message
}
elseif($role == 1){
// redirect to admin page
}
elseif($role == 2){
// redirect to manager page
}
elseif($role == 3){
// redirect to employee page
}
0 голосов
/ 23 января 2012

Вы можете добавить столбец в базу данных «Уровень» и сохранить один из «admin», «manager» и «employee» там при регистрации нового пользователя.Затем при входе вы обрабатываете это с помощью php и перенаправляете на соответствующую страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...