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 ડોલર સાઇન, વિચાર, નીચા, સત્ર માત્ર ડોલર સાઇન જેમ, નીચા 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 આ _SESSION $ સમૂહનો એરે માં. 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 આ ફોર્મ ક્રિયા લક્ષણ, $ _SERVER ['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 વપરાશકર્તા માટે ફોર્મ સબમિટ હોય, તો પછી $ _POST ['નામ'] સુયોજિત થવુ જ જોઇએ. 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 વપરાશકર્તા ફોર્મ રજૂ કર્યું કે કિસ્સામાં, 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 અને હું લાંબા સમય સુધી લોગ ઈન છું 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 હું ફેસબુક માં પ્રવેશ, જ્યારે 78 00:05:15,940 --> 00:05:20,460 પણ એ જ સમયે ફેસબુક પ્રવેશ અન્ય લાખો લોકોને કદાચ છે. 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 અહીં અમે ફક્ત અમારા સત્ર ઓળખકર્તા ની કિંમત outputting છીએ. 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, ખરેખર આ માહિતી સ્ટોર કરે છે જ્યાં પ્રશ્ન begs? 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]