0

所以我得到了以下信息:我正在创建动态页面(基于页面 ID(通过 $_GET 获得))。我的页面包含一个 $_get 检查(只有在设置了 $_GET 变量时才会显示 html)和带有 html 标签 + php 变量的页面的回显。像:

<table>
<tr> 
  <td>Name:</td>
  <td>myFunction('foo');</td>
</tr>
</table>

等等等等等等

我使用函数 include 和 isset($_get) 将 myincludedfile.php 上方的这段代码包含到我的主文件中。

echo include 'myincludedfile.php';

然而,这似乎不起作用。尽管显示了 html,但变量和函数仍然是文本并且不会被执行。

谁能帮我吗?

4

4 回答 4

2

像这样改变它:

<table>
<tr> 
  <td>Name:</td>
  <td><?=myFunction('foo');?></td>
</tr>
</table>

这样你实际上是在模板中打开一个小的 PHP 块。<?=是 的简写符号<?php echo,但是否启用简写取决于您的服务器配置。

如果函数不返回值,而是回显它,您也可以省略=并像这样执行函数:<? myFunction('foo'); ?>或长符号:<?php myFunction('foo'); ?>

通常,您不需要<?php在文件的开头。只是<?php .. ?>标签内的所有内容都作为 php 执行,其余的被认为是静态输出。

echo顺便说一句,您在包含文件时不需要使用。

于 2013-07-17T21:43:04.363 回答
0

这是另一种选择

$myfunction = myFunction('foo');

echo <<<CODE
  <table>
  <tr> 
    <td>Name:</td>
    <td>$myFunction</td>
  </tr>
  </table>
CODE;

include 'myincludedfile.php';

这称为heardoc语法http://php.net/manual/en/language.types.string.php#example-75

于 2013-07-17T22:28:37.763 回答
-1

您将必须包含这样的文件:

  include 'myincludedfile.php';

你在做什么,正在回显 php 文件

于 2013-07-17T21:43:14.053 回答
-1

看:

  <?php
  $html="<h1>Hello</h1>";

  function hello()
  {
  echo "<h1>Hello</h1>";
  }

  function hello2()
  {
  ?>
  <h1>Hello</h1>
  <?php
  }
  ?>

所有这些都做同样的事情。
要使用它们,您可以执行以下操作:

  <?php
  hello(); // Hello
  hello2(); // Hello
  echo $html; // Hello
  ?>

我认为我没有得到您需要的东西,但请尝试更加具体。

于 2013-07-17T22:21:19.493 回答