0

我有一个要发送到 php 表单的 html 表单。我可以将所有内容都设置为一个变量,除了一个可以包含 1-20 个元素的字段。我要发布的名称是 cred_x_name 问题是用户可以放入 1 个元素或 20 个元素,我不确定放入了多少个。我知道我必须使用计数功能,但不知道如何使用它。到目前为止我有

$j=  count($cred_req_name);
for ($i=0; $i<$j;$j++)
{
echo "test";
}

不确定这是否是正确的方法。任何帮助,将不胜感激。谢谢,拉维

4

1 回答 1

0

查看您的链接后,我想我会执行以下操作:

$credentials = array();

for ($i = 1; $i <= 20; $i++)
{
    if (isset($_POST['cred_'.$i.'_name']) && !empty($_POST['cred_'.$i.'_name'])
    {
        $credentials[] = array(
            'name' => $_POST['cred_'.$i.'_name'],
            'city' => $_POST['cred_'.$i.'_city'],
            //  etc
        )
    }
}

那么你所拥有的是用户输入的所有凭据的完整数组,空行将被忽略。例如,如果只输入了 3 个凭据,那么您的数组$credentials将是 3 个元素长。然后,您可以使用此数组来处理您想要的内容,例如在数据库中输入凭据。这一次,您将使用 foreach 来解析您刚刚创建的数组。

也要注意大写:'cred_'.$i.'_name''Cred_'.$i.'_name'. 将所有“名称”属性转换为“cred_x_foo”(而不是“Cred_x_foo”),否则事情将无法按预期工作。

无论如何,不​​要忘记清理您的输入,因为它们似乎不是现在。

希望能帮助到你。

于 2013-08-03T14:51:11.357 回答