функция отображения сообщения при входе в систему не выполняется PHP - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь отобразить сообщение, если при входе в систему неверное имя пользователя или пароль, поэтому я создал функции set_message и отобразил сообщение следующим образом:

function set_message(){
if (!empty($msg)) {
    $_SESSION['message'] =  $msg;

}else 
    $msg = "";
}


function message_display(){

    if (isset($_SESSION['message'])) {
        echo $_SESSION['message'];
        unset($_SESSION['message']);
    }

}

Я вызвал функцию set message здесь:

function login_user(){

if (isset($_POST['submit'])) {
   $username = escape_string( $_POST['username']);
   $password = escape_string($_POST['password']);
     global $connection;
     $query = "SELECT * FROM users WHERE username = '{$username}' AND   password  = '{$password}'  ";
    $result = mysqli_query($connection, $query);
    confirm($result);
    if (mysqli_num_rows($result) == 0) {
        set_message("Username or Password Are Wrong!");
        message_display();
        redirect('login.php');
    }else{
        set_message("WELCOM ADMIN");

        redirect('admin');
    }
}

Я вызвал функцию отображения сообщения при входе в систему. php файл внутри формы:

<form class="" action="" method="post" enctype="multipart/form-data">
        <?php login_user(); ?>
        <h3><?php  message_display();  ?></h3>

            <div class="form-group"><label for="">
                username<input type="text" name="username" class="form-control"></label>
            </div>
             <div class="form-group"><label for="password">
                Password<input type="text" name="password" class="form-control"></label>
            </div>

            <div class="form-group">
              <input type="submit" name="submit" class="btn btn-primary" >
            </div>
        </form>

ПРОБЛЕМА НЕПРАВИЛЬНО ПОЛЬЗОВАТЕЛЯ / ПРОЙДЕНА ПЕРЕНАПРАВЛЕНО, УСПЕШНО ВЫПОЛНЕНА, НО БЕЗ ДИСПЛЕЯ СООБЩЕНИЯ

1 Ответ

2 голосов
/ 06 марта 2020

Вы никогда не звоните message_display() здесь:

}else{
    set_message("WELCOM ADMIN");

     redirect('admin');
)

Но вы немедленно делаете перенаправление (при условии, что функция работает), чтобы сообщение никогда не отображалось, если это не SPA.

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