Триггерное загрузочное модальное подтверждающее сообщение при успешном входе
Я только начинаю с 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 ответ
во-первых, я предлагаю вам изменить тип кнопки на
Войти в систему
затем с помощью 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",
"Посылаем...");
или всплыть что-нибудь, что вам нравится.