Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
📘 Lesson  ·  Lesson 43

Shopping Cart Logic

हम क्या बना रहे हैं

Shopping cart याद रखता है कि user browse करते हुए क्या खरीदना चाहता है। हम session इस्तेमाल करके एक सरल cart बनाएँगे, ताकि यह checkout तक बिना database pages के बीच बचा रहे। यह items जोड़ेगा, quantities update करेगा, total दिखाएगा, और items हटाएगा।

💡 Cart $_SESSION["cart"] में product id से keyed array के रूप में रहता है, हर एक quantity रखता है।

Cart शुरू करना

<?php
  session_start();
  if (!isset($_SESSION["cart"])) {
      $_SESSION["cart"] = [];   // खाली cart
  }
?>

हम session शुरू करते हैं और पक्का करते हैं cart array मौजूद है। हर cart page ऐसे शुरू होता है ताकि cart हमेशा इस्तेमाल को तैयार रहे।

Cart में जोड़ना

<?php
  $id = (int)$_GET["id"];   // product id

  if (isset($_SESSION["cart"][$id])) {
      $_SESSION["cart"][$id] += 1;   // पहले से है: +1
  } else {
      $_SESSION["cart"][$id] = 1;    // नया item
  }
  echo "Added to cart";
?>
Added to cart

अगर product cart में पहले से है, हम उसकी quantity बढ़ाते हैं; वरना quantity 1 के साथ जोड़ते हैं। id को key बनाना हर product की एक entry रखता है।

Cart और total देखना

<?php
  // मान लीजिए prices database से आती हैं:
  $prices = [1 => 100, 2 => 250, 3 => 90];

  $total = 0;
  foreach ($_SESSION["cart"] as $id => $qty) {
      $line = $prices[$id] * $qty;
      $total += $line;
      echo "Product $id x $qty = $line\n";
  }
  echo "Total: $total";
?>
Product 1 x 2 = 200
Total: 200

हम cart में loop करते हैं, हर price भरोसेमंद स्रोत से देखते हैं, quantity से गुणा करते हैं, और total में जोड़ते हैं। browser से भेजी price पर कभी भरोसा न कीजिए।

Item हटाना

<?php
  $id = (int)$_GET["id"];
  unset($_SESSION["cart"][$id]);   // वो product हटाओ
  echo "Removed from cart";
?>
Removed from cart

unset उस product को cart array से delete करता है। पूरा cart खाली करने को $_SESSION["cart"] = [] set कीजिए।

आम गलतियाँ

  • Form से prices पर भरोसा। हमेशा id से database से असली price लाइए।
  • id cast न करना। सुरक्षा को $_GET["id"] को (int) में cast कीजिए।
  • Duplicate entries। cart को product id से key कीजिए और दोबारा जोड़ने के बजाय quantity बढ़ाइए।
  • session_start() भूलना। हर cart page को cart पढ़ने को यह चाहिए।

सारांश

  • Shopping cart user के browse करते समय session में रहता है।
  • इसे product id से keyed array के रूप में रखिए, हर एक quantity के साथ।
  • मौजूदा product जोड़ने पर उसकी quantity बढ़ती है।
  • Total भरोसेमंद database prices से निकालिए, browser से नहीं।
  • Item हटाने को unset; cart खाली करने को array clear कीजिए।

आगे, अंतिम order save कीजिए PHP CRUD से, या session संभालिए sessions और cookies में।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

Shopping cart कहाँ store होना चाहिए?
ज़्यादातर sites के लिए, cart user के shopping के दौरान session में रहता है। Session cart को pages के बीच server पर रखता है। जब user checkout करे, तो आप order database में save करते हैं।
Session में cart की structure कैसे रखूँ?
एक आम तरीका है product id से keyed associative array, जहाँ हर value quantity (और वैकल्पिक रूप से name और price) रखती है। इससे id से जोड़ना, quantity update करना, या हटाना आसान होता है।
एक ही product दो बार कैसे जोड़ूँ?
जाँचिए product id cart में पहले से है या नहीं। अगर है, उसकी quantity बढ़ाइए; नहीं तो quantity 1 के साथ जोड़िए। यह एक ही product की duplicate entries बचाता है।
Cart total कैसे निकालूँ?
cart items में loop कीजिए, हर item की price को उसकी quantity से गुणा कीजिए, और जोड़िए। price भरोसेमंद स्रोत (आपके database) से रखिए, browser से नहीं, ताकि users उसे बदल न सकें।
Form से prices क्यों न रखूँ?
User browser में hidden price field बदल सकता है। हमेशा product id से अपने database से असली price देखिए, ताकि total से छेड़छाड़ न हो सके।
← Back to PHP Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicExport to CSV/Excel आपकी प्रगति: 43 / 50 (86%) · Lesson 44 / 50 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें