Как отобразить информацию о входе пользователя в углу страницы, используя php - PullRequest
1 голос
/ 07 апреля 2020

Я создал веб-страницу, на которую пользователь должен войти. Я хочу, чтобы пользователь видел свою информацию. Это говорит привет user1 и нажмите здесь, чтобы выйти. Вот мой код, я даже не вижу кнопку выхода из системы.

update: я вижу имя пользователя, в которое я не вошел с этим именем пользователя. Я зашел на сайт с именем пользователя студент. Но это показывает другое имя пользователя. См. Рисунок ниже. он должен писать приветственный студент, а не yasemin

код входа в систему:

// LOGIN USER
if (isset($_POST['login_user'])) {
    $username = mysqli_real_escape_string($db, $_POST['username']);
    $password = mysqli_real_escape_string($db, $_POST['password']);

    if (empty($username)) {
        array_push($errors, "Username is required");


    }
    if (empty($password)) {
        array_push($errors, "Password is required");

    }


    if (count($errors) == 0) {

        $password = md5($password);
        $query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
        $results = mysqli_query($db, $query);
        $row = mysqli_fetch_assoc($results);


        if('student' == $row['user_type']) {
                 header('Location: ogrenciarayuzu.php');
                 exit();
    } elseif ('department' == $row['user_type']) {
                 header('Location: bolumsekreterligiarayuzu.php');
                 exit();

    } elseif ('institute' == $row['user_type']) {
                 header('Location: enstituarayuzu.php');
                 exit();    

    } 
    if (mysqli_num_rows($results) == 1) {
            $_SESSION['username'] = $username;
            $_SESSION['success'] = "You are now logged in";
            header('location: index.php');
        }else {
            array_push($errors, "Wrong username/password combination");
        }
        }

     }

     ?> 

Я поместил этот код туда, где я хочу видеть информацию для входа.

  <?php session_start(); ?> // at the beginning of my code

   .
   .
   .
    <?php  
    if (isset($_SESSION['username'])) :
    ?>
    <p>Welcome <strong><?php echo $_SESSION['username']; ?></strong></p>
    <p ><a href="index.php" style="color: black;"> <input type="submit" value="Logout" name="logout" 
    class="button"/></a>  </p>

      <?php endif ?>

Чтобы сделать успешный выход из системы, я поместил этот код в свой index.php файл

<?php 
session_start(); 

if (isset($_GET['logout'])) {
session_destroy();
unset($_SESSION['username']);
header("location: login1.php");
 }
 ?>

Пожалуйста, помогите мне, почему я все еще не вижу. В чем здесь проблема?

1 Ответ

1 голос
/ 07 апреля 2020

Ошибка в вашем коде, ваш код не смог установить сеанс, когда условие оказалось верным, то он перенаправил пользователя на другую. php страницу согласно условию, которое вы использовали.

Попробуйте этот код.

<?php session_start(); ?>

    if (isset($_POST['login_user'])) {
        $username = mysqli_real_escape_string($db, $_POST['username']);
        $password = mysqli_real_escape_string($db, $_POST['password']);

        if (empty($username)) {
            array_push($errors, "Username is required");


        }
        if (empty($password)) {
            array_push($errors, "Password is required");

        }


        if (count($errors) == 0) {

            $password = md5($password);
            $query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
            $results = mysqli_query($db, $query);

        if (mysqli_num_rows($results) == 1) {
            $row = mysqli_fetch_assoc($results);
                $_SESSION['username'] = $username;
                $_SESSION['success'] = "You are now logged in";

                //if you want to redirect user as per its type, you can use this condition

                if('student' == $row['user_type']) {
                         header('Location: ogrenciarayuzu.php');
                         exit();
                } elseif ('department' == $row['user_type']) {
                             header('Location: bolumsekreterligiarayuzu.php');
                             exit();

                } elseif ('institute' == $row['user_type']) {
                             header('Location: enstituarayuzu.php');
                             exit();    

                } 
                else
                {
                    header('location: index.php');
                }
            }else {
                array_push($errors, "Wrong username/password combination");
            }
            }

         }
...