OpenCart购物车信息解密

时间:2017-08-13 19:47:50

标签: php database encryption opencart

我正在为opencart用户开发一个Android应用程序。我需要解码购物车信息并从oc_customer表中识别产品ID数量等。 我试过这个

$sql = "SELECT cart FROM oc_customer WHERE email='an registered user email';";
$result = mysqli_query($con, $sql);
if (mysqli_num_rows($result) == 1) {
    $row = mysqli_fetch_assoc($result);
    var_dump(unserialize(base64_decode($row['cart'])));
}

我收到此错误

unserialize(): Error at offset 0 of 36 bytes

任何人都可以告诉我如何完成这项工作

3 个答案:

答案 0 :(得分:1)

(基于之前的问题,我假设您使用的是OpenCart 3.0.2.0。)

要获取客户的购物车内容,请根据来自oc_customers表格的电子邮件获取客户的ID,然后在oc_cart表格中查找该客户ID。 (这是在OpenCart 2.3+中完成的方式; oc_customers表的cart字段用于旧版本的OpenCart。)

答案 1 :(得分:0)

经过几项研究,我发现我错误地解码了购物车专栏的全文。 之后,不是解码全文,只解码双引号文本和反序列化,这给了我一个包含product_id的数组。

此外,Opencart有一个单独的oc_cart表,没有这些复杂功能。使用版本2.3+避免了所有这些解码

答案 2 :(得分:-1)

您无需使用unserialize(($row['cart']); 来解析购物车信息。只需使用

{{1}}