Php 无法从购物车中删除项目
我又问了一次,所以 这是更具体的Php 无法从购物车中删除项目,php,arrays,session,Php,Arrays,Session,我又问了一次,所以 这是更具体的 $cartOutput.='<form method="post" action="cart.php"> <input type="submit"name="deletebtn'.$item_id.'" value="remove"/> <input type="hidden" name="index_to_remove" value="'.$i.'"</form>'; $cartOutp
$cartOutput.='<form method="post" action="cart.php">
<input type="submit"name="deletebtn'.$item_id.'" value="remove"/>
<input type="hidden" name="index_to_remove" value="'.$i.'"</form>';
$cartOutput.='
你的html被破坏了
改变
<input type="hidden" name="index_to_remove" value="'.$i.'"</form>';
替换此行
if(isset($_POST['index_to_remove']) && $_POST['index_to_remove']=!"")
到
当它将索引_更改为_时,请将值改为“1”,而不是post中的值
此外,html标记未正确关闭。问题在于:
if(isset($_POST['index_to_remove']) && $_POST['index_to_remove']=!"")
在第二部分你有=!“”
它的计算结果为$var等于not“”,因此返回的总是true(并将$\u POST['index\u to_remove']设置为true,然后在if中使用)。我相信你也在找或者!==这意味着不等于。在删除操作之前和之后,你能打印$\u会话['cart\u array']
吗?当你刚刚取消设置
时,为什么你要排序
$\u会话['cart\u array']
呢?难道不取消设置整个$\u会话['cart\u array']
,只是其中的一部分。尽管如此,关于需要sort()
的问题仍然存在。(编辑:哎呀,我只看了else
部分,我猜他也打算删除中的一个元素,只是错过了它…)我对这个项目进行了排序,但仍然没有删除项目没有错误,但项目仍然保留在购物车中,即使是回显计数($_SESSION['cart_array');很抱歉,在此之前没有询问,是否在此代码上方调用了session_start()?在未设置之前和之后,$\u会话的打印显示了什么?上面有一个会话启动,请尝试使用会话销毁,只是为了检查它是否工作。
if(isset($_POST['index_to_remove']) && $_POST['index_to_remove']=!"")
if(isset($_POST['index_to_remove']) && $_POST['index_to_remove']!="")
if(isset($_POST['index_to_remove']) && $_POST['index_to_remove']=!"")