Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用括号在PHP中嵌入Javascript_Php_Javascript - Fatal编程技术网

用括号在PHP中嵌入Javascript

用括号在PHP中嵌入Javascript,php,javascript,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"></

好吧,我一直在尝试回显一些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>';
}
?>


我做错了什么?

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

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

echo $myVar;
$myVar=”“;
$myVar.=”;
$myVar.=“诸如此类……”;
echo$myVar;

不要重复脚本,请执行以下操作

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

<script>
//JS
</script>

<?php } ?>

//JS
有分号吗?我想不是。此外,消息是数组吗?也许你想做:

$msg = isset($_GET['msg']) ? $_GET['msg'] : false;
if($msg === '0')  {

您还可以在多行上构建它,我经常这样做,比如
$myVar=“”“诸如此类”但在每个
处都有换行符。只是为了保存一些字符。它不在数组中,当用户从login.php登录时,我希望它使用php头并将它们重定向到index.php?msg=0。当它们被重定向到index.php?msg=0时,我希望fancybox弹出成功登录的消息。在logout.php上注销也是如此。这就是如何根据应该提供错误服务器抛出的条件将JS嵌入php。
$msg = isset($_GET['msg']) ? $_GET['msg'] : false;
if($msg === '0')  {