在PHP中返回信息

时间:2016-06-28 16:28:51

标签: php forms

我遇到的问题是,我有一个表格:

<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的服务器上运行它

2 个答案:

答案 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;
    }
}