Hallo,
ich weis, es ist nicht die feine Art, als neues Mitglied direkt mit einer Frage aufzufallen, bitte entschuldigt das, aber ich Programmiere seit 2011 mit modified und war immer ein braver stiller Leser hier im Forum. Hinzu ist Heiligabend und das Thema sollte für uns alle derzeit die nidrigste Priorität besitzen
Also, folgende Problemstellung:
Ich habe mr eine Datei angelegt, die Produkte (übergabe Quantity und products_id via GET) in den Warenkorb legt. Hintergrund ist, das die Datei via jQuery aufgerufen wird und somit die Artikel und neuladen der Seite in den Warenkorb gelangen.
addtocart.php
<?php// Add Products to Cart, called by GET for jQuery / Ajax include ('includes/application_top.php'); $products_id = (int
)$_GET['products_id'];$quantity = (float
)$_GET['products_qty'];// Produkt bereits im Warenkorb?if ($_SESSION['cart']->in_cart($products_id)) { // Ja, Menge addieren $quantity = (float
)$_SESSION['cart']->contents[$products_id]['qty'] + $quantity; } // In den Cart einfügen$_SESSION['cart']->add_cart($products_id,$quantity); // Cart neu berechnen$_SESSION['cart']->calculate();// Rückgabe String für JS Function$total = $_SESSION['cart']->show_total();$pcount = count($_SESSION['cart']->contents);echo 'Ihr Warenkorb enthält:<span>'.$pcount.' Produkte: '.$xtPrice->xtcFormat($total, true).'</span>';exit;?> Die Datei wird wie folgt aufgerufen:
addtocart.php?products_id=ID&products_qty=MENGE
Es funktioiniert auch sehr sehr gut, nun habe ich nur das Problem, das bei einigen Browsern eine neue Session für den Aufruf durch Ajax / jQuery angelegt wird. Somit existieren für den einzelnen Anwender aufeinmal 2 Sessions und somit auch 2 Warenkörbe, welche auch gepflegt werden!?
Wie kann ich es vermeiden, dass dieser Fall eintritt? Habe auch bereits probiert die ModSid im GET mit zu übergeben, aber kein gelingen.
Mein jquery Script setzt die URL und den Aufruf wie folgt zusammen:
$.get( "addtocart.php", { products_id: productsid, products_qty: quantity.toFixed(2) } ).done(function( data ) { alert('done'); });
Der Fehler tritt insbesondere beim Android Standart Browser auf!?
Achja, wenn das Script fertig ich, werde ich es natürlich hier mitveröffentlichen als kleines Dankeschön für die Hilfe
Ach und nochmal Ja: ICH WEIS DAS DIE Products_QTY eigentlich ein integer ist, habe aber das bestehende System soweit angepasst, dass auch Floats möglich sind, da der betroffende Shop auch Zuschnittsware (Meter, Centimeter) anbietet.
Vielen Dank für eure Hilfe.
Matze
Linkback: https://www.modified-shop.org/forum/index.php?topic=36264.0