పిహెచ్పి సెషన్స్

PHP సెషన్ వేరియబుల్స్ వినియోగదారు సెషన్లో సమాచారాన్ని నిల్వ చేయడానికి లేదా వినియోగదారు సెషన్ల అమర్తకాలను మార్చడానికి ఉపయోగిస్తారు. సెషన్ వేరియబుల్స్ నిల్వ చేస్తారు సమాచారం ఒక వినియోగదారు యొక్క ఉనికిని కలిగి ఉంటుంది, మరియు అన్ని పేజీలలో ఉపయోగించవచ్చు.

PHP సెషన్ వేరియబుల్స్

మీరు ఒక అప్లికేషన్ను నడపండి చేసినప్పుడు, మీరు దానిని ప్రారంభిస్తారు, కొన్ని మార్పులు చేస్తారు, మరియు దానిని మూసివేస్తారు. ఇది ఒక సెషన్ త్రుట్టు వంటిది. కంప్యూటర్ మీకు ఎవరు అని తెలుసు. మీరు అప్లికేషన్ను ప్రారంభించిన సమయాన్ని మరియు మూసిన సమయాన్ని తెలుసు. కానీ ఇంటర్నెట్లో, ఒక సమస్య ఉంది: సర్వర్ మీకు ఎవరు అని లేదా మీరు ఏం చేస్తున్నారని తెలియదు, ఇంకా HTTP అడ్రెస్సులు స్థితిని నిర్వహించలేవు.

సర్వర్కుపై వినియోగదారు సమాచారాన్ని నిల్వ చేయడం ద్వారా PHP సెషన్ ఈ సమస్యను పరిష్కరిస్తుంది (ఉదాహరణకు వినియోగదారు పేరు, కొనుగోలు చేసిన వస్తువులు మొదలెడి). అయితే, సెషన్ సమాచారం తాత్కాలికంగా ఉంటుంది, వినియోగదారు వెబ్సైట్ను వదిలిన తర్వాత తొలగిస్తారు. మీరు స్థిరమైన నిల్వ అవసరం ఉంటే, డేటాబేస్లో డేటాను నిల్వ చేయవచ్చు.

సెషన్ పనిముద్ర ఉంది: ప్రతి సందర్శకునికి ఒక ప్రత్యేక id (UID) సృష్టిస్తుంది, మరియు ఈ UID పైన వేరియబుల్స్ నిల్వ చేస్తారు. UID కుకీలో లేదా URL ద్వారా పరిచయం చేస్తారు.

ప్రారంభించండి PHP సెషన్

మీరు PHP సెషన్లో వినియోగదారు సమాచారాన్ని నిల్వ చేయడానికి ముందు సెషన్ను ప్రారంభించాలి:

ప్రత్యామ్నాయంగా:session_start() ఫంక్షన్ ముందు <html> టాగ్ కు ఉండాలి:

<?php session_start(); ?>
<html>
<body>
</body>
</html>

దిగువని కోడ్ సర్వర్కు వినియోగదారు సెషన్ను రిజిస్టర్ చేస్తుంది, మరియు వినియోగదారు సమాచారాన్ని సేవ్ చేయడానికి ప్రారంభిస్తుంది, మరియు వినియోగదారు సెషన్కు UID కేటాయిస్తుంది.

సెషన్ వేరియబుల్స్ నిల్వ

సిస్టమ్ బదలాలు సేవ్ మరియు పొందడానికి సరైన విధానం PHP $_SESSION వేరియబుల్ ఉపయోగించడం ఉంది:

<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>

అవుట్‌పుట్‌:

Pageviews=1

ఈ ఉదాహరణలో, మేము ఒక సాధారణ page-view కౌంటర్ సృష్టిస్తాము. isset() ఫంక్షన్ మరియు "views" వేరియబుల్ ను అన్నికి తనిఖీ చేస్తుంది. జాగ్రత్తగా, జాగ్రత్తగా నిర్ణయం లేకపోతే, మేము కౌంటర్‌ను అధిగమించాము. జాగ్రత్తగా, జాగ్రత్తగా నిర్ణయం లేకపోతే, మేము కౌంటర్‌ను సృష్టించాము మరియు దానిని 1 గా నిర్ణయించాము:

<?php
session_start();
if(isset($_SESSION['views']))
  $_SESSION['views']=$_SESSION['views']+1;
else
  $_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>

సెషన్ తొలగించడం

మీరు కొన్ని సెషన్ డేటాను తొలగించడానికి, unset() లేదా session_destroy() ఫంక్షన్‌ను ఉపయోగించవచ్చు.

unset() ఫంక్షన్ నిర్దిష్ట సెషన్ వేరియబుల్‌ను విముక్తం చేస్తుంది:

<?php
unset($_SESSION['views']);
?>

మీరు session_destroy() ఫంక్షన్‌ను ఉపయోగించి సెషన్‌ను పూర్తిగా తొలగించవచ్చు:

<?php
session_destroy();
?>

ప్రత్యామ్నాయంగా:session_destroy() సెషన్‌ను రీసెట్ చేస్తుంది, మీరు అంతర్భాగంగా నిల్వ చేసిన సెషన్ డేటాను కోల్పోతారు.