создал тег ввода в php для цикла и получил значение

Я хочу создать предельный входной тег с php для цикла и получить входные значения. Мой пример кода такой:

<?php
$limit = 10;
for ($i=1; $i<=$limit; $i++) { ?>
<input name="<?php echo $i ?>" type="text" /><br>

<?php } ?>

Мой код правильный? Как я могу получить входные значения?

0

Решение

Выглядит хорошо, но я бы использовал массив в качестве входного имени. Например:

<?php
$limit = 10;
for ($i=1; $i<=$limit; $i++) {
?>
<input name="number[<?php echo $i; ?>]" type="text" /><br>

<?php
}
?>

Таким образом, на заднем плане вы можете просто перебрать массив чисел, вот так.

foreach ($_POST['number'] as $key => $value) {
// Do stuff
}
0

Другие решения

Ваш код должен правильно отображать 10 полей ввода html с именами 1, 2, 3, … 10

Чтобы получить входные значения, оберните поля ввода в элементе формы действием, указывающим на скрипт php, в котором вы хотите прочитать значения (например, action = «myscript.php»).

(Вы должны добавить input type = «submit», чтобы иметь возможность отправить форму. Я предполагаю, что вы достаточно хорошо знаете HTML, чтобы создать простую форму.)

Сценарий, вызванный отправкой формы (например, myscript.php), теперь сможет читать значения, используя массив $ _GET. Увидеть http://php.net/manual/de/reserved.variables.get.php

Вы можете напечатать значения следующим образом:

<?php
for($i=1;$i<=10; $i++) {
echo $i . ' : '. $_GET[$i];
}
?>

Редактировать: как сказал @David Jones, было бы лучше использовать массив в качестве входного имени

0

Вы можете попробовать мой сценарий.

<?php
$limit = 10;
?>

<form method="post">
<?php
for ($i = 1; $i <= $limit; $i++) {
?>

<input name="anything[]" type="text" /><br>

<?php } ?>
<input type="hidden" name="op" value="sent" />
<input type="submit"  value="submit" />
</form>

<?php
if (!empty($_POST["op"])) {

for ($i = 1; $i <= $limit; $i++) {
if (strlen($_POST["anything"][$i]) !== 0) {
?>
<p>The value of the <?php echo $i; ?> text field is: <?php echo $_POST["anything"][$i]; ?>
<?php
} else {
?>
<p><?php echo $i; ?> was not set.</p>
<?php
}
}
}
0
По вопросам рекламы [email protected]