2017-12-19 18 views
-1

こんにちは、私はsession_startがすべてのPHPファイルで必要な私のヘッダーファイルの内側です。私のヘッダーファイルには、カートファイル内にあるアイテムの数量を示すカートアイコンがあります。phpセッション変数が古い値を返す

問題は、アイテムがカートに追加された後にもう一度更新されない限り、カートアイコンに現在のアイテム数が表示されないという問題です。リフレッシュカート後

enter image description here

との両方が20

enter image description here

header.phpの(セッション開始を含有する)

<i class="fa fa-shopping-cart fa-3x" aria-hidden="true"> 
<?php 
    echo ($_SESSION['$q']); 
?> 
</i> 

cart.php(header.phpのを必要とする)が等しいアイコン

<?php 
    $cart = json_decode(json_encode($_SESSION['cart'])); 
    $_SESSION['$s'] = 0; 
    $_SESSION['$q'] = 0; 
    $index = 0; 
    for($i = 0; $i < count($cart); $i++) 
    { 
     $_SESSION['$s'] += $cart[$i]->price * $cart[$i]->quantity; 
     $_SESSION['$q'] += $cart[$i]->quantity; 
?> 

私は間違っていますか?私はアイテムが追加されたときにページをリフレッシュさせることができますが、それを使わないようにしたいと思います。

+2

PHPは、私は怖いだけではそれを行うことができません、あなたはリフレッシュせずに値を自動的に更新すると思うjavascriptが必要になります、またはajax呼び出し、私は推測します。 –

+0

うん、うん、それでは、いくつかのjqueryを学ぶための時間を見て、その後、ハハ。 – Oleeze

答えて

1

あなたがjavascript/ajaxでカートに商品を追加するかどうかによって異なりますか?もしあなたがそうであれば、そのページは既にレンダリングされているので、カートは変更されません。手動でカートの数量をjsで更新するか、ページを更新する必要があります。

あなたが製品を追加するJSを使用していない場合は、チャンスはあなたがそのセッションで新しい数量を更新する前に、ヘッダ内のセッションにアクセスしているされ、その後

+0

私はちょうど起こっているものと推測して、私はちょうどPHPとSQLを使用して、私はイム。私はカートのファイルの総量をエコーし​​て、それは完全に動作します。明確化のためにありがとう。 – Oleeze

関連する問題