【问题标题】:How to clear URL variables in php如何在php中清除URL变量
【发布时间】:2012-05-31 23:06:15
【问题描述】:
if (isset($_GET['add']) && isset($_GET['price']) && isset($_GET['qty'])){

    $ITEM = array(
      //Item name       
      'name' => $_GET['add'], 
      //Item Price
      'price' => $_GET['price'], 
      //Qty wanted of item
      'qty' => $_GET['qty']     
         );
     $_SESSION['SHOPPING_CART'][] =  $ITEM;

刷新页面时将商品添加到购物车中。任何人帮助如何删除 url 变量??

【问题讨论】:

    标签: php getmethod


    【解决方案1】:

    POST 请求旨在更新服务器的状态。

    GET 请求不是。

    您为这项工作使用了错误的工具。将商品添加到您的购物车应该是 POST 请求。

    【讨论】:

    • 也许他正在更改 iframe 的 URL 以不刷新主页,并在不使用 XMLHttpRequest 的情况下向服务器传递请求。
    • 感谢亚历克斯。但我通过“添加到购物车”选项添加项目,这是一个超链接而不是表单。
    • @Tiberiu-IonuțStan 这有点牵强。
    • @ajay 你可以让表单提交看起来像一个超链接。
    • $_SERVER['QUERY_STRING'] = "";可能是清除 url 变量的解决方案?
    【解决方案2】:

    正如 Alex 从 http 协议的角度提到的,您应该使用 POST 请求来更新您的购物车。

    请记住,使用 GET 或 POST 请求时问题仍然存在。 POST 更令人讨厌,因为它会向客户显示警报。

    为了避免在浏览器中刷新页面,购物车会获得另一个重复的项目,您可以选择例如:

    • 将项目添加到浏览器后发送重定向 (301,302) 以清除 url/request 中的变量
    • 使用 AJAX 将商品添加到购物车

    【讨论】:

      猜你喜欢
      • 2016-05-27
      • 2013-08-20
      • 2018-08-29
      • 2013-03-04
      • 1970-01-01
      • 2014-05-20
      • 2012-08-17
      • 2012-01-04
      • 2014-12-26
      相关资源
      最近更新 更多