पीएचपी सत्र
एक सत्र कई पृष्ठों में उपयोग की जाने वाली जानकारी (चर में) संग्रहीत करने का एक तरीका है।
कुकी के विपरीत, जानकारी को उपयोगकर्ता के कंप्यूटर पर संग्रहीत नहीं किया जाता है।
एक PHP सत्र क्या है?
जब आप किसी एप्लिकेशन के साथ काम करते हैं, तो आप उसे खोलते हैं, कुछ बदलाव करते हैं और फिर आप उसे बंद कर देते हैं। यह काफी हद तक एक सत्र की तरह है। कंप्यूटर जानता है कि आप कौन हैं। यह जानता है कि आप कब आवेदन शुरू करते हैं और कब समाप्त करते हैं। लेकिन इंटरनेट पर एक समस्या है: वेब सर्वर नहीं जानता कि आप कौन हैं या आप क्या करते हैं, क्योंकि HTTP पता स्थिति को बनाए नहीं रखता है।
सत्र चर इस समस्या का समाधान कई पृष्ठों (जैसे उपयोगकर्ता नाम, पसंदीदा रंग, आदि) में उपयोग की जाने वाली उपयोगकर्ता जानकारी को संग्रहीत करके करते हैं। डिफ़ॉल्ट रूप से, सत्र चर तब तक चलते हैं जब तक उपयोगकर्ता ब्राउज़र बंद नहीं कर देता।
इसलिए; सत्र चर एक एकल उपयोगकर्ता के बारे में जानकारी रखते हैं, और एक आवेदन में सभी पृष्ठों के लिए उपलब्ध हैं।
युक्ति: यदि आपको स्थायी संग्रहण की आवश्यकता है, तो आप डेटा को डेटाबेस में संग्रहीत करना चाह सकते हैं ।
एक PHP सत्र प्रारंभ करें
समारोह के साथ एक सत्र शुरू होता है session_start()
।
सत्र चर PHP वैश्विक चर के साथ सेट हैं: $_SESSION।
अब, "demo_session1.php" नामक एक नया पेज बनाते हैं। इस पृष्ठ में, हम एक नया PHP सत्र शुरू करते हैं और कुछ सत्र चर सेट करते हैं:
उदाहरण
<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>
</body>
</html>
नोट: फ़ंक्शन आपके दस्तावेज़ में सबसेsession_start()
पहली चीज़ होनी चाहिए। किसी भी HTML टैग से पहले।
PHP सत्र चर मान प्राप्त करें
इसके बाद, हम "demo_session2.php" नामक एक और पेज बनाते हैं। इस पृष्ठ से, हम पहले पृष्ठ ("demo_session1.php") पर सेट की गई सत्र जानकारी तक पहुंचेंगे।
ध्यान दें कि सत्र चर प्रत्येक नए पृष्ठ पर व्यक्तिगत रूप से पारित नहीं किए जाते हैं, इसके बजाय उन्हें उस सत्र से पुनर्प्राप्त किया जाता है जिसे हम प्रत्येक पृष्ठ की शुरुआत में खोलते हैं ( session_start()
)।
यह भी ध्यान दें कि सभी सत्र चर मान वैश्विक $_SESSION चर में संग्रहीत हैं:
उदाहरण
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>
</body>
</html>
उपयोगकर्ता सत्र के लिए सभी सत्र चर मान दिखाने का दूसरा तरीका निम्न कोड चलाना है:
उदाहरण
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
print_r($_SESSION);
?>
</body>
</html>
यह कैसे काम करता है? यह कैसे जानता है कि यह मैं हूँ?
अधिकांश सत्र उपयोगकर्ता के कंप्यूटर पर एक उपयोगकर्ता-कुंजी सेट करते हैं जो कुछ इस तरह दिखती है: 765487cf34ert8dede5a562e4f3a7e12। फिर, जब कोई सत्र दूसरे पृष्ठ पर खोला जाता है, तो यह उपयोगकर्ता-कुंजी के लिए कंप्यूटर को स्कैन करता है। यदि कोई मेल है, तो वह उस सत्र तक पहुँचता है, यदि नहीं, तो यह एक नया सत्र शुरू करता है।
एक PHP सत्र चर संशोधित करें
सत्र चर बदलने के लिए, बस इसे अधिलेखित करें:
उदाहरण
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>
</body>
</html>
एक PHP सत्र को नष्ट करें
सभी वैश्विक सत्र चर को हटाने और सत्र को नष्ट करने के लिए, उपयोग करें session_unset()
और session_destroy()
:
उदाहरण
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// remove all session variables
session_unset();
// destroy the session
session_destroy();
?>
</body>
</html>