0

如果登录失败,我需要显示一个对话框。现在我可以在表单中显示错误行,但我需要使用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');
    }

我想在重定向到登录表单后显示对话框。谁能帮帮我?

4

5 回答 5

1

要显示模式对话框,您需要 javascript。检查这个以前的 SO 问题:如何在 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/

于 2012-08-04T12:43:03.070 回答
1

看看这个小提琴,它应该可以工作:http: //jsfiddle.net/7PwWp/5/

至于在用户错误时启动模态窗口,您可以添加一个条件:

<?php if(isset($_GET['err']): ?>
  launchWindow('#message');
<?php endif; ?>

在消息框中,您可以输入:

<p><?php echo (isset($_GET['err'])? $_GET['err']:''; ?></p>
于 2012-08-06T02:55:37.767 回答
0

将此代码放在 formLoginJobSeeker.php 文件中

<?php
if($_GET['err'] == "Sorry, We Cannot found your Username")\
{
echo '<script> alert("Sorry Wrong Username Or Password");</script>'
}
?>
于 2012-07-30T07:22:40.973 回答
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

于 2012-08-09T07:07:29.250 回答
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();
}
于 2012-08-09T14:42:01.000 回答