PHP会话删除购物车项目

时间:2014-09-06 22:35:47

标签: php session cart

我一直在寻找帮助,但找不到能解决我问题的任何事情

我已经操纵了购物车代码以达到不同的目的我鼓励角色扮演辅助网站www.rptoolkit.com/encounter,你可以在那里添加NPC邂逅(购物车),然后你可以在需要时删除它们,如果您想检查

,网站是在线的

问题是脚本在我的本地主机上的XXMP托管中工作完全正常但在线直播,如果我将4个人添加到列表并尝试删除1他们都清除并且第一行得到重复(随意测试)< / p>

下面是我用于删除项目按钮的脚本代码

<h1>Curent Encounter</h1>
 <div class="encounter-table">
    <?php
    $current_url = base64_encode($url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
    if(isset($_SESSION["encounter"]))
    {

        $cart_items = 0;
        foreach ($_SESSION["encounter"] as $cart_itm)   
        {
           $id = $cart_itm["code"];
           $results = $mysqli->query("SELECT * FROM products WHERE id='$id' LIMIT 1");
           $obj = $results->fetch_object();

    echo '<td><span> 
<a href="include/encounter_remove.php?removep='.$cart_itm["code"].'&return_url='.$current_url.'"><img src="images/icon_delete.gif" alt="Delete"><
/a></span></td>';

及以下是我必须从遭遇(购物车)中删除项目的代码

<?php
session_start();
include_once("config.php");

//remove item from encounter
if(isset($_GET["removep"]) && isset($_GET["return_url"]) && isset($_SESSION["encounter"]))
{
    $id = $_GET["removep"]; //get the product code to remove
    $return_url = base64_decode($_GET["return_url"]); //get return url


    foreach ($_SESSION["encounter"] as $cart_itm) //loop through session array var
        {
        if($cart_itm["code"]!=$id){ //item does,t exist in the list
            $product[ ] = array('code'=>$cart_itm["code"]);
            }

        //create a new product list for cart
        $_SESSION["encounter"] = $product;
        }

    //redirect back to original page
    header('Location:'.$return_url);
}
?>

我会喜欢任何帮助或建议我可以修复它,我不知道它是否会从我的XXMP到服务器的不同PHP版本?

再次感谢, 崔佛

1 个答案:

答案 0 :(得分:0)

会话变量大小可以由浏览器限制。根据`$ _SESSION ['遭遇']中存储的数据量,您可能会达到限制。考虑仅存储id号或类似的东西而不是更复杂的对象和/或数组。