session_start()的逻辑

//session_startStart new or resume existing session

session_start();

print_r($_SESSION);


//看有没有session对象,看请求头部有PHPSESSID该键=>值对的cookie不,有则通过该id,看能不能查找到对应id的session对象

//通常情况下,服务器有接受到PHPSESSID,则该session存在


请求头部没有PHPSESSID该键=>值的cookie,说明服务器还没有session对象,则创建一个session对象(并在响应头的set-cookei里写入键=>值对,通知浏览器在本地保存该session的id,同一会话内下次再进入该页面就不用新建session对象了,)



//不能手动删除session对象在浏览器保存的PHPSESSID(如果可以手动删除的话,那就想在服务器创建很多$_SESSION超全局数组了,服务器肯定不同意的,你想在session_start()前删除PHPSESSID,同一次会话,下次进来就会创建新的session对象了,

setcookie(PHPSESSID,"",time()-100);
session_start();

不行的,PHPSESSID只有服务器自己能删除,这样才能保证$_SESSION变量的唯一性在一个进程中


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
逐行解释这段代码:$(".add-to-cart-btn").click(function() { var itemId = $(this).data("id"); var itemName = $(this).data("name"); var itemPrice = $(this).data("price"); $.ajax({ type: "POST", url: "add-to-cart.php", data: { id: itemId, name: itemName, price: itemPrice } }).done(function(response) { alert(response); }); }); session_start(); $itemId = $_POST["id"]; $itemName = $_POST["name"]; $itemPrice = $_POST["price"]; if (!isset($_SESSION["cart"])) { $_SESSION["cart"] = array(); } array_push($_SESSION["cart"], array("id", $itemId, "name", $itemName, "price", $itemPrice)); echo "添加商品成功!"; $(document).on("click", ".remove-item-btn", function() { var itemId = $(this).data("id"); $.ajax({ type: "POST", url: "remove-from-cart.php", data: { id: itemId } }).done(function(response) { location.reload(); }); }); session_start(); $itemId = $_POST["id"]; foreach ($_SESSION["cart"] as $key => $item) { if ($item["id"] == $itemId) { unset($_SESSION["cart"][$key]); } } echo "删除商品成功!"; $(".checkout-btn").click(function() { var selectedItems = $(".cart-item:checked"); var totalPrice = 0; selectedItems.each(function() { var itemPrice = $(this).parents(".cart-item-row").find(".item-price").text(); var itemQty = $(this).parents(".cart-item-row").find(".item-qty").val(); var subTotal = itemPrice * itemQty; totalPrice += subTotal; }); window.location.href = "checkout.php?id=" + selectedItems.serialize() + "&total=" + totalPrice; }); session_start(); $selectedIds = explode("&", $_GET["id"]); foreach ($selectedIds as $key => $value) { $selectedIds[$key] = substr($value, strpos($value, "=") + 1); } $totalPrice = $_GET["total"];
06-07

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值