【发布时间】:2014-09-24 11:36:47
【问题描述】:
我被困住了... 我有一个变量,其中包含 html(有时是 javascript)和 php 代码(其他变量),并存储在 mysql db 中。 基本上,我要做的就是将变量插入页面-> 什么有效,但 php 代码没有执行,它只是像 txt 一样显示。所以我正在寻找一种插入变量的方法,以便识别和执行php代码(插入变量)..
到目前为止我尝试了什么: (很简单)db中存储的示例代码:
图像变量(new_p_img):
<a href="product.php"><img src="new.png" alt="New Products" width="250" height="250"></a>
图像显示代码变量(new_p_dis):
<div class="new-products">
<?php echo $new_p_img; ?>
</div>
为了显示在网站上,我尝试了
<?php echo $new_p_dis; ?>
代码在源代码中完美显示,但 php 回显代码无法识别/执行,其处理方式与普通 txt 相同。 我还尝试通过一个额外的文件来包含它。
示例代码 new-product.php
<?php echo $new_p_img; ?>
为了显示在网站上,我尝试了
<?php echo include('products/new-product.php'); ?>
没有工作...如果我将“new_p_dis”代码直接放入站点或 new-product.php 文件中
<div class="new-products">
<?php echo $new_p_img; ?>
</div>
它工作正常,但我必须重新编码整个网站.....这不是一个选项:(
是否有可能预加载 var "new_p_dis" 添加缺少的 "new_p_img" var,然后将最终代码插入页面?
一个代码示例真的可以帮到我。
谢谢
PS: eval() 不是一个选项 ;)
PPS:上面的代码只是一个简单的例子,真正的代码要复杂得多,vars都是通过php动态创建并存储在数据库中的->我只需要一个起点:)
【问题讨论】:
-
你认为不使用
eval将如何执行任意字符串?为什么要将代码存储在数据库中? -
代码是在从“订单处理软件”导入期间生成并插入的,无法更改....“eval(代码)”的直接用法是我第一次尝试在本地工作,但不允许在托管计划中使用....
-
eval是答案,句号。另外,请记住“如果 eval 是答案,那么您几乎肯定会问错问题”(Rasmus Lerdorf)。
标签: php variables include execute