PHP购物车

用户名

我正在尝试将产品添加到我的购物车中。

我收到一个错误消息:

警告:为中的foreach()提供了无效的参数

它告诉我以下代码出现错误:

function isInCart($id) {
if (!empty($_SESSION['sess_uid']['cart'])) {
    foreach ($_SESSION['sess_uid']['cart'] as $report) {
        if ($report['reportID'] == $id) {
            // Report ID found in Cart
            return true;
        }
    }
    // Looped through cart, ID not found
    return false;
} else {
    // Cart empty
    return false;
}
}

上面标记该错误的特定行是:

foreach ($_SESSION['sess_uid']['cart'] as $report) {

我也收到以下错误消息:

致命错误:在引用中只能传递变量

与之相关的代码如下:

function addToCart($id) {
$report = getReportByID($id);
$author = $report['userID'];

if (!empty($report)) {
    // Got the report
    if (!empty($_SESSION['sess_uid']['cart'])) {
        if (!isInCart($id) && !isOwner($author) && !hasPurchased($id)) {
            array_push($_SESSION['sess_uid']['cart'], $report);
            return true;
        } else {
            return false;
        }
    } else {
        $_SESSION['sess_uid']['cart'] = array();

        if (!isInCart($id) && !isOwner($author) && !hasPurchased($id)) {
            array_push($_SESSION['sess_uid']['cart'], $report);
            return true;
        } else {
            return false;
        }
    }
} else {
    // Unable to get report by ID
    return false;
}
}

上面标记该错误的特定代码行是:

array_push($_SESSION['sess_uid']['cart'], $report);

下面的代码使我的报告填充商店

<?php

function getReportByID($id) {
$conn = new mysqli(localhost, root, DBPASS, DBNAME);
$sql = "SELECT * FROM reports WHERE reportID = '" . $conn->real_escape_string($id)."';";
// Performs the $sql query on the server
$report = $conn->query($sql);

return $report->fetch_array(MYSQLI_ASSOC);
}

?>

任何帮助将不胜感激。

谢谢

里克特

我认为这会有所帮助:它将您的会话以数组形式排印,因此即使会话为空,您也不会收到错误

foreach ((array)$_SESSION['sess_uid']['cart'] as $report) {

让我知道是否可以解决错误?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章