2009-10-15 9 views
8

सहायता!

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

मैं इस jQuery कोड का उपयोग कर रहा:

$(document).ready(function() { 
    $(".gal-nav").click(function() { 
     $.post("form-data-holder.php", $("#gallery-form").serialize()); 
    }); 
}); 

और फार्म-डेटा-holder.php फ़ाइल का कहना है यह:

<?php 

    $_SESSION['saved'] = "true"; 

    foreach ($_POST as $key=>$value) { 
     if ($key !== "submit") { 
      $value = htmlentities(stripslashes(strip_tags($value))); 
      $_SESSION[$key] = $value; 
     } 
    } 

?> 

मैं दो मुद्दे हैं -

1) मैं serialize() फ़ंक्शन से चेकबॉक्स मान कैसे प्राप्त करूं? मुझे लगता है कि मुझे उस सरणी को प्राप्त करने के लिए मूल्य [] जैसे कुछ और करना है, और फिर मुझे लगता है कि प्रत्येक एक अलग सत्र चर के रूप में स्टोर करें - जब तक कि मैं एक सरणी $ _SESSION चर के रूप में स्टोर नहीं कर सकता?

2) इससे पहले कि मैं इसमें से किसी के साथ भी गड़बड़ कर दूं, मैंने उस पंक्ति को $ _SESSION ['saved'] = "true" जोड़ा; php स्क्रिप्ट के लिए और फिर मैं अपने गैलरी पेज पर $ _SESSION कुंजी और मानों को प्रतिबिंबित करता हूं यह देखने के लिए कि AJAX अनुरोध भी काम कर रहा है या नहीं। यह। जब मैं पृष्ठ पर वापस आ जाता हूं तो $ _SESSION ['सहेजा गया'] प्रतिबिंबित $ _SESSION चर की सूची में जोड़ा नहीं जाता है।

किसी भी मदद की सराहना की जाएगी !!

उत्तर

6

आपको अपने फॉर्म-डेटा-धारक.एफ़.पी. फ़ाइल में session_start() को कॉल करने की आवश्यकता है।

हर बार जब आप AJAX कॉल करते हैं, तो आप सर्वर से एक नया/ताज़ा पृष्ठ अनुरोध कर रहे हैं जो मूल पृष्ठ में सेट किए गए किसी भी चर के बारे में नहीं जानता है।

+0

क्षमा करें, सत्र पहले ही इस तथ्य से शुरू हो चुका है कि गैलरी को देखने के लिए उपयोगकर्ता को लॉग इन होना चाहिए। – rhodesjason

+0

हां, लेकिन जब आप अजाक्स कॉल करते हैं, तो यह ताजा शुरू करने वाला एक नया PHP पृष्ठ लोड कर रहा है, इसलिए आपको इसे वहां भी कॉल करने की आवश्यकता होगी। – jeroen

+0

हम्म ठीक है मैंने जोड़ा फॉर्म-डेटा-धारक.एफ़पी फ़ाइल के शीर्ष पर - कोई परिवर्तन नहीं। क्या मुझे उस सत्र को दूसरे सत्र के साथ किसी भी तरह से जोड़ना है? – rhodesjason

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