What is a Session in PHP ?
जब Web Server कोई information store करनी हो तो PHP Sessions का इस्तेमाल किया जाता है |
Sessions पर store की हुई information को PHP में किसी भी page पर access की जा सकती है |
अगर एक ही वक्त पर Multiple Users Browser पर login करते है तब हर Browser पर unique id create किये जाते है |
जब Browser close हो जाता है तब automatically session की value destroy हो जाती है |
Session की value temporary होती है, लेकिन permanant store करने के लिए MYSQL जैसे databases का इस्तेमाल करना पड़ता है | Cookies पर भी session की value store की जा सकती है, यहाँ पर php.ini पर session.cookie_lifetime non-zero value set करने से cookie expire नहीं होती | User जब cookies को delete करता है तब session की value भी delete हो जाती है |
Session के बारे में example लिया जाया तो, जब किसी भी website के login system पर login किया जाता है, जब session start होता है और जब logout किया जाता है तब session को destroy किया जाता है |
जब कोई Ecommerce Website पर products add किये जाते है तब User Multiple pages का इस्तेमाल products add करने के लिए करता है | अगर किसी भी page पर जाए तो जितने products add किये गए है उतने ही products cart पर रहते है |
Starting a Session
Session को create करना हो तो session_start() इस function को call करना पड़ता है |
इस function को PHP script के शुरुआत पर ही मतलब html tag के ऊपर call करना पड़ता है |
session_start() ये function जब call किया जाता है तब session नया id create करता है | अगर already session id create हुआ है तो वो existing id ही return करता है |
1session_start(); //starting a session
Storing Session Value
$_SESSION ये एक associative array है जो session की information key और value के pair में store कर लेता है |
Source Code :123456789101112<!-- set_session.php -->
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
$_SESSION["name"] = "Rakesh";
?>
</body>
</html>
Accessing Session Value
यहाँ पर session value को access करने के लिए session_start() function को call करना पड़ता है | यहाँ पर किसी भी PHP Page पर access किया जाता है | Session की value को access करने के लिए उसके 'key' की जरुरत पड़ती है |
For Example,Source Code :
Output123456789101112<!-- get_session.php -->
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
echo $_SESSION["name"];
?>
</body>
</html>
Rakesh
session की सभी keys और values देखने के लिए,
Source Code :Output :123456<?php
session_start();
foreach($_SESSION as $keys => $values){
echo $key." = ".$value."<br />";
}
?>
name = Rakesh
Overwrite Session Value
Session की value को overwrite किया जा सकता है |
Source Code :Output :12345<?php
session_start();
$_SESSION["name"] = "Ramesh";
echo $_SESSION["name"];
?>
Ramesh
Destroying Sessions
किसी एक session को destroy करना हो तो unset() function का इस्तेमाल किया जाता है |
Source Code :12345678910111213<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
if(isset($_SESSION["name"])){
unset($_SESSION["name"]);
}
?>
</body>
</html>
यहाँ पर अगर 'name' नाम की 'key' की value set हो तो वो destroy हो जायेगी |
अगर जितने भी session keys और values create की गयी है तो उन्हें delete करने के लिए session_destroy() या session_unset() इस function का इस्तेमाल किया जाता है |
Source Code :1234<?php
session_destroy();
session_unset();
?>