PHP Cookies

Introduction to PHP Cookies

Cookies पुराने यूज़र को identify करने के लिए यूज़ की जाती है। Cookie एक छोटी सी file होती है। जब भी आप किसी website को visit करते है तो वह website आपके PC पर cookies को store कर देती है। जब कुछ दिनों बाद आप वापस उसी website के लिए browser में request करते है तो request के साथ उस website की cookies भी send की जाती है। Cookies के माध्यम से उस website को पता चल जाता है की आप पहले भी website visit कर चुके है।

Cookies mainly 2 तरह की होती है।

  • Analytical cookies - इस तरह की cookies के माध्यम से आप किसी पुराने visitor को recognize कर सकते है तो और visitors की संख्या का भी पता लगा सकते है।
  • Functional cookies - इस तरह की cookies functional tasks perform करने के लिए यूज़ की जाती है जैसे की user की पुरानी choices आप इस तरह की cookies के द्वारा पता लगा सकते है।

Website के द्वारा cookies को कई कारणों से यूज़ किया जाता है।

  • User experience को improve करने के लिए।
  • User को identify करने के लिए।
  • Number of visitors count करने के लिए।
  • User की पुरानी choices याद रखने के लिए।

PHP में cookies को कुछ functions की मदद से manage किया जाता है।

  • setcookie() - ये function cookies create करने के लिए यूज़ किया जाता है।
  • isset() - इस function के माध्यम से आप check कर सकते है की cookie पहले से created है या नहीं।

Creating Cookies

PHP में cookies create करने के लिए आप setcookie() function यूज़ करते है। इस function के 6 parameters होते है। इस function का format निचे दिया जा रहा है।

<?php
setcookie(name-of-cookie,value,expire-time,path,domain-name,security);
?>
  • name-of-cookie - ये cookie का नाम होता है। ये एक unique नाम होता है। इसी नाम के द्वारा cookie की value access की जाती है।
  • value - ये वह value होती है जिसे आप store करना चाहते है। ये value कुछ भी हो सकती है जैसे की कोई string या integer value आदि।
  • expire-time - ये वो time होता है जब तक के लिए आप cookie को store करना चाहते है।
  • path - ये उस directory का path होता है जँहा पर आप cookie को store करना चाहते है।
  • domain-name - ये domain का नाम होता है। यदि आपकी website बड़ी है तो आप उसका नाम यँहा यूज़ कर सकते है।
  • security - यदि आप इसको 1 पर set करते है तो cookie केवल secure HTTPS के माध्यम से ही भेजी जा सकती है।

PHP में cookies create करने का उदाहरण निचे दिया जा रहा है।

<?php

setcookie("name","yrName",time()+3600,"/cookies/","",0);
setcookie("Country","India",time()+3600,"/cookies/","",0);

?>

Accessing Cookies

PHP में cookies $_COOKIE[ ] array में store की जाती है। यदि आप किसी एक cookie की value को access करना चाहते है तो $_COOKIE[' cookie-name'] variable के द्वारा access कर सकते है। जैसे की यदि कोई पुराना user वापस आता है तो आप उसके नाम के साथ welcome message print करवा सकते है। एक ध्यान देने योग्य बात ये है की cookies को access करने से पहले आपको पता कर लेना चाहिए की यूज़र की request में कोई cookie send की गयी है या नहीं। इसके लिए आप isset() function यूज़ करते है। पिछले उदाहरण में आपने cookie create की थी अब cookie को access करने का उदाहरण निचे दिया जा रहा है।

<?php

if(isset($_COOKIE["name"]))
{
   echo "Good morning".$_COOKIE["name"];
}

?>

Deleting Cookies

Cookies को इस्तेमाल करने के बाद आप cookies को delete भी कर सकते है। इसके लिए 2 तरीके है।

  1. setcookie() function को सिर्फ cookie के नाम के साथ call कीजिये।
  2. setcookie() function को past की किसी date के साथ call कीजिये।
<?php
setcookie("name");  //Here name is the name of cookie.
?>

Example

PHP में cookies create और use करने का simple उदाहरण निचे दिया जा रहा है।

example.php:

<html>
<head>
<title>PHP Cookie Demo</title>
</head>

<body>

<form action="file1.php" method="post">
Enter Your Name : <input type="text" name="UserName"> <br />
<br />
<input type="submit" value="Submit">
</form>

</body>
</html>

file1.php:

<?php
$username = $_POST["UserName"];

if(isset($_COOKIE["name"]) && $_COOKIE["name"]==$username)
{
    echo "Welcome back ".$_COOKIE["name"];
}
else
{
     echo "Hello ".$username."<br />";
     echo "Cookie was not set. <br />";
     echo "Setting cookie now.....<br />";
     setcookie("name",$username,time()+3600,"/","",0);
     echo "Cookie set.";
}

?>

ऊपर दिए गए उदाहरण में एक form create किया गया है। इस form के माध्यम से user से उसका नाम enter करवाया जाता है। Form को submit करने पर file1.php file execute की जाती है। जब user पहली बार visit कर रहा है तो उसके नाम से cookie पहले से set नहीं होगी इसलिए user को message show किया जाएगा की cookie पहले से set नहीं थी और अब set कर दी गयी है। जब user वापस return करता है तो user को उसके नाम के साथ welcome back message show किया जाएगा।

PHP cookies