我想通过检查PHP会话是否存在来显示模态,以下是代码:
<?php if(isset($_SESSION['login'])) { ?>
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal header</h3>
</div>
<div class="modal-body">
<p>Body</p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
<script>$("#myModal").modal("show");</script>
<?php } ?>
这不起作用。
我也提到了以前类似的问题,但他们没有给出清晰的图片。请帮助。
答案 0 :(得分:0)
首先,我建议将.js
文件与.php
分开
因为 - 有时候 - 我还需要在我的js文件中运行php代码,这是我喜欢的一点“技巧”:
js文件应该有扩展名.php
(为了触发php解释器),因此文件名看起来像这样:scripts.js.php
。在这里,我还假设您的主文件名为index.php
。
现在,让我们烤蛋糕:
index.php
文件的示例:
<html>
<head>
<!-- here include your head elements and styling -->
<link href="path/to/bootstrap.css" rel="stylesheet">
<link href="path/to/other.css" rel="stylesheet">
</head>
<body>
<!-- here goes the body code -->
<!-- my practice is to include the modal code and scripts at the end of the file -->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal header</h3>
</div>
<div class="modal-body">
<p>Body</p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
<?php
$show_modal="";
if(isset($_SESSION["login"])){$show_modal="1";}else{$show_modal="0";}
include("scripts.js.php");
?>
</body>
</html>
这是我对scripts.js.php文件的建议:
<script src="path/to/jquery.js"></script>
<script src="path/to/bootstrap.js"></script>
<script src="path/to/otherfile.js"></script>
<script>
$(document).ready(function(){
var showModal = '<?php echo $show_modal; ?>';
if(showModal=="1"){$("#myModal").modal("show");}
});
</script>
这是一个永远适合我的解决方案......希望它也适合你!