我有一个表格,用于显示每行的SESSION数据:
以下是显示SESSION的代码:
$keys = array_keys($_SESSION['name']);
$no=1;
for($k=0; $k < count($keys); $k++) {
$key = $keys[$k];
$value = $array[$key];
echo "<tr align='center'>
<td>$no.</td>
<td width='20%'>
<input type='checkbox' name='cek[]' class='check1' value='".$_SESSION['jml_harga'][$key]."' style='display:none;'>
<input type='text' class='txtField' name='".$_SESSION['name'][$key]."' value='".$_SESSION['name'][$key]."' readonly='true'>
</td>
<td width='16%'>
<input type='text' class='txtField' name='".$_SESSION['jenis'][$key]."' value='".$_SESSION['jenis'][$key]."' readonly='true'>
</td>
<td>
<input type='text' class='txtField' name='".$_SESSION['merk'][$key]."' value='".$_SESSION['merk'][$key]."' readonly='true'>
</td>
<td>
<input type='text' class='txtField' name='".$_SESSION['katalog'][$key]."' value='".$_SESSION['katalog'][$key]."' readonly='true'>
</td>
<td width='7%'>
<input type='text' class='txtField' name='".$_SESSION['jml_kebutuhan'][$key]."' value='".$_SESSION['jml_kebutuhan'][$key]."' style='text-align:center;' readonly='true'>
</td>
<td>
<input type='text' class='txtField' name='".$_SESSION['hps'][$key]."' value='".$_SESSION['hps'][$key]."' style='text-align:right;' readonly='true'>
</td>
<td>
<input type='text' class='txtField' id='hargas' name='".$_SESSION['jml_harga'][$key]."' value='".number_format($_SESSION['jml_harga'][$key],0,',','.')."' style='text-align:right;' readonly='true'>
</td>
</tr>";
$no++;}
我想做一个选项来取消每行的SESSION,如下所示:
因此,如果我点击第一行中的“删除”, 只有第一行未设置,而第二行没有。
但是如果我使用这段代码,我不知道如何在每行中取消它:
unset($_SESSION['name']);
unset($_SESSION['jenis']);
unset($_SESSION['merk']);
unset($_SESSION['katalog']);
unset($_SESSION['kemasan']);
unset($_SESSION['satuan']);
unset($_SESSION['satuanbsr']);
unset($_SESSION['kebutuhan']);
unset($_SESSION['jml_kebutuhan']);
unset($_SESSION['hps']);
unset($_SESSION['jml_harga']);
它将取消所有行中的SESSION。所以,我希望有人可以帮我解决这个问题,谢谢。
答案 0 :(得分:2)
删除session_destroy();
行,因为它会删除整个会话。
要删除部分内容,只需unset
,就像您一样。
答案 1 :(得分:1)
将密钥传递给删除链接
喜欢
<a href="delete.php?key=<?php echo $key;?>">Delete</a>
现在访问delete.php
中的密钥并删除该特定密钥的会话
也会移除session_destroy
,因为它会删除所有会话
$key = $_GET['key'];
unset($_SESSION['name'][$key]);
unset($_SESSION['jenis'][$key]);
unset($_SESSION['merk'][$key]);
unset($_SESSION['katalog'][$key]);
unset($_SESSION['kemasan'][$key]);
unset($_SESSION['satuan'][$key]);
unset($_SESSION['satuanbsr'][$key]);
unset($_SESSION['kebutuhan'][$key]);
unset($_SESSION['jml_kebutuhan'][$key]);
unset($_SESSION['hps'][$key]);
unset($_SESSION['jml_harga'][$key]);
答案 2 :(得分:1)
使用$key
创建链接。
<a href="yourpage.php?key=<?php echo $key;?>">Delete</a>
然后在那个页面上
if (!empty($_GET['key'])){
unset($_SESSION['name'][$_GET['key']]);
unset($_SESSION['jenis'][$_GET['key']]);
unset($_SESSION['merk'][$_GET['key']]);
unset($_SESSION['katalog'][$_GET['key']]);
unset($_SESSION['kemasan'][$_GET['key']]);
unset($_SESSION['satuan'][$_GET['key']]);
unset($_SESSION['satuanbsr'][$_GET['key']]);
unset($_SESSION['kebutuhan'][$_GET['key']]);
unset($_SESSION['jml_kebutuhan'][$_GET['key']]);
unset($_SESSION['hps'][$_GET['key']]);
unset($_SESSION['jml_harga'][$_GET['key']]);
}