1
在創建選中框的值我有以下表格:PHP。該陣列
<form action="update-table.php" method="post">
<table class="table-data" border="1">
<thead>
<tr>
<td>ID</td>
<td>Live</td>
<td>User</td>
<td>Last Update</td>
<td>Title</td>
<td>Content</td>
<td>Edit</td>
<td>Delete</td>
</tr>
</thead>
<tbody>
<tr>
<td><input name="id[]" type="text" readonly="readonly" value="1" /></td>
<td><input name="live[]" type="checkbox" checked="checked" value="1"/></td>
<td>[email protected]</td>
<td>August 18, 2011, 10:10 am</td>
<td>Title1</td>
<td>Content1</td>
<td><a href="edit-news.php?editID=1">Edit</a></td>
<td><a href="delete-news.php?deleteID=1">Delete</a></td>
</tr>
<tr>
<td><input name="id[]" type="text" readonly="readonly" value="2" /></td>
<td><input name="live[]" type="checkbox" /></td>
<td>[email protected]</td>
<td>August 18, 2011, 10:11 am</td>
<td>Title2</td>
<td>Content2</td>
<td><a href="edit-news.php?editID=2">Edit</a></td>
<td><a href="delete-news.php?deleteID=2">Delete</a></td>
</tr>
<tr>
<td><input name="id[]" type="text" readonly="readonly" value="3" /></td>
<td><input name="live[]" type="checkbox"/></td>
<td>[email protected]</td>
<td>August 18, 2011, 10:10 am</td>
<td>Title3</td>
<td>Content3</td>
<td><a href="edit-news.php?editID=3">Edit</a></td>
<td><a href="delete-news.php?deleteID=3">Delete</a></td>
</tr>
</tbody>
</table>
<input type="submit" />
我想要做的是顯示陣列$_POST
發送。
問題是,當未選中複選框 - 什麼都沒有送。
如何檢查$_POST['live']
是否已設置,如果沒有 - 將其值設置爲0?
下面的代碼無法正常工作。爲什麼?
if (!isset($_POST['live'])) {
$_POST['live'] = "0";
}
for ($i=0;$i<count($_POST['id']);$i++) {
echo "<p>".$_POST['id'][$i]."</p>";
echo "<p>".$_POST['live'][$i]."</p>";
echo "<hr />";
}
確定。這確實有用。但是我的語法有什麼問題? – Iladarsda
那麼,在循環之前,你基本上如果現場的陣列設置檢查,因此,如果一個活的變量設置你會被它計算爲true,否則,你會被改變'$ _ POST [「活」]'從一個數組到一個int。另外,如果你嘗試和回聲,你會得到一個wraning'$ _ POST [「活的」] [$ i]',因爲沒有這樣的價值 - 所以最好在試圖呼應之前包裝在一個if/else語句。 – Prisoner
好的,但這種方式將不可能,如果我會做SQL更新查詢。這是我的目標。有沒有辦法檢查'live'的值(如果沒有設置,就更改它),但將它保存爲數組? – Iladarsda