Есть ли способ использовать информацию, хранящуюся в базе данных, чтобы определить, на какую веб-страницу отправляется пользователь при входе в систему? - PullRequest
0 голосов
/ 03 июня 2019

Используя информацию, собранную на учебном сайте, я создал веб-сайт, на котором пользователи могут входить в систему, а при входе в учетную запись пользователь выбирает создание личной или бизнес-учетной записи. Они хранятся в базе данных mySQL как UserType.

Проблема, с которой я сталкиваюсь, заключается в том, что пользователь входит в систему, а он вообще не читает тип пользователя. Это продолжает идти прямо в оператор else.

    <?php

// Initialize the session
session_start();
$username = $_SESSION['username'];
$query = "SELECT UserType FROM `users` WHERE `username' = '" . $username . "' LIMIT 1";

$result = mysql_query($query);
// Redirect to Correct Type of Account page
 if (($row = mysql_fetch_array($result))== "Personal") {
                echo "Personal";
                //echo "<script type='text/javascript'> document.location = 'personalInfo.php'; </script>";
            }
 else {
                echo "Other";
                //echo "<script type='text/javascript'> document.location = 'buisnessInfo.php'; </script>";
            }

?>

В результате пользователь получит «Personal» в качестве UserType в базе данных, а затем перейдет на страницу personalInfo.php, а в противном случае он будет отправлен на другую страницу. Прямо сейчас они автоматически переходят на buisnessInfo.php

Ответы [ 2 ]

0 голосов
/ 03 июня 2019

Понял мой собственный ответ после просмотра и прочтения комментариев.

<?php

// Initialize the session
session_start();

//echo $_SESSION['username'];
$username = $_SESSION['username'];

//echo $_SESSION['UserType'];
$UserType = $_SESSION['UserType'];


if ( $UserType == "Personal" ) {
    echo "<script type='text/javascript'> document.location = 'personalInfo.php'; </script>";
}
else {
    echo "<script type='text/javascript'> document.location = 'buisnessInfo.php'; </script>";
}

?>
0 голосов
/ 03 июня 2019

Немного расширив код, чтобы мы могли видеть, что происходит, и заменив mysql на библиотеку mysqli, как рекомендовали другие, получим желаемый результат:

<code><?php

// Initialize the session
session_start();
$_SESSION['username'] = "Gregory";
echo $_SESSION['username'];
$username = $_SESSION['username'];

$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

$query = "SELECT UserType FROM `users` WHERE `username` = '" . mysqli_real_escape_string($mysqli,$username) . "' LIMIT 1";

echo "<p>" . $query . "</p>";

$result = mysqli_query($mysqli, $query); 
// Redirect to Correct Type of Account page


$row = mysqli_fetch_array($result);
echo "<pre>";
print_r($row);
echo "
"; if ($ row [0] ==="Personal") {echo "Personal"; // echo "
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...