|
Sessions and cookies. What are they? Smoking marijuana and eating biscuits? Hell
no - in the web development world they are very important functions of
interactive design! The difference
between sessions and cookies, though, basically revolves around where the
variables are stored. Here's a basic explanation:
Simple Sessions Management
Let’s start with sessions. In short they can be defined as pieces of data recorded by a web
script and stored on the server. They can be programmed to last for a
certain amount of time, but are usually erased when the user shuts their browser,
although it is required that the function session_start() be called
before ANY output is sent to the browser. To be on the safe side, I usually put
this function declaration on the
first line of code in a web script. The easiest way to create and manage
sessions in PHP (4+) is as follows:
<?
session_start();
$_SESSION[‘session_name’] = ‘your data’;
?> |
You can use this same variable to compare with other strings in IF
statements, etc. If for any reason you wish to erase a session before the user
shuts their browser, you use session_destroy():
<?
session_destroy(‘session_name’);
?> |
Let’s write a simple sessions script with two pages. Put the following
code on page 1:
<?
session_start();
echo ‘Welcome to our sessions test! Your example username can be
pogo!’;
$_SESSION[‘username’] = ‘pogo’;
echo ‘<a href=”page2.php”>Click here to have a session</a>’;
?> |
And this code on page 2:
<?
session_start();
echo ‘If all goes well, your username should show as “pogo”.’;
$username = $_SESSION[‘username’];
echo ‘Username: ‘.$username;
echo ‘Welcome pogo!’;
?> |
Of course this script has no user entered data, but that is only one
modification away (i.e. by adding an HTML form). I think this example is
sufficient enough to demonstrate how sessions work - Yes, its so simple even a
monkey could do it, and people say sessions are hard!
Simple Cookie Usage
Now on to cookies (YUM!). Cookies are the basically the same as sessions, except
that they are stored locally (on your PC). If you are using M$ Windows then the
chances are that they are stored in [windows default folder]\Cookies,
although if you have user profiles enabled they will be located in your personal
profile’s cookie folder. They are used the same way as the sessions are
above, with SESSION replaced with COOKIE:
<?
$_COOKIE[‘cookie_name’] = ‘your data’;
$name = $_COOKIE[‘cookie_name’];
echo $name;
// this outputs “your data” on your page
?> |
You can use the same example script as provided for the sessions tutorial above,
replacing “SESSION” with “COOKIE”.
There are more complicated ways of registering cookies which I wont go into
because this is a basic tutorial - They have extra attributes that allow you to
set the timeout limit, domain, cookie name, data, etc.
I hope you found this tutorial useful! For more information on sessions go
here,
and for greater detail on cookies, look over
here.
Good luck!
- Tutorial written by Scrowler
|