-2

好吧,所以我一直在尝试回显一些 JavaScript,以便在用户登录或注销时弹出花式框窗口。这是我到目前为止所拥有的,但它不断引发服务器错误。

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

我究竟做错了什么?

4

3 回答 3

1

问题不在于括号。PHP 不会回显多行代码。为了做你想做的事,你需要设置一个变量,然后将其回显:

$myVar = "";
$myVar .= "<script src='text/javascript'>";
$myVar .= "blah blah blah...";

echo $myVar;
于 2013-04-13T21:13:59.740 回答
1

不要回显脚本,做这样的事情。

<?php
$msg = $_GET['msg'];
if(isset($msg['0']));  { ?>

<script>
//JS
</script>

<?php } ?>
于 2013-04-13T21:31:49.103 回答
0
if(isset($msg['0']));  {

分号在那里?我想不是。此外,消息是一个数组吗?也许你想做:

$msg = isset($_GET['msg']) ? $_GET['msg'] : false;
if($msg === '0')  {
于 2013-04-13T21:38:40.650 回答