脚本源文件与php无法解析

时间:2012-09-01 06:39:11

标签: php javascript html css

我的所有页面都有一个菜单。它包含用于将文件名传递给url的php,如下所示。这是一个片段......

document.write('<li><a href="somefile.php?folder=<?php echo "_abc"; ?>">abc</a></li>');
document.write('<li><a href="somefile.php?folder=<?php echo "_def"; ?>">def</a></li>');
document.write('<li><a href="somefile.php?folder=<?php echo "_ghi"; ?>">ghi</a></li>');

它包括css,并且工作正常。 我已将菜单保存为单独的.js文件并使用...

<script src="js/menucss.js"></script>

...从我希望它出现的每个页面加载它。菜单显示和CSS工作正常 - 但PHP不解析,页面显示PHP标记。我做错了什么?

提前致谢。 尼尔

4 个答案:

答案 0 :(得分:1)

你不应该这样做。

将某个名为menu.php的页面保存在某处,其中包括:

<ul>

    <li><a href="somefile.php?folder=<?php echo "_abc"; ?>">abc</a></li>
    <li><a href="somefile.php?folder=<?php echo "_def"; ?>">def</a></li>
    <li><a href="somefile.php?folder=<?php echo "_ghi"; ?>">ghi</a></li>

</ul>

然后在服务器端包含它(index.php):

<html>
<head>
    <title></title>
</head>
<body>
<header>
    <?php include("main.php"); ?>
</header>
</body>
</html>

这种方法远非优越:

  • 它不需要额外的请求来获取数据。
  • 数据加载时不会出现闪烁或尴尬的时刻,菜单会显示为直接将其编码到页面中。
  • 它快得多。
  • 它不使用JavaScript,客户端可以选择禁用它。

答案 1 :(得分:0)

您混淆了服务器端和客户端。 PHP是关于服务器端的,它是在服务器上解释的PHP代码。 JavaScript是关于客户端的,并且JavaScript在用户已经获得html页面时运行,因此当您在客户端通过JavaScript以html语言添加php时,它无法运行。

答案 2 :(得分:0)

根据我的理解,我认为您正在尝试在.js文件中运行PHP 您应该将该代码包含在PHP文件中。

答案 3 :(得分:0)

您遇到的问题可能是由于您尝试在.js文件上运行PHP,而您的服务器未配置它。

将文件的扩展名更改为.php并使用:

<script src="js/menucss.php">