Wednesday 15 February 2017

What is Cookie in PHP

Cookie is generally used to identify a user. Cookies are text files stored on the client computer and they are kept of use tracking purpose. PHP transparently supports HTTP cookies. Using PHP, you can both create and retrieve cookie values.

Note: PHP Cookie must be used before <html> tag.

There are three steps involved in identifying returning users;
  • Server script sends a set of cookies to the browser. For example name, age, or identification number etc.
  • Browser stores this information on local machine for future use.
  • When next time browser sends any request to web server then it sends those cookies information to the server and server uses that information to identify the user.

Create Cookies in PHP

A cookie is created in php using setcookie() function. Here only the name parameter is required. All other parameters are optional.

Syntax

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

Create/Retrieve a Cookie in PHP

The following example creates a cookie named "user" with the value "Hitesh Kumar". The cookie will expire after 30 days (86400 * 30). The "/" means that the cookie is available in entire website (otherwise, select the directory you prefer).
We then retrieve the value of the cookie "user" (using the global variable $_COOKIE). We also use the isset() function to find out if the cookie is set:

Modify Cookie

<?php
$cookie_name = "user";
$cookie_value = "Hitesh Kumar";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>

<!DOCTYPE html>
<html>
<body>
<?php

if(!isset($_COOKIE[$cookie_name]))
{
 echo "Cookie named '" . $cookie_name . "' is not set!";
} else 
{
 echo "Cookie '" . $cookie_name . "' is set!
";
 echo "Value is: " . $_COOKIE[$cookie_name];
}

?>
<body>
<html>
 

Modify a Cookie Value

To modify a cookie, just set (again) the cookie using the setcookie() function

Modify Cookie

<?php
$cookie_name = "user";
$cookie_value = "Alex Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>

<!DOCTYPE html>
<html>
<body>
<?php

if(!isset($_COOKIE[$cookie_name]))
{
  echo "Cookie named '" . $cookie_name . "' is not set!";
} 
else 
{
 echo "Cookie '" . $cookie_name . "' is set!
";
 echo "Value is: " . $_COOKIE[$cookie_name];
}

?>
<body>
<html>
 

Delete a Cookie in PHP

Delete Cookie

<?php
// set the expiration date to one hour ago
setcookie("user", "", time() - 3600);
?>

<!DOCTYPE html>
<html>
<body>
<?php

echo "Cookie 'user' is deleted.";

?>
<body>
<html>
 

Check Cookies are Enabled or not

To Check Cookies are Enabled or not, First Create a test cookie with the setcookie() function, then count the $_COOKIE array variable;

Check Cookie Enabled ?

<?php
setcookie("test_cookie", "test", time() + 3600, '/');
?>

<!DOCTYPE html>
<html>
<body>
<?php

if(count($_COOKIE) > 0)
{
 echo "Cookies are enabled.";
} else 
{
 echo "Cookies are disabled.";
}

?>
<body>
<html>
 
 
 

0 comments: