我遇到的问题是,我有一个表格:
<form method="POST" action="return.php" >
<div class="form_description">
<h2>Production Scheduler</h2>
<p>Enter the quantity of a product</p>
</div>
<p>ET63 <input type="text" name="1"/></p>
<p>ET61 <input type="text" name="2"/></p>
<p>ET83 <input type="text" name="3"/></p>
<p>ET81 <input type="text" name="4"/></p>
<p>ET85 <input type="text" name="5"/> </p>
<p>ET103 <input type="text" name="6"/> </p>
<p>ET153 <input type="text" name="7"/> </p>
<p>ET6SCORE <input type="text" name="8"/></p>
<input type="submit" name="submit" value="Submit" />
</form>
哪个好。一切都按我想要的方式运作。 name="#"
实际上不是数字,但隐私权已更改。
所以问题是,我想测试以确保我得到结果并删除额外的信息,但我不能让我的PHP运行。这是返回php:
<body>
<?php
for ($x =0; $x > 0; $x++) {
if ($_POST[$x] >= 1) {
echo $_POST[$x];
}
}
?>
</body>
我尝试过投射if ($POST[$x] >= 1)
。我是PHP的新手(约一周大)。
一切都是.php
我在启用php的服务器上运行它
答案 0 :(得分:1)
你的循环不会结束,因为条件总是会导致
您的循环甚至不会启动,因为它始于true
。 false
。
也许把它改成像:
for($x =0; $x < count($_POST); $x++)
{
if($_POST[$x] >= 1)
{
echo $_POST[$x];
}
}
这使得$_POST
元素的最大数量成为循环的限制。但通常,就像评论中的内容一样,我们检查$_POST
(或实际上的任何变量)的方法是使用var_dump()
此函数显示有关包含其类型和值的一个或多个表达式的结构化信息。递归地探索数组和对象,其中值缩进以显示结构。
答案 1 :(得分:1)
你在循环中犯了一个错误:
for($x =0; $x > 0; $x++) {
if($_POST[$x] >= 1)
{
echo $_POST[$x];
}
}
它将在第一次迭代时停止。你要求继续$x > 0
,它的初始值。所以第一次迭代,你有if 0 > 0
。所以它停止了。
你应该尝试类似的东西:
$limit = count($_POST);
for ($x = 0; $x < $limit; $x++) {
if ($_POST[$x] >= 1) {
echo $_POST[$x];
}
}
顺便说一句,如果$_POST
的密钥不是数字,请尝试使用foreach
:
foreach ($_POST as $key => $value) {
if ($value != $whatIWantToExclude) {
echo $value;
}
}