其他变量中的PHP会话变量

时间:2014-10-24 19:38:56

标签: php session

我有一个页面(电子商务中的购物车页面),其中一些数据ID类似于通过PHP访问,因此我可以发送邮件。

当我使用print_r( $_SESSION );打印所有会话变量时,我得到以下代码。

我希望回应" 总计"的价值。

我正在使用$_SESSION['cart']['total'];,但它无法正常使用。

所有其他输出,如"货币"和#34;语言"按原样显示。

我在这里做错了什么?

array(22) {
  ["sessiontoken"]=>
  &string(32) "2239f469b65f039885a0c747f6595609"
  ["cart"]=>
  &object(shoppingCart)#1 (5) {
    ["contents"]=>
    array(2) {
      [216]=>
      array(1) {
        ["qty"]=>
        int(1)
      }
      [71]=>
      array(1) {
        ["qty"]=>
        int(1)
      }
    }
    ["total"]=>
    float(115.9)
    ["weight"]=>
    float(0)
    ["cartID"]=>
    &string(5) "91586"
    ["content_type"]=>
    string(8) "physical"
  }
  ["language"]=>
  &string(7) "english"
  ["languages_id"]=>
  &string(1) "1"
  ["currency"]=>
  &string(3) "USD"
  ["navigation"]=>
  &object(navigationHistory)#2 (2) {
    ["path"]=>
    array(5) {
      [0]=>
      array(4) {
        ["page"]=>
        string(9) "index.php"
        ["mode"]=>
        string(6) "NONSSL"
        ["get"]=>
        array(1) {
          ["cPath"]=>
          string(2) "50"
        }
        ["post"]=>
        array(0) {
        }
      }
      [1]=>
      array(4) {
        ["page"]=>
        string(7) "404.php"
        ["mode"]=>
        string(6) "NONSSL"
        ["get"]=>
        array(0) {
        }
        ["post"]=>
        array(0) {
        }
      }
      [2]=>
      array(4) {
        ["page"]=>
        string(21) "checkout_shipping.php"
        ["mode"]=>
        string(3) "SSL"
        ["get"]=>
        array(0) {
        }
        ["post"]=>
        array(15) {
          ["formid"]=>
          string(32) "2239f469b65f039885a0c747f6595609"
          ["action"]=>
          string(7) "process"
          ["payment"]=>
          string(5) "gspay"
          ["shipping"]=>
          string(9) "flat_flat"
          ["hd_shipping"]=>
          string(5) "12.00"
          ["hd_std_shipping"]=>
          string(5) "29.00"
          ["cust_fname"]=>
          string(1) "k"
          ["cust_lname"]=>
          string(1) "k"
          ["cust_email"]=>
          string(10) "kk@kkk.xom"
          ["cust_street"]=>
          string(3) "kkk"
          ["cust_city"]=>
          string(3) "kkk"
          ["cust_state"]=>
          string(3) "kkk"
          ["cust_zip"]=>
          string(3) "222"
          ["country"]=>
          string(2) "72"
          ["btnSubmit"]=>
          string(20) "Continue to checkout"
        }
      }
      [3]=>
      array(4) {
        ["page"]=>
        string(20) "checkout_payment.php"
        ["mode"]=>
        string(3) "SSL"
        ["get"]=>
        array(0) {
        }
        ["post"]=>
        array(0) {
        }
      }
      [4]=>
      array(4) {
        ["page"]=>
        string(25) "checkout_confirmation.php"
        ["mode"]=>
        string(3) "SSL"
        ["get"]=>
        array(0) {
        }
        ["post"]=>
        array(2) {
          ["formid"]=>
          string(32) "2239f469b65f039885a0c747f6595609"
          ["payment"]=>
          string(5) "gspay"
        }
      }
    }
    ["snapshot"]=>
    array(0) {
    }
  }
  ["user_type"]=>
  &string(5) "guest"
  ["sendto"]=>
  &NULL
  ["cartID"]=>
  &string(5) "91586"
  ["payment"]=>
  &string(5) "gspay"
  ["comments"]=>
  &NULL
  ["shipping"]=>
  &array(3) {
    ["id"]=>
    string(9) "flat_flat"
    ["title"]=>
    string(53) "Global Priority Shipping (It takes 5-7 business days)"
    ["cost"]=>
    string(5) "12.00"
  }
  ["cust_fname"]=>
  &string(1) "k"
  ["cust_lname"]=>
  &string(1) "k"
  ["cust_email"]=>
  &string(10) "kk@kkk.xom"
  ["cust_street"]=>
  &string(3) "kkk"
  ["cust_city"]=>
  &string(3) "kkk"
  ["cust_state"]=>
  &string(3) "kkk"
  ["cust_zip"]=>
  &string(3) "222"
  ["cust_country"]=>
  &string(2) "72"
  ["cust_country_title"]=>
  &string(7) "Finland"
  ["billto"]=>
  &NULL
}

4 个答案:

答案 0 :(得分:1)

看起来cart是一个对象。

因此,您应该可以通过以下方式访问它:

$ _ SESSION ['车'] - 个总;

答案 1 :(得分:1)

$ _ SESSION [' cart']是一个对象,然后总是它的属性: $ total = $ _SESSION [' cart'] - > total;

答案 2 :(得分:0)

购物车是一个对象所以它应该像

 $_SESSION['cart']->total; 

或者如果total是私有的,或者相应的类没有魔法吸气剂__get();可以这样做(或检查返回$this->total;的公共方法名称的类API):

 $_SESSION['cart']->getTotal();

答案 3 :(得分:0)

从你的输出中

["cart"]=>
  &object(shoppingCart)#1 (5) {
    ...
    }
    ["total"]=>    float(115.9) 

值$ _SESSION ['cart']是一个PHP对象。您应该使用以下方式访问总数:

$_SESSION['cart']->total;