如果登录失败,我需要显示一个对话框。现在我能够在表单中显示错误行,但我需要使用modals
显示错误消息。
这是我的代码:
$sfAuth = new SfAuthenticate();
$sfHelper = new SfHelper();
$user = $_POST['txtUsername'];
$pass = $_POST['txtPassword'];
$checkUser = $sfAuth->checkUserJobSeeker($user);
if($checkUser)
{
$login = $sfAuth->loginJobSeeker($user, $pass);
if($login)
{
echo $sfHelper->redirect('forms/jobSeeker/HomeJobSeeker.php');
}else{
echo $sfHelper->redirect('forms/jobSeeker/formLoginJobSeeker.php?err=Invalid Username or Password');
}
}else{
echo $sfHelper->redirect('forms/jobSeeker/formLoginJobSeeker.php?err=Sorry, We Cannot found your Username');
}
我想在重定向到登录表单后显示对话框。 有人可以帮我吗?
答案 0 :(得分:1)
要显示模式对话框,您需要使用javascript。检查此前的SO问题:How to create popup window(modal dialog box) in HTML)。同样,我会建议查看jQueryUI这是javascript库jQuery的扩展。
通过3个步骤,了解其工作原理:
在页面中包含jQuery和jQueryUI库脚本
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/themes/base/jquery-ui.css" type="text/css" media="all" />
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.21/jquery-ui.min.js"/></script>
为要显示的模式对话框创建标记
不需要花哨但注意id
标记,因为jQuery使用它来知道在对话框中显示哪个元素。
<div id="dialog" title="Basic dialog">
<p>This is the message inside the modal dialog.</p>
</div>
使用jQueryUI显示对话框
<script>
$(document).ready(function() {
$( "#dialog" ).dialog();
});
</script>
请在此处查看完整的工作示例:http://jsfiddle.net/wjp94/3/
答案 1 :(得分:1)
看看这个小提琴,它应该有效:http://jsfiddle.net/7PwWp/5/
关于启动用户错误的模态窗口,您可以添加条件:
<?php if(isset($_GET['err']): ?>
launchWindow('#message');
<?php endif; ?>
在消息框中,您可以输入:
<p><?php echo (isset($_GET['err'])? $_GET['err']:''; ?></p>
答案 2 :(得分:0)
将此代码放在formLoginJobSeeker.php文件
上<?php
if($_GET['err'] == "Sorry, We Cannot found your Username")\
{
echo '<script> alert("Sorry Wrong Username Or Password");</script>'
}
?>
答案 3 :(得分:0)
如果要显示对话框,则必须使用jquery对话框
将以下代码添加到您的页面中;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/themes/base/jquery-ui.css" type="text/css" media="all" />
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.21/jquery-ui.min.js"/></script>
<div id="dialog" title="Basic dialog" style="display:none">
<p>
<?php if(isset($_GET['err'])) echo $_GET['err'];?>
</p>
</div>
<?php if(isset($_GET['err']){ ?>
<script type="text/javascript">
$(document).ready(function() {
$( "#dialog" ).dialog();
});
</script>
<?php } ?>
如果你想查看你的模态看起来如何检查此链接 http://codebins.com/bin/4ldqp8p
答案 4 :(得分:0)
解决了吗? 如果没有,这是我的解决方案。
重定向到那样(注意#run_modal
):
`forms/jobSeeker/formLoginJobSeeker.php?err=YOUR_MESSAGE#run_modal`
和JS:
function detectModalParam()
{
var hash = $(location).attr('hash');
if (hash == '#run_modal')
{
YOUT_MODAL_FUNCTION();
};
}
$(document).ready(function()
{
detectModalParam();
}