【发布时间】:2015-07-17 14:04:45
【问题描述】:
Jquery 语言对我来说有点像法语,所以如果这是我不太聪明的问题之一,我们深表歉意,但请考虑一下:
PAGE1.php
<form action="page2.php" method="post">
some stuff
</form>
Page2.php
//form values posted 2 form2
<?php
session_start();
//Check if user is logged in
//if user not logged in display modalbox
if(!isset($_SESSION['members']) || !isset($_SESSION['FBID'])){
?>
<script type="text/javascript">
jQuery(document).ready(function() {
$.fancybox(
'<h2>Hi!</h2><p>This is where login form will be</p>',
{
'autoDimensions' : false,
'width' : 350,
'height' : 'auto',
'transitionIn' : 'none',
'transitionOut' : 'none'
}
);
});
</script>
<?php
}//if not logged in
?>
<?php
else{
//Do stuff with logged on user with values posted from page1.php
}
我的问题
无论用户是否登录,都会显示登录模式框。
根据我的逻辑,如果用户已登录,则不应显示模态框,代码应转到 else 部分
【问题讨论】:
-
所以,当用户登录时,_SESSION 同时包含
members和FBID? -
一个建议在
<?php之后的第二页顶部写session_start(); -
试试
var_dump($_SESSION);看看它包含什么 -
@JaromandaX 没有会员可以通过网站注册
memeber或FBFBID登录,我检查两者 -
不应该这样||成为 && ?即只需要设置其中一个来让用户登录,因此除非用户通过这两种方法登录,否则模式将显示。
标签: javascript php jquery fancybox fancybox-2