[Powered by Google Translate] [PHP సెషన్స్]
[టామీ MacWilliam, హార్వర్డ్ విశ్వవిద్యాలయం]
[ఈ CS50 ఉంది.] [CS50.TV]
PHP లో సెషన్స్ కార్యాచరణను అమలు ఉపయోగించవచ్చు,
యూజర్ లాగిన్ వంటి, మీ వెబ్ అనువర్తనం లో.
PHP సెషన్స్ మీరు సమాచారాన్ని అనుబంధించడానికి అనుమతిస్తుంది
యూజర్ యొక్క మొత్తం బ్రౌజింగ్ సెషన్
కాకుండా కేవలం ఒకే పేజీ కంటే.
యూజర్ మీ వెబ్ సైట్ చేసిన వివిధ PHP పేజీలు సందర్శించే వంటి కాబట్టి ఆ, అర్థం
సెషన్ లో ఏ సమాచారం అంటిపెట్టుకుని.
కాబట్టి అని ఒక పేజీ ద్వారా సెషన్ నిల్వ డేటా
తరువాత మరొక పేజీ ద్వారా ప్రాప్తి చేయవచ్చు.
ఒక సెషన్ లో సమాచారాన్ని నిల్వ, సులభం
మరియు మేము, తక్కువగా, డాలర్ సైన్ ద్వారా, రాజధాని సెషన్ వేరియబుల్ చేయండి.
డాలర్ సైన్, GET, తక్కువగా, కార్యవ్యవధి కేవలం డాలర్ సైన్ వంటి, అండర్ స్కోర్
మరియు డాలర్ గుర్తు, అండర్ స్కోర్ మేనేజ్మెంట్ల
కీ విలువ జతలను కలిగివున్న ఒక అనుబంధ శ్రేణి.
కాబట్టి మేము,, సెషన్ తక్కువగా, వాక్యనిర్మాణం వంటి డాలర్ సైన్ ఉపయోగించవచ్చు
బ్రాకెట్, కోట్, foo, కోట్, బ్రాకెట్,, కోట్, సమానం బార్, కోట్-
కీ విలువ "బార్" నిల్వ "foo."
అయితే, మేము వ్రాసే లేదా సెషన్ శ్రేణి నుండి చదవడానికి ముందే,
మేము ఒక ప్రత్యేక ఫంక్షన్-కాల్ చేయాలి
సెషన్,) (, ప్రారంభం, తక్కువగా -
మరియు ఈ సెషన్ ప్రారంభించడం కనిపిస్తుంది.
కాబట్టి యొక్క ఒక ఉదాహరణ పరిశీలించి తెలియజేయండి.
మా మొదటి పేజీ, hello.php, యూజర్ అవుట్పుట్ కొన్ని డేటా సెషన్ ఉపయోగిస్తుంది.
మేము ఏ సెషన్ డేటా యాక్సెస్ చేయవచ్చు ముందు మేము session_start ఉపయోగించాల్సి ఉంటుంది గుర్తుంచుకోండి.
ఇప్పుడు మేము ఒక కీ ఉంది నిర్ణయించడానికి PHP యొక్క isset ఉపయోగిస్తున్నట్లయితే
$ _ సెషన్ సహయోగ శ్రేణి లో.
ఆ కీ ఉంది, ఆ, యూజర్ లాగిన్ అయి అర్థం
కాబట్టి మేము వినియోగదారు యొక్క పేరు ప్రదర్శిస్తాము.
ఆ కీ సెట్ చేయకపోతే, యూజర్ ఇంకా లాగిన్ లేదు అర్థం
కాబట్టి మేము login.php ఒక లింక్ను ప్రదర్శిస్తాము.
కాబట్టి యొక్క login.php పరిశీలించి వీలు.
డౌన్ ఇక్కడ, మేము ఒక ఇన్పుట్ తో ఒక HTML రూపం కలిగి.
రూపం యొక్క చర్య లక్షణం, $ ఉంచుతారు ['PHP_SELF'] ఉంది
మరియు ఈ కేవలం, మేము రూపం ప్రస్తుత ఫైలు సమర్పించబడుతుంది కావలసిన అర్థం
ఇది, ఈ సందర్భంలో, login.php ఉంది.
కాబట్టి ఈ ఫైలు యొక్క టాప్ వినుడు.
యూజర్ సమర్పించిన, అప్పుడు $ _ పోస్ట్ ['పేరు'] అమర్చాలి.
HTML ఫారమ్లను మరియు పోస్ట్ గురించి మరింత సమాచారం కోసం,
PHP వెబ్ డెవలప్మెంట్ వీడియో తనిఖీ.
యూజర్ రూపం submit అని సందర్భంలో,
మేము వారు సెషన్ లోకి టైప్ ఆ విలువ రాయడానికి కావలసిన.
ఇప్పుడు మేము hello.php యూజర్ దారిమార్పు చేయవచ్చు.
మేము సెషన్ యూజర్ యొక్క ఇన్పుట్ నిల్వ చేసిన ఎందుకంటే,
hello.php login.php లో ఏర్పాటు చేయబడింది విలువ యాక్సెస్ చేయగలరు.
కాబట్టి యొక్క ఈ ఒక వెబ్ బ్రౌజర్ లో తనిఖీ వీలు.
మొదటి, మేము http://localhost/hello.php నావిగేట్ చేస్తాము.
మేము, మేము ఇంకా లాగిన్ చెయ్యని ఇక్కడ చూడగలరు
కాబట్టి యొక్క login.php మాకు మళ్ళిస్తుంది ఇది లాగిన్ లింక్, క్లిక్ చేయండి.
సరే, నేను సెషన్ నిల్వ చేయబడే నా పేరు టైప్ చేస్తాము.
గ్రేట్! ఇప్పుడు మేము సెషన్ ద్వారా hello.php న login.php నుండి నా ఇన్పుట్ చూడగలరు.
కాబట్టి, ఏ యూజర్ లాగ్అవుట్ గురించి?
బాగా, యూజర్ లాగిన్ క్రమంలో, మేము కేవలం సెషన్ పేరు ఒక విలువ నిల్వ.
కాబట్టి యూజర్ లాగిన్, మేము కేవలం ఆ పేరు కీ తొలగించాలి
సెషన్ శ్రేణి నుండి.
కాబట్టి logout.php, యొక్క ఈ చివరి ఫైలు పరిశీలించి వీలు.
మరోసారి మేము) (session_start కాల్ చేయాలి
మేము సంబంధించిన ఏదైనా సెషన్ చేసుకోవచ్చు.
ఇప్పుడు మేము కేవలం,) (session_destroy కాల్ చేయవచ్చు
సెషన్ లో అన్ని డేటా తొలగిస్తున్నాము సంరక్షణ తీసుకునే
ఆపై తిరిగి hello.php యూజర్ దారి.
నేను లాగ్ అవుట్ లింక్పై క్లిక్ చేస్తే,
మేము సర్వర్ నేను ఎవరు మర్చిపోయారు చూడవచ్చు,
మరియు నేను ఇకపై లాగినై am
కాబట్టి ఏమి ఇక్కడ హుడ్ కింద జరగబోతోంది?
మేము చూసిన ప్రవర్తన పొందటానికి,
మా సర్వర్ 2 పనులను అవసరం.
మొదటి, సర్వర్ ఏదో సెషన్లో డేటా నిల్వ అవసరం.
ఒక వెబ్సైట్ ఉంటాయి వివిధ PHP ఫైళ్లను
PHP వ్యాఖ్యాత ప్రత్యేక పిలుపులు వంటి కడుతుంది
కాబట్టి స్థానిక వేరియబుల్ వాటి మధ్య భాగస్వామ్యం కాదు.
బదులుగా, సర్వర్ మా సెషన్ డేటా నిల్వ అవసరం
కొన్ని స్థానంలో బహుళ. Php ఫైళ్లు యాక్సెస్ చేయవచ్చు.
రెండవ సర్వరుకు నా బ్రౌజింగ్ సెషన్ సెషన్ డేటా అనుబంధం అవసరం.
నేను Facebook లాగిన్, చేసినప్పుడు
అదే సమయంలో Facebook లాగిన్ ఇతర లక్షల మంది ప్రజలు బహుశా ఉన్నాయి.
కానీ సర్వర్ నా డేటా సహవాసం కొన్ని మార్గం అవసరం
నా ప్రస్తుత సెషన్ మరియు మరొక సెషన్ తో ఇతరుల డేటా తో.
అదృష్టవశాత్తు, PHP యొక్క రచయితలు, మాకు ఈ గురించి అన్ని ఆలోచన
కాబట్టి మేము ఈ ఏ మేమే అమలు అవసరం లేదు.
కానీ యొక్క PHP అప్రమేయంగా చేస్తుంది పరిశీలించి వీలు.
నేను మొదటి సారి session_start కలిగి ఒక PHP పేజీ సందర్శించినప్పుడు,
PHP పెద్ద యాదృచ్ఛిక విలువ ఉత్పత్తి.
Session_destroy అని లేదా ఉంది నేను ఒక కోసం ఆ సైట్ ఏ PHP పేజీలు సందర్శించండి లేదు-వరకు
యాదృచ్ఛిక మరియు బహుశా ఏకైక విలువ నాకు సంబంధం ఉంటుంది.
ఆ విధంగా సర్వర్ నా బ్రౌజింగ్ సెషన్ గుర్తించడం సాధించగలిగాడు
ఇతరుల వ్యతిరేకంగా.
మేము ప్రస్తుత సెషన్ ID పరిశీలించి చేయవచ్చు
PHP ఫంక్షన్, session_ID ఉపయోగించి.
ఇక్కడ మేము కేవలం మా సెషన్ ఐడెంటిఫైయర్ విలువ ఔట్పుట్ చేస్తున్నారు.
కనుక మనం మళ్ళీ ఉదాహరణకు వెబ్ అనువర్తనం లాగిన్ ఉంటే,
మరియు ఇప్పుడు sessid.php నావిగేట్,
మేము అక్షరాలు ఈ దీర్ఘ స్ట్రింగ్ చూస్తారు,
మరియు నా సెషన్ కోసం ప్రస్తుత గుర్తింపు ఉంది,
మరియు ఆ సర్వర్ నేను ఎవరు పర్యవేక్షించడం ఉంది ఎలా.
సరే, కానీ మేము మాత్రమే సగం సమస్యను పరిష్కరించింది చేసిన.
ఖచ్చితంగా, సర్వర్ ఇప్పుడు నాకు గుర్తించడం సాధించగలిగాడు,
నేను మరొక పేజీ సందర్శించినప్పుడు, సర్వర్ అదే గుర్తింపు తిరిగి అవసరం
కాకుండా ఒక కొత్త ఉత్పత్తి కంటే.
నేను foo.php లో ఒక స్థానిక వేరియబుల్, గుర్తుంచుకో
ఆపై, bar.php సందర్శించండి
bar.php foo.php లో ఏమి తెలుసుకోవడం మార్గం ఉంది.
కాబట్టి డిఫాల్ట్ php సెషన్ అమలు బ్రౌజర్ సర్వర్ గుర్తు అవసరం
ఇది సెషన్ ID ఉపయోగించడానికి.
ఈ ఒక కుకీ రూపంలో అమలు.
ఒక కుకీ లో ఒక రుచికరమైన అల్పాహారం కావడంతో పాటు
మీ కంప్యూటర్లో ఒక చిన్న టెక్స్ట్ ఫైల్
సర్వర్ వెబ్ బ్రౌజర్ ద్వారా వ్రాయగలరు.
, PHP session_start ద్వారా నా ఏకైక సెషన్ ID ఉత్పత్తి తర్వాత
ఇది ఒక స్థానిక టెక్స్ట్ ఫైల్, లేదా కుకీలో ఆ గుర్తింపు నిల్వ వెబ్ బ్రౌజర్ చెప్పండి వెళుతున్న.
అప్పుడు వెబ్ బ్రౌజర్ ప్రతి అభ్యర్థన ఆ గుర్తింపు కలిగి ఉంటుంది
ఇది సర్వర్తో.
కాబట్టి నిజంగా, వెబ్ సర్వర్ నేను ఎవరు గుర్తు లేదు.
బదులుగా, వెబ్ బ్రౌజర్ కేవలం ఏకైక గుర్తింపు గుర్తు ఉంది
ఆ PHP ఉత్పత్తి మరియు నిరంతరంగా సర్వర్ గుర్తుచేస్తూ
ఆ గుర్తింపు ఉంది.
నా యూజర్ పేరు వంటి ఆ విధంగా, సమాచార సర్వర్ నా వెబ్ బ్రౌజర్లో నిల్వ చేయబడుతుంది.
బ్రౌజర్ కేవలం PHP సమాచారం భద్రపరచుకున్నారు సర్వర్ చెబుతుంది
కాబట్టి PHP ఇది తిరిగి.
కాబట్టి ఆ PHP నిజానికి ఈ సమాచారం నిల్వ పేరు ప్రశ్న ప్రార్థిస్తాడు?
అప్రమేయంగా, PHP మీ సెషన్ డేటా నిల్వ చేస్తుంది
/ tmp, లేదా 'తాత్కాలిక' ఫోల్డర్ లోపల ఒక ఫైల్ లో.
PHP గుర్తించడానికి వీలుగా ఫైల్ పేరు సెషన్ ID ఉంటాయి
ఇది ఫైల్ చదివి మాత్రమే సెషన్ ID ద్వారా నుండి రాయడానికి.
అన్ని కుడి. కాబట్టి యొక్క Chrome యొక్క డీబగర్లో నెట్వర్క్ టాబ్ ఓపెన్
కుడివైపు పైన రెంచ్ చిహ్నాన్ని ద్వారా.
ఇప్పుడు మళ్ళీ hello.php తల తెలియజేయండి.
యొక్క hello.php HTTP అభ్యర్థన క్లిక్ చేయండి
ఆపై శీర్షికలు క్లిక్.
ఇక్కడ మేము, కుకీ శీర్షిక PHPSESSID అనే కీ కలిగి చూడగలరు
లేదా PHP సెషన్ ID-తో మేము చూసిన అదే దీర్ఘ స్ట్రింగ్ అని ఒక విలువ
మేము sessid.php సందర్శించినప్పుడు.
ఈ బ్రౌజర్ ఉపయోగించవచ్చు ఏ సెషన్ ID సర్వర్ గుర్తు ఎలా ఉంది.
ఇది ఒక HTTP శీర్షిక లో ఉన్నాయి అన్నారు.
అన్ని కుడి. యొక్క టెర్మినల్ తిరిగి తల లెట్.
యొక్క PHP అప్రమేయంగా సెషన్ సమాచారాన్ని నిల్వ రాష్ట్రం / tmp, నావిగేట్ లెట్.
ఖచ్చితంగా తగినంత, ఈ తాత్కాలిక ఫోల్డర్ లోపలి,
ఇక్కడ అదే ఖచ్చితమైన సెషన్ ID కలిగివున్న ఫైలు ఉంది.
మేము ఈ ఫైల్ తెరుచుకుంటుంది, మేము PHP డిస్కులో నా సెషన్ ప్రాతినిధ్యం ఎలా చూడగలరు.
ఇక్కడ స్ట్రింగ్ "టామీ" ', పేరు' కీ కోసం నిల్వ ఉంది
ఇది మేము ఎదురుచూచే సరిగ్గా ఏమిటి.
మరియు ఆ PHP లో సెషన్ల అవలోకనం ఉంది.
మనం ఇప్పుడు చూసిన సెషన్ల డిఫాల్ట్ అమలు ఉంది.
నిజానికి, అనేక వెబ్సైట్లు ఈ సాధారణ రీతిని మార్చవచ్చు
మరింత సమర్ధవంతంగా PHP సెషన్స్ నిల్వ
ప్రదర్శన మెరుగు ఆసక్తి లో.
నా పేరు టామీ, మరియు ఈ CS50 ఉంది.
[CS50.TV]