2012-05-10 9 views
0

セッションを使用して、カートに追加されるアイテムの数をカウントします。私はボタンが提出されたカートに追加したときに私のフォームを処理するために、セッションに以下回すにはどうすればよいPHP - Simpleカートにアイテムを追加して結果を表示

$query = 'SELECT * FROM products ORDER BY date_added DESC'; 

    // Run the query: 
    if($r = mysql_query($query,$dbc)) { 
     while ($row = mysql_fetch_array($r)) { 
      // Print out the returned results: 
      print "<p><h3>{$row['title']}</h3> {$row['description']}<br /> 
       <form action='add_to_cart.php' method='get'> 
        <input type='hidden' name='add2cart' value='{$row['product_id']}' /> 
        <input type='submit' value='Add to Cart' /> 
       </form> 
      </p><hr />\n"; 
     }  
    } 

:私の下にタイトルと説明と共にデータベースからPRODUCT_ID引っ張るボタンを提出しています。私が作成したこのスクリプトは、ページが呼び出されるたびにリフレッシュされるたびにクッキーを数えてしまうため、正確ではありません。一意の製品IDを送信し、セッションを使用してカートにアイテムを追加して、カートに追加するボタンがクリックされたときにのみカート内のアイテムが上がるようにしたい私はちょうどそれが箇条書きか何かする必要はありません、あなたが見るものの出力にそれを必要とする

<?php 
if(!isset($_COOKIE['countItems'])){ 
    $Items = 0; 
    setcookie('countItems', $Items); 
} 
else{ 
    $Items = ++$_COOKIE['countItems']; 
    setcookie("countItems", $Items); 
} 
define('TITLE' , 'Items in cart'); 
include('templates/header.html'); 
?> 
<div id="main"> 
<?php 
require_once('config.php'); 
$dbc = mysql_connect(DB_HOST , DB_USER , DB_PASSWORD); 
mysql_select_db(DB_DATABASE, $dbc); 


if(isset($_COOKIE['countItems'])){ 
    print "<p>You have $Items items in your shopping cart </p>"; 
    print "<p><a href='store.php'>Continue Shopping</a></p>"; 
} 
else{ 
    print "You have not added any items into your cart."; 
} 

?> 

は、ちょうどカートにある項目の数とそこにIDSが何であるかをカウントする必要があります。

+0

なぜあなたはクッキーで作業する必要がありますか? session_startを実行して$ _SESSIONを使用できます。 –

+0

私はphpに新しいです、申し訳ありませんが、私は間違って言いました。私はクッキーを必要としません、私は何をしようとしているとクッキーが動作しないため、代わりにセッションを使用するように書き換えようとしています。上記のコードは私が役に立たなかったものです。 –

答えて

1
session_start(); 
if (! isset($_SESSION['countItems']))$_SESSION['countItems'] = 0; 
else $_SESSION['countItems']++; 
$Items = $_SESSION['countItems']; 

次に、define( 'TITLE'、 'カートに入れるアイテム')に進みます。

関連する問題