PHP Cookies

PHP

PHP cookie एक छोटी फ़ाइल होती है जिसे वेब सर्वर, क्लाइंट कंप्यूटर पर स्टोर करता है। उनका इस्तेमाल यूजर के username, name, age आदि जैसी सूचनाओं पर नज़र रखने के लिए किया जाता है।

आइए इसे step by step समझते हैं कि यह कैसे काम करता है:

  • जब भी हम किसी वेबसाइट पर जाते हैं, सर्वर स्क्रिप्ट हमारे ब्राउज़र पर cookies का एक सेट भेजती है।
  • यूजर के ब्राउज़र इस जानकारी को local machine पर स्टोर करता है।
  • अगली बार जब यूजर उसी वेबसाइट को खोलता है तो ब्राउज़र वेब सर्वर को request भेजता है, फिर वह उन cookies की जानकारी सर्वर को भेजता है और सर्वर उस जानकारी का उपयोग यूजर की पहचान करने और यूजर के interests के अनुसार contents को personalize करने के लिए करता है।
Note: हर बार जब ब्राउज़र सर्वर से किसी page का requests करता है, तो cookie में सभी डेटा automatic रूप से अनुरोध के साथ सर्वर को भेज दिया जाता है।

Creating PHP Cookies

PHP में एक cookie बनाई जाती है, setcookie() फ़ंक्शन के साथ। स्क्रिप्ट द्वारा generated किसी भी आउटपुट से पहले इस फ़ंक्शन को कॉल करने की आवश्यकता है अन्यथा cookie सेट नहीं की जाएगी, इसलिए इसे <HTML> टैग से पहले call किया जाना चाहिए।

इस फ़ंक्शन के लिए सामान्य रूप से अधिकतम छह arguments की आवश्यकता होती है। प्रत्येक cookie के लिए, setcookie() फ़ंक्शन को अलग से कॉल करना पड़ता हैं।

Syntax
setcookie(name, value, expire, path, domain, security);

setcookie() फ़ंक्शन के parameters के निम्नलिखित अर्थ हैं:

Parameter Description
name Cookie का नाम।
value Cookie की वैल्यू। संवेदनशील (sensitive) जानकारी स्टोर न करें क्योंकि यह वैल्यू यूजर के कंप्यूटर पर स्टोर होता है।
expires Cookie की Expiry date UNIX timestamp format में। उस समय के बाद cookie, inaccessible हो जाएगी। यदि यह parameter सेट नहीं है तो वेब ब्राउज़र बंद होने पर cookie अपने आप expire हो जाएगी।
path इसका उपयोग सर्वर पर path निर्दिष्ट (specify) करने के लिए किया जाता है, जिसके लिए cookie उपलब्ध होगी। यदि / सेट किया जाता है, तो cookie पूरे domain में उपलब्ध होगी।
domain वह domain को निर्दिष्ट करता है, जिसके लिए cookie उपलब्ध है जैसे www.example.com
secure इस फ़ील्ड को यह इंगित करने के लिए 1 सेट किया जा सकता है कि कुकी को केवल HTTPS का उपयोग करके सुरक्षित ट्रांसमिशन द्वारा भेजा जाना चाहिए अन्यथा 0 पर सेट किया जाता है जिसका अर्थ है कि कुकी को नियमित HTTP द्वारा भेजा जा सकता हैं।

आइए एक cookie बनाते हैं जिसका name "user" होगा और उसका वैल्यू "Brajlal" है। यह cookie पुरे 30 दिनों (86400 * 30) के बाद समाप्त हो जाएगी और पूरी वेबसाइट के लिए उपलब्ध होगी।

Setting a cookies
<?php
// 86400 = 1 day (24 hrs * 60 min * 60 sec)
setcookie("user", "Brajlal", time() + (86400 * 30), "/", "", 0);
?>

<html>

<body>
    <?php
    echo "Setting Cookies"
    ?>
</body>

</html>

Accessing PHP Cookies

हम global variable $_COOKIE का उपयोग करके cookie के वैल्यू को पुनः प्राप्त (retrieve) कर सकते हैं। यह एक associative array है जिसमें वर्तमान request में ब्राउज़र द्वारा भेजे गए सभी cookie वैल्यू का रिकॉर्ड होता है।

रिकॉर्ड्स को एक list के रूप में स्टोर किया जाता है जहां cookie का नाम key के रूप में उपयोग किया जाता हैं।

Accessing PHP Cookies
<?php
setcookie("user", "Brajlal", time() + (86400 * 30), "/", "", 0);
setcookie("age", 27);
?>
<html>

<body>
    <?php
    echo $_COOKIE["user"];
    echo "<br>";
    echo $_COOKIE["age"];
    ?>
</body>

</html>
Output
Brajlal
27

Cookie के वैल्यू को access करने से पहले हमेशा यह जांचने की सलाह दी जाती है कि cookie सेट है या नहीं। Cookie सेट है या नहीं, यह जांचने के लिए हम isset() फ़ंक्शन का उपयोग करते हैं।

Accessing PHP Cookies
<?php
setcookie("user", "Brajlal", time() + (86400 * 30), "/", "", 0);
setcookie("age", 27);
?>
<html>

<body>
    <?php
    if (isset($_COOKIE["user"])) {
        echo "Wlecome " . $_COOKIE["user"];
        echo "<br>";
        echo "Your age is: " . $_COOKIE["age"];
    } else {
        echo "Sorry...Not found";
    }
    ?>
</body>

</html>
Output
Welcome Brajlal 
Your age is: 27
Note: setcookie() फ़ंक्शन के लिए केवल name argument अनिवार्य है। किसी argument को छोड़ने के लिए, इसे एक खाली स्ट्रिंग (“ ”) से बदला जा सकता है।

Deleting PHP Cookie

setcookie() फ़ंक्शन का ही उपयोग किया जाता है किसी cookie को delete करने के लिए। इसके लिए expiry में किसी भी तिथि जो पहले ही समाप्त हो चुकी है उसका इस्तेमाल करते हैं।

Deleting PHP cookies
<?php
setcookie("user", "", time() - 60, "/", "", 0);
setcookie("age", "", time() - 60);
?>
<html>

<body>
    <?php
    echo "Delating Cookies"
    ?>
</body>

</html>
Article By: Brajlal Prasad
Created on: 17 Feb 2023  2197  Views
 Print Article
Report Error

If you want to report an error, or any suggestion please send us an email to [email protected]