【问题标题】:Dynamically, naming form elements in PHP在 PHP 中动态命名表单元素
【发布时间】:2013-03-30 08:49:17
【问题描述】:

我将创建一个类似于 xampp phpmyadmin 的简单程序,其中创建数据库、创建表结构是使用表单动态创建的。我试图让他们的名字动态化,这样我就可以循环他们。

<?php $b =1; ?>

Field:<input name="field$b" type="text" /></br>

当我提交表单时,表单的值为空。这是表单提交后的代码

    $a = 1;

    $tblField = $_POST['field$a'];

    echo "field name : ".$tblField;

输出是

field name : 

我不确定在表单名称中使用变量是否正确。但这是我认为我可以这样做的唯一方法,以便我可以动态创建表列..

【问题讨论】:

  • 这是实际代码吗?因为你不能在不打开 PHP 标签的情况下使用 PHP 变量。
  • 尝试使用双引号,但这样做的方式很奇怪。
  • 最好将filedname存储在表中,因为它是动态的,这将有助于您在未来的增强。

标签: php forms


【解决方案1】:

$Field:&lt;input name="field$b" type="text" /&gt;&lt;/br&gt; 中做什么??如果要在输入名称字段中包含美元符号$,则必须将整个代码封装在 php 标记中。

像这样:&lt;?= 'Field:&lt;input name="field$b" type="text" /&gt;&lt;/br&gt;'; ?&gt; 否则,它不会工作

【讨论】:

  • &lt;?= ?&gt; 应始终避免。 &lt;?php echo ?&gt; 是要走的路
【解决方案2】:

类似:

<?php  $b =1;  
echo "Field:<input name=\"field$b\" type=\"text\" /></br>"; 
?>

?

【讨论】:

    【解决方案3】:

    单个配额内未转义的变量将被视为文本:

    $tblField = $_POST['field$a'];
    

    收件人:

    $tblField = $_POST["field$a"];
    

    另见 php NoOb 的回答

    【讨论】:

      【解决方案4】:

      您好像忘记使用双引号而不是单引号。

      $_POST["field$a"];
      

      而不是

      $_POST['field$a'];
      

      【讨论】:

        猜你喜欢
        • 2013-01-05
        • 1970-01-01
        • 2012-03-29
        • 2021-10-18
        • 2013-08-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-17
        相关资源
        最近更新 更多