1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [PHP Sessions] 2 00:00:02,000 --> 00:00:04,000 [Tommy MacWilliam, Harvardeko Unibertsitateko] 3 00:00:04,000 --> 00:00:07,000 [Hau CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:10,920 PHP saioak funtzionalitate ezartzeko erabili ahal izango da, 5 00:00:10,920 --> 00:00:13,440 Erabiltzaileak sarrerak bezala, zure web app. 6 00:00:13,440 --> 00:00:16,920 PHP saioak informazio lotzeko aukera emango 7 00:00:16,920 --> 00:00:19,680 erabiltzailearen osoan nabigazio saioarekin 8 00:00:19,680 --> 00:00:22,290 besterik gabe, orri bakar bat baino hobeto esanda. 9 00:00:22,290 --> 00:00:27,330 Beraz, horrek esan nahi du lankidea PHP hainbat zure web osatzen duten orriak bisitatzen gisa, 10 00:00:27,330 --> 00:00:30,630 saioan edozein informazio diraute egingo. 11 00:00:30,630 --> 00:00:34,770 Beraz, horrek esan nahi du, saioaren gordetzen by orri bat datuak 12 00:00:34,770 --> 00:00:37,580 daiteke beste orri batean egindako geroago sartzen da. 13 00:00:37,580 --> 00:00:40,080 Informazioa gordetzeko saio batean erraza da, 14 00:00:40,080 --> 00:00:48,790 eta horrela egin dugu dolarraren ikurra bidez, azpimarra, capital SAIOA aldakorra. 15 00:00:48,790 --> 00:00:52,620 Dolarraren ikurra, azpimarra, SAIOA-besterik dolarraren ikurra bezala, azpimarra, GET 16 00:00:52,620 --> 00:00:54,710 eta dolarraren ikurra, azpimarra, POST- 17 00:00:54,710 --> 00:00:58,690 elkartze-array bat gako bikoteak osatua da. 18 00:00:58,690 --> 00:01:07,980 Beraz, sintaxi-bezala dolarraren ikurra erabili ahal izango dugu, azpimarra, SAIOA, 19 00:01:07,980 --> 00:01:16,000 parentesia, aurrekontua, foo, aurrekontua, parentesi, berdin, aurrekontua, taberna, aurrekontu- 20 00:01:16,000 --> 00:01:20,440 balio "bar" gordetzeko gako in "foo". 21 00:01:20,440 --> 00:01:24,030 Hala ere, dugu idatzi edo saio array irakurri ahal izan aurretik, 22 00:01:24,030 --> 00:01:26,770 funtzio-berezi bat deitu beharko dugu 23 00:01:26,770 --> 00:01:34,690 saioan, azpimarra, hasteko, () - 24 00:01:34,690 --> 00:01:37,060 eta hau saio abiarazi egingo. 25 00:01:37,060 --> 00:01:39,850 Beraz, dezagun adibide bat begirada bat. 26 00:01:39,850 --> 00:01:46,570 Gure lehen orria, hello.php, saioaren datu batzuk erabiltzen irteera erabiltzaileari. 27 00:01:46,570 --> 00:01:53,920 Gogoratu, session_start erabili behar dugu dugun edozein saio datuak sartu ahal izateko. 28 00:01:53,920 --> 00:01:59,010 Orain PHP en isset erabiltzen ari gara gako bat existitzen bada zehazteko 29 00:01:59,010 --> 00:02:03,230 the $ _saioa elkartze-array. 30 00:02:03,230 --> 00:02:07,250 Giltza hori existitzen bada, horrek esan nahi du erabiltzaileak ditu erregistratuta, 31 00:02:07,250 --> 00:02:10,410 beraz, erabiltzailearen izena erakutsi dugu. 32 00:02:10,410 --> 00:02:14,110 Bada gakoa ez dago ezarrita, horrek esan nahi du erabiltzaileak ez du oraindik erregistratuta, 33 00:02:14,110 --> 00:02:17,880 beraz login.php lotura bat erakutsi dugu. 34 00:02:17,880 --> 00:02:21,380 Beraz, dezagun login.php begirada bat. 35 00:02:21,380 --> 00:02:26,260 Behera hemen, HTML inprimaki bat bakarra sarrera bakar batekin izan gara. 36 00:02:26,260 --> 00:02:32,720 Inprimakia ekintza atributu $ _Zerbitzaria ['PHP_SELF'] da, 37 00:02:32,720 --> 00:02:37,440 eta hau, besterik gabe, esan nahi formulariora uneko fitxategia meneratuak izan nahi dugu, 38 00:02:37,440 --> 00:02:41,040 izan ere, kasu honetan, login.php da. 39 00:02:41,040 --> 00:02:43,010 Beraz, goazen fitxategia honen hasierara itzuli. 40 00:02:43,010 --> 00:02:50,100 Erabiltzaileak inprimakia aurkeztu bada, ondoren $ Bi_dali ['izena'] ezarri behar da. 41 00:02:50,100 --> 00:02:53,750 HTML inprimakiak eta post buruzko informazio gehiago lortzeko, 42 00:02:53,750 --> 00:02:56,510 check out PHP Web garapena bideoa. 43 00:02:56,510 --> 00:02:59,330 Kasuan erabiltzaileari egin inprimakia aurkeztu zen, 44 00:02:59,330 --> 00:03:03,970 horretan idatzitako saioan sartu dute balioa idatzi nahi genuke. 45 00:03:03,970 --> 00:03:08,540 Orain erabiltzaileari hello.php birbideratu ahal izango dugu. 46 00:03:08,540 --> 00:03:11,800 Erabiltzailearen sarrera gordetako dugu saioan sartu delako, 47 00:03:11,800 --> 00:03:18,240 zela login.php girotutako balioa sartzeko gai izango hello.php. 48 00:03:18,240 --> 00:03:21,010 Hargatik begiratu hau web nabigatzaile batean. 49 00:03:21,010 --> 00:03:27,520 Lehenengoa, http://localhost/hello.php dugu nabigatzeko. 50 00:03:27,520 --> 00:03:30,220 Hemen ikus dezakegu dugu ez duten in oraindik erregistratuta, 51 00:03:30,220 --> 00:03:35,040 beraz, utzi egin klik saioa hasteko link, gurekin birbideratuko nahi login.php. 52 00:03:35,040 --> 00:03:41,760 Ados, idatzi dut nire izena, eta bertan egingo saioaren gordeta. 53 00:03:41,760 --> 00:03:48,950 Handia! Orain nire sarrera login.php hello.php aurrera ikusi ahal izango dugu saioaren bidez. 54 00:03:48,950 --> 00:03:52,270 Beraz, zer erabiltzaileari logging out buruz? 55 00:03:52,270 --> 00:03:58,510 Beno, ahal izateko, erabiltzaileak urtean hasi ahal izateko, saioaren izena sartu balio bat gordetako besterik ez dugu. 56 00:03:58,510 --> 00:04:03,040 Beraz, erabiltzaileak hasi nahi, besterik gabe, izen giltza hori kendu behar dugu 57 00:04:03,040 --> 00:04:05,040 saioaren array-tik. 58 00:04:05,040 --> 00:04:09,130 Beraz, dezagun azken fitxategi hau begirada bat, logout.php. 59 00:04:09,130 --> 00:04:12,080 Berriro ere, session_start deitu (behar dugu) 60 00:04:12,080 --> 00:04:15,260 dugu ezer saioan zerikusia egin aurretik. 61 00:04:15,260 --> 00:04:19,240 Orain dugu besterik gabe, ahal izango session_destroy deitu (), 62 00:04:19,240 --> 00:04:22,460 horrek zaindu egingo ohitu saioan datu guztiak deusezten 63 00:04:22,460 --> 00:04:26,790 eta ondoren birbideratu erabiltzaileari hello.php itzuli. 64 00:04:26,790 --> 00:04:30,700 Beraz, klikatu dut hasi out esteka on bada, 65 00:04:30,700 --> 00:04:34,690 zerbitzaria ahaztu nor naizen ikusi ahal izango dugu, 66 00:04:34,690 --> 00:04:36,970 eta jada ez naiz oraindik sartu 67 00:04:36,970 --> 00:04:39,910 Beraz, zer gertatzen da hemen kanpaia azpian? 68 00:04:39,910 --> 00:04:42,250 Ordena portaera ikusi besterik ez dugu lortu ahal izateko, 69 00:04:42,250 --> 00:04:44,760 gure zerbitzariak 2 gauza egin behar da. 70 00:04:44,760 --> 00:04:48,980 Lehen, zerbitzariak behar saioan datuen nolabait gordetzeko. 71 00:04:48,980 --> 00:04:51,910 Web orri bat osatzen duten PHP fitxategi desberdinetan 72 00:04:51,910 --> 00:04:56,500 ari PHP interpretea invocations independente gisa exekutatu 73 00:04:56,500 --> 00:05:00,550 beraz, tokiko aldagai ezin dira beraien artean banatuko. 74 00:05:00,550 --> 00:05:04,030 Horren ordez, zerbitzaria behar du gure saio datuak gordetzeko 75 00:05:04,030 --> 00:05:08,440 leku batzuetan bat baino gehiago dela. php fitxategietara sartu daitezkeen. 76 00:05:08,440 --> 00:05:13,940 Bigarrena, zerbitzariak saio datu lotzeko bakarrik nire nabigazio saioa beharrak. 77 00:05:13,940 --> 00:05:15,940 Abiatu saioa Facebook-I, 78 00:05:15,940 --> 00:05:20,460 Facebook ere sartu, aldi berean, beste milioika pertsona daude seguruenik. 79 00:05:20,460 --> 00:05:24,200 Baina zerbitzariak nire datuak lotzen modu batzuk behar 80 00:05:24,200 --> 00:05:28,340 nire uneko saioa eta saio batekin norbaiten datuekin. 81 00:05:28,340 --> 00:05:32,380 Zorionez, PHP egileek pentsatu inguru hori guztia guretzat, 82 00:05:32,380 --> 00:05:35,170 beraz, ez dugu behar honen edozein geure burua ezartzeko. 83 00:05:35,170 --> 00:05:39,540 Baina dezagun PHP duenaren lehenetsita begirada bat. 84 00:05:39,540 --> 00:05:44,070 Noiz PHP lehen aldiz session_start dituen orri bat bisitatu dut, 85 00:05:44,070 --> 00:05:47,930 PHP ausazko balio handi bat sortuko du. 86 00:05:47,930 --> 00:05:53,970 Arte session_destroy deitzen da-edo ez dut edozein PHP gune horretan orriak bisitatu batentzat berriz- 87 00:05:53,970 --> 00:05:59,050 balioa ausazko eta seguruenik berezia dela me lotutako egingo. 88 00:05:59,050 --> 00:06:02,780 Horrela zerbitzariari my browsing session identifikatzeko bide batzuk ditu 89 00:06:02,780 --> 00:06:05,710 bestela norbaiten aurka. 90 00:06:05,710 --> 00:06:08,780 Uneko saioan izena begirada bat hartu ahal izango dugu 91 00:06:08,780 --> 00:06:12,380 PHP funtzioa, session_ID erabiliz. 92 00:06:12,380 --> 00:06:17,250 Hemen ari gara, besterik gabe, gure saioaren identifikatzailea balioa outputting. 93 00:06:17,250 --> 00:06:20,580 Hala bada, berriro dugu adibidez web app du saioa, 94 00:06:20,580 --> 00:06:25,530 eta orain nabigatzeko sessid.php, 95 00:06:25,530 --> 00:06:27,850 karaktere-kate luze honetan ikusiko dugu, 96 00:06:27,850 --> 00:06:31,180 eta hori egungo nire saioaren identifikatzaile da, 97 00:06:31,180 --> 00:06:35,410 eta hori zerbitzarira nor naizen pista nola mantentzen da. 98 00:06:35,410 --> 00:06:37,670 Ados, baina egin dugu bakarrik arazoa erdi konponduta. 99 00:06:37,670 --> 00:06:40,910 Ziur, zerbitzariak orain nirekin identifikatzeko bide batzuk ditu, 100 00:06:40,910 --> 00:06:46,060 baina beste orri bat bisitatu dut, zerbitzariak identifikatzailea duten bera berrerabiltzea behar 101 00:06:46,060 --> 00:06:48,910 baizik eta berri bat sortzera baino. 102 00:06:48,910 --> 00:06:52,760 Gogoratu, tokiko aldagai bat deklaratzen dut foo.php bada 103 00:06:52,760 --> 00:06:55,190 eta orduan bisitatu bar.php, 104 00:06:55,190 --> 00:07:00,980 bar.php no foo.php zer gertatu zen jakitea ez dauka. 105 00:07:00,980 --> 00:07:07,450 Beraz php lehenetsi saio ezartzeko eskatzen nabigatzailea gogorarazten zerbitzariari 106 00:07:07,450 --> 00:07:09,740 eta horrek saioaren izena da erabiltzeko. 107 00:07:09,740 --> 00:07:12,710 Honek cookie forma ezarri. 108 00:07:12,710 --> 00:07:15,370 Cookie-en delicious merienda-a izateaz gain batek 109 00:07:15,370 --> 00:07:18,630 besterik ez da, zure ordenagailuko testu-fitxategi txiki bat 110 00:07:18,630 --> 00:07:21,780 zerbitzari bat web nabigatzaile bidez idatzi daiteke. 111 00:07:21,780 --> 00:07:27,300 Beraz PHP nire berezia saio ID sortzen ondoren session_start bidez, 112 00:07:27,300 --> 00:07:34,210 Da web nabigatzailea kontatzeko identifikatzailea duten gordetzeko tokiko testu-fitxategi bat, edo cookie batean joan. 113 00:07:34,210 --> 00:07:38,490 Ondoren arakatzailera identifikatzailea duten sartuko du eskaera guztietan 114 00:07:38,490 --> 00:07:40,780 egiten dela zerbitzariari. 115 00:07:40,780 --> 00:07:44,280 Beraz, benetan, web zerbitzaria ez da gogoratzeko nor naizen. 116 00:07:44,280 --> 00:07:48,780 Horren ordez, web nabigatzailea da, besterik gabe, identifikatzaile bakarra gogoratuz 117 00:07:48,780 --> 00:07:52,730 PHP erabili da eta, ondoren, etengabe zerbitzariari gogoraraziz 118 00:07:52,730 --> 00:07:55,120 identifikatzailea duen zer den. 119 00:07:55,120 --> 00:08:00,760 Duten bidea, nire erabiltzailearen izena bezalakoa da informaziorik zerbitzaria ez nire web nabigatzailean gordeta. 120 00:08:00,760 --> 00:08:05,190 Nabigatzailea besterik non PHP informazio hori gordetako zerbitzari kontatzen 121 00:08:05,190 --> 00:08:07,750 beraz PHP hura berreskuratu ahal. 122 00:08:07,750 --> 00:08:12,150 Beraz, galdera da, non da PHP benetan informazio hori jasoko segurutzat jotzen? 123 00:08:12,150 --> 00:08:14,910 Berez, PHP zure saio datuak gordeko 124 00:08:14,910 --> 00:08:19,540 / tmp edo 'temp' karpeta barruan fitxategi batean. 125 00:08:19,540 --> 00:08:24,450 Fitxategi hori izenarekin saioaren izena ere izango du beraz PHP zehaztu ahal 126 00:08:24,450 --> 00:08:28,620 horrek irakurri eta bertatik bakarrik saioren bidez idatzi fitxategiak. 127 00:08:28,620 --> 00:08:32,280 Ondo da. Hargatik ireki Sarea fitxa Chrome arazketan 128 00:08:32,280 --> 00:08:34,890 giltza goiko eskuineko ikonoaren bidez. 129 00:08:34,890 --> 00:08:38,409 Orain dezagun burua berriro hello.php izateko. 130 00:08:38,409 --> 00:08:42,270 Dezagun sakatu HTTP eskaera handiago ikusteko hello.php 131 00:08:42,270 --> 00:08:44,680 eta ondoren egin klik goiburuak on. 132 00:08:44,680 --> 00:08:50,390 Hemen ikusten cookiea goiburua duten PHPSESSID izeneko gako bat dauka ahal izango dugu, 133 00:08:50,390 --> 00:08:55,980 edo PHP saio izena-rekin duen katea luze hori bera ikusi dugu, hau da, balio bat 134 00:08:55,980 --> 00:08:59,290 denean sessid.php bisitatu dugu. 135 00:08:59,290 --> 00:09:04,660 Hau da, zehazki nola nabigatzailea zer saioaren izena erabili behar da zerbitzari gogoraraziz da. 136 00:09:04,660 --> 00:09:08,180 Honez da barne HTTP goiburu batean. 137 00:09:08,180 --> 00:09:10,500 Ondo da. Dezagun burua terminalera itzuli. 138 00:09:10,500 --> 00:09:16,450 Dezagun nabigatu / tmp, non PHP saio informazio gordetzeko modu lehenetsiz izateko. 139 00:09:16,450 --> 00:09:19,160 Seguru aski, aldi baterako karpeta honen barruan, 140 00:09:19,160 --> 00:09:23,550 hemen berean zehatza saioaren izena duen fitxategi bat da. 141 00:09:23,550 --> 00:09:28,990 Ireki dugu fitxategi hau bada, ikusi ahal izango dugu PHP diskoko nire saioarekin nola ordezkatzen da. 142 00:09:28,990 --> 00:09:32,870 Hemen katea "Tommy" da funtsezko gordeko, 'izena,' 143 00:09:32,870 --> 00:09:35,750 hau da, zehazki zer espero genuen. 144 00:09:35,750 --> 00:09:38,850 Eta hori PHP saio ikuspegi orokor bat. 145 00:09:38,850 --> 00:09:42,590 Zer ikusi besterik ez dugu bakarrik saioak ezartzeko lehenetsia zen. 146 00:09:42,590 --> 00:09:45,600 Izan ere, webgune asko aldatu portaera lehenetsia honetan 147 00:09:45,600 --> 00:09:48,280 eraginkortasunez PHP saioak gordetzeko 148 00:09:48,280 --> 00:09:50,390 errendimendua hobetzeko interesa. 149 00:09:50,390 --> 00:09:52,800 Nire izena Tommy da, eta hau da CS50. 150 00:09:52,800 --> 00:09:56,000 [CS50.TV]