PHP Перенаправление на основе запроса Mysqli - PullRequest
0 голосов
/ 11 января 2020

Я новичок в кодировании и самообучении. Поэтому, пожалуйста, будьте терпеливы со мной, я пытаюсь создать сценарий входа, который перенаправляет пользователей на разные страницы на основе их таблицы groupid в mysql.

Вот пример моего кода:

public function login(){        
        $errorMessage = '';
        if(!empty($_POST["login"]) && $_POST["loginId"]!=''&& $_POST["loginPass"]!='') {    
            $loginId = $_POST['loginId'];
            $password = $_POST['loginPass'];
            if(isset($_COOKIE["loginPass"]) && $_COOKIE["loginPass"] == $password) {
                $password = $_COOKIE["loginPass"];
            } else {
                $password = md5($password);
            }   
            $sqlQuery = "SELECT * FROM ".$this->userTable." 
                WHERE email='".$loginId."' AND password='".$password."' AND status = 'active'";
            $resultSet = mysqli_query($this->dbConnect, $sqlQuery);
            $isValidLogin = mysqli_num_rows($resultSet);    
            if($isValidLogin){
                if(!empty($_POST["remember"]) && $_POST["remember"] != '') {
                    setcookie ("loginId", $loginId, time()+ (10 * 365 * 24 * 60 * 60));  
                    setcookie ("loginPass", $password,  time()+ (10 * 365 * 24 * 60 * 60));
                } else {
                    $_COOKIE['loginId' ]='';
                    $_COOKIE['loginPass'] = '';
                }
                $userDetails = mysqli_fetch_assoc($resultSet);
                $_SESSION["userid"] = $userDetails['id'];
                $_SESSION["name"] = $userDetails['first_name']." ".$userDetails['last_name'];
                header("location: ***WANT TO QUERY MYSQL TABLE AND BASED ON GROUPID REDIRECT TO RESPECTIVE GROUP LANDING PAGE STORED IN MYSQL TABLE***");       
            } else {        
                $errorMessage = "Invalid login!";        
            }

У меня есть две sql таблицы. Первая использует login users + store info о пользователе.
Вторая содержит urls, где я хотел бы перенаправить, и id это foreign key, что соответствует groupid в первой таблице.
Есть ли способ использовать groupid, чтобы поместить в

header("location: sampleofwhatiwouldliketochangebasedongroupid.php")

Спасибо за Ваше внимание и ваша помощь.

1 Ответ

1 голос
/ 11 января 2020

Присоедините пользовательскую таблицу к таблице перенаправления.

$sqlQuery = "SELECT u.id, u.first_name, u.last_name, r.url FROM ".$this->userTable." AS u
             JOIN ".$this->redirectTable." AS r ON u.groupid = r.id
            WHERE email='".$loginId."' AND password='".$password."' AND status = 'active'";
...
header("Location: " . $userDetails['url']);

Замените url фактическим именем столбца на URL перенаправления.

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