为什么我们需要隐藏的价值


Why do we need hidden values?

最近一直在学习PhP,但我对隐藏值感到困惑,例如:

if (isset($_POST['userid']))
{
    $userid = $_POST['userid'];
} else {
    $userid = '';
}
if (isset($_POST['password']))
{
    $password = $_POST['password'];
} else {
    $password = '';
}
if (isset($_POST['userid']))
{
    print "<input type='hidden' name='userid' size='11' value='".$userid."' /><br /> ";
    print "<input type='hidden' name='password' size='11' value='".$password."' /><br /> ";
} else {
    print "<h2>Enter UserId/Password to Login: </h2>";
    print "<table> ";
    print "<tr> ";
    print "<td>User ID</td><td><input type='text' name='userid' size='11' /><br /> ";
    print "</tr> ";
    print "<tr> ";
    print "<td>Password</td><td><input type='password' name='password' size='11' /></td> ";
    print "</tr> ";
    print "</table> ";
    print "<p><input type='submit' name='mysubmit' value='Login' /> ";
    print "</form></body></html>";
    exit;

我不明白隐藏值的目的。根据这个网站,它是为了验证表单,但它不会验证用户插入的输入吗?

有人能给我解释一下吗?

隐藏的输入用于您已经拥有的值,您不需要用户插入它们。

假设您有一个用户添加自己的产品的网站,当用户想要编辑他的产品时,您需要将数据库中的产品id与表单一起发送,以了解用户正在编辑的产品,同时,用户甚至不知道产品id是什么,因此您将其作为隐藏输入传递。

你展示的帖子没有真正的意义,也许你正在检查一个网站是坏的或包含过时的信息。