如何使用存储在数据库中并在新页面中回显的PHP代码?

时间:2018-10-08 16:27:51

标签: php mysql

我是PHP的初学者,所以我需要一些帮助。

我已将一些PHP代码存储在MySQL数据库(在表中)中,现在在与数据库成功连接并选择正确的数据库之后,我试图在另一个PHP页面(<?PHP echo $result['code'];?>)中回显我将代码存储在code列中的表。但这不起作用。

如果我将HTML或JavaScript或任何代码存储在数据库中并尝试回显,则内容将按编程方式显示,如该图所示:

So here is the image of view-sourcecode page where I'm trying to show that HTML or HTML CSS works perfectly, but in the case of PHP it shows the PHP in red colour and it does not work

但是它不适用于PHP。我该如何解决?

1 个答案:

答案 0 :(得分:1)

我将不得不做一些猜测,并显示一个非常简单的示例,但是类似以下的内容应该可以工作。

  1. 在表中添加一个code_type列,其值为html, php 等。

  2. 确保已测试数据库中存储的所有php代码并返回一些输出(不使用<?php标记)。例如:

    $var1 = 100;
    $var2 = 10;
    $var3 = 1;
    
    echo "<h1> The equation of ($var1*$var2+$var3) equals</h1>";
    echo "<p>".($var1*$var2+$var3)."</p>";
    
  3. 在数据输出脚本中使用code_type来评估PHP代码或在其他所有情况下仅回显PHP代码:

    <?php
    if ($result['code_type'] == 'php') {
        eval($result['code']);
    } else {
        echo $result['code'];
    }
    ?>
    

我不能说我曾经使用过它,所以我不能保证任何事情,但希望能为您指明正确的方向。

重要提示:

值得注意的是,PHP Manual page中多次指出,这不是一种好的做法。手册本身在多个地方都有说明,但第一个注释是关键的:

  

如果eval()是答案,那么您几乎肯定会问错   题。 -Rasmus Lerdorf,PHP的BDFL

...在将php代码保存到数据库之前,解析一下php代码可能会好很多,那么您就不必担心其中的任何一个了!