Jump to content
xt:Commerce Community Forum

"In Warenkorb legen" führt zu Fehler


JoyW

Recommended Posts

Hi ihr!

Im Firefox funktioniert mal wieder alles bestens, folgendes Problem tritt nur im InternetExplorer auf, weshalb ich ein Problem bei den Sessions vermute:

Wenn ich im IE ein Produkt in den Warenkorb lege, wird bei Klick auf "In Korb legen" folgender Fehler angezeigt:

Fatal error: Call to a member function add_cart() on a non-object in /var/www/web11/html/includes/cart_actions.php on line 106

Aus der cart_actions.php kann ich aus Zeile 106 aber leider auch nix rauslesen:

$_SESSION['cart']->add_cart((int) $_POST['products_id'], $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'], $_POST['id'])) + xtc_remove_non_numeric($_POST['products_qty']), $_POST['id']);

In einem anderen Thread sah bei selbigem Problem die Lösung so ähnlich aus wie:

$cart->add_cart

Das sagt mir jetzt aber so konkret nix? Kann ich da einfach die Sessions außen vor lassen?

Bin für jeden Tipp dankbar.

Viele Grüße,

Katja

Link to comment
Share on other sites

  • 2 months later...

*mal nach oben schieb*

Hi,

ich habe in meiner Testumgebung zwar nicht immer diesen Fehler, aber ich kann ihn eindeutig (getestet mit dem Firefox) reproduzieren.

a) als benutzer anmelden, auf ein Produkt gehen und dann mal für einige Zeit nichts im Shop machen. So nach einer Stunde dann den Artikel in den Warenkorb legen. (session ist zu dem Zeitpunkt abgelaufen)

B) wieder im Shop anmelden und auf ein Produkt gehen, dann IN EINEM ZWEITEN Fenster/Tab vom Shop abmelden und im ersten Tab/Fenster das Produkt in den Warenkorb legen.

In beiden Fällen ist die ursprüngliche Session abgelaufen.

nun ein Blick in die application_top.php


require (DIR_WS_INCLUDES.FILENAME_CART_ACTIONS);

// create the shopping cart & fix the cart if necesary

if (!is_object($_SESSION['cart'])) {

	$_SESSION['cart'] = new shoppingCart();

}

Hier wird die cart_actions.php aufgerufen, ehe ggf. eine neue card (Warenkorb) angelegt wird.

Das kommt mir im Moment ein wenig Sinnfrei vor, sollte das require nicht besser nach der "card"-Erstellung aufgerufen werden ?

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...

Hallo,

bei mir tritt der Fehler auch auf, wenn man von froogle kommt und direkt diesen Artikel bestellen möchte. Geht man danach in eine andere Kategorie und schaut sich einen Artikel an, kann man ihn auch bestellen.

Kann uns hier Jemand helfen ?

Viele Grüße

Reifi

Link to comment
Share on other sites

  • 2 months later...
  • 2 weeks later...

nun ein Blick in die application_top.php


require (DIR_WS_INCLUDES.FILENAME_CART_ACTIONS);

// create the shopping cart & fix the cart if necesary

if (!is_object($_SESSION['cart'])) {

	$_SESSION['cart'] = new shoppingCart();

}

Hier wird die cart_actions.php aufgerufen, ehe ggf. eine neue card (Warenkorb) angelegt wird. Das kommt mir im Moment ein wenig Sinnfrei vor, sollte das require nicht besser nach der "card"-Erstellung aufgerufen werden ?
dann das ganze ersetzen durch

// create the shopping cart & fix the cart if necesary

if (!is_object($_SESSION['cart'])) {

	$_SESSION['cart'] = new shoppingCart();

}

require (DIR_WS_INCLUDES.FILENAME_CART_ACTIONS);

Link to comment
Share on other sites

Das verhindert zwar den "Fehler", lässt den Kunden aber dumm sterben :eek:

Es wird zwar ein neuer Warenkorb angelegt, aber ein etvl. vorher vorhandener verschwindet.

Ich habe mich entschieden, den Kunden dann lieber auf eine Kontentseite umzuleiten, auf der ich auf den Fehler hinweise und ihn bitte, den Warenkorb zu überprüfen.

Ist für mich die fairere Lösung :rolleyes:

Link to comment
Share on other sites

hi,

…ich habe scheinbar ein ähnliches Problem - bei abgelaufener Session eine Bearbeitung des Warenkorbes (/shopping_cart.php?action=update_product) zur unschönen Fehlermeldung "Fatal error: Call to a member function on a non-object in /www/htdocs/w0072e55/nu4/includes/cart_actions.php on line 74"

…könntest Du evtl ein paar Worte dazu sagen, wie Du das angepasst hast…? …also an welcher Stelle Du den Kunden bei evtl. auftretendem Session-Fehler auf die Content-Seite weiterleitest…?

danke! gruß! till..

Link to comment
Share on other sites

in includes/cart_actions.php


// Shopping cart actions

if (isset ($_GET['action'])) {

	// redirect the customer to a friendly cookie-must-be-enabled page if cookies are disabled

	if ($session_started == false) {

		xtc_redirect(xtc_href_link(FILENAME_COOKIE_USAGE));

	}


        // ist überhaupt eine Karte vorhanden? Wenn nein entweder eine anlegen, oder zur Infoseite weiter leiten!

        if (!is_object($_SESSION['cart']))

        {

          if (CARTERROR_CMSID == "-1")

          {

            $_SESSION['cart'] = new shoppingCart();

          }

          else

          {

            xtc_redirect(xtc_href_link(FILENAME_CONTENT, 'coID='.CARTERROR_CMSID));

          }

        }  

in "CARTERROR_CMSID" sollte dann die ID für den Content stehen.

Also entweder irgendwo mit mit define eintragen, oder die Config im Admin entsprechend erweitern

Link to comment
Share on other sites

  • 4 months later...

Hallo,

Weiss nicht ob bei euch der Fehler noch aktuell ist aber ich schreibe trotzdem mal rein.

Für alle die den Fehler bekommen, das liegt nicht wirklich am script sondern eher an euch selbst.

Kurze erklärung:

Ich habe alles soweit nach anweisung instaliert und es ging alles bis auf einmal als ich testen wollte als gast was zu kaufen bekam ich diesen Fehler bei Firefox. Komisch war nur das bei IE7 keine Fehler da war. Und kaum gewundert trat das problem auch bei IE7 auf.

Ich habe hier alles gemacht was drin steht, also ändern der datein usw was nicht wirklich geholfen hatte.

Nun durch lange hin und her probieren ist mir aufgefallen, das diese problem von mir selbst verursacht wird.

Senario: Ich logge mich als Admin ein ändere einstellungen oder füge neue Artikel ein. Dann gehe ich inden Shop und logge mich aus. Danach versuche ich diesen Artikel ins warenkorb zulegen und der Fehler ist da.

Unser denkfehler liegt genau hier. Ihr müsst euch im Administration ausloggen nicht über den Shop. Loggt mann sich über den Shop aus ist man nicht wirklich ausgeloggt.

Ausloggen über Shop als Admin = Fehler beim Warenkorb

Ausloggen über Admin = keine Fehler oder ähnliches.

Versucht eins

Ladet alle original dateien die Ihr wegen diese sache geändert habt wieder hoch, dann geht in eure Administration und klickt oben rechts auf ausloggen.

Das gleiche müsst ihr auch bei anderen browsern machen falls Ihr die benützt..

PS: Rechtschreibfehler sind beabsicht und dienen der allgemeinen belustigung (oder auch nicht)

Link to comment
Share on other sites

  • 1 year later...

Hallo,

habe ein Problem mit XTCommerce:

Auf dem Rechner, mit dem ich den Shop konfiguriert habe, läuft alles einwandfrei, wenn ich angemeldet bin. Nun wollte ich den Shop testen und u. a. auf einem anderen Rechner eine Bestellung tätigen.

Das Problem ist folgendes:

Wenn ich auf der Produktdetailseite auf den Button "In den Korb" (beispielsweise bei Artikel 1) klicke, wird der Artikel nicht in den Warenkorb übernommen und es erscheint eine weiße Seite mit folgender URL:

Weingut Schunk - Shop

Wenn ich in der Artikelübersicht auf den Button "Jetzt kaufen" klicke, wird der Artikel ebenfalls nicht in den Warenkorb übernommen und es erscheint die Shop-Startseite.

Eine Anmeldung als Gast oder Kunde ist nicht möglich.

Das Logfile sagt folgendes:

PHP Fatal error: Call to a member function add_cart() on a non-object in /srv/www/vhosts/weingut-paul-schunk.de/httpdocs/xtcommerce/includes/cart_actions.php on line 106, referer: Weingut Schunk - Shop - 2008 Elbling Trocken 1

Wenn ich die o.g Lösung von "[email protected]" in cart_actions.php ausführe, bekomme ich beim Klicken auf den Bestellbutton angezeigt, dass mein Warenkorb keine Artikel enthält.

Die URL des Shops ist Weingut Schunk - Shop

Vorab schonmal vielen Dank für die Hilfe!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...