Я не могу правильно отключить переменную сеанса, нажав кнопку «Удалить». У меня две страницы: страница продукта и страница корзины , но проблема в том, что у меня есть кнопка «удалить» в корзине покупок, которая не работает должным образом.
Когда я нажимаю кнопку «удалить», он должен бежать unset($_SESSION['product1']
.
Но когда я выбираю другой элемент, он может отображать «предыдущий элемент сеанса», поэтому он означает, что кнопка удаления не запускается unset($_SESSION['product1']
. Как мне решить эту проблему?
Страница продукта
session_start(); $id=$_REQUEST['id']; $_SESSION['pid1']= $_POST['ids']; //Product ID// $_SESSION['product1'][]=$_POST['product']; <form method="post"> <input type="hidden" name="product[]" value="<?php echo $row1['product']; ?>" /> <input type="hidden" name="ids" value="<?php echo $id?>" /> </form> <input type="submit" class="button1" name="addtocart" value="Add To Cart" /> </form>
Страница корзины покупок
session_start(); $pid=$_SESSION['pid1']; function remove_product($pid){ $pid=intval($pid); $max=count($_SESSION['product1']); for($i=0;$i<$max;$i++){ if($pid==$_SESSION['product1'][$i]['pid']){ unset($_SESSION['product1'][$i]); break; } } $_SESSION['product1']=array_values($_SESSION['product1']); } if($_REQUEST['command']=='delete' && $_REQUEST['pid']>0){ remove_product($_SESSION['product1'][$pid]); } <form name="form1" method="post"> <input type="hidden" name="pid" /> <input type="hidden" name="command" /> <input type="button" class="button2" value="Remove" onclick="javascript:del(<?php echo $pid?>)"/>
-session_start(); $pid=$_SESSION['pid1']; function remove_product($pid){ $pid=intval($pid); $max=count($_SESSION['product1']); for($i=0;$i<$max;$i++){ if($pid==$_SESSION['product1'][$i]['pid']){ unset($_SESSION['product1'][$i]); break; } } $_SESSION['product1']=array_values($_SESSION['product1']); } if($_REQUEST['command']=='delete' && $_REQUEST['pid']>0){ remove_product($_SESSION['product1'][$pid]); } <form name="form1" method="post"> <input type="hidden" name="pid" /> <input type="hidden" name="command" /> <input type="button" class="button2" value="Remove" onclick="javascript:del(<?php echo $pid?>)"/>
сsession_start(); $pid=$_SESSION['pid1']; function remove_product($pid){ $pid=intval($pid); $max=count($_SESSION['product1']); for($i=0;$i<$max;$i++){ if($pid==$_SESSION['product1'][$i]['pid']){ unset($_SESSION['product1'][$i]); break; } } $_SESSION['product1']=array_values($_SESSION['product1']); } if($_REQUEST['command']=='delete' && $_REQUEST['pid']>0){ remove_product($_SESSION['product1'][$pid]); } <form name="form1" method="post"> <input type="hidden" name="pid" /> <input type="hidden" name="command" /> <input type="button" class="button2" value="Remove" onclick="javascript:del(<?php echo $pid?>)"/>
Страница корзины Javascript
<script language="javascript"> function del(pid){ if(confirm('Do you really mean to delete this item')){ document.form1.pid.value=pid; document.form1.command.value='delete'; document.form1.submit(); } } function clear_cart(){ if(confirm('This will empty your shopping cart, continue?')){ document.form1.command.value='clear'; document.form1.submit(); } } </script>