Я новичок в PHP. Я пытаюсь создать страницу входа, которая будет перенаправляться на разные страницы в зависимости от их ролей. они войдут в систему с идентификатором персонала и паролем.Переадресация на другую страницу на основе роли в базе данных
Ниже моя база данных
Staff_id пароль Роль
XXX XXX XXX
Моя страница Войти HTML ---> login.html Мой PHP код для входа в систему -> Login2.php
Я видел другие вопросы n решений, но я все еще не могу понять это правильно. Когда я вхожу в систему, это просто направляет меня на пустую страницу -xx/xx/Login2.php '. Что я сделал не так?
Я использую PHP 5. **.
Это мой PHP код:
// Connect to server and select databse.
$db= new mysqli("$host", "$username", "$password");
//check connection
if ($db->connect_errno) {
printf("Connect failed: %s\n", $db->connect_error);
exit();
}
// username and password sent from form
$staff_id=$_POST['staff_id'];
$password=$_POST['password'];
// To protect MySQL injection (more detail about MySQL injection)
$staff_id = stripslashes($staff_id);
$password = stripslashes($password);
$staff_id = mysql_real_escape_string($staff_id);
$password = mysql_real_escape_string($password);
$sql="SELECT ROLE FROM $tbl_name WHERE STAFF_ID=$staff_id and PASSWORD='$password'";
$rslt= $db -> query($sql);
// Mysql_num_row is counting table row
$count= $db -> affected_rows;
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
$row = mysqli_fetch_array($rslt, MYSQLI_ASSOC);
switch($row["ROLE"])
{
case 'ADMIN':
header("location: /test/HTMLPages/Admin-register.html");
break;
case 'MANAGER':
header("location: /test/HTMLPages/View-report.html");
break;
default:
echo "Wrong staff ID or password";
}
}
?>
Знайте, что я беру другой код и исправить его, как логически, как я могу.
EDIT: Исправлено. конечно, это никуда не исчезло, потому что я не указал имя базы данных. : D
поблагодарить у ур времени: D
Вы уверены, что получаете ожидаемый результат от sql? Вы можете попробовать 'print_r ($ row);' перед вашим коммутатором, чтобы узнать, что у вас есть. –