【发布时间】:2015-03-07 21:16:14
【问题描述】:
谁能解释一下为什么unset 函数在下面的代码中不起作用?
正如我所料,$_SESSION['card_nr'] = $card_nr; 存储最后循环的$card_nr,但我希望它存储用户单击的 card_nr,这就是我需要取消设置的原因(ps。我不想使用 GET)。
我已经根据网络搜索测试了不同的解决方案,包括。 stack overflow answers,但无法使以下工作。
$task_array = array_combine($task_id_unique, $task_status);
foreach ($task_array as $card_nr => $card_status) {
$_SESSION['card_nr'] = $card_nr;
?>
<table>
<tr>
<th>Card nr.</th>
<th>Status</th>
</tr>
<td><?php
echo $card_nr;?></td>
<td><?php
if ($card_status == true) {
unset($task_array[$card_nr]);
echo "<a href=workcard.php>Open</a>";
}
else echo "Done ". $card_nr;?></td>
</table>
<?php }
【问题讨论】:
-
$card_status 有什么价值?
-
...@sergio 0(假)或 1(真)。
-
在检查卡状态条件之前,您正在遍历任务数组中的所有内容,这是您在循环中应该做的事情。截至目前,两者之间没有任何联系,这就是它没有做任何事情的原因。
-
存储用户点击的 card_nr,这就是为什么我需要取消设置(ps。我不想使用 GET) php 是服务器端,所以 php 不会注意到任何点击从客户端 .. 获取信息(单击 => card_nr)您必须发送请求 [get | post] 或使用 cookie 或在 HTML5 HTML 本地存储中
-
...@donald123 好的,我明白了。我想我可以通过使用 AJAX 来解决它。