0

Hello guys

this is the first time I see this message while i'm trying to register a new account:
the message : __php_incomplete_class could not be converted to string

I try var_dumb($_SESSION) and i get this:
object(__PHP_Incomplete_Class)[1]
public '__PHP_Incomplete_Class_Name' => string 'Customer' (length=8)
public 'id' => string '3' (length=1)
public 'firstName' => null
public 'lastName' => null
public 'email' => null
public 'balance' => int 0
public 'message' => string '' (length=0)
public 'password' => null
public 'address' => null

the code:

 public static function getCartId()
    {
        $dbh = mySqlDatabase::getConnectionObject();
        // if customer is logged in
        if (isset($_SESSION['customerId']) && !empty($_SESSION['customerId'])) {
            $customerId = $_SESSION['customerId'];
            $sql = "SELECT id FROM shoppingcarts WHERE customerId = :id AND isCompleted = 0";
            $stmt = $dbh->prepare($sql);
            $stmt->bindParam(':id', $customerId, PDO::PARAM_INT);
            $stmt->execute();
            $result = $stmt->fetchColumn();
            if ($stmt->rowCount() == 0) {
                // if there's a cart but not completed
                $sql = "INSERT INTO shoppingcarts(customerId, isCompleted, isShipped) VALUES ($customerId, 0, 0)";
                $stmt = $dbh->prepare($sql);
                $stmt->execute();
                $result = $dbh->lastInsertId();
                return $result;
            } else return $result;
        } else {
            // if customer is guest
            if (isset($_COOKIE['trace']) && !empty($_COOKIE['trace'])) {
                $shoppingCartId = $_COOKIE['trace'];
                return $shoppingCartId;
            } else {
                // user not logged in in and have no cookie
                $sql = "INSERT INTO shoppingcarts(customerId, isCompleted, isShipped) VALUES (1,0 ,0 )";
                $stmt = $dbh->prepare($sql);
                $stmt->execute();
                $result = $dbh->lastInsertId();
                setcookie('trace', $result, time() + 3 * 30 * 24 * 60 * 60);
                return $result;
            }
        }
    }
3
Contributors
2
Replies
16
Views
3 Years
Discussion Span
Last Post by veedeoo
0

I don't understand the need of storing an instance of an object into a session. There are many ways in finding out if an instance of an object is present. There are singleton, factory, and instanceof PHP function that can be utilized. It does not take much to use them.

Can somebody please explain why is this indispensable?

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.