Я создаю простую программу, которая несколько похожа на xampp phpmyadmin, где создание базы данных, создание структуры таблицы динамически с использованием форм. Я попытался сделать их имена динамическими, чтобы я мог их зацикливать.
<?php $b =1; ?> Field:<input name="field$b" type="text" /></br>
Когда я отправляю форму, значение формы равно null. Вот код после принятия формы
$a = 1; $tblField = $_POST['field$a']; echo "field name : ".$tblField;
Выход
field name :
Я не уверен, что то, что я сделал, правильно, используя переменную во имя форм. но это единственный способ, который, я думаю, мог бы сделать так, чтобы я мог создавать динамические столбцы таблицы.
Что такое $
done в Field:<input name="field$b" type="text" /></br>
?? Если вы укажете знак $
в поле ввода имени, то весь код должен быть инкапсулирован в тегах php.
например: <?= 'Field:<input name="field$b" type="text" /></br>'; ?>
<?= 'Field:<input name="field$b" type="text" /></br>'; ?>
иначе, это не сработает
Неэкранированные переменные внутри отдельной квоты будут обрабатываться как текст:
$tblField = $_POST['field$a'];
Для того, чтобы:
$tblField = $_POST["field$a"];
См. Также ответ php NoOb
Что-то вроде:
<?php $b =1; echo "Field:<input name=\"field$b\" type=\"text\" /></br>"; ?>
?
Похоже, вы забыли использовать двойные кавычки вместо одиночных кавычек.
$_POST["field$a"];
вместо
$_POST['field$a'];