पीएचपी सेशन

PHP सेशन वेरियेबल उपयोगकर्ता सेशन के बारे में जानकारी स्टोर करने या उपयोगकर्ता सेशन के सेटिंग को बदलने के लिए है। सेशन वेरियेबल स्टोर करने वाली जानकारी एकल उपयोगकर्ता के लिए है और अनुप्रयोग के सभी पृष्ठों में उपयोग की जा सकती है。

PHP सेशन वेरियेबल

जब आप एक अनुप्रयोग चलाते हैं, आप इसे खोलते हैं, कुछ बदल लेते हैं और फिर इसे बंद करते हैं। यह एक बैठक की तरह है। कंप्यूटर जानता है कि आप कौन है। यह जानता है कि आप कब अनुप्रयोग शुरू करते हैं और कब बंद करते हैं। लेकिन इंटरनेट में, एक समस्या है: सर्वर जानता नहीं है कि आप कौन है और आप क्या कर रहे हैं, जिसकी वजह से HTTP पते अवस्था को बनाए नहीं रख सकते।

इस प्रकार, PHP सेशन इस समस्या को हल करता है (जैसे उपयोगकर्ता नाम, खरीदे गए सामान आदि)। हालांकि, सेशन जानकारी अस्थायी है और उपयोगकर्ता के आगे विराले होने पर इसे शद्ध बनाया जाता है। अगर आप जानकारी को स्थायी रूप से स्टोर करना चाहते हैं, तो डाटाबेस में डाटा स्टोर कर सकते हैं。

सेशन का कामकाज यह है: प्रत्येक पाठक को एक अलग id (UID) बनाना और इस UID के आधार पर वेरियेबल स्टोर करना। UID को कुकी में स्टोर किया जाता है, या URL के माध्यम से वितरित किया जाता है。

PHP सेशन प्रारंभ करना

आप उपयोगकर्ता के जानकारी को PHP सेशन में स्टोर करने से पहले, पहले सेशन को प्रारंभ करना आवश्यक है。

टिप्पणी:session_start() फ़ंक्शन <html> टैग के पहले होना चाहिए:

<?php session_start(); ?>
<html>
<body>
</body>
</html>

ऊपरी कोड सर्वर पर उपयोगकर्ता की सेशन रजिस्टर करता है, ताकि आप उपयोगकर्ता के जानकारी को सहेज सकें, साथ ही उपयोगकर्ता सेशन को एक UID आवंटित करता है。

सेशन वेरियेबल स्टोर

सेशन वेरियेबल को स्टोर और लॉड करने का सही तरीका PHP $_SESSION वेरियेबल का उपयोग करना है:

<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>

आउटपुट:

Pageviews=1

नीचे दिए गए उदाहरण में, हमने एक साधारण page-view काउंटर का निर्माण किया है।isset() फ़ंक्शन यह निर्धारित करता है कि "views" वेरियेबल पहले से सेट किया गया है या नहीं।यदि "views" वेरियेबल सेट किया गया है, हम काउंटर को बढ़ाते हैं।यदि "views" मौजूद नहीं है, तो हम "views" वेरियेबल को बनाते हैं और इसे 1 के रूप में सेट करते हैं:

<?php
session_start();
if(isset($_SESSION['views']))
  $_SESSION['views']=$_SESSION['views']+1;
else
  $_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>

सत्र समाप्त करें

यदि आप कुछ सत्र डाटा हटाना चाहते हैं, तो आप unset() या session_destroy() फ़ंक्शन का उपयोग कर सकते हैं。

unset() फ़ंक्शन का उपयोग निर्दिष्ट सत्र चलने वाले चालाकी को मुक्त करने के लिए किया जाता है:

<?php
unset($_SESSION['views']);
?>

आप यहाँ session_destroy() फ़ंक्शन के द्वारा सत्र को पूरी तरह से खत्म कर सकते हैं:

<?php
session_destroy();
?>

टिप्पणी:session_destroy() सत्र को पुनर्स्थापित करेगा, आपको सभी संग्रहीत सत्र डाटा खोने का प्रतीक्षा होगी。