p align=left>First session
One of the standard examples of how sessions work is the click counting application - this is a simple session-based counter that initializes a variable the first time you visit a web page, and each time you restart Increment the count of this page as it is loaded. The code is as follows:
$#@60;?php
//Initialize a session session_start();
//Register a session variable session_register(counter);
?$ #@62;
In PHP4, each session starts by calling the session_start() function. This function checks whether a session exists, and creates a new one if it does not exist. Next, use the session_register() function to register a variable that will exist throughout the session -- in the above example, the variable is named "counter" and no value is assigned to it.
Now, let’s add a few lines of code to the above example and click counting will start working:
$#@60;?php
//Initialize a session session_start();
//Register a session variable session_register(counter);
// Increment the counter $counter++;echo("You have visited this page $counter times! Dont you have anything else to do, you bum?!");
?$#@62;
Give it a try! Each time you reload the page, the counter value is incremented, which illustrates how variables are saved in the session.
Why does this happen? Well, every time a session is created, a session cookie [called PHPSESSID] is created on the client system and assigned a random number; at the same time, a similar entry is created on the server side, which contains the information in the session variables registered in . Communication between the client and the server is achieved through the identification number (id) of the session with the same name, so that different variables can be saved throughout the session.
Let’s look at something a little more complicated, shall we? Take a look at this example, which demonstrates a timer using session variables that will tell you how much time has elapsed when the page is reloaded.
$#@60;?php
session_start();
//session variable is used to save the counter session_register(counter);
//session variable is used Save the last loaded time value
//This value is saved for comparison between two different sessions_register(timeAtLastLoad);
//The current time $timeNow = time();
//Increase the count $counter++;
//Calculate the time interval between two times $timeLapsed = $timeNow - $timeAtLastLoad;
//? Information if($counter $#@62; 1)
{
echo "$#@60;b$#@62;Its been $timeLapsed seconds since you last viewed
this page.$#@60;/b$#@62;";
}
else
{
echo "$#@60;b$#@62;First time here? Reload this page to see how the
session works!$#@60;/b$#@62;" ;
}
$timeAtLastLoad = $timeNow;
?$#@62;