我想用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所提到的,最好使用数组作为输入名称