1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [PHP సెషన్స్] 2 00:00:02,000 --> 00:00:04,000 [టామీ MacWilliam, హార్వర్డ్ విశ్వవిద్యాలయం] 3 00:00:04,000 --> 00:00:07,000 [ఈ CS50 ఉంది.] [CS50.TV] 4 00:00:07,000 --> 00:00:10,920 PHP లో సెషన్స్ కార్యాచరణను అమలు ఉపయోగించవచ్చు, 5 00:00:10,920 --> 00:00:13,440 యూజర్ లాగిన్ వంటి, మీ వెబ్ అనువర్తనం లో. 6 00:00:13,440 --> 00:00:16,920 PHP సెషన్స్ మీరు సమాచారాన్ని అనుబంధించడానికి అనుమతిస్తుంది 7 00:00:16,920 --> 00:00:19,680 యూజర్ యొక్క మొత్తం బ్రౌజింగ్ సెషన్ 8 00:00:19,680 --> 00:00:22,290 కాకుండా కేవలం ఒకే పేజీ కంటే. 9 00:00:22,290 --> 00:00:27,330 యూజర్ మీ వెబ్ సైట్ చేసిన వివిధ PHP పేజీలు సందర్శించే వంటి కాబట్టి ఆ, అర్థం 10 00:00:27,330 --> 00:00:30,630 సెషన్ లో ఏ సమాచారం అంటిపెట్టుకుని. 11 00:00:30,630 --> 00:00:34,770 కాబట్టి అని ఒక పేజీ ద్వారా సెషన్ నిల్వ డేటా 12 00:00:34,770 --> 00:00:37,580 తరువాత మరొక పేజీ ద్వారా ప్రాప్తి చేయవచ్చు. 13 00:00:37,580 --> 00:00:40,080 ఒక సెషన్ లో సమాచారాన్ని నిల్వ, సులభం 14 00:00:40,080 --> 00:00:48,790 మరియు మేము, తక్కువగా, డాలర్ సైన్ ద్వారా, రాజధాని సెషన్ వేరియబుల్ చేయండి. 15 00:00:48,790 --> 00:00:52,620 డాలర్ సైన్, GET, తక్కువగా, కార్యవ్యవధి కేవలం డాలర్ సైన్ వంటి, అండర్ స్కోర్ 16 00:00:52,620 --> 00:00:54,710 మరియు డాలర్ గుర్తు, అండర్ స్కోర్ మేనేజ్మెంట్ల 17 00:00:54,710 --> 00:00:58,690 కీ విలువ జతలను కలిగివున్న ఒక అనుబంధ శ్రేణి. 18 00:00:58,690 --> 00:01:07,980 కాబట్టి మేము,, సెషన్ తక్కువగా, వాక్యనిర్మాణం వంటి డాలర్ సైన్ ఉపయోగించవచ్చు 19 00:01:07,980 --> 00:01:16,000 బ్రాకెట్, కోట్, foo, కోట్, బ్రాకెట్,, కోట్, సమానం బార్, కోట్- 20 00:01:16,000 --> 00:01:20,440 కీ విలువ "బార్" నిల్వ "foo." 21 00:01:20,440 --> 00:01:24,030 అయితే, మేము వ్రాసే లేదా సెషన్ శ్రేణి నుండి చదవడానికి ముందే, 22 00:01:24,030 --> 00:01:26,770 మేము ఒక ప్రత్యేక ఫంక్షన్-కాల్ చేయాలి 23 00:01:26,770 --> 00:01:34,690 సెషన్,) (, ప్రారంభం, తక్కువగా - 24 00:01:34,690 --> 00:01:37,060 మరియు ఈ సెషన్ ప్రారంభించడం కనిపిస్తుంది. 25 00:01:37,060 --> 00:01:39,850 కాబట్టి యొక్క ఒక ఉదాహరణ పరిశీలించి తెలియజేయండి. 26 00:01:39,850 --> 00:01:46,570 మా మొదటి పేజీ, hello.php, యూజర్ అవుట్పుట్ కొన్ని డేటా సెషన్ ఉపయోగిస్తుంది. 27 00:01:46,570 --> 00:01:53,920 మేము ఏ సెషన్ డేటా యాక్సెస్ చేయవచ్చు ముందు మేము session_start ఉపయోగించాల్సి ఉంటుంది గుర్తుంచుకోండి. 28 00:01:53,920 --> 00:01:59,010 ఇప్పుడు మేము ఒక కీ ఉంది నిర్ణయించడానికి PHP యొక్క isset ఉపయోగిస్తున్నట్లయితే 29 00:01:59,010 --> 00:02:03,230 $ _ సెషన్ సహయోగ శ్రేణి లో. 30 00:02:03,230 --> 00:02:07,250 ఆ కీ ఉంది, ఆ, యూజర్ లాగిన్ అయి అర్థం 31 00:02:07,250 --> 00:02:10,410 కాబట్టి మేము వినియోగదారు యొక్క పేరు ప్రదర్శిస్తాము. 32 00:02:10,410 --> 00:02:14,110 ఆ కీ సెట్ చేయకపోతే, యూజర్ ఇంకా లాగిన్ లేదు అర్థం 33 00:02:14,110 --> 00:02:17,880 కాబట్టి మేము login.php ఒక లింక్ను ప్రదర్శిస్తాము. 34 00:02:17,880 --> 00:02:21,380 కాబట్టి యొక్క login.php పరిశీలించి వీలు. 35 00:02:21,380 --> 00:02:26,260 డౌన్ ఇక్కడ, మేము ఒక ఇన్పుట్ తో ఒక HTML రూపం కలిగి. 36 00:02:26,260 --> 00:02:32,720 రూపం యొక్క చర్య లక్షణం, $ ఉంచుతారు ['PHP_SELF'] ఉంది 37 00:02:32,720 --> 00:02:37,440 మరియు ఈ కేవలం, మేము రూపం ప్రస్తుత ఫైలు సమర్పించబడుతుంది కావలసిన అర్థం 38 00:02:37,440 --> 00:02:41,040 ఇది, ఈ సందర్భంలో, login.php ఉంది. 39 00:02:41,040 --> 00:02:43,010 కాబట్టి ఈ ఫైలు యొక్క టాప్ వినుడు. 40 00:02:43,010 --> 00:02:50,100 యూజర్ సమర్పించిన, అప్పుడు $ _ పోస్ట్ ['పేరు'] అమర్చాలి. 41 00:02:50,100 --> 00:02:53,750 HTML ఫారమ్లను మరియు పోస్ట్ గురించి మరింత సమాచారం కోసం, 42 00:02:53,750 --> 00:02:56,510 PHP వెబ్ డెవలప్మెంట్ వీడియో తనిఖీ. 43 00:02:56,510 --> 00:02:59,330 యూజర్ రూపం submit అని సందర్భంలో, 44 00:02:59,330 --> 00:03:03,970 మేము వారు సెషన్ లోకి టైప్ ఆ విలువ రాయడానికి కావలసిన. 45 00:03:03,970 --> 00:03:08,540 ఇప్పుడు మేము hello.php యూజర్ దారిమార్పు చేయవచ్చు. 46 00:03:08,540 --> 00:03:11,800 మేము సెషన్ యూజర్ యొక్క ఇన్పుట్ నిల్వ చేసిన ఎందుకంటే, 47 00:03:11,800 --> 00:03:18,240 hello.php login.php లో ఏర్పాటు చేయబడింది విలువ యాక్సెస్ చేయగలరు. 48 00:03:18,240 --> 00:03:21,010 కాబట్టి యొక్క ఈ ఒక వెబ్ బ్రౌజర్ లో తనిఖీ వీలు. 49 00:03:21,010 --> 00:03:27,520 మొదటి, మేము http://localhost/hello.php నావిగేట్ చేస్తాము. 50 00:03:27,520 --> 00:03:30,220 మేము, మేము ఇంకా లాగిన్ చెయ్యని ఇక్కడ చూడగలరు 51 00:03:30,220 --> 00:03:35,040 కాబట్టి యొక్క login.php మాకు మళ్ళిస్తుంది ఇది లాగిన్ లింక్, క్లిక్ చేయండి. 52 00:03:35,040 --> 00:03:41,760 సరే, నేను సెషన్ నిల్వ చేయబడే నా పేరు టైప్ చేస్తాము. 53 00:03:41,760 --> 00:03:48,950 గ్రేట్! ఇప్పుడు మేము సెషన్ ద్వారా hello.php న login.php నుండి నా ఇన్పుట్ చూడగలరు. 54 00:03:48,950 --> 00:03:52,270 కాబట్టి, ఏ యూజర్ లాగ్అవుట్ గురించి? 55 00:03:52,270 --> 00:03:58,510 బాగా, యూజర్ లాగిన్ క్రమంలో, మేము కేవలం సెషన్ పేరు ఒక విలువ నిల్వ. 56 00:03:58,510 --> 00:04:03,040 కాబట్టి యూజర్ లాగిన్, మేము కేవలం ఆ పేరు కీ తొలగించాలి 57 00:04:03,040 --> 00:04:05,040 సెషన్ శ్రేణి నుండి. 58 00:04:05,040 --> 00:04:09,130 కాబట్టి logout.php, యొక్క ఈ చివరి ఫైలు పరిశీలించి వీలు. 59 00:04:09,130 --> 00:04:12,080 మరోసారి మేము) (session_start కాల్ చేయాలి 60 00:04:12,080 --> 00:04:15,260 మేము సంబంధించిన ఏదైనా సెషన్ చేసుకోవచ్చు. 61 00:04:15,260 --> 00:04:19,240 ఇప్పుడు మేము కేవలం,) (session_destroy కాల్ చేయవచ్చు 62 00:04:19,240 --> 00:04:22,460 సెషన్ లో అన్ని డేటా తొలగిస్తున్నాము సంరక్షణ తీసుకునే 63 00:04:22,460 --> 00:04:26,790 ఆపై తిరిగి hello.php యూజర్ దారి. 64 00:04:26,790 --> 00:04:30,700 నేను లాగ్ అవుట్ లింక్పై క్లిక్ చేస్తే, 65 00:04:30,700 --> 00:04:34,690 మేము సర్వర్ నేను ఎవరు మర్చిపోయారు చూడవచ్చు, 66 00:04:34,690 --> 00:04:36,970 మరియు నేను ఇకపై లాగినై am 67 00:04:36,970 --> 00:04:39,910 కాబట్టి ఏమి ఇక్కడ హుడ్ కింద జరగబోతోంది? 68 00:04:39,910 --> 00:04:42,250 మేము చూసిన ప్రవర్తన పొందటానికి, 69 00:04:42,250 --> 00:04:44,760 మా సర్వర్ 2 పనులను అవసరం. 70 00:04:44,760 --> 00:04:48,980 మొదటి, సర్వర్ ఏదో సెషన్లో డేటా నిల్వ అవసరం. 71 00:04:48,980 --> 00:04:51,910 ఒక వెబ్సైట్ ఉంటాయి వివిధ PHP ఫైళ్లను 72 00:04:51,910 --> 00:04:56,500 PHP వ్యాఖ్యాత ప్రత్యేక పిలుపులు వంటి కడుతుంది 73 00:04:56,500 --> 00:05:00,550 కాబట్టి స్థానిక వేరియబుల్ వాటి మధ్య భాగస్వామ్యం కాదు. 74 00:05:00,550 --> 00:05:04,030 బదులుగా, సర్వర్ మా సెషన్ డేటా నిల్వ అవసరం 75 00:05:04,030 --> 00:05:08,440 కొన్ని స్థానంలో బహుళ. Php ఫైళ్లు యాక్సెస్ చేయవచ్చు. 76 00:05:08,440 --> 00:05:13,940 రెండవ సర్వరుకు నా బ్రౌజింగ్ సెషన్ సెషన్ డేటా అనుబంధం అవసరం. 77 00:05:13,940 --> 00:05:15,940 నేను Facebook లాగిన్, చేసినప్పుడు 78 00:05:15,940 --> 00:05:20,460 అదే సమయంలో Facebook లాగిన్ ఇతర లక్షల మంది ప్రజలు బహుశా ఉన్నాయి. 79 00:05:20,460 --> 00:05:24,200 కానీ సర్వర్ నా డేటా సహవాసం కొన్ని మార్గం అవసరం 80 00:05:24,200 --> 00:05:28,340 నా ప్రస్తుత సెషన్ మరియు మరొక సెషన్ తో ఇతరుల డేటా తో. 81 00:05:28,340 --> 00:05:32,380 అదృష్టవశాత్తు, PHP యొక్క రచయితలు, మాకు ఈ గురించి అన్ని ఆలోచన 82 00:05:32,380 --> 00:05:35,170 కాబట్టి మేము ఈ ఏ మేమే అమలు అవసరం లేదు. 83 00:05:35,170 --> 00:05:39,540 కానీ యొక్క PHP అప్రమేయంగా చేస్తుంది పరిశీలించి వీలు. 84 00:05:39,540 --> 00:05:44,070 నేను మొదటి సారి session_start కలిగి ఒక PHP పేజీ సందర్శించినప్పుడు, 85 00:05:44,070 --> 00:05:47,930 PHP పెద్ద యాదృచ్ఛిక విలువ ఉత్పత్తి. 86 00:05:47,930 --> 00:05:53,970 Session_destroy అని లేదా ఉంది నేను ఒక కోసం ఆ సైట్ ఏ PHP పేజీలు సందర్శించండి లేదు-వరకు 87 00:05:53,970 --> 00:05:59,050 యాదృచ్ఛిక మరియు బహుశా ఏకైక విలువ నాకు సంబంధం ఉంటుంది. 88 00:05:59,050 --> 00:06:02,780 ఆ విధంగా సర్వర్ నా బ్రౌజింగ్ సెషన్ గుర్తించడం సాధించగలిగాడు 89 00:06:02,780 --> 00:06:05,710 ఇతరుల వ్యతిరేకంగా. 90 00:06:05,710 --> 00:06:08,780 మేము ప్రస్తుత సెషన్ ID పరిశీలించి చేయవచ్చు 91 00:06:08,780 --> 00:06:12,380 PHP ఫంక్షన్, session_ID ఉపయోగించి. 92 00:06:12,380 --> 00:06:17,250 ఇక్కడ మేము కేవలం మా సెషన్ ఐడెంటిఫైయర్ విలువ ఔట్పుట్ చేస్తున్నారు. 93 00:06:17,250 --> 00:06:20,580 కనుక మనం మళ్ళీ ఉదాహరణకు వెబ్ అనువర్తనం లాగిన్ ఉంటే, 94 00:06:20,580 --> 00:06:25,530 మరియు ఇప్పుడు sessid.php నావిగేట్, 95 00:06:25,530 --> 00:06:27,850 మేము అక్షరాలు ఈ దీర్ఘ స్ట్రింగ్ చూస్తారు, 96 00:06:27,850 --> 00:06:31,180 మరియు నా సెషన్ కోసం ప్రస్తుత గుర్తింపు ఉంది, 97 00:06:31,180 --> 00:06:35,410 మరియు ఆ సర్వర్ నేను ఎవరు పర్యవేక్షించడం ఉంది ఎలా. 98 00:06:35,410 --> 00:06:37,670 సరే, కానీ మేము మాత్రమే సగం సమస్యను పరిష్కరించింది చేసిన. 99 00:06:37,670 --> 00:06:40,910 ఖచ్చితంగా, సర్వర్ ఇప్పుడు నాకు గుర్తించడం సాధించగలిగాడు, 100 00:06:40,910 --> 00:06:46,060 నేను మరొక పేజీ సందర్శించినప్పుడు, సర్వర్ అదే గుర్తింపు తిరిగి అవసరం 101 00:06:46,060 --> 00:06:48,910 కాకుండా ఒక కొత్త ఉత్పత్తి కంటే. 102 00:06:48,910 --> 00:06:52,760 నేను foo.php లో ఒక స్థానిక వేరియబుల్, గుర్తుంచుకో 103 00:06:52,760 --> 00:06:55,190 ఆపై, bar.php సందర్శించండి 104 00:06:55,190 --> 00:07:00,980 bar.php foo.php లో ఏమి తెలుసుకోవడం మార్గం ఉంది. 105 00:07:00,980 --> 00:07:07,450 కాబట్టి డిఫాల్ట్ php సెషన్ అమలు బ్రౌజర్ సర్వర్ గుర్తు అవసరం 106 00:07:07,450 --> 00:07:09,740 ఇది సెషన్ ID ఉపయోగించడానికి. 107 00:07:09,740 --> 00:07:12,710 ఈ ఒక కుకీ రూపంలో అమలు. 108 00:07:12,710 --> 00:07:15,370 ఒక కుకీ లో ఒక రుచికరమైన అల్పాహారం కావడంతో పాటు 109 00:07:15,370 --> 00:07:18,630 మీ కంప్యూటర్లో ఒక చిన్న టెక్స్ట్ ఫైల్ 110 00:07:18,630 --> 00:07:21,780 సర్వర్ వెబ్ బ్రౌజర్ ద్వారా వ్రాయగలరు. 111 00:07:21,780 --> 00:07:27,300 , PHP session_start ద్వారా నా ఏకైక సెషన్ ID ఉత్పత్తి తర్వాత 112 00:07:27,300 --> 00:07:34,210 ఇది ఒక స్థానిక టెక్స్ట్ ఫైల్, లేదా కుకీలో ఆ గుర్తింపు నిల్వ వెబ్ బ్రౌజర్ చెప్పండి వెళుతున్న. 113 00:07:34,210 --> 00:07:38,490 అప్పుడు వెబ్ బ్రౌజర్ ప్రతి అభ్యర్థన ఆ గుర్తింపు కలిగి ఉంటుంది 114 00:07:38,490 --> 00:07:40,780 ఇది సర్వర్తో. 115 00:07:40,780 --> 00:07:44,280 కాబట్టి నిజంగా, వెబ్ సర్వర్ నేను ఎవరు గుర్తు లేదు. 116 00:07:44,280 --> 00:07:48,780 బదులుగా, వెబ్ బ్రౌజర్ కేవలం ఏకైక గుర్తింపు గుర్తు ఉంది 117 00:07:48,780 --> 00:07:52,730 ఆ PHP ఉత్పత్తి మరియు నిరంతరంగా సర్వర్ గుర్తుచేస్తూ 118 00:07:52,730 --> 00:07:55,120 ఆ గుర్తింపు ఉంది. 119 00:07:55,120 --> 00:08:00,760 నా యూజర్ పేరు వంటి ఆ విధంగా, సమాచార సర్వర్ నా వెబ్ బ్రౌజర్లో నిల్వ చేయబడుతుంది. 120 00:08:00,760 --> 00:08:05,190 బ్రౌజర్ కేవలం PHP సమాచారం భద్రపరచుకున్నారు సర్వర్ చెబుతుంది 121 00:08:05,190 --> 00:08:07,750 కాబట్టి PHP ఇది తిరిగి. 122 00:08:07,750 --> 00:08:12,150 కాబట్టి ఆ PHP నిజానికి ఈ సమాచారం నిల్వ పేరు ప్రశ్న ప్రార్థిస్తాడు? 123 00:08:12,150 --> 00:08:14,910 అప్రమేయంగా, PHP మీ సెషన్ డేటా నిల్వ చేస్తుంది 124 00:08:14,910 --> 00:08:19,540 / tmp, లేదా 'తాత్కాలిక' ఫోల్డర్ లోపల ఒక ఫైల్ లో. 125 00:08:19,540 --> 00:08:24,450 PHP గుర్తించడానికి వీలుగా ఫైల్ పేరు సెషన్ ID ఉంటాయి 126 00:08:24,450 --> 00:08:28,620 ఇది ఫైల్ చదివి మాత్రమే సెషన్ ID ద్వారా నుండి రాయడానికి. 127 00:08:28,620 --> 00:08:32,280 అన్ని కుడి. కాబట్టి యొక్క Chrome యొక్క డీబగర్లో నెట్వర్క్ టాబ్ ఓపెన్ 128 00:08:32,280 --> 00:08:34,890 కుడివైపు పైన రెంచ్ చిహ్నాన్ని ద్వారా. 129 00:08:34,890 --> 00:08:38,409 ఇప్పుడు మళ్ళీ hello.php తల తెలియజేయండి. 130 00:08:38,409 --> 00:08:42,270 యొక్క hello.php HTTP అభ్యర్థన క్లిక్ చేయండి 131 00:08:42,270 --> 00:08:44,680 ఆపై శీర్షికలు క్లిక్. 132 00:08:44,680 --> 00:08:50,390 ఇక్కడ మేము, కుకీ శీర్షిక PHPSESSID అనే కీ కలిగి చూడగలరు 133 00:08:50,390 --> 00:08:55,980 లేదా PHP సెషన్ ID-తో మేము చూసిన అదే దీర్ఘ స్ట్రింగ్ అని ఒక విలువ 134 00:08:55,980 --> 00:08:59,290 మేము sessid.php సందర్శించినప్పుడు. 135 00:08:59,290 --> 00:09:04,660 ఈ బ్రౌజర్ ఉపయోగించవచ్చు ఏ సెషన్ ID సర్వర్ గుర్తు ఎలా ఉంది. 136 00:09:04,660 --> 00:09:08,180 ఇది ఒక HTTP శీర్షిక లో ఉన్నాయి అన్నారు. 137 00:09:08,180 --> 00:09:10,500 అన్ని కుడి. యొక్క టెర్మినల్ తిరిగి తల లెట్. 138 00:09:10,500 --> 00:09:16,450 యొక్క PHP అప్రమేయంగా సెషన్ సమాచారాన్ని నిల్వ రాష్ట్రం / tmp, నావిగేట్ లెట్. 139 00:09:16,450 --> 00:09:19,160 ఖచ్చితంగా తగినంత, ఈ తాత్కాలిక ఫోల్డర్ లోపలి, 140 00:09:19,160 --> 00:09:23,550 ఇక్కడ అదే ఖచ్చితమైన సెషన్ ID కలిగివున్న ఫైలు ఉంది. 141 00:09:23,550 --> 00:09:28,990 మేము ఈ ఫైల్ తెరుచుకుంటుంది, మేము PHP డిస్కులో నా సెషన్ ప్రాతినిధ్యం ఎలా చూడగలరు. 142 00:09:28,990 --> 00:09:32,870 ఇక్కడ స్ట్రింగ్ "టామీ" ', పేరు' కీ కోసం నిల్వ ఉంది 143 00:09:32,870 --> 00:09:35,750 ఇది మేము ఎదురుచూచే సరిగ్గా ఏమిటి. 144 00:09:35,750 --> 00:09:38,850 మరియు ఆ PHP లో సెషన్ల అవలోకనం ఉంది. 145 00:09:38,850 --> 00:09:42,590 మనం ఇప్పుడు చూసిన సెషన్ల డిఫాల్ట్ అమలు ఉంది. 146 00:09:42,590 --> 00:09:45,600 నిజానికి, అనేక వెబ్సైట్లు ఈ సాధారణ రీతిని మార్చవచ్చు 147 00:09:45,600 --> 00:09:48,280 మరింత సమర్ధవంతంగా PHP సెషన్స్ నిల్వ 148 00:09:48,280 --> 00:09:50,390 ప్రదర్శన మెరుగు ఆసక్తి లో. 149 00:09:50,390 --> 00:09:52,800 నా పేరు టామీ, మరియు ఈ CS50 ఉంది. 150 00:09:52,800 --> 00:09:56,000 [CS50.TV]