Learn More

PHP in Hindi | Cookies

Cookie एक स्माल फाइल(small file) होतीं हैं जो की क्लाइंट कंप्यूटर पर स्टोर होती हैं । Cookie webserver के माध्यम से क्लाइंट कंप्यूटर पर स्टोर एक small फ़ाइल होती हैं ।

साधारण हिंदी भाषा में कहे तो जैसे कोई यूजर लॉगिन करता हैं लॉगिन करने पर एक छोटी फाइल यूजर कंप्यूटर पर सेव हो जाती हैं जिसमे यूजर का डाटा स्टोर रहता हैं। जैसे यूजरनाम ,ईमेल और पासवर्ड और अन्य डाटा भी स्टोर करके एक्सेस कर सकते हैं । जब एक यूजर लॉगिन करता हैं और अपना काम ख़तम करके क्लोज कर देता हैं जब नेक्स्ट time यूजर लॉगिन फॉर्म विजिट करता हैं तो ऑटोमेटिकली(automatically) लॉगिन हो जाता हैं क्युकी तब कूकीज फाइल से इनफार्मेशन मैच हो जाती हैं और यूजर लॉगिन हो जाता हैं ।

यूजर की पहचान(user identification) करने के लिए एक cookie का उपयोग किया जाता है। यह क्लाइंट कंप्यूटर का हिस्सा है। पिछले tutorial में, हमने PHP sessions के बारे में सीखा था ।Session server पर स्टोर एक temporary memory होती है या कह सकते हैं की session server का पार्ट हैं और cookie क्लाइंट कंप्यूटर का पार्ट हैं जो की क्लाइंट कंप्यूटर में स्टोर होती हैं । वेब ब्राउज़र(web browser) में cookie के रूप में जानकारी(information) store होती है। अगली बार, जब ब्राउज़र सर्वर पर request भेजता है, तो यह server पर स्टोर cookie जानकारी भी भेजता है और server जानकारी की पहचान(match) करता है। Cookie फ़ाइल का size अधिकतम 4kb[4096 bytes] है जो क्लाइंट कंप्यूटर में store होती हैं ।

Cookie की आवश्यकता क्यों है?

यूजर द्वारा प्रयासों(efforts) को कम करने के लिए cookie का उपयोग किया जाता है।जैसे यूजर को बार बार username(or email) और पासवर्ड डालना पड़ता हैं हर बार लॉगिन करने के लिए तो हम cookie का use करके ब्राउज़र में एक स्माल फाइल(small file) क्रिएट कर सकते हैं जिसमे यूजर का डाटा स्टोर होता हैं Next टाइम जब यूजर लॉगिन करते हैं तो ब्राउज़र server पर request के साथ साथ cookie file की इनफार्मेशन send करता हैं जिस से server इनफार्मेशन मैच करता हैं और यूजर डायरेक्ट लॉगिन हो जाता हैं इसमें यूजर को बार बार इनफार्मेशन डालने की जरुरत नहीं होती हैं । Cookie को हम कितने भी seconds, minutes, days, months या years के लिए सेट कर सकते हैं । जिस से यूजर का काम और भी आसान हो जाता हैं ।

PHP set cookies -

Cookie को क्रिएट करने के लिए हम setcookie() function का उपयोग करते हैं । Cookies को सेट करने के लिए कुछ parameters का use करना होता हैं जैसे cookie_name ,value ,expiry time ,path,domain,security,httponly .

Syntax –


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

Cookie को क्रिएट करने के लिए हम setcookie() functionका use करते हैं ।

1. सबसे पहले हम cookie नाम को डिफाइन करते हैं ।

2.Cookie नाम से के साथ cookie की वैल्यू को भी डिफाइन करते हैं ।

3. setcookie() function फंक्शन मैं cookie name ,value ,और expiry time देते हैं यहाँ पर हम 3600 सेकण्ड्स डिफाइन करते हैं । 3600 सेकण्ड्स का मतलब हैं की cookie फाइल 1 घंटे तक स्टोर रहेगी उसके बाद खुद डिलीट हो जाएगी ।

4. उसके बाद if condition के द्वारा $_COOKIE वेरिएबल और associative array [] में कंडीशन लगाते हैं । यदि cookie सेट नहीं हुई हैं तो echo करदे की "cooie is not set" और यदि कुकी सेट हो गयी है तो echo करदे "Cookie is set" ।

<?php
$name= "admin";
$name_value= "saim";
setcookie($name, $name_value, time() +3600, "/"); //1 hours
?>

<?php
if(!isset($_COOKIE[$name])) {
 echo "Cookie named '" . $name . "' is not set!";
} else {
echo "Cookie '" . $name . "' is set!
"; } echo "
"; echo "Reload the page to see the cookie value. The cookie will expire in 1 hours"; ?>

Outupt

After reload page output .
 
Cookie 'admin' is set!

ऊपर दिए गए cookie के कोड को एक PHP फाइल में सेव करके execute(रन करना ।) करते हैं एक बार exeute करने पर cookie सेट नहीं होगी जब आप पेज को दोबारा रीलोड करेंगे तो cookie सेट हो जाएगी ।

Cookie values को प्राप्त(access) करना

Cookie को सेट करने के बाद आपको एक नई पेज पर डाटा को access करना हैं ।Session के साथ साथ cookie के डाटा को भी आप अलग पेज पर एक्सेस कर सकते हैं । Session में हर एक पेज पर session start करना पड़ता हैं पर cookie में कोई start करने की जरूरत नहीं पड़ती बस एक बार cookie को सेट करना होता हैं फिर आप डायरेक्ट cookie डाटा को एक्सेस कर सकते है ।

Cookie में सिर्फ 4KB डाटा को स्टोर करके एक्सेस कर सकते हैं ।

यहाँ पर हम $_COOKIE वेरिएबल और ऐरे का use करते हैं ।

निचे दिए गए example को आपको एक नई PHP फाइल में सेव करके execute करना हैं । Execute करने के बाद आपको cookie की value उसे पेज पर मिल जाएगी । सबसे पहले ऊपर के code को किसी अन्य फाइल में स्टोर करके जैसे PHP page में cookie को सेट करने का कोड किया अब हम cookie डाटा को retrieve करने के लिए अलग PHP फाइल page.php बनाते हैं और execute करते हैं ।उसके बाद cookie की वैल्यू अलग पेज पर एक्सेस हो जाएगी -


<!DOCTYPE html>
<html>
<body>
<?php
echo 'Welcome:' . $_COOKIE["admin"]; 
?>
</body>
</html>

Output

Welcome:saim 

डिलीट कुकी (Delete cookie) -

जैसे की हमने ऊपर सीखा की cookie एक स्माल फाइल(small file) होती हैं जो क्लाइंट कंप्यूटर में स्टोर होती हैं । Cookie को हम डिलीट भी कर सकते हैं । Cookie को डिलीट करने के लिए हम setcookie() function का ही उपयोग करते हैं ।

setcookie() फंक्शन में हमे cookie का नाम और जितना हमने expiry टाइम cookie सेट करते टाइम लिए था उतना ही expiry टाइम को हम remove कर सकते हैं । Cookie सेट करते टाइम expiry टाइम को हम + (+ operator) में डिफाइन करते हैं और cooke को delete करते टाइम हम expiry टाइम को - (- operator) में देते हैं । निचे दिए गए कोड को एक अन्य नई फाइल delete.php में save करके execute करे जिस से cookie फाइल डिलीट हो जाएगी यदि आप डाटा को एक्सेस(access,retrieve) करना चाहेंगे तो डाटा एक्सेस नहीं हो पायेगा । फिर से डाटा को एक्सेस करने के लिए आपको सेट कुकी कोड को २ बार रीलोड करना पड़ेगा ।

Example

<?php
 setcookie("admin", "", time() - 3600,'/');
echo "cookie is deleted";
?>

Cookie एक स्माल फाइल हैं जिसकी लिमिट 4 KB डाटा स्टोर करने की होती हैं ।मुख्यता कुकी का use ब्राउज़र में यूजरनाम ,पासवर्ड ,ईमेल आदि को सेव करने के लिए किया जाता हैं तो इस से यूजर को बार बार यूजरनाम और पासवर्ड नहीं डालना पड़ता और डायरेक्ट अकाउंट लॉगिन हो जाता हैं । कुकी में हम कितना भी expiry के लिए टाइम सेट कर सकते हैं और cookie को expiry टाइम से पहले डिलीट भी कर सकते हैं


Login with cookie using PHP and MYSQL database

Recommended Posts:-