PHP variable with Javascript


PHP variable with Javascript

我想编写PHP代码,检查几个条件,然后在加载的页面上触发JavaScript。

php文件是:

$jwplayer= "<script>jwplayer('video1').setup({playlist:$file});</script>";
$url2= "http://$_SERVER[HTTP_HOST]/index.php";
$url3= "http://$_SERVER[HTTP_HOST]/index3.php";
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
if($url2==$url) {
  $file= "/media/video.xml";
  echo $jwplayer;
}
 if($url3==$url) {
  $file= "/media/video2.xml";
  echo $jwplayer;
}

我使用PHP include来包含上面的代码。

如果页面的URL等于上面的$url2的值,那么我希望更新播放列表。这将通过将$file设置为"/media/video.xml"并执行我试图包含的所需JavaScript来完成。

试试这个:

$file= "/media/default.xml";
$url = "http://" . $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI];
$url2= "http://$_SERVER[HTTP_HOST]/index.php";
if($url2==$url) {
    $file= "/media/video.xml";
}
$jwplayer= "<script>jwplayer('"video1'").setup({playlist:".$file."});</script>";
echo $jwplayer;

我会从修正你的语法错误开始,从那里开始:

function jwPlayer($xml) {
    echo("<script>jwplayer('video1').setup({playlist:'$xml'});</script>");
}
$url2= "http://" . $_SERVER["HTTP_HOST"] . "/index.php";
$url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
if($url2 == $url) {
    $file= "/media/video.xml";
    jwPlayer($file);
} else {
    jwPlayer("path/to/other/file.xml");
}
在变量使用后定义它只会导致问题。

可能像这样

$file = "somefile.xml";
$url2= "http://$_SERVER[HTTP_HOST]/index.php";
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 
if($url2==$url) 
    $file= "/media/video.xml";
$jwplayer= "<script>jwplayer('"video1'").setup({playlist:$file});</script>";
echo $jwplayer;

试试这个…

$url2= "http://$_SERVER[HTTP_HOST]/index.php";
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
if($url2==$url) {
  $file= "/media/video.xml";
  echo $jwplayer= "<script>jwplayer("video1").setup({playlist:$file});</script>";
}

在你的代码中,看起来你试图通过回显脚本来获取$file的值。

希望能有所帮助

这段代码中有一些错误。

在你赋值这个字符串的时候,变量$file是未定义的,你必须先定义它。

$jwplayer= "<script>jwplayer('video1').setup({playlist:$file});</script>"

在javascript对象字面量上,必须引用字符串。如果不这样做,变量$file的内容将成为一个未定义的javascript变量。

{playlist:"$file"} //playlist is a string

试试这个

$url2 = "http://$_SERVER[HTTP_HOST]/index.php";
$url = "http://" . $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI];
if($url2==$url) {
    $file= "/media/video.xml";
    $jwplayer= "<script>jwplayer('video1').setup({playlist:'$file'});</script>";
    echo $jwplayer;
}

我不确定你所说的"常数"是什么意思,但我会这样做,但我不能确定这是否适用于实际问题中提供的少量信息。

<?php
    $url2 = "http://$_SERVER[HTTP_HOST]/index.php";
    $url = "http://" . $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI];
    $file = "";
    if($url2==$url) {
        $file = "/media/video.xml";
    }
?>
<script>
jwplayer('video1').setup({playlist:'<?=$file>'});
</script>