如何对$ _POST的值进行分组,以便我可以正确处理它?

时间:2011-03-31 19:27:27

标签: php validation forms post

我的php文件中有很多字段集,其中大部分来自尚未处理的数据库..

我不知道会有多少字段集,所以输入的名称有数字,数字是我表格中id字段的id

<form action="" method="post">      
    <ul> 
        <fieldset> 
            <li class="span-24 " style="height:100px;"> 
                <div class="span-5 border"> 
                    <a href="a">Lorem Ipsum</a> 
                </div> 
                <div class="span-5 border"> 
                    <input type="text" name="1 company" value="" placeholder="Enter the company name.."  /> 
                </div> 
                <div class="span-5 border"> 
                    <input type="text" name="1 website" value="" placeholder="Enter the website"  />        
                </div> 
                <select name="1 category" class=span-4> 
                    <option value="Lorem1">Lorem </option> 
                    <option value="Lorem2">Lorem </option> 
                    <option value="Lorem3">Lorem ipsum </option> 
                    <option value="Lorem4">Lorem ipsum </option> 
                    <option value="Lorem5">Lorem ipsum </option> 
                    <option value="Lorem6">Lorem ipsum </option> 
                    <option value="Lorem7">Lorem ipsum </option> 
                </select>                       

                <select name="1 address[]" multiple="multiple"> 
                    <option value="Lorem ipsum 1">Lorem ipsum </option> 
                    <option value="Lorem ipsum 2" selected="selected">Lorem ipsum </option> 
                    <option value="Lorem ipsum 3">Lorem ipsum </option> 
                    <option value="Lorem ipsum 4" selected="selected">Lorem ipsum </option> 
                    <option value="Lorem ipsum 5">Lorem ipsum </option> 
                </select>   
            </li> 
        </fieldset> 

        <fieldset> 
            <li class="span-24 " style="height:100px;"> 
                <div class="span-5 border"> 
                    <a href="a">Lorem Ipsum</a> 
                </div> 
                <div class="span-5 border"> 
                    <input type="text" name="2 company" value="" placeholder="Enter the company name.."  />                     
                </div> 
                <div class="span-5 border"> 
                    <input type="text" name="2 website" value="" placeholder="Enter the website"  />    
                </div> 
                <select name="2 category" class=span-4> 
                    <option value="Lorem1">Lorem </option> 
                    <option value="Lorem2">Lorem </option> 
                    <option value="Lorem3">Lorem ipsum </option> 
                    <option value="Lorem4">Lorem ipsum </option> 
                    <option value="Lorem5">Lorem ipsum </option> 
                    <option value="Lorem6">Lorem ipsum </option> 
                    <option value="Lorem7">Lorem ipsum </option> 
                </select>                       

                <select name="2 address[]" multiple="multiple"> 
                    <option value="Lorem ipsum 1">Lorem ipsum </option> 
                    <option value="Lorem ipsum 2" selected="selected">Lorem ipsum </option> 
                    <option value="Lorem ipsum 3">Lorem ipsum </option> 
                    <option value="Lorem ipsum 4" selected="selected">Lorem ipsum </option> 
                    <option value="Lorem ipsum 5">Lorem ipsum </option> 
                </select>   
            </li> 
        </fieldset>

<input type="submit" name="submit" value="Submit"  />

</form>

但是当我访问$ _POST时,我无法正确分组数据,因为数据没有组合在一起..

有没有办法将每个字段集分组,以便我知道这些数据的插入位置?

2 个答案:

答案 0 :(得分:1)

$ _POST名称源自各个输入元素的name=属性。字段集被忽略。您需要为每个元素赋予唯一的name属性。

如果需要处理可变数量的元素,请使用命名前缀。然后,可以将单个元素命名为elem1elem2elem3等。这样,数据库中有多少条记录无关紧要。

答案 1 :(得分:0)

好吧,你的选择名称不应该有任何空格。并查看$ _POST ['category']会给你Lorem1。你可以使用$ _POST ['address']循环遍历这些值......“1”可能会抛弃你的代码。