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

问题描述 投票:0回答:3

您好,标题提示如果页面加载时存在会话,我想加载模式弹出窗口。

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

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

因此,我不想显示成功消息,而是要打开一个模式窗口。

我原以为这会很简单,但是我似乎做不到。

php session bootstrap-modal
3个回答
2
投票

尽管我确定这是重复的,并且很容易在Google上找到它。是的,这可能是。

您可以执行以下操作:

<?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 } ?>

这仅是示例。我会做很多不同的事情,但这应该可以指导您正确的方向。


0
投票

再次感谢您的帮助。这是我与帮助表格Dish_Rex一起使用的解决方案(谢谢)。

我有另一个PHP脚本在后台运行,从提交到创建一个名为“忠诚度”的会话,然后重定向回到工作页面。

然后,此页面检查是否设置了“忠诚度”会话,并调用要加载的模式。然后取消设置会话,这样它就不会在页面重新加载时再次显示。

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

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


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']);
}
© www.soinside.com 2019 - 2024. All rights reserved.