用PHP返回信息


Returning Information in PHP

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

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

你在循环中犯了一个错误:

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

循环不会结束,因为条件总是会导致true循环甚至不会开始,因为它是从false开始的。可以改成这样:

for($x =0; $x < count($_POST); $x++)
{
    if($_POST[$x] >= 1)
    {
        echo $_POST[$x];
    }
}

这使得$_POST元素的最大数目成为循环的限制。但通常,就像评论中所说的,我们检查$_POST(或任何变量)的方法是使用var_dump()

该函数显示一个或多个表达式的结构化信息,包括其类型和值。数组和对象递归地探索,值缩进以显示结构。