我的问题可能看起来很容易,但是我无法找到我做错的事。
我一直在HTML中使用我的表单和我的提交按钮,但是,表单并没有发送所有内容。它只发送一小部分数据。 这是我的表格;
<form id="page_access" name="page_access" class="form-horizontal" data-parsley-validate method="post">
<div class="form-group">
<label class="col-sm-2 control-label" for="currency">User</label>
<div class="col-sm-9">
<select class="form-control" name="user">
{foreach $users as $user}
<option value="{$user.id}">{$user.voornaam} {$user.tussenvoegsel} {$user.achternaam}</option>
{/foreach}
</select>
</div>
</div>
<br/>
<div class="form-group">
<div class="col-md-12 col-sm-12 col-xs-12">
<table class="table table-bordered">
<thead>
<tr>
<th>Page</th>
<th>Index</th>
<th>Add</th>
<th>Edit</th>
</tr>
</thead>
<tbody>
{foreach $pages as $page}
<tr>
<td>{$page.nav_name}</td>
<td><input type="checkbox" {$page.access} value="page_{$page.id}"></td>
{if $page.0.id}
<td><input type="checkbox" {$page.0.access} value="page_{$page.0.id}"></td>
{else}
<td></td>
{/if}
{if $page.1.id}
<td><input type="checkbox" {$page.1.access} value="page_{$page.1.id}"></td>
{else}
<td></td>
{/if}
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
<div class="row">
<div class="col-md-12 m-t-20 m-b-40 align-center">
<button type="submit" value="page_access" id="page_access" name="page_access" class="btn btn-success m-t-10">
<i class="fa fa-check"></i> {$LANG.edit_button}
</button>
</div>
</div>
</form>
我使用smarty作为模板引擎。 smarty生成的所有信息都正常工作。
这是我的PHP来捕获数据:
if($_POST['page_access']){
var_dump($_POST);die;
$settings = new Settings();
$validation = $settings->ValidatePageSettings($array);
if(is_array($validation)){
$result = $settings->EditPageSettings($validation);
if($result > 0) {
$smarty->assign("added_id", $result);
}
}else{
$smarty->assign("errormsg", $validation);
}
}
我的代码结果:
array(2) { ["user"]=> string(4) "2129" ["page_access"]=> string(11) "page_access" }
我想要的结果是获取每个页面ID,访问1为0。 相反,它只会返回1页。
答案 0 :(得分:0)
您只需在复选框中添加name
属性即可。
例如,对于循环中的第一个复选框而不是
<input type="checkbox" {$page.access} value="page_{$page.id}">
你需要
<input type="checkbox" name="checkbox_1" {$page.access} value="page_{$page.id}">
^
这样,当您单击“提交按钮”
时,将发送数据修改强>
这可能是你想要的:
{foreach $pages as $page}
<tr>
<td>{$page.nav_name}</td>
<td><input type="checkbox" name="{$page.nav_name}[index]" value="1"></td>
{if $page.0.id}
<td><input type="checkbox" name="{$page.nav_name}[add]" value="1"></td>
{else}
<td><input type="checkbox" name="{$page.nav_name}[add]" value="0"></td>
{/if}
{if $page.1.id}
<td><input type="checkbox" name="{$page.nav_name}[edit]" value="1"></td>
{else}
<td><input type="checkbox" name="{$page.nav_name}[edit]" value="0"></td>
{/if}
</tr>
{/foreach}