我的問題似乎很容易awnser,但我無法找到我做錯了什麼。HTML提交不發送正確的數據
我的表單總是和我的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頁。
我想你可能想看看'複選框'的規範;他們通常有一個共享的「名稱」標籤。另外,變量'{$ page.access}'在你的複選框定義的中間插入了什麼? – Sanchises
{$ page.access}將輸出檢查用戶是否已經有權訪問該頁面。 – killstreet