0% found this document useful (0 votes)
15 views8 pages

PHP Chapter 6 (Cookies & Sessions) - 092550

Uploaded by

emmajulienne63
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views8 pages

PHP Chapter 6 (Cookies & Sessions) - 092550

Uploaded by

emmajulienne63
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

PHP CHAPTER 6(COOKIES & SESSIONS)

Cookies & Sessions


In web development, cookies and sessions are used to store user
information. Sessions keep data on the server and are temporary, which
means when the user closes the browser all data is deleted. Cookies
store data on the user’s computer and can persist over multiple visits,
but are less secure than sessions. Both methods help track and manage
user interactions on a website.

A cookie is often used to identify a user. A cookie is a small file that the
server embeds on the user's computer. Each time the same computer
requests a page with a browser, it will send the cookie too. With PHP, you
can both create and retrieve cookie values.

What is a Session?
A session is used to save information on the server momentarily so that
it may be utilized across various pages of the website. It is the overall
amount of time spent on an activity. The user session begins when the
user logs in to a specific network application and ends when the user
logs out of the program or shuts down the machine.
Session values are far more secure since they are saved in binary or
encrypted form and can only be decoded on the server. When the user
shuts down the machine or logs out of the program, the session values
are automatically deleted. We must save the values in the database to
keep them forever.
What is a PHP Session?

When you work with an application, you open it, do some changes, and
then you close it. This is much like a Session. The computer knows who
you are. It knows when you start the application and when you end. But on
the internet there is one problem: the web server does not know who you
are or what you do, because the HTTP address doesn't maintain state.

Session variables solve this problem by storing user information to be


used across multiple pages (e.g. username, favorite color, etc). By default,
session variables last until the user closes the browser.

So; Session variables hold information about one single user, and are
available to all pages in one

What is a Cookie?
A cookie is a small text file that is saved on the user’s computer. The
maximum file size for a cookie is 4KB. It is also known as an HTTP cookie,
a web cookie, or an internet cookie. When a user first visits a website,
the site sends data packets to the user’s computer in the form of a
cookie.
The information stored in cookies is not safe since it is kept on the client
side in a text format that anybody can see. We can activate or disable
cookies based on our needs.
Eg

Difference Between Session and


Cookies
Cookies Session

Cookies are client-side files


Sessions are server-side files that
on a local computer that
contain user data.
hold user information.

When the user quits the browser or logs


Cookies end on the lifetime
out of the programmed, the session is
set by the user.
over.

It can only store a certain


It can hold an indefinite quantity of data.
amount of info.

We can keep as much data as we like


The browser’s cookies have
within a session, however there is a
a maximum capacity of 4
maximum memory restriction of 128 MB
KB.
that a script may consume at one time.

Because cookies are kept on


the local computer, we don’t To begin the session, we must use the
need to run a function to session start() method.
start them.

Session are more secured compare than


Cookies are not secured.
cookies.

Cookies stored data in text


Session save data in encrypted form.
file.

Cookies stored on a limited


Session stored a unlimited data.
data.
Cookies Session

In PHP, to get the data from


In PHP , to get the data from Session,
Cookies , $_COOKIES the
$_SESSION the global variable is used
global variable is used

We can set an expiration In PHP, to destroy or remove the data


date to delete the cookie’s stored within a session, we can use the
data. It will automatically session_destroy() function, and to unset
delete the data at that a specific variable, we can use the
specific time. unset() function.

Create Cookies With PHP


A cookie is created with the setcookie() function.

Syntax

setcookie(name, Only the name parameter is required. All other


value, expire, parameters are optional.
path, domain,
PHP
secure, httponly);

Create/Retrieve a Cookie
The following example creates a cookie named "user" with the value "John
Doe". 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:

Example

<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() +
(86400 * 30), "/"); // 86400 = 1 day
?>
<html>
<body>

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

</body>
</html>

Note: The setcookie() function must appear BEFORE the <html> tag.

Note: The value of the cookie is automatically URLencoded when sending


the cookie, and automatically decoded when received (to prevent
URLencoding, use setrawcookie() instead).

Modify a Cookie Value


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

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

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

</body>
</html>

Delete a Cookie
To delete a cookie, use the setcookie() function with an expiration date
in the past:

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

<?php
echo "Cookie 'user' is deleted.";
?>

</body>
</html>

Check if Cookies are Enabled


The following example creates a small script that checks whether cookies
are enabled. First, try to create a test cookie with
the setcookie() function, then count the $_COOKIE array variable:

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

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

</body>
</html>

Start a PHP Session


A session is started with the session_start() function.
Session variables are set with the PHP global variable: $_SESSION.

Now, let's create a new page called "demo_session1.php". In this page, we


start a new PHP session and set some session variables:

Example

// Start the session


session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>

</body>
</html>

Note: The session_start() function must be the very first thing in your
document. Before any HTML tags.

Get PHP Session Variable


Values
Next, we create another page called "demo_session2.php". From this
page, we will access the session information we set on the first page
("demo_session1.php").

Notice that session variables are not passed individually to each new
page, instead they are retrieved from the session we open at the
beginning of each page (session_start()).

Also notice that all session variable values are stored in the global
$_SESSION variable

Example
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>

</body>
</html>

Another way to show all the session variable values for a user session is to
run the following code:

Example
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
print_r($_SESSION);
?>

</body>
</html>

NB How does it work? How does it know it's me?

Most sessions set a user-key on the user's computer that looks something
like this: 765487cf34ert8dede5a562e4f3a7e12. Then, when a session is
opened on another page, it scans the computer for a user-key. If there is a
match, it accesses that session, if not, it starts a new session.

Destroy a PHP Session


To remove all global session variables and destroy the session,
use session_unset() and session_destroy():

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// remove all session variables
session_unset();

// destroy the session


session_destroy();
?>

</body>
</html>

Tutorial Questions FAQs

Where is session data stored?

Session data is stored on the server.

Where is cookie data stored?

Cookie data is stored on the client’s computer.

Which is more secure, sessions or cookies?

Sessions are generally more secure because the data is kept


on the server, reducing the risk of client-side access or
manipulation.

Can cookies expire?

Yes, cookies can be set to expire after a specific time period


or when the browser is closed.

You might also like