使用用户输入创建PHP变量,最好是表单

时间:2018-03-11 09:27:07

标签: php

你可以使用文本输入声明一个php变量

例如: 我想要一个名称为v1且值为1的变量。 我将首先输入变量的名称,然后设置它的值...

可以用php完成吗?

2 个答案:

答案 0 :(得分:2)

php允许使用类似$$varname的表示法来实现“动态变量名称”。

所以你可以这样做:

<?php
$varname = $_POST['varname'];
$$varname = $_POST['value'];

但要小心,这些东西会打开一系列安全问题......

目前还不清楚你真正想做什么......如果这是你想到的网络表单或命令行应用程序。这是一个展示上述原则的简单例子:

<?php
$varname = readline("enter a variable name: ");
$value = readline("enter a variable value: ");
$$varname = $value;
echo sprintf("variable '%s' now has value '%s'\n", $varname, $$varname);

如果您执行该操作并输入名称“abc”和值“123”,则显而易见的输出为:

arkascha ~/Test$ php ./test.php
enter a variable name: abc
enter a variable value: 123
variable 'abc' now has value '123'
arkascha ~/Test$

答案 1 :(得分:0)

从表单提交中获取php变量的另一个非常简单的方法是使用extract

  

提取 - 将变量从数组

导入当前符号表

More information

<!doctype html>
<html>
    <head>
        <meta charset='utf-8' />
        <title>PHP Variables from form submission</title>
    </head>
    <body>
        <form method='post'>
            username <input type='text' name='username' />
            password <input type='password' name='password' />
            email <input type='email' name='email' />
            number <input type='number' name='number' />
            radio
            <radiogroup>
                <input type='radio' name='rad' value='1' />
                <input type='radio' name='rad' value='2' />
                <input type='radio' name='rad' value='3' />
            </radiogroup>
            <input type='submit' />
        </form>
        <?php

            if( $_SERVER['REQUEST_METHOD']=='POST' ){
                extract( $_POST );

                echo $username, $password, $email, $number, $rad;
            }

        ?>
    </body>
</html>