使用括号在PHP中嵌入Javascript

时间:2013-04-13 21:11:09

标签: php javascript

好吧所以如果用户登录或退出,我一直试图回复一些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>';
}
?>

我做错了什么?

3 个答案:

答案 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')  {