Sesson सर्वर पर एक temporary memory क्रिएट करता हैं । PHP session के द्वारा डाटा को एक पेज दूसरे पेज पर ले जाकर access करना बहुत ही आसान होता हैं ।
साधारण Hindi भाषा में समझे तो जब आप किसी Cyber Cafe(computer cafe) में जाकर कंप्यूटर पर काम करते हैं मान लीजिये Cyber Cafe ओनर(owner) ने आपको सीर्फ 1 घंटे के लिए अनुमति(permission) दी हैं जब आप कंप्यूटर ओपन करते हैं तो आपका टाइम शुरू हो जाता हैं और काम पूरा हो जाने के बाद आप कंप्यूटर को बंद कर देते हैं इस समय को हम session कह सकते हैं की जब तक session रहा आपने काम किया और जब काम पूरा हुआ आपने कंप्यूटर बंद कर दिया मतलब session भी ख़तम हो चूका हैं ।
चलिए एक और उदाहरण से समझते हैं जैसे की facebook एक सबसे बड़ी सोशल networking साइट हैं जिस पर आप किसी से भी बाते कर सकते हैं ।
फेसबुक पर जब आप लॉगिन करते हैं तो लॉगिन होते ही session शुरू(temporary memory क्रिएट हो जाती हैं ) हो जाता हैं जब आप सभी से chat करके और फेसबुक चेक करके logout करते हैं तो उस टाइम session भी ख़तम(destroy,delete) हो जाता हैं । फेसबुक PHP पर बनी हैं जिसमे लॉगिन प्रोसेस sessions ही हैंडल करते हैं ।
जब आप लॉगिन करते हैं तो सर्वर पर temporary memory बनती हैं जो facebook के सभी पेज को access करने के लिए एक्सेस देती हैं । जब कभी आप फेसबुक के किसी पेज को डायरेक्ट ओपन करना चाहते हैं तो आपको एक मैसेज मिलता हैं की प्लीज लॉगिन फर्स्ट(You must login first) क्युकी बिना लॉगिन किये session शुरू नहीं होता और session जब तक शुरू नहीं होगा तब तक आप फेसबुक के secure pages को visit नहीं कर पाओगे ।
कभी कभी आपने देखा होगा की आप फेसबुक पर लॉगिन करते हैं और chat करते हैं ,share करते हैं फेसबुक को कम्पलीट चेक करने के बाद आप फेसबुक को बिना logout किये close कर देते हैं । जब आप दोबारा से फेसबुक को ओपन करते हैं तो आप पाते हैं की आपका खुद से लॉगिन हो चूका हैं क्युकी आपने लॉगआउट नहीं किया था और जो temporary memory थी वो delete नहीं हुई थी server से इसलिए खुद से ही लॉगिन हो गया तो ये session के द्वारा होता हैं ।
तो session वेबसाइट के डाटा की सिक्योरिटी के लिए भी use किया जाता हैं क्युकी बिना username और password के कोई किसी का डाटा चेक नहीं कर सकता।
यदि कोई unknown यूजर फेसबुक पर यूजरनाम और पासवर्ड डालता हैं और session के द्वारा वो लॉगिन पेज पर ही redirect होता रहता हैं क्युकी उसके द्वारा डाला गया username और पसवर्ड गलत हैं। तो session unknown यूजर से भी डाटा को secure करता हैं
Client कंप्यूटर (ब्राउज़र) के बजाय सर्वर पर जानकारी स्टोर करने के लिए एक session का उपयोग किया जाता है। सरल शब्दों में- सबसे पहले, आपको हर एक पेज पर session शुरू(session start) करना होगा। यदि आप session के लिए अगले पेज (जैसे username और अन्य जानकारी से संबंधित) पर वैल्यू प्राप्त(value access on another page) करना चाहते हैं तो उसमे session आपकी help करता हैं ।
सेशन के द्वारा आप डाटा को किसी भी पेज में एक्सेस कर सकते हैं ।
PHP session को start करने के लिए session_start() फंक्शन का उपयोग किया जाता हैं ।
फ़ंक्शन session_start() पहले जांचता(check) है कि क्या session पहले ही शुरू हो गया है और यदि session शुरू नहीं हुआ है तो नई सेशन session start होता हैं ।
Sessions को start करने के लिए session_start () फ़ंक्शन का उपयोग किया जाता है। Session को वेबसाइट के सभी पेज में स्टार्ट करना होता हैं । Session को स्टार्ट करने के लिए निम्लिखित फंक्शन का उपयोग PHP कोड में किया जाता हैं ।
<?php
session_start();
?>
SESSION वेरिएबल का उपयोग सूचना(information) को संग्रहीत (store) करने के लिए किया जाता है। उदाहरण के लिए - यूजर इनफार्मेशन को SESSION वेरिएबल के द्वारा स्टोर करके किसी भी अन्य पेज में एक्सेस(access) कर सकते हैं । एक पेज में SESSION वेरिएबल($_SESSION variable) के द्वारा इनफार्मेशन वैल्यू को स्टोर करके दूसरे पेज में आसानी से उस वैल्यू को एक्सेस किया जा सकता हैं। ये ही नहीं वेबसाइट के हर एक page में उस वैल्यू (डाटा) को access किया जा सकता हैं। बस आपको सभी पेज के स्टार्ट(at the beginning) में PHP session को start करना होता हैं । ये सब हम आगे उदाहरण से समझेंगे ।
$_SESSION
Session वेरिएबल $_SESSION में डेटा स्टोर करने के लिए सबसे अच्छी तरीका होता है । $ _SESSION [] ऐरे का उपयोग करके key-value pair में session डेटा को एक्सेस किया जाता हैं । key-value ke concept Associative Array में आता हैं । हम key-value pair में session डाटा स्टोर करते हैं।
सेशन डेटा स्टोर करने के लिए $ _SESSION [] superglobal वेरिएबल और associative array का उपयोग करते हैं।
आप इन session variable के द्वारा डेटा को वेबसाइट के किसी भी पेज पर एक्सेस(access) कर सकते हैं ।जब तक session available हैं तब तक variables को values को access किया जा सकते हैं session के destroy हो जाने के बाद values को एक्सेस नहीं किया जा सकता ।
Session डाटा को अलग पेज में एक्सेस करना हम अगले example में सीखेंगे सबसे पहले हम session data को स्टोर करते हैं।यहाँ पर हम तीन session वेरिएबल को सेट करते हैं और वैल्यूज स्टोर करते हैं ।
<?php
//start session in every single page
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Set three session global variables
$_SESSION["username"] = "admin";
$_SESSION["name"] = "Saim";
$_SESSION["dept"] = "IT";
?>
</body>
</html>
ऊपर दिए example में हम सेशन डाटा सेट कर चुके हैं ।
अब हम एक अलग पेज पर उस डाटा को एक्सेस करेंगे ।
सबसे पहले पेज के start में session को start करना होता हैं ।
बिना session start किये session डाटा को एक्सेस नहीं कर सकते हैं इसलिए धियान रखें हैं की PHP session को सभी पेज में start करना जरुरी हैं ।
तभी आप session डाटा को एक्सेस कर सकते हैं ।
ऊपर दिए गए example को आपको एक पेज में execute(Run करना) करना हैं और निचे दिए example को नए पेज क्रिएट करके execute करना हैं ।
धियान रहे पहले ऊपर वाले कोड को execute करे ताकि पहले session क्रिएट(temporary memory on server) हो जाये फिर दूसरी फाइल को execute करे दूसरी PHP फाइल(page) को execute करने पर आपको वैल्यूज(data value) मिल जाएगी और आपको ये सब अच्छे से समझ भी आ जायेगा ।
इस example में हमने वेरिएबल की वैल्यू को डिस्प्ले(display) कराया हैं ।
कोड को execute करने के बाद आपको पता चल जायेगा की पहले पेज पर सेशन वेरिएबल वैल्यू को सेट करके दूसरे पेज पर कैसे एक्सेस करते है ?
<?php
//start session in every single page
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
echo 'Welcome:' . $_SESSION["username"] . '
';
echo 'Your name is ' . $_SESSION["name"] . '
';
echo 'Your department is ' . $_SESSION["dept"];
?>
</body>
</html>
Welcome:admin Your name is Saim Your department is IT
इस उदाहरण में, हम page1.php पर सेशन वेरिएबल सेट करते हैं और दूसरे page page2.php में वेरिएबल के वैल्यूज को एक्सेस करके डिस्प्ले कराया हैं। यह session का मुख्य लाभ है।की आप वेबसाइट के किसी भी पेज में session डाटा को एक्सेस कर सकते हैं जिसमे PHP session को start करते हैं ।
session_unset() और session_destroy() फ़ंक्शन का उपयोग करके पूर्ण PHP session को हटा(remove) और नष्ट(destroy) कर सकते हैं। Sessions के नष्ट होने के बाद ,सेशन डाटा को किसी भी पेज पर एक्सेस नहीं किया जा सकता हैं। Session डिलीट(delete) होने के मतलब हैं की यूजर ने temporary memory को सर्वर से डिलीट कर दिया हैं ।
Session डाटा को दोबारा एक्सेस करने के लिए आपको session फिर से क्रिएट करना पड़ेगा session को फिर से क्रिएट करने के लिए आपको सबसे पहले पेज(page1.php) को रीलोड करना पड़ेगा ।
session को destroy करने के लिए नीच दिए कोड को अलग नई PHP फाइल(example- delete.php) में सेव कर ब्राउज़र में ओपन करे जिस से session डिलीट हो जायेगा ।
<?php
//start session in every single page
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// remove all session variables
session_unset();
// destroy the session
session_destroy();
?>
</body>
</html>
सेशन को हम एक तरह से स्माल फाइल(small file) भी कह सकते हैं जो सर्वर पर temporary क्रिएट होती हैं session क्लाइंट कंप्यूटर(client computer) में सेव नहीं होता सेशन सर्वर कर पार्ट हैं न की क्लाइंट कंप्यूटर का ।क्लाइंट कंप्यूटर का पार्ट cookies हैं जो क्लाइंट कंप्यूटर पर स्टोर होती हैं cookies के बारे में हम अगले PHP tutorial में सीखेंगे ।
तो PHP session एक temporary memory होती हैं जो सर्वर पर स्टोर होती हैं जब तक session available होते हैं तब तक सेशन डाटा को किसी भी पेज पर एक्सेस कर सकते हैं ।Session के delete हो जाने पर session डाटा को एक्सेस नहीं कर सकते ।
ये सेशन का concept होता हैं ।