PHP嵌入在Javascript中

时间:2009-02-27 10:59:57

标签: php javascript

在我的项目中我有这样的情况。

<script language="JavaScript">
function fonsubmit()
{
    alert('Out side PHP');
    //Here the php code starts 
    include("customerpage.php");
    $cc="us";
    $clang="en";
    $cpath="us"; 
    some coding goes here......
    Php ends here
}
</script>

但它显示了Object预期的错误。这有什么问题?但我只给PHP标签它不会产生任何错误。请帮助我找出这个问题,提前谢谢......

5 个答案:

答案 0 :(得分:12)

您尝试在基于客户端的语言中嵌入基于服务器的语言。 这不起作用。

如果你能解释一下你想要实现的目标,可能会有一个更好的解决方案,比如AJAXie类型的东西。

让我再解释一下,其他人已经给出了可以放在这里的答案。

您可以在* .php文件中嵌入php,这些文件将在服务器上解释并在那里进行解析。使用此功能,您可以设置javascript稍后可以获取的变量,并在客户端使用。就像我说的那样,尽管客户端没有用于解释和解析php的路由,因此向用户发送php是行不通的。

如果你是想让事情变得有效,那么你的php会设置一些javascript值,那么我会像Gary Willough和Tudor Olariu这样说,添加php标签

<?php
... PHP CODE...
?>

但是,您必须意识到这将在服务器上解释,而不是在客户端上解释。因此,以下代码将提醒“外部php”,然后“内部php”。

<script language="JavaScript">
function fonsubmit()
{
   alert('outside php');
   <?php
     $message = "inside php";
     echo "alert('$message');";
   ?>
}
</script>

发送给用户的html将是

<script language="JavaScript">
function fonsubmit()
{
   alert('outside php');
   alert('inside php');
}
</script>

希望这有帮助。

答案 1 :(得分:2)

我不了解JavaScript,但JS是客户端语言,这意味着它会在网页浏览器中进行评估,因为您的网页用户会查看它。 PHP是服务器端语言,这意味着它是在托管您网页的计算机上进行评估的。您的浏览器无法评估PHP代码。 所有 PHP必须在服务器上完成。您必须无条件地评估PHP,否则无法对PHP进行评估。然后使用JavaScript选择要显示的PHP输出的哪一部分 - 这将达到我认为你想要的效果。

答案 2 :(得分:2)

您缺少php start和标签:

function fonsubmit() 
{ 
    alert('Out side PHP'); 
    //Here the php code starts 

    <?php
    include("customerpage.php"); 
    $cc="us"; 
    $clang="en"; 
    $cpath="us"; 
    //Php ends here 
    ?>
}

请注意,您的PHP代码将在您的javascript启动之前在服务器上执行

答案 3 :(得分:1)

另一种方法是在PHP中显示Javascript。不要将PHP放在Javascript中,而是将Javascript放在PHP中。例如,您可以这样做:

<?php
echo '<script language="JavaScript">
function fonsubmit()
{
   alert("outside php");
';

   // here is where you insert your PHP code
   include("customerpage.php");
   $cc="us";
   $clang="en";
   $cpath="us"; 

echo '
}
</script>';
?>

当然,回应Javascript逻辑并不能很好地理解。您还可以做的是通过回显来指定Javascript的开头,

<?php
echo '<script language="JavaScript">';
?>

然后正常插入所需的Javascript。每当你想插入PHP代码时,用&lt;?php?&gt;包围它。标签

答案 4 :(得分:0)

PHP应该包含在正确的php标签中:

<?php include("customerpage.php"); $cc="us"; $clang="en"; $cpath="us"; ?>

确保您的网页具有* .php扩展名,并在安装了PHP的服务器上运行。