这只是一个假设,因为我只是想使用最有效的方法来处理这个问题。
假设你有一个超过100个文本框的页面,还有一个提交按钮,可以将你带到下一页并显示你所写的内容。
我该如何只打印已经填好的文本框呢?
我知道如何用很多if语句或很长的switch语句来做到这一点,但也许有更简单的方法?
谢谢!
是的,有。简单地称它们为编号。例如,你会有textbox1, textbox2, textbox3…这样,在下一页中,您只需构建一个for循环。
for ($index = 1; $index < 100; $index++) {
if (!empty($_REQUEST["textbox" . $index]))
{
echo "textbox number {$index} isn't empty!";
}
}
类似
<?php
for($i=0; $i<100; $i++){
if(!empty($_POST['textbox'.$i]))
echo $_POST['textbox'.$i].'<br>';
}
?>
应该可以。
我没有测试
如果名称本身不重要,我会给他们命名为txtbox[] (name="txtbox[]")通过这种方式,您可以为所有属于一起的盒子选择一个名称,有一个特定的数组来循环$_POST['txtbox']。然后将它们全部回显
foreach($_POST['txtbox'] as $key => $tb) {
echo "<br>Box " . $key . ": " . $tb;
}
将它们命名为txtbox_1
到txtbox_100
foreach ($_POST as $key => $value) {
if (is_integer(strpos($key, 'txtbox_')) && $value != '') {
echo "<br />$key = $value ";
}
}