我有一個表單,我可以將資料添加到表中,并將其存盤在會話中。我的問題是,當我點擊洗掉按鈕時,id在url中。所以我不能添加其他資料。
我需要在我點擊洗掉后擺脫得到的值
它是這樣的 http://localhost:8085/examples/buyme.php?del=2 我需要它像這樣 http://localhost:8085/examples/buyme.php <table class="table" >
<thead>
<tr>
<th>ID</th>
<th>產品 名稱</th>
<th>價格</th>
<th>Quantity</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
</tr>
<?php?
if(!empty($_SESSION["cart"]){
$values;
$total=0;
foreach($_SESSION["cart"] as $keys=> $values){
$amount = $values["quantity"]*$values["price"] 。
$total=$total $amount。
? >
<tr>
<td> <? php echo $values["id"] ? > </td>
<td> <? php echo $values["pname"] ? > </td>
<td> <? php echo $values["price"] ?></td>
<td><? php echo $values["quantity"] ? > </td>
<td><a href="buyme.php?del=<?php echo $values["id" ? >"> Remove</a>
<a href="#editProductModal" class="edit" data-toggle="modal" >< i class="material-icons" data-toggle="tooltip" title="Edit">& #xE254;</i> </a>
</td>
<td> </td>
</tr>
<?php }? >
<tr>
<td> </td>
<td> </td>
<td> </td>
<td>Total </td>
<td><?php echo $total ? > </td>
<td> </td>
<?php }? ?">。
</tr>
<!-- removing from cart -->
<?php?
if(isset($_GET["del"]){
foreach($_SESSION["cart"] as $keys=> $values){
if($values["id"/span>]==$_GET["del"/span>])
{
unset($_SESSION["cart"][$keys]) 。
echo "<meta http-equiv='refresh' content='0'>";//提交后要重繪 頁面。
}
}
}
? >
<br>
<br>
</tbody>
</table>
請幫助我 預先感謝
uj5u.com熱心網友回復:
你需要在洗掉/取消設定session值后將重定向頁面到buyme.php,為此在你的代碼中替換這一行:
echo "<meta http-equiv='refresh' content='0'>";//to refresh page after submit
用這個:
header('Location: http://localhost:8085/examples/buyme.php');
uj5u.com熱心網友回復:
我認為不是通過GET請求而是通過POST請求來發送洗掉的id更為安全。為了做到這一點,你必須插入一個<form>,其中有method="POST"和一個隱藏的輸入欄位,名稱為del和你想為每個專案洗掉的id。
然后你必須在你的腳本中處理POST的呼叫。
例如,像這樣:
if($_POST['del]) {
# 你的洗掉動作在這里。
}
通過使用POST請求,不可能通過url改變id。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/330254.html
標籤:
