Php 正在计算控制器中的职位总数
一点背景:我正在为一所学校建造一个交通系统。管理员可以添加位置来配置路由。我刚刚给了一个文本框来添加一个位置,添加按钮来不断添加更多的文本框,这样他就可以一次添加多个位置。 问题是:如果用户愿意,他可以添加所需的输入框,并将其发送到控制器。我怎么才能知道,他在这个地方加了多少。我不能使用JavaScript验证,原因很简单。 我正在使用php codeigniterPhp 正在计算控制器中的职位总数,php,forms,codeigniter,Php,Forms,Codeigniter,一点背景:我正在为一所学校建造一个交通系统。管理员可以添加位置来配置路由。我刚刚给了一个文本框来添加一个位置,添加按钮来不断添加更多的文本框,这样他就可以一次添加多个位置。 问题是:如果用户愿意,他可以添加所需的输入框,并将其发送到控制器。我怎么才能知道,他在这个地方加了多少。我不能使用JavaScript验证,原因很简单。 我正在使用php codeigniter <div class="control-group"> <input type=
<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);
});
});
$(文档).ready(函数(){
var-next=1;
$(“.add more”)。单击(函数(e){
e、 预防默认值();
var addto=“#字段”+下一步;
下一个=下一个+1;
var newIn='
';
var newInput=$(newIn);
$(添加到).之后(新输入);
$(“#field”+next.attr('data-source',$(addto.attr('data-source'));
$(“#计数”).val(下一个);
});
});
确保新输入和现有输入的名称以“[]”结尾,而不是数字结尾,您将在$\u帖子中获得一个数组。
这:
从那里你可以做一个count()
输入字段是否需要唯一的名称?如果没有,只需将所有新的和现有的输入字段命名为“places[]”,然后在php中,您可以将其作为如下数组捕获:$\u POST['places';从这里开始,你只需数一数那把钥匙。计数($_POST['places']);是的,它有独特的名字,比如,地点1,地点2等等。我的荣幸@crafter:)
<input type="text" name="places[]" />
$_POST['places']; # array() with all posted inputs
count($_POST['places']);