Php, OOP, логин для нескольких пользователей - PullRequest
0 голосов
/ 20 марта 2020

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

enter code here
 session_start();
 include_once 'user.php';
 $user = new User();
  $uid = $_SESSION['u_id'];
  if (!$user->get_session()) {
   header("location:login.php");
 }

 if (isset($_GET['q'])) {
  $user->user_logout();
  header("location:main.php");
}
  ?>
<!DOCTYPE html>
 <html>
 <head>Main</head>
 <body>
     <div id="container">
         <div id="header"><a href="main.php?q=logout">LOGOUT</a></div>
         <div id="main-body">
             <h1>Welcome <?php $user->get_u_name($uid); ?></h1>
         </div>
         <div id="footer"></div>
     </div>
 </body>
</html>

 // login function in user class
 public function login($emailu, $password) {
 $password = md5($password);
 $sql2 = "SELECT role from fyp_Register WHERE u_name='$emailu' or 
 u_email='$emailu' 
  and password='$password'";
//checking if the username is available in the table
$result = mysqli_query($this->db, $sql2);
$user_data = mysqli_fetch_array($result);
$count_row = $result->num_rows;

if ($count_row == 1) {

if ($user_data['role'] == 1) {

header("Location:index.php");

exit;
} elseif ($user_data['role'] == 2) {
header("Location:Supervisor.php");
exit;
} else {
//student user will be directed to home page;
header("Location:main.php");

exit;
}
?>

$_SESSION['login'] = true;
$_SESSION['u_id'] = $user_data['u_id'];
return true;
} else {
return false;
}
}


public function get_uname($uid) {
$sql3 = "SELECT u_name FROM fyp_Register WHERE u_id = $uid";
$result = mysqli_query($this->db, $sql3);

$user_data = mysqli_fetch_array($result);
echo $user_data['u_name'];
}



public function get_session() {
return $_SESSION['login'];
}

public function user_logout() {

$_SESSION['login'] = FALSE;

session_destroy();
}
}

// login.php
<?php
session_start();
include_once 'user.php';

 $user = new User();

 if (isset($_REQUEST['submit'])) {
     extract($_REQUEST);
     //$login = $user->login($emailusername, $password);
 }
 ?>
 <!DOCTYPE html>
 <html>
     <body>
         <form action="" method="post" name="login">
             <table>

                 <tr>
                     <th>UserName or Email:</th>
                     <td><input type="text" name="emailu" required="" /></td>
                 </tr>
                 <tr>
                     <th>Password:</th>
                     <td><input type="password" name="password" required="" /> 
                     </td>
                 </tr>
                 <tr>
                     <td></td>
                     <td><input onclick="return(submitlogin());" type="submi

t" 
                            name="submit" value="Login" /></td>
             </tr>
             <tr>
                 <td></td>
                 <td><a href="Register.php">Register new user</a></td>
             </tr>
         </table>
     </form>
 </div>
</body>
</html>



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