计算控制器中的POST总数

时间:2014-05-21 06:20:31

标签: php forms codeigniter

一点背景:我正在为学校建立一个交通系统。管理员可以添加位置以配置路由。我刚给了一个文本框来添加一个地方和ADD按钮以继续添加更多文本框,这样他就可以一次添加多个地方。 问题:用户填写数据,如果他希望他添加他需要的输入框并将其发送给控制器。我怎么能知道,他添加了多少地方。由于一些原因,我无法使用JavaScript验证。 我正在使用php-codeigniter

<div class="control-group">
                <input type="hidden" name="count" value="1" />
                <div class="control-group" id="fields">
                    <label class="control-label" for="field1">Enter Place/Stop</label>
                    <div class="controls" id="profs"> 
                        <div class="input-append">
                            <input autocomplete="off" class="span10" id="field1" name="place_6" type="text" data-items="8"/><button id="b1" class="btn btn-info add-more" type="button">Add more</button>
                        </div>
                    <br>
                    <small>Press button to add another place</small>
                    </div>
                </div>
                </div>

和jQuery

$(document).ready(function(){
var next = 1;
$(".add-more").click(function(e){
    e.preventDefault();
    var addto = "#field" + next;
    next = next + 1;
    var newIn = '<br /><br /><input autocomplete="off" class="span10" id="field' + next + '" name="place_'  + (next+5) + '" type="text">';
    var newInput = $(newIn);
    $(addto).after(newInput);
    $("#field" + next).attr('data-source',$(addto).attr('data-source'));
    $("#count").val(next);  
});
});

1 个答案:

答案 0 :(得分:3)

确保新输入和现有输入的名称带有结尾&#34; []&#34;而不是数字,你将在$ _POST中获得一个数组。 这个:

<input type="text" name="places[]" />

会给你:

$_POST['places']; # array() with all posted inputs

从那里你可以做count()

count($_POST['places']);