如果会话存在,请加载模式弹出窗口?

时间:2015-03-20 22:07:13

标签: php session bootstrap-modal

嗨,因为标题显示我想在页面加载时存在会话时加载模态弹出窗口。

我目前将此用作一种Flash消息。示例如果提交表单,则php脚本会在其中创建成功会话,并在其中显示成功消息。

然后重定向到上一页。在该页面上是一个If语句,用于检查成功会话是否存在,然后如果它存在则回显,然后销毁会话,以便在重新加载页面时它再次显示。

因此,我没有显示成功消息,而是希望打开一个模态窗口。

我原本以为这会很简单,但我似乎无法做到。

3 个答案:

答案 0 :(得分:2)

虽然我确定这是重复的,可能很容易找到谷歌......是的,这可能是。

您可以执行以下操作:

<?php if (isset($_SESSION['success'])) { ?>

<div class="modal hide fade" id="myModal">
    <div class="modal-header">
        <a class="close" data-dismiss="modal">×</a>
        <h3>Success</h3>
    </div>
    <div class="modal-body">
        <p><?php echo $_SESSION['success']; ?></p>
    </div>
    <div class="modal-footer">
        <a class="close btn" data-dismiss="modal">Close</a>
    </div>
</div>

<script type="text/javascript">
    $(window).load(function () {
        $('#myModal').modal('show');
    });
</script>
<?php } ?>

这纯粹是一个例子。我会做很多不同的事情,但这应该引导你朝着正确的方向前进。

答案 1 :(得分:0)

再次感谢您的帮助。以下是我在Dish_Rex(谢谢)帮助表中使用的解决方案。

我有另一个PHP脚本在后台工作,从提交开始创建一个名为&#39;忠诚度&#39;并重定向回工作页面。

然后,此页面会检查“忠诚度”是否为&#39;会话已设置并调用模态加载。然后取消设置会话,以便在重新加载页面时不再显示。

<?php 
    if(Session::exists('loyalty')) {
        echo "<script> $(function(){ $(window).load(function(){ $('.modal_card').rsModal(); }); }); </script>";
        unset($_SESSION['loyalty']);
    }
?>

我希望这对其他人有帮助。

答案 2 :(得分:0)

尝试了几件事,这对我来说最有效:

if (isset($_SESSION['error'])) {
    $error = "
<script>$('<div></div>').appendTo('body')
            .html('<div><h6> ".$_SESSION['error']."</h6></div>')
            .dialog({
                modal: true,
                dialogClass: \"alert\",
                autoOpen: true,
                // width: 'auto',
                resizable: false,
                background: '#0480be',
                close: function(event, ui) {
                    $(this).remove();
                }
            });
            </script>";
    unset($_SESSION['error']);
}