在php中为循环创建输入标记并获取值


created input tag in php for loop and get value

我想用php为循环创建limit input标记并获取输入值。我的示例代码是:

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

我的代码正确吗?如何获取输入值?

你可以试试我的脚本。

<?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
        }
    }
}

看起来不错,但我会使用数组作为输入名称。例如:

<?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
}

您的代码应该呈现10个名称为1、2、3…的html输入字段。。。10正确

要获得输入值,请将输入字段包装在一个表单元素中,并使用指向要读取值的php脚本的操作(例如action="myscript.php")。

(你应该添加一个输入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所提到的,最好使用数组作为输入名称