Триггерное загрузочное модальное подтверждающее сообщение при успешном входе

Я только начинаю с Bootstrap и мне это нравится, но я не могу понять, как вызвать модальное окно на основе успешного входа в систему. Форма должна установить сессию. Модал содержит копию подтверждения типа "Вы уверены, что хотите продолжить и т. Д." С кнопкой "Продолжить", ссылающейся на защищенную страницу. Эти две вещи прекрасно работают отдельно (логин / модал), но я не могу понять, как их объединить и запустить модал только после того, как сессия успешно установлена.

У меня есть форма входа...

<form method="post" class="form-signin well">
    <input type="text" id="uname" class="input-block-level" name="uname" placeholder="Username" />
    <input type="password" id="pass" name="pass" class="input-block-level" placeholder="Password" />
    <button class="btn btn-primary" type="submit">Sign in</button>
    <input type="hidden" name="ch" value="login">
    <?php   
        if(isset($_SESSION['login_msg'])){
        echo '<span class="alert alert-error">Login failed. Please try again.</span>';
        unset($_SESSION['login_msg']);
    ?>
</form>

скрипт входа в систему...

<?php
session_start();
if(isset($_REQUEST['ch']) && $_REQUEST['ch'] == 'login'){
    if($_REQUEST['uname'] == 'username' && $_REQUEST['pass'] == 'password')
         $_SESSION['login_user'] = 1;
else
         $_SESSION['login_msg'] = 1;
}
if(isset($_REQUEST['index']))
$pagename = $_REQUEST['index'];
if(isset($_REQUEST['ch']) && $_REQUEST['ch'] == 'logout'){
    unset($_SESSION['login_user']);
    header('Location:index.php');
}
if(isset($_SESSION['login_user'])){
if(isset($_REQUEST['index']))
    header('Location:'.$pagename.'.php');
else
    header('Location:protectedpage.php');
}
else{
?>

и моя модель (заголовок удален, чтобы держать его коротким)...

<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-body">
        <p>This site is intended solely for...</p>
    </div>
    <div class="modal-footer">
        <a href="protectedpage.php" class="btn btn-success">Agree to Proceed</a>
    </div>
</div>

Я пробовал разные комбинации вещей, включая изменение кнопки отправки на что-то вроде этого...

<a role="button" class="btn btn-primary" type="submit" data-toggle="modal">Sign In</a>

но это не сработало. Что мне не хватает?

1 ответ

  1. во-первых, я предлагаю вам изменить тип кнопки на

    Войти в систему

затем с помощью jquery.valition для проверки. как ниже:

 $("#signinForm").validate({

                // Specify the validation rules
                rules: {
                    inputUser: "required",
                    password: {
                        required: true,
                        minlength: 5
                    }
                },


                // Specify the validation error messages
                messages: {
                    inputUser: "Please enter your first name",
                    password: {
                        required: "Please provide a password",
                        minlength: "Your password must be at least 5 characters long"
                    },
                },

                submitHandler: function (form) {

                    form.submit();
                }
            });

через jquery вы можете увидеть здесь, что у него есть sumithandler, так что можете делать все что угодно, например:

$('#signinForm').find("#submit_btn").attr("disabled", true).attr("value", 

"Посылаем...");

или всплыть что-нибудь, что вам нравится.

Другие вопросы по тегам