php - 允许用户编辑 php 代码并安全地提交结果

标签 php forms input edit

有没有办法让用户安全地编辑PHP代码,例如这是一个基本的PHP代码来回显 Hello World !到页面上。

这个想法是不允许完全编码更改,只是像数组这样的东西,或者他们可以在 mktime 之类的东西中编辑日期。我想也许有一种方法可以将表单输入字段回显到 php 代码中,然后显示结果。

我怎样才能允许用户编辑将代码(Hello World!)更改为其他内容,然后单击提交以显示编辑。

<?php
echo "Hello World!";
?>

或者另一个例子是用户如何编辑数组中的单词

<?php
        $words = array("the ", "quick ", "brown ", "fox ",
        "jumped ", "over ", "the ", "lazy ", "dog ");
        shuffle($words);
        foreach ($words as $word) {
            echo $word;
        };

        unset($word);
      ?>

我想我必须创建一个表单来获取 php 代码并以某种方式让它显示编辑后的结果?

<form name="form" method ="get" action="a.php">
    <input type="text" id="edit" name="edit" size="30" />      
    <input type="submit" value="Submit" >
</form>

对于正在查看此内容并想知道可以使用表单和 php 创建什么内容的任何人,请参阅此处 Form that edits php script

最佳答案

你想要完成的事情就是变量的用途。 以这个例子为例:

  echo "Hello World!";

您可以将其更改为

  echo $_POST["data"];

在你的html中

  <form type='post'>
       <input type='text' name='data'/>
       <input type='submit'/>
  </form>

See it in action

应该不惜一切代价避免评估,对于一小部分问题,使用评估是一个明智的解决方案。

关于php - 允许用户编辑 php 代码并安全地提交结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17926471/

相关文章:

php - 为什么我的数据库中的数据不显示?

c# - C# Windows 窗体的设计模式

javascript - 防止页面产生更多对话

jQuery 无法使用 .val ('' 清除特定输入)

PHP 启动 : Unable to load dynamic library 'openssl' in Ubuntu

php - php/mysql 中按日期分组

PHP 类型转换为整数

php - 方法 ="GET"给出空的 $_GET,方法 ="POST"给出非空的 $_GET。为什么? (PHP 5.6.6)

Java 读取和写入标准流不工作

javascript - 构建类似 RSVP 的表格(下一个问题基于上一个问题)