将自定义PHP源添加到HTML中

时间:2012-10-07 18:58:19

标签: php html code-snippets

需要一些帮助才能将PHP添加到HTML中。我试图在PHP中嵌入PHP代码片段,但是输出在文本框中显示片段而不是评估它。

在HTML(register.php)中,添加了以下代码行

<tr>
    <td>
        <?php utils::addControl('Name','label'); ?>
    </td>
    <td>
        <?php utils::addControl('username','text'); ?>
    </td>
</tr>

这是utils :: addControl()

的来源
    public function addControl($ctlName, $type) {

    switch ($type) {
        case 'text':
            echo <<<EOT
            <input type='text' name='$ctlName' value='&lt?php echo htmlspecialchars($ctlName); ?&gt'>
   EOT;
            break;
        case 'label':
            echo "<label for id='lbl$ctlName'>$ctlName</label>";
            break;
    }

输出在文本框中显示<?php echo htmlspecialchars(username); ?>

应该做些什么才能正确评估PHP代码段。 TIA。

1 个答案:

答案 0 :(得分:3)

服务器通常仅配置为在查找PHP时对脚本进行单次传递...

Source → PHP → Output

不是双通:

Source → PHP → PHP → Output

如果它确实执行了双次传递,那么如果你想在输出中包含序列<?php(如果打开短标签,甚至是<?),你就必须跳过箍。 / p>

编写PHP,使其首先生成您想要的输出,不要尝试从PHP生成PHP。

$htmlCtrlName = htmlspecialchars($ctlName);
echo "<input type='text' name='$htmlCtlName' value='$htmlCtrlName'>"