2016-06-02 7 views
15

मैं नोब प्रोग्रामर हूं इसलिए मैं किसी भी स्पष्ट गलतियों के लिए पहले से माफी चाहता हूं। मैंने पिछले हफ्ते एक उत्पाद डेटाबेस थोड़ी चीज बनाने में बिताया है। मुझे वह बिंदु भी मिला है जहां मैं एक फॉर्म का उपयोग कर उत्पादों को जोड़ सकता हूं, सभी उत्पादों को जोड़ा गया आदि देख सकता हूं। मैं फॉर्म इनपुट डेटा के माध्यम से बनाए गए सत्रों का उपयोग कर रहा हूं। मैं एक डिलीट उत्पाद पृष्ठ काम करने के लिए संघर्ष करने के लिए संघर्ष कर रहा हूं, मैंने चर को साफ़ करने के लिए अनसेट का उपयोग करने का प्रयास किया है लेकिन यह भी काम नहीं कर सकता है।PHP अनसेट सत्र परिवर्तनीय

जोड़ें उत्पाद पृष्ठ सत्र चर सेट:

$_SESSION['Products'][] = $_POST; //is how i set the session on the add products page. 

unset $_SESSION['Products'][]; //is how i have tried to clear the session although it does not work. 

सही दिशा में किसी भी बिंदु की सराहना की जाएगी!

+3

'सेट नहीं ($ _ सत्र [ 'उत्पाद']);' पर्याप्त है – Thamilan

+1

और सभी सत्र के सत्र session_unset() को साफ़ करने के लिए; –

+0

इसे थोड़ा सा विचार देना मुझे लगता है कि मुझे सत्र चर को अनसेट करने से अधिक करने की आवश्यकता होगी। मुझे अपने उत्पाद सूची पृष्ठ से उस उत्पाद के लिए संपूर्ण सरणी को हटाना होगा। मेरा बुरा – boothprod

उत्तर

25

आप का उपयोग कर सकते हैं सेट किए बिना सत्र चर:

  1. session_unset - मुक्त कर देते सब सत्र चर (यह का उपयोग कर के बराबर है: $_SESSION = array();)
  2. unset($_SESSION['Products']); - सत्र चर में अनसेट केवल उत्पाद सूचकांक। (याद रखें: आप एक समारोह की तरह उपयोग करने के लिए है, नहीं के रूप में आप प्रयोग किया जाता)
  3. session_destroy - एक सत्र

करने के लिए पंजीकृत session_unset और session_destroy का उपयोग कर के बीच अंतर पता करने के लिए सभी डेटा नष्ट कर देता है इस SO answer पढ़ें। यह सहायता करता है।

2

आप पूरी तरह से सत्र आप इस का उपयोग कर सकते साफ़ करना चाहते हैं:

session_unset(); 
session_destroy(); 

असल में दोनों आवश्यक नहीं हैं, लेकिन यह चोट नहीं करता है।

आप केवल एक विशिष्ट भाग साफ़ करना चाहते हैं मुझे लगता है कि आप इस की जरूरत है:

unset($_SESSION['Products']); 
//or 
$_SESSION['Products'] = ""; 

आपको क्या चाहिए पर निर्भर करता है।

1

unset एक फ़ंक्शन है, ऑपरेटर नहीं। उस सत्र कुंजी को अनसेट करने के लिए इसे unset($_SESSION['key']); जैसे उपयोग करें। हालांकि, आप session_destroy(); का भी उपयोग कर सकते हैं। (session_start(); के साथ सत्र शुरू करना सुनिश्चित करें)

+0

'अनसेट' * फ़ंक्शन नहीं है, लेकिन एक भाषा का निर्माण – PeeHaa

4

अनसेट एक फ़ंक्शन है। इसलिए आपको जमा करना होगा कि कौन सा चर नष्ट होना है।

unset($var); 

आपके मामले में

unset ($_SESSION["products"]); 

आप पूरे सत्र चर पुनर्स्थापित करने के लिए की जरूरत है तो बस फोन

session_destroy(); 
+0

यहां नाइटपिकिंग: 'अनसेट' एक भाषा निर्माण और * नहीं * एक फ़ंक्शन है। – PeeHaa

+0

हां। यह एक भाषा निर्माण है। लेकिन PHP मैनुअल स्वयं एक वैरिएबल हैंडलिंग फ़ंक्शन के रूप में अनसेट को वर्गीकृत करता है। www.php.net/manual/en/ref.var.php। किसी भी तरह से मुझे इस तथ्य को हाइलाइट करने की आवश्यकता है कि परिवर्तनीय नाम इसे पास किया जाना चाहिए। –

+0

हां लेकिन अंतर वहां है। यह एक समारोह नहीं है। – PeeHaa

संबंधित मुद्दे