Session in PHP
Create Session in PHP
Session is used to store and pass information from one page to another temporarily (until user close the website). In case of cookie, the information are store in user computer but in case of session information is not stored on the users computer.
Why use session in PHP
When you work with any 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 application.
Start PHP Session
A session is started with the session_start() function. Session variables are set with the PHP global variable: $_SESSION.
session_start() function in PHP
PHP session_start() function is used to start the session. It starts a new or resumes existing session. It returns existing session if session is created already. If session is not available, it creates and returns new session.
Syntax
bool session_start ( void )
Example
session_start ()
Here we create a new web page with name myapp1.php
Start Session
<?php // 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 declare top of your php page, Before any HTML tags.
Get PHP Session Variable Values
Now we create new page myapp2.php for get previous page session information. All session variable values are stored in the global $_SESSION variable
Get PHP Session Variable Values
<?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 get session
Get PHP Session Variable Values
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php print_r($_SESSION); ?> <body> <html>
The code above will get an error like this
Message: Value must be 1 or below
Modify a PHP Session Variable
To change a session variable, just overwrite it:
Modify a PHP Session Variable
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php // to change a session variable, just overwrite it $_SESSION["favcolor"] = "yellow"; print_r($_SESSION); ?> <body> <html>
Destroy Session in PHP
To remove all global session variables and destroy the session, use session_unset() and session_destroy() method.
Destroy Session
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php // remove all session variables session_unset(); // destroy the session session_destroy(); ?> <body> <html>