【问题标题】:Inserting PHP inside HTML code, ie. inside < ... value="PHP CODE HERE" /> - workaround?在 HTML 代码中插入 PHP,即。在 < ... value="PHP CODE HERE" /> 内 - 解决方法?
【发布时间】:2011-10-09 17:36:29
【问题描述】:

我在 wordpress 上定义了自定义字段,我在其中为我写的每篇文章输入了一个剧集编号。我想在表单中使用这个值,但我需要保持表单代码相同,并且在每个帖子中使用简码调用它,因为要手动编辑的帖子太多了。

我试过了

<input type="hidden" name="Episode" value="<?php the_meta(); ?>"/>

将表单内 Episode 的值设置为该特定帖子的值,但仍然可以在页面源代码上看到 php 代码,因此无法通过。有解决办法吗?

【问题讨论】:

    标签: php html forms wordpress


    【解决方案1】:

    你必须回应响应。

    <input type="hidden" name="Episode" value="<?php echo the_meta(); ?>"/>
    

    当然你也可以使用打印功能。

    【讨论】:

    • 它仍然在源代码中显示为 ,就像 PHP没有被调用
    • 那么你的 the_meta() 函数可能有问题。或者页面没有被解释为 PHP,这完全有可能取决于您的 CMS 处理页面生成的方式。
    • 当我放 在帖子中它显示正确的数据,但
    【解决方案2】:

    您需要echo the_meta() 的值才能显示在您的页面上。

    试试这个

    <input type="hidden" name="Episode" value=<?php echo "'" . the_meta() ."'"; ?>/>
    

    编辑: 我稍微更改了代码。试试看。

    【讨论】:

    • 它仍然在源代码中显示为 ,就像 PHP没有被调用
    • @Serj 是对的,这里还有其他问题。其他 PHP 脚本是否运行?
    • 所有其他 PHP 脚本正在运行。这很奇怪。
    • 我找到了一半的解决方案。使用简码意味着它不起作用,但是复制整个表格来代替简码是可行的。这是因为短代码本身正在调用一个函数吗?刚试过你的代码,我得到 Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
    • 页面的 html 中的其他地方是否有未封闭的引用?
    【解决方案3】:

    虽然上面的答案(由 jjs9534)是正确的,但您通常需要回显 the_meta,这不是问题,问题是您的文件没有被 PHP 解析,您要么需要将扩展​​名重命名为 .php或使用 .htaccess(在 Unix 上)服务器 web.config(在 Windows 上)来添加您用于将页面解析为 php 文件的扩展名......所以在 .htaccess 中,解析 .htm 或 .html您将添加的 PHP 文件:

    AddHandler application/x-httpd-php .html .htm
    

    【讨论】:

    • 谢谢,但它仍然无法正常工作。如果有任何帮助,我有一个使用简码调用表单的函数。我认为这并不重要,因为源代码显示了所有内容,只是它没有执行 php 函数。
    • 我找到了一半的解决方案。使用简码意味着它不起作用,但是复制整个表格来代替简码是可行的。这是因为短代码本身正在调用一个函数吗?
    • 是的,在将其输出到显示页面之前,您需要在包含 HTML/PHP 的变量上运行 eval() 并使用简码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    • 2017-11-12
    • 2018-06-04
    • 1970-01-01
    相关资源
    最近更新 更多