WP सत्रों में चर कैसे संग्रहीत और प्राप्त करें?


28

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

मैं सत्र में सभी विकल्पों को संग्रहीत करने के लिए WP बनाना चाहता हूं जब बटन पर क्लिक करके विवरण पृष्ठ पर लाया जाता है और सत्र में वास्तविक जानकारी को सहेजता है और फिर जब वह पृष्ठ पर दोबारा जाता है तो मान सत्रों में धोखा दिया जाएगा और यदि कोई हो तो सेट करें मिल गया।

WP में किया जा सकता है?

यदि हाँ, तो कैसे?

आइए इसकी निगरानी करते हैं और कहते हैं कि हमारे पास कुछ इस तरह है:

<input class="car_color" type="checkbox" name="car_color" value="1" />
<input class="car_color" type="checkbox" name="car_color" value="2" />
<input class="car_color" type="checkbox" name="car_color" value="8" />
<input class="car_color" type="checkbox" name="car_color" value="4" />
<input class="car_color" type="checkbox" name="car_color" value="6" />

मैं अपने फ़ॉर्म में सबमिट बटन का उपयोग नहीं करता, यह इनपुट परिवर्तन पर AJAX के माध्यम से नियंत्रित किया जाता है।

और मेरे परिणामों में अजाक्स के माध्यम से मुझे विस्तार पृष्ठ का लिंक मिला है:

<a class="detail-info-link" href="<?php echo $url ?>">

किसी भी विचार को मैं अपने मूल्यों को सत्र में कैसे संग्रहीत कर सकता हूं और ब्राउज़र में पुन: लोड / पुनः लोड करते समय उन्हें कॉल कर सकता हूं?

मैं सत्र संग्रहीत सामान को पढ़ने और इसके माध्यम से उपयोग करने में सक्षम होने की आवश्यकता है? जावास्क्रिप्ट? और ajax के माध्यम से मेरे खोज फ़िक्शन को ट्रिगर करें जो पहले से ही अच्छी तरह से काम कर रहा है।

मुझे बस स्टोर करने की आवश्यकता है (शायद विस्तार बटन द्वारा href में $ लिंक पर जाने से पहले और सत्र चर (यदि वे मौजूद हैं) पढ़ें और भेजें।


यदि उत्तर आपके लिए मददगार था, तो इसे स्वीकार करने पर विचार करें। देखें » जब कोई मेरे प्रश्न का उत्तर दे तो मुझे क्या करना चाहिए? «और / या» मतदान महत्वपूर्ण क्यों है? «, वर्डप्रेस विकास मॉडल के बारे में अधिक जानकारी सहायता केंद्र पर उपलब्ध है
निकोलई

मुझे लगता है कि नीचे दिए गए लिंक से आपको मदद मिलेगी। wordpress.stackexchange.com/questions/105453/…
विवेकानंद सरस्वती

जवाबों:


32

यदि आप php सत्र सक्रिय करना चाहते हैं, तो सत्र को डिफ़ॉल्ट रूप से वर्डप्रेस में सक्षम नहीं किया जाता है functions.php:

if (!session_id()) {
    session_start();
}

अब आप $_SESSION['your-var'] = 'your-value';एक सत्र चर सेट करने के लिए उपयोग कर सकते हैं । सत्रों पर PHP प्रलेखन पर एक नज़र डालें ।



अद्यतन करें:

एक दूसरा जवाब था, जो मेरे दिमाग में था, उसका भी एक मूल्य था - दुर्भाग्य से यह डिलीट हो गया, मैं यहाँ फिर से जानकारी जोड़ रहा हूँ। जवाब WP सत्र प्रबंधक को एक वैकल्पिक समाधान के रूप में @eamann द्वारा लिखे गए एक प्लगइन का उल्लेख कर रहा था ।
मैंने प्लगइन के बारे में कुछ बातें पढ़ीं, लेकिन कभी इसका उपयोग नहीं किया क्योंकि - अब तक - मैं PHP सत्रों के साथ चिपका रहा हूं - कभी भी यह समस्या नहीं थी कि मैं उन्हें प्रभावित नहीं कर सकता। यह प्लगइन लेखक द्वारा एक बयान / टिप्पणी है जो मैंने स्वयं कुछ संभावित लाभों के बारे में पाया है।


क्या मैं आपसे एक कस्टम क्षेत्र से संबंधित प्रश्न यहाँ देख सकता हूँ: wordpress.stackexchange.com/questions/265852/… ?
इस्तियाक अहमद

1

इसे अपने कार्यों में जोड़ें

<?php

function tatwerat_startSession() {
    if(!session_id()) {
        session_start();
    }
}

add_action('init', 'tatwerat_startSession', 1);

1

मैं समझाऊंगा कि वर्डप्रेस प्लगइन के लिए नेटिव PHP सत्रों के साथ उपयोगकर्ता नाम सत्र कैसे सेट करें । आप इस तर्क को अपनी समस्या पर लागू कर सकते हैं।

इसे अपने functions.php फ़ाइल में जोड़ें

if (!session_id()) {
    session_start();
}

  if ( isset( $_POST['wp-submit'] ) ){

    $_SESSION['username']=$_POST['log'];

  }

$ _POST ['लॉग'] वर्डप्रेस लॉगिन फॉर्म से उपयोगकर्ता नाम इनपुट बॉक्स को संदर्भित कर रहा है। जब कोई उपयोगकर्ता लॉग इन करता है, तो उपयोगकर्ता नाम $ _SESSION ['उपयोगकर्ता नाम' पर संग्रहीत हो जाता है। आपके मामले में, आप 'लॉग' को 'वैरिएबल' नाम के रूप में बदल देंगे, जिसमें 'car_color' है।

बाद में किसी अन्य php फ़ाइल में उपयोगकर्ता नाम का संदर्भ दें

$username=$_SESSION['username'];

0

हो सकता है कि Wordpress में कोई सामान्य सत्र न हों ... वैसे भी, Wordpress उपयोगकर्ताओं की अवधारणा को जानता है। आप कार्यों के साथ विशिष्ट उपयोगकर्ताओं से संबंधित जानकारी का प्रबंधन कर सकते add_user_meta, update_user_meta, get_user_meta, और delete_user_meta

यदि आपको जावास्क्रिप्ट में इस तरह से बचाई गई जानकारी की आवश्यकता है, तो आप एक छोटी सी PHP स्क्रिप्ट लिख सकते हैं जो आपको ज़रूरत है, उल्टी कर सकती है और इसे अजाक्स के रूप में कॉल कर सकती है।


2
यदि उपयोगकर्ता लॉग इन है तो यह केवल अच्छा है।
टिम हॉलमैन

0

AJAX अनुरोध प्राप्त करने वाले PHP पृष्ठ पर, इस तरह $ _SESSION सेट करें।

$car_color = <user selected form input data>;
$_SESSION['car_color'] = $car_color;

$ _SESSION चर पर पहुँचें

if(isset($_SESSION['car_color'])) {
    $value = $_SESSION['car_color'];
} else {
    $value = 'Please select a car color.';
}

यह ट्यूटोरियल सत्रों के उचित सेटअप और निपटान के बारे में अधिक विस्तार से बताता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.