15.module5 - PHP COOKIE SESSION NEW - 13 PDF
15.module5 - PHP COOKIE SESSION NEW - 13 PDF
15.module5 - PHP COOKIE SESSION NEW - 13 PDF
Prof.N.Nalini
AP(Sr)
VIT
Cookies and Sessions
• Internet is based on Hypertext Transfer Protocol (HTTP), which is a stateless
protocol.
• Maintaining the state between your subsequent visits to a Web page prevent loss
of sensitive data
• We need to keep track of information about the web user/client between
consecutive HTTP requests
Example: Shopping Cart
• “Remember Me”
• For storing the items selected by the site users in their respective shopping
carts.
Cookies
• For storing details of the users who visit the site or register on the Web
site.
• For tracking a user's path and activities on a given Web site. This feature
allows the Web administrators to track miscreants.
• For generating individual user profiles. For example, some sites display
personalized messages to their users when they log in to the site.
4
Setcookie()
• To set a cookie in PHP:
• setcookie(name, value, expiration, path, domain, securemode)
• setcookie(“mycookie”,”hello”, time()+60,”/”,”localhost”,0)
• Time of expiry entered in seconds.
• Present time + time in seconds until expiration[note:time()]
• Once set, S_COOKIE[‘mycookie’] will have value ‘hello’
• Always check with isset($_COOKIE[$cookie_name]) before trying to use the cookie’s
value
• Path - This parameter is used to limit the scope of a cookie to a certain part of the document
tree within the Web server.
• Domain - This parameter is used to specify the domain for which the cookie is valid.
• Security parameter – This parameter ensures that the confidential data stored in the cookie
is safe from unauthorized access while it travels from the Web server to the client machine
• To delete a cookie, set a new cookie with same arguments but expiration in the past
Sample cookies program
1. Setcookie.php
<?php
$username = “aabbcc”;
setcookie(‘username’, $username, time() + 60 * 60 * 24); // cookie for 1 day
echo $_COOKIE[‘username’] .” created with expiration time of 1 day”;
setcookie(‘secondcookie’,$username); //expiration time is Session time.
setcookie(‘third’,’sample’,time()+60*60*24*30);//cookie for 30 days
//accessing cookie
echo $secondcookie;
?>
6
Sample cookies program
TestCookie.php
<html> <head>
<title>Beginning PHP, Apache, MySQL Web Development</title>
</head> <body>
<h1>This is the Test Cookie Page</h1>
<?php
if ($_COOKIE[‘username’] == “” || $_COOKIE[‘password’] == “”)
{
?>
No cookies were set.<br>
<a href=”setcookie.php”>Click here</a> to set your cookies.
<?php }
else
{ ?>
Your cookies were set:<br>
Username cookie value: <b><?php echo $_COOKIE[‘username’]; ?></b><br>
Password cookie value: <b><?php echo $_COOKIE[‘password’]; ?></b><br>
<?php
} ?> </body> </html>
7
Page Count program
<?php
if (!isset($_COOKIE['kookie'])) {
$pagecount=0;
setcookie("kookie",$pagecount);
echo "<font size=8><center>This is the first time u have accessed
this page<br>";
echo "<center>A cookie was sent to u & stored in ur
computer<br>";
}
else {
$pagecount = ++$_COOKIE['kookie'];
setcookie("kookie",$pagecount);
echo "<center><font size=10 color = red> view count:
".$_COOKIE['kookie'];
}
?> <html><body>
<b> <center> <font size=8 color=blue> Refresh button will refresh the page
and the page count</b></center> </body> </html>
8
Delete Cookie program
<?php
echo "<font size=8>";
if (isset($_COOKIE["kookie"]))
{
setcookie("kookie","",time()-10); // deletes cookie
echo "Cookie named as <color = red>kookie </color>was
deleted";
}
else
echo "there is no cookie with name 'KOOKIE'";
?>
9
Visitor Count program
<?php
$visitor_ip = $_COOKIE["user_ip"];
$counter = "counter.txt";
$counter_file_line = file($counter);
if(!$vistor_ip) {
setcookie("user_ip", $REMOTE_ADDR, time()+360000);
$counter_file_line[0]++;
$cf = fopen($counter, "w+");
fputs($cf, "$counter_file_line[0]");
fclose($cf);
} elseif($vistor_ip != $REMOTE_ADDR) {
$counter_file_line[0]++;
$cf = fopen($counter, "w+");
fputs($cf, "$counter_file_line[0]");
fclose($cf);
} ?>
10
Sessions
• data stored on the server, managed by Server-side script(PHP)
• Session variables hold information about one single user, and are
available to all pages in one application.
<?php
ini_set('session.save_path','c:/wamp/www/session');
$_SESSION['views']=1;
if(isset($_SESSION['views']))
$_SESSION['views']=$_SESSION['views']+1;
else
$_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>
Session <html>
ses1.php
<head><title>Starting a Session</title></head>
<?php <body><a href="ses2.php">next page</a>
ini_set('session.save_path','c:/wamp/www/session'); </body>
session_start(); </html>
$s=session_save_path();
ses2.php
echo $s;
<?php
if (!isset($_SESSION['name']))
session_start();
{
if(isset($_SESSION['name']))
$_SESSION['name'] = "hello";
echo "name:".$_SESSION['name'];
echo $_SESSION['name']."<br>";
else
}
echo "session expires";
session_destroy();
?>
?>
PHP Session management
• unset():
• function used to free the specified session variable
• Example: unset($_SESSION[‘shopping_cart']);
• session_destroy();
• Resets current session. You will lose all your stored session data.
• Call when a user signs out
Working of a Session
15
Session Functions
• session_start — Initialize session data.
• session_destroy — Destroys all data registered to a session
• session_unset — Free a session
• session_name — Get and/or set the current session name
• session_register — Register one or more global variables with the
current session.
• session_destroy — Destroys all data registered to a session.
• session_id — Get and/or set the current session id.
• Session_regenerate_id — Update the current session id with a newly
generated one
• session_is_registered — Find out whether a global variable is
registered in a session
16