好吧所以如果用户登录或退出,我一直试图回复一些JavaScript,以便弹出fancybox窗口。这是我到目前为止所做的,但它不断引发服务器错误。
<link rel="stylesheet" type="text/css" href="scripts/fancybox/jquery.fancybox.css" />
<script type="text/javascript" src="scripts/fancybox/jquery.fancybox.js"></script>
<?php
$msg = $_GET['msg'];
if(isset($msg['0'])); {
echo '
<script type="text/javascript">
$.fancybox.open([
{
href : \'m.php?=0\',
title : \'Successfully Logged In!\'
}
], {
padding : 0
});
</script>';
}
else if (isset($msg['1'])); {
echo '
<script type="text/javascript">
$.fancybox.open([
{
href : \'m.php?=1\',
title : \'Successfully Logged Out!\'
}
], {
padding : 0
});
</script>';
}
?>
我做错了什么?
答案 0 :(得分:1)
问题不在括号中。 PHP不会回显多行代码。为了做你想做的事情,你需要设置一个变量然后回显:
$myVar = "";
$myVar .= "<script src='text/javascript'>";
$myVar .= "blah blah blah...";
echo $myVar;
答案 1 :(得分:1)
不要回复剧本,做这样的事情。
<?php
$msg = $_GET['msg'];
if(isset($msg['0'])); { ?>
<script>
//JS
</script>
<?php } ?>
答案 2 :(得分:0)
if(isset($msg['0'])); {
那边有分号吗?我想不是。除了消息是一个数组?也许你想做:
$msg = isset($_GET['msg']) ? $_GET['msg'] : false;
if($msg === '0') {