php - count($_SESSION) always returns 0 -


मैंने यह स्क्रिप्ट लिखा है:

  & lt; html & gt; & Lt; शीर्ष & gt; & Lt; link rel = "स्टाइलशीट" प्रकार = "टेक्स्ट / सीएसएस" href = "../../ css / stile.css" & gt; & Lt; / head & gt; & LT; बॉडी & gt; & Lt;? Php include_once ("../../ classi / funzioni.php"); include_once ( "../../ शास्त्रीय / config.php"); include_once ( "../../ शास्त्रीय / auth.lib.php"); session_start (); // प्रारंभिक सत्र सूची ($ स्थिति, $ उपयोगकर्ता) = auth_get_status (); अगर ($ स्थिति == AUTH_LOGGED & amp; $ उपयोगकर्ता ['nome_negozio'] == "काली फ़ैशन") {गूंजती "& lt; h1 & gt; ORDINE डीए क्लिनईटी & lt; / h1 & gt;"; $ Prodotto = "SELECT * FROM elenco_movimenti WHERE cliente = '"। $ User [' nome_negozio ']। "'"; // query गूंज "& lt; br & gt; & lt; b & gt; QUERY & lt; / b & gt; & lt; br & gt;"; प्रतिध्वन $ prodotto; $ Prodotto = $ db_magazzino- & gt; क्वेरी ($ prodotto); $ Prodotto = $ prodotto- & gt; fetch_row (); $ I = गिनती ($ _ सत्र); $ _SESSION [$ i] = $ prodotto; }? & Gt; & Lt; form name = "form1" method = "post" क्रिया = "./ ordine_da_cliente.php" & gt; & Lt; लेबल = "बारकोड" के लिए & gt; & lt; b & gt; कोडिक एक बैर & lt; / b & gt; & lt; / लेबल & gt; & Lt; इनपुट प्रकार = "टेक्स्ट" नाम = "बारकोड" & gt; & Lt; इनपुट प्रकार = "सबमिट करें" नाम = "सबमिट करें" मान = "ठीक" & gt; & Lt; / प्रपत्र & gt; & Lt; / body & gt; & Lt; / html & gt;  

NB

$ i = गणना ($ _ सत्र); $ _SESSION [$ i] = $ prodotto;

फिर यदि सत्र में 0 तत्व हैं, तो मैं $ _SESSION [0] उत्पाद की चौड़ाई सेट करता हूं, और मैं इसे var_dump के साथ देखता हूं:

VAR डंप सत्र सरणी (1) {[0] = & gt; सरणी (14) {[0] = & gt; स्ट्रिंग (1) "0" [1] = & gt; स्ट्रिंग (1 9) "2014-10-12 08:31:18" [2] = & gt; स्ट्रिंग (18) "कैरिको डा आर्टिकॉली" [3] = & gt; स्ट्रिंग (13) "0913VLA002001" ईटीसी ...

लेकिन अगली गिनती हमेशा शून्य होती है और मुझे वही वार्डड दिखाई देता है ...

क्यों नहीं मैं $ _SESSION देखें [0] [0] [1] [2] $ _SESSION [1] [0] [1] [2], वगैरह?

आपकी समस्या यह है :

  & lt; html & gt; & Lt; शीर्ष & gt; & Lt; link rel = "स्टाइलशीट" प्रकार = "टेक्स्ट / सीएसएस" href = "../../ css / stile.css" & gt; & Lt; / head & gt; & LT; बॉडी & gt; & Lt;? Php include_once ("../../ classi / funzioni.php"); include_once ( "../../ शास्त्रीय / config.php"); include_once ( "../../ शास्त्रीय / auth.lib.php"); session_start (); // Inizio la sessione  

& lt; html & gt; और & lt;? Php के बीच सब कुछ भेजकर, आप और इस प्रकार ब्राउज़र पृष्ठों के बीच एक सत्र चर संग्रहीत नहीं है तो आपके प्रत्येक पेज के बीच प्रत्येक उपयोगकर्ता के लिए PHP के रिक्त $ _ session / <> कोड होगा, क्योंकि ब्राउज़र ने आपके सर्वर से सत्र आईडी को संग्रहीत नहीं किया है, लेकिन अभी भी $ _ session तत्काल स्क्रिप्ट निष्पादन के भीतर चर जैसे कि आप किसी भी अन्य चर का उपयोग कर रहे थे।

किसी भी ब्राउज़र आउटपुट से पहले session_start का उपयोग करने के लिए अपना कोड बदलें। / P>

  & lt;? Php session_start (); // Inizio la sessione include_once ("../../ classi / funzioni.php"); include_once ( "../../ शास्त्रीय / config.php"); include_once ( "../../ शास्त्रीय / auth.lib.php"); ? & Gt; & lt; html & gt; & Lt; शीर्ष & gt; & Lt; link rel = "स्टाइलशीट" प्रकार = "टेक्स्ट / सीएसएस" href = "../../ css / stile.css" & gt; & Lt; / head & gt; & LT; बॉडी & gt; & Lt;? Php //। अपना कोड बाकी  

और बस आप जानते हैं, यह कहता है:

नोट: कुकी-आधारित सत्रों का उपयोग करने के लिए, सत्र में कुछ भी आउटपुट करने से पहले session_start () को बुलाया जाना चाहिए।


Comments