2017-08-10 3 views
-3

Ich möchte eine Nummer ähnlich einem Einkaufswagen anzeigen. Ich bekam den PHP-Code und es zeigt derzeit einen Cookie-Wert und es funktioniert, wenn Sie in den Warenkorb klicken und es gibt Fehler in dem, was Sie eingegeben haben, wird 1 zum Cookie hinzufügen, aber wird nichts zum Warenkorb hinzufügen.Unbezahlte Anzahl von Artikeln, ähnlich einem Einkaufswagen

Ich habe versucht, AngularJS zu verwenden, um die Länge einer Sitzungsvariablen anzuzeigen, die ein wenig besser funktionierte, aber es wird nicht aktualisiert, bis Sie die Seite aktualisieren.

Könnte mir jemand in die richtige Richtung zeigen, damit ich es herausfinden kann.

Dies ist der Code, den ich ursprünglich gegeben wurde:

if (!isset($_COOKIE['count'])) 
{ 
    $cookie = 0; 
    setcookie("count", $cookie); 
} 
else 
{ 

    if (isset($_GET["add"])) 
     { 
     $cookie = ++$_COOKIE['count']; 
     setcookie("count",$cookie); 
     } 
    else if (isset($_GET["remove"])) 
     { 
     $cookie = --$_COOKIE['count']; 
     setcookie("count", $cookie); 
     } 
    else { 
     $cookie = $_COOKIE['count']; 
     setcookie("count", $cookie); 
     } 

    $cookie = $_COOKIE['count']; 

    if ($cookie <= 0) 
    { 
     $cookie = 0; 
     setcookie("count", $cookie); 
    } 
} 

ist es dann wie dieses

<li><a><div ng-app="" class="circle"> <?php echo $cookie ?></div></a></li> 

ich das Echo $ cookie versucht

gedruckt chaging die Sitzung Feldlänge Echo und auch versucht, mit

<li><a><div ng-app="" class="circle">{{ <?php echo count($_SESSION['certificates']) ?>}}</div></a></li> 

ich habe auch versucht, diesen Link: https://codepen.io/anon/pen/mMwVPb

aber ich habe es nicht ganz verstanden und konnte es nicht auf meiner Seite funktionieren.

Es funktioniert fast so, wie ich es will, aber ich muss nur die Seite aktualisieren, um die Länge des Session-Arrays anzuzeigen. Wenn es eine Möglichkeit gibt, den Wert der Sitzung anzuzeigen, ohne die Seite aktualisieren zu müssen, denke ich, dass das den Fehler beheben würde.

+0

Können Sie den Code schreiben Sie versucht? – Vivz

+2

Sie können nicht helfen, da Sie keinen Code angegeben haben. – epascarello

+0

Aktualisierte die Frage – Theory

Antwort

0

würde ich nicht verwirren mit einem Cookie, wenn Sie vielleicht den Wagen anhalten soll, wenn der Benutzer Ihre Website verlässt Artikel mit in den Warenkorb gelegt links dann zu Ihrem Geschäft kommt zurück. An diesem Punkt können Sie die Einkaufswagen Artikel in einer Datenbank oder etwas mit einer Referenz-ID zu dem Cookie oder etwas speichern. Nutzer können Cookies deaktivieren, sodass Sie SOL sind, wenn Ihr Warenkorb von Cookies abhängig ist und der Nutzer sie deaktiviert.

Ich würde Ihre Karre in der Sitzung speichern, da Sie Arrays leicht in einer Sitzung speichern können:

# Simple example of add to cart function 
addToCart($sku,$qty=1) 
    { 
     # Make sure the quantity is a number 
     if(!is_numeric($qty)) 
      $qty = 1; 
     # If the cart is not yet set, create it 
     if(!isset($_SESSION['cart'])) 
      $_SESSION['cart'] = array(); 
     # If the item is already in the cart, increment the quantity 
     if(isset($_SESSION['cart'][$sku])) 
      $_SESSION['cart'][$sku] += $qty; 
     # If not in the cart already, create it 
     else 
      $_SESSION['cart'][$sku] = $qty; 
    } 

# Remember to start session on every page 
session_start(); 

# To add to cart 
if(isset($_REQUEST['add'])) { 
    # Insert the sku in param 1, quantity into param 2 
    addToCart($_REQUEST['ITEMCODE'],$_REQUEST['QTY']); 
} 
# Set some storage variables 
$totalQty = 
$itemsQty = 0; 
# To get qty in cart 
if(!empty($_SESSION['cart'])) { 
    # Loop through items in cart 
    foreach($_SESSION['cart'] as $sku => $qty) { 
     $totalQty += $qty; 
     $itemsQty += 1; 
    } 
} 
?> 
<!-- If you have 5 products in the cart, this will say 5 --> 
<h2>Total products in cart: <?php echo $itemsQty ?></h2> 
<!-- If you have 5 products with quantity of 2 per product, this will write 10 --> 
<h2>Total items in cart: <?php echo $totalQty ?></h2> 
+0

So habe ich Sitzungen für diese verwendet und es funktioniert fast so, wie ich es will. Die Wagennummer wird in der Kopfzeile angezeigt und ist immer 1 hinter der tatsächlichen Nummer, so dass 1 angezeigt wird, wenn die 2 Elemente sind – Theory

+0

Wenn Sie einen Artikel zum Warenkorb hinzufügen, und es nicht registriert, bis Sie die Seite aktualisieren, tun Sie einfach eine Header-Weiterleitung, nachdem Sie den Einkaufswagen hinzugefügt haben, – Rasclatt

Verwandte Themen