解析用print()命令输出的php代码

时间:2013-11-06 16:49:22

标签: php parsing

我正在为我的网站编写一个PHP脚本,它从表单中获取信息,对其进行计算,并在新页面中返回结果。程序本身的作用不是问题,而是如何格式化输出。下面是我的程序中最终将内容写入网页的部分:

.... code ....

$output = <<< EOHTML
<?php require_once "../includes/header.htm"; ?>
        <title>$var1</title>
    </head>
    <body>
        <div id="container">
            <?php include_once "../includes/banner.htm";
                require_once "../includes/menu.htm"; ?>
            <div class="content">
                <h1>Test</h1>

                <p>Variable 1: $var1</p>
                <p>Variable 2: $var2</p>
                <p>Variable 3: $var3</p>
                <p>Variable 4: $var4</p>
                <p>Variable 5: $var5</p>
                <p>Variable 6: $var6</p>

            </div>
            <?php include_once "../includes/footer.htm" ?>
        </div>
    </body>
</html>
EOHTML;

print($output);
?>

然而,当HTML工作时,它似乎按字面打印PHP部分,并且服务器无法解析它。各种“包含”用于加载我网站的部分内容,包括CSS,因此输出在白色背景上只有6行文字。

有没有办法让它输出HTML和PHP(并且都能正确解析)或者将PHP输出放到表单所在的同一页面上?

2 个答案:

答案 0 :(得分:1)

试试这个:

<html>
<head>
<?php require_once "../includes/header.htm"; ?>
    <title><?php echo $var1; ?></title>
</head>
<body>
    <div id="container">
        <?php include_once "../includes/banner.htm";
            require_once "../includes/menu.htm"; ?>
        <div class="content">
            <h1>Test</h1>

            <p>Variable 1: <?php echo $var1; ?></p>
            <p>Variable 2: <?php echo $var2; ?></p>
            <p>Variable 3: <?php echo $var3; ?></p>
            <p>Variable 4: <?php echo $var4; ?></p>
            <p>Variable 5: <?php echo $var5; ?></p>
            <p>Variable 6: <?php echo $var6; ?></p>

        </div>
        <?php include_once "../includes/footer.htm" ?>
    </div>
</body>
</html>

你的变量没有被php调用所以html把它作为文字输出。

答案 1 :(得分:0)

除了如何在代码的HTML部分中使用变量(请参阅iamde_coder的答案)之外,您将PHP文件保存为xxxxx.htm文件。您的Web服务器在调用时不会执行任何此类文件,而是返回其内容,包括任何PHP源代码。

将文件存储为xxxxx.php文件(如果它们包含任何PHP代码,并且您的网络服务器将执行它们!)

在深入研究更多应用程序逻辑之前,您可能还想阅读更多教程。