[英]Calling PHP variables from inside a MySQL Database
我目前正在研究CMS系统,该系统直接从保存在MySQL数据库中的信息构建网站。
这是我遇到的问题:
这就是我一直在尝试的:
在frontend.php中:
echo $template_header;
在$ template_header内部:
<tr><td><center>'.$menu_code.'</center></td></tr>
在IE中运行frontend.php时应该是什么样子:
<tr><td><center><script>rest of menu coding in here</script></center></td></tr>
运行时的外观:
<tr><td><center>'.$menu_code.'</center></td></tr>
它像文本一样显示。 这可能是一个简单的问题,但是在此项目的紧迫期限内,任何帮助将不胜感激,并且任何建议将不胜感激。 谢谢
如果我正确理解你的话,一个简单的替换就可以解决问题:
$template_data = "<tr><td><center>{%REPLACE_WITH_CONTENT%}</center></td></tr>";
$template_data = str_replace("{%REPLACE_WITH_CONTENT%}", $menu_code, $template_data);
如果我对您的理解正确,这听起来像是您想要eval() ,它将把字符串解释为PHP代码,这意味着对$ menu_code的任何引用都将被视为PHP,而不是文本。
从手册中:
<?php
$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str. "\n";
?>
输出以下内容
This is a $string with my $name in it.
This is a cup with my coffee in it.
正如评论中指出的那样,此方法(eval())为我们打开了处理主要安全问题的大门。 此方法将评估任意代码,这可能非常危险。
您似乎正在寻找的是:
eval( $menu_code );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.