1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [PHP Seisiúin] 2 00:00:02,000 --> 00:00:04,000 [Tommy MacWilliam, Ollscoil Harvard] 3 00:00:04,000 --> 00:00:07,000 [Is é seo an CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:10,920 Is féidir Seisiúin i PHP a úsáid chun feidhmiúlacht a chur i bhfeidhm, 5 00:00:10,920 --> 00:00:13,440 cosúil le logins úsáideora, i do app gréasáin. 6 00:00:13,440 --> 00:00:16,920 Cheadú seisiúin PHP tú eolas a chomhlachú 7 00:00:16,920 --> 00:00:19,680 leis an úsáideora seisiún brabhsála ar fad 8 00:00:19,680 --> 00:00:22,290 seachas díreach ar leathanach amháin. 9 00:00:22,290 --> 00:00:27,330 Mar sin, Ciallaíonn sé sin mar an t-úsáideoir cuairt ar leathanaigh PHP éagsúla a dhéanann suas do láithreán gréasáin, 10 00:00:27,330 --> 00:00:30,630 Beidh aon fhaisnéis sa seisiún fós. 11 00:00:30,630 --> 00:00:34,770 Ciallaíonn sin go bhfuil na sonraí atá stóráilte sa seisiún leathanach amháin 12 00:00:34,770 --> 00:00:37,580 Is féidir rochtain a fháil ina dhiaidh sin trí leathanach eile. 13 00:00:37,580 --> 00:00:40,080 Faisnéis a stóráil i seisiún éasca, 14 00:00:40,080 --> 00:00:48,790 agus a dhéanann muid amhlaidh tríd an comhartha Dollar, béim, athróg SEISIÚN caipitil. 15 00:00:48,790 --> 00:00:52,620 Shíniú Dollar, béim, SEISIÚN-díreach cosúil le comhartha Dollar, béim, GET 16 00:00:52,620 --> 00:00:54,710 agus comhartha Dollar, béim, IAR- 17 00:00:54,710 --> 00:00:58,690 Is sraith comhthiomsaitheach a mbeidh príomhpháirtithe péirí luach. 18 00:00:58,690 --> 00:01:07,980 Mar sin, is féidir linn a úsáid error-mhaith comhartha Dollar, béim, SEISIÚN NA COMHAIRLE, 19 00:01:07,980 --> 00:01:16,000 lúibín, ceanglófar, foo, ceanglófar, lúibín, is ionann, ceanglófar, barra, ceanglófar- 20 00:01:16,000 --> 00:01:20,440 a stóráil ar an luach "barra" sa scála "foo." 21 00:01:20,440 --> 00:01:24,030 Mar sin féin, sular féidir linn a scríobh nó a léamh ó na eagar seisiún, 22 00:01:24,030 --> 00:01:26,770 beidh orainn gá chun glaoch feidhm-speisialta 23 00:01:26,770 --> 00:01:34,690 seisiún, béim, tús a chur, () - 24 00:01:34,690 --> 00:01:37,060 agus beidh sé seo a thúsú an seisiún. 25 00:01:37,060 --> 00:01:39,850 Mar sin, a ligean ar ghlacadh le breathnú ar shampla. 26 00:01:39,850 --> 00:01:46,570 Ár chéad leathanach, hello.php úsáidí, an seisiún a aschur cuid de na sonraí don úsáideoir. 27 00:01:46,570 --> 00:01:53,920 Cuimhnigh, beidh orainn gá session_start a úsáid sular féidir linn teacht ar aon sonraí seisiún. 28 00:01:53,920 --> 00:01:59,010 Anois, tá muid ag baint úsáide isset PHP a fháil amach an bhfuil eochair 29 00:01:59,010 --> 00:02:03,230 sa $ _SESSION eagar comhthiomsaitheach. 30 00:02:03,230 --> 00:02:07,250 Mura bhfuil an eochair, ciallaíonn sé go bhfuil an t-úsáideoir logáilte isteach, 31 00:02:07,250 --> 00:02:10,410 mar sin beidh orainn a thaispeáint ainm an úsáideora. 32 00:02:10,410 --> 00:02:14,110 Más rud é nach bhfuil eochair a leagtar, Ciallaíonn sé sin nach bhfuil an t-úsáideoir logáilte isteach go fóill, 33 00:02:14,110 --> 00:02:17,880 mar sin beidh orainn a thaispeáint nasc chuig login.php. 34 00:02:17,880 --> 00:02:21,380 Mar sin, a ligean ar ghlacadh le breathnú ar login.php. 35 00:02:21,380 --> 00:02:26,260 Síos anseo, ní mór dúinn foirm HTML amháin le hionchur amháin. 36 00:02:26,260 --> 00:02:32,720 Tá an fhoirm ar tréith gníomh $ _SERVER ['PHP_SELF'], 37 00:02:32,720 --> 00:02:37,440 agus tá sé seo ach ciallaíonn sé gur mian linn an fhoirm a chur faoi bhráid an comhad reatha, 38 00:02:37,440 --> 00:02:41,040 a, sa chás seo, tá login.php. 39 00:02:41,040 --> 00:02:43,010 Mar sin, a ligean ar dul ar ais go dtí an barr comhaid seo. 40 00:02:43,010 --> 00:02:50,100 Má chuir an t-úsáideoir an fhoirm, ansin caithfidh $ _POST ['ainm'] a shocrú. 41 00:02:50,100 --> 00:02:53,750 Chun tuilleadh eolais a fháil faoi na foirmeacha HTML agus iar, 42 00:02:53,750 --> 00:02:56,510 seiceáil amach an físeán Forbairt Gréasáin PHP. 43 00:02:56,510 --> 00:02:59,330 I gcás go ndearna an t-úsáideoir an fhoirm a chur isteach, 44 00:02:59,330 --> 00:03:03,970 ba mhaith linn buíochas a scríobh an luach a chlóscríobh siad i isteach sa seisiún. 45 00:03:03,970 --> 00:03:08,540 Anois, is féidir linn a atreorú an t-úsáideoir a hello.php. 46 00:03:08,540 --> 00:03:11,800 Toisc againn stóráil ionchur an úsáideora isteach sa seisiún, 47 00:03:11,800 --> 00:03:18,240 Beidh hello.php in ann rochtain a fháil ar an luach a cuireadh ar bun i login.php. 48 00:03:18,240 --> 00:03:21,010 Mar sin, a ligean ar a sheiceáil seo amach i bhrabhsálaí gréasáin. 49 00:03:21,010 --> 00:03:27,520 Gcéad dul síos, beidh orainn nascleanúint a http://localhost/hello.php. 50 00:03:27,520 --> 00:03:30,220 Is féidir linn a fheiceáil anseo nach bhfuil muid logáilte isteach go fóill, 51 00:03:30,220 --> 00:03:35,040 mar sin a ligean ar cliceáil ar an nasc logáil isteach, rud a atreorú dúinn a login.php. 52 00:03:35,040 --> 00:03:41,760 Maith go leor, beidh mé cineál i mo ainm, a bheidh á stóráil ansin sa seisiún. 53 00:03:41,760 --> 00:03:48,950 Mór! Anois is féidir linn a fheiceáil ar mo ionchur ó login.php ar hello.php tríd an seisiún. 54 00:03:48,950 --> 00:03:52,270 Mar sin, cad mar gheall ar an t-úsáideoir logáil amach? 55 00:03:52,270 --> 00:03:58,510 Bhuel, d'fhonn a logáil isteach an t-úsáideoir i, ach a stóráil againn luach isteach ainm seisiún. 56 00:03:58,510 --> 00:04:03,040 Mar sin, chun logáil isteach an t-úsáideoir amach, ní mór dúinn ach a bhaint an t-ainm eochair 57 00:04:03,040 --> 00:04:05,040 ó na eagar seisiún. 58 00:04:05,040 --> 00:04:09,130 Mar sin, a ligean ar ghlacadh le breathnú ar an gcomhad seo caite, logout.php. 59 00:04:09,130 --> 00:04:12,080 Arís eile, beidh orainn gá session_start a ghlaoch () 60 00:04:12,080 --> 00:04:15,260 sular féidir linn a dhéanamh seisiún rud ar bith a bhaineann leo. 61 00:04:15,260 --> 00:04:19,240 Anois is féidir linn glaoch go simplí session_destroy (), 62 00:04:19,240 --> 00:04:22,460 Beidh cúram a ghlacadh de Seicigh na sonraí go léir sa seisiún 63 00:04:22,460 --> 00:04:26,790 agus ansin atreorú an t-úsáideoir ar ais go dtí hello.php. 64 00:04:26,790 --> 00:04:30,700 Mar sin, má tá mé cliceáil ar an nasc Logáil amach, 65 00:04:30,700 --> 00:04:34,690 is féidir linn a fheiceáil go bhfuil an freastalaí dearmad cé mé, 66 00:04:34,690 --> 00:04:36,970 agus tá mé a thuilleadh logáilte isteach 67 00:04:36,970 --> 00:04:39,910 Mar sin, cad atá ar siúl anseo thíos an cochall? 68 00:04:39,910 --> 00:04:42,250 D'fhonn a fháil ar an iompar a chonaic muid díreach, 69 00:04:42,250 --> 00:04:44,760 Ní mór ár bhfreastalaí a dhéanamh 2 rudaí. 70 00:04:44,760 --> 00:04:48,980 Gcéad dul síos, ní mór an fhreastalaí a stóráil ar bhealach na sonraí sa seisiún. 71 00:04:48,980 --> 00:04:51,910 Na comhaid PHP éagsúla a chuimsíonn an suíomh gréasáin 72 00:04:51,910 --> 00:04:56,500 fhorghníomhú mar invocations ar leith ar an teangaire PHP 73 00:04:56,500 --> 00:05:00,550 Ní féidir athróg chomh áitiúla a roinnt eatarthu. 74 00:05:00,550 --> 00:05:04,030 Ina áit sin, ní mór an fhreastalaí a stóráil ár sonraí seisiún 75 00:05:04,030 --> 00:05:08,440 in áit éigin gur féidir il. comhaid php rochtain a fháil ar. 76 00:05:08,440 --> 00:05:13,940 Dara, ní mór an fhreastalaí a chomhlachú na sonraí seisiún gan ach mo seisiún brabhsála. 77 00:05:13,940 --> 00:05:15,940 Nuair a logáil isteach mé le Facebook, 78 00:05:15,940 --> 00:05:20,460 ann is dócha milliúin daoine eile logáilte isteach chomh maith ar Facebook ag an am céanna. 79 00:05:20,460 --> 00:05:24,200 Ach ní mór an freastalaí ar bhealach éigin de mo chuid sonraí a chomhlachú 80 00:05:24,200 --> 00:05:28,340 le mo seisiún reatha agus sonraí duine eile le seisiún eile. 81 00:05:28,340 --> 00:05:32,380 Luckily, an údair PHP shíl faoi seo ar fad dúinn, 82 00:05:32,380 --> 00:05:35,170 mar sin ní mór dúinn a chur i bhfeidhm aon cheann de seo dúinn féin. 83 00:05:35,170 --> 00:05:39,540 Ach a ligean ar ghlacadh le breathnú ar cad a dhéanann PHP réir réamhshocraithe. 84 00:05:39,540 --> 00:05:44,070 Nuair a thugaim cuairt ar leathanach PHP ina bhfuil session_start don chéad uair, 85 00:05:44,070 --> 00:05:47,930 Beidh PHP ghiniúint luach randamach mór. 86 00:05:47,930 --> 00:05:53,970 Go dtí go dtugtar session_destroy-nó ní féidir liom cuairt a thabhairt ar aon leathanaigh PHP ar an suíomh sin ar feadh tamaill- 87 00:05:53,970 --> 00:05:59,050 a chuirfidh luach randamach agus is dócha ar leith a bhaineann leis liom. 88 00:05:59,050 --> 00:06:02,780 Sa chaoi sin tá an freastalaí ar bhealach éigin de mo seisiún brabhsála a aithint 89 00:06:02,780 --> 00:06:05,710 i gcomparáid le duine eile. 90 00:06:05,710 --> 00:06:08,780 Is féidir linn a chur le breathnú ar an ID seisiún reatha 91 00:06:08,780 --> 00:06:12,380 baint úsáide as an fheidhm PHP, session_ID. 92 00:06:12,380 --> 00:06:17,250 Anseo tá muid ag outputting ach an luach ár aitheantóir seisiún. 93 00:06:17,250 --> 00:06:20,580 Mar sin, má táimid logáil isteach arís chun an sampla app gréasáin, 94 00:06:20,580 --> 00:06:25,530 agus anois nascleanúint a sessid.php, 95 00:06:25,530 --> 00:06:27,850 beidh orainn a fheiceáil an teaghrán fada de charachtair, 96 00:06:27,850 --> 00:06:31,180 agus go bhfuil an t-aitheantóir reatha do mo seisiún, 97 00:06:31,180 --> 00:06:35,410 agus sin an gcaoi a bhfuil an freastalaí súil a choinneáil ar cé mé. 98 00:06:35,410 --> 00:06:37,670 Maith go leor, ach tá muid réiteach ach leath an bhfadhb. 99 00:06:37,670 --> 00:06:40,910 Cinnte, tá ar bhealach éigin a aithint dom an fhreastalaí anois, 100 00:06:40,910 --> 00:06:46,060 ach nuair a thugaim cuairt leathanach eile, ní mór an fhreastalaí a athúsáid go aitheantóir céanna 101 00:06:46,060 --> 00:06:48,910 seachas ceann nua a ghiniúint. 102 00:06:48,910 --> 00:06:52,760 Cuimhnigh, má Dearbhaím athróg áitiúil sa foo.php 103 00:06:52,760 --> 00:06:55,190 agus ansin tabhair cuairt bar.php, 104 00:06:55,190 --> 00:07:00,980 bar.php bhfuil aon bhealach a fhios agam cad a tharla i foo.php. 105 00:07:00,980 --> 00:07:07,450 Mar sin, éilíonn cur chun feidhme seisiún php réamhshocraithe go bhfuil an bhrabhsálaí i gcuimhne ar an bhfreastalaí 106 00:07:07,450 --> 00:07:09,740 a seisiún ID a úsáid. 107 00:07:09,740 --> 00:07:12,710 Tá sé seo i bhfeidhm i bhfoirm fianán. 108 00:07:12,710 --> 00:07:15,370 Fianán-chomh maith le bheith ina snack delicious- 109 00:07:15,370 --> 00:07:18,630 é ach comhad téacs beag ar do ríomhaire 110 00:07:18,630 --> 00:07:21,780 gur féidir le freastalaí scríobh chuig tríd an brabhsálaí gréasáin. 111 00:07:21,780 --> 00:07:27,300 Mar sin, tar éis Gineann PHP mo ID seisiún ar leith trí session_start, 112 00:07:27,300 --> 00:07:34,210 tá sé ag dul a insint ar an brabhsálaí gréasáin a stóráil go aitheantóir i gcomhad téacs áitiúil, nó fianán. 113 00:07:34,210 --> 00:07:38,490 Ansin, beidh an bhrabhsálaí gréasáin go aitheantóir i ngach iarraidh 114 00:07:38,490 --> 00:07:40,780 a dhéanann sé leis an bhfreastalaí. 115 00:07:40,780 --> 00:07:44,280 Mar sin, i ndáiríre, nach bhfuil an freastalaí gréasáin cuimhneamh cé mé. 116 00:07:44,280 --> 00:07:48,780 Ina áit sin, tá an brabhsálaí gréasáin cuimhneamh ach an aitheantóir uathúil 117 00:07:48,780 --> 00:07:52,730 gur gineadh ag PHP agus ansin de shíor ag meabhrú ar an bhfreastalaí 118 00:07:52,730 --> 00:07:55,120 cad é go bhfuil aitheantóir. 119 00:07:55,120 --> 00:08:00,760 Is é sin an bealach faisnéise, cosúil le mo ainm úsáideora a stóráil ar an bhfreastalaí nach mo bhrabhsálaí gréasáin. 120 00:08:00,760 --> 00:08:05,190 An bhrabhsálaí Insíonn ach an freastalaí ina PHP stóráil an fhaisnéis sin 121 00:08:05,190 --> 00:08:07,750 ionas gur féidir PHP fháil air. 122 00:08:07,750 --> 00:08:12,150 Mar sin, go begs an cheist, áit a bhfuil PHP a stóráil i ndáiríre an t-eolas? 123 00:08:12,150 --> 00:08:14,910 De réir réamhshocraithe, beidh PHP shábháil ar do shonraí seisiún 124 00:08:14,910 --> 00:08:19,540 i gcomhad taobh istigh de / tmp, nó an fillteán 'teocht'. 125 00:08:19,540 --> 00:08:24,450 Cuimseoidh an t-ainm an chomhaid an seisiún ID ionas gur féidir PHP a chinneadh 126 00:08:24,450 --> 00:08:28,620 a comhad léamh agus scríobh ó trí ach an ID seisiún. 127 00:08:28,620 --> 00:08:32,280 Gach ceart. Mar sin, a ligean ar a oscailt suas an cluaisín Líonra i dífhabhtóir Chrome ar 128 00:08:32,280 --> 00:08:34,890 tríd an deilbhín eochair ar dheis barr. 129 00:08:34,890 --> 00:08:38,409 Anois, a ligean ceann a hello.php arís. 130 00:08:38,409 --> 00:08:42,270 A ligean ar cliceáil ar an iarratas HTTP a hello.php 131 00:08:42,270 --> 00:08:44,680 agus ansin cliceáil ar Ceanntásca. 132 00:08:44,680 --> 00:08:50,390 Anseo, is féidir linn a fheiceáil go bhfuil an header fianán eochair a dtugtar PHPSESSID, 133 00:08:50,390 --> 00:08:55,980 nó seisiún PHP ID-le luach go bhfuil an teaghrán céanna le fada chonaic muid 134 00:08:55,980 --> 00:08:59,290 nuair a thugamar cuairt ar sessid.php. 135 00:08:59,290 --> 00:09:04,660 Tá sé seo go cruinn conas an brabhsálaí i gcuimhne an fhreastalaí cad seisiún ID ba chóir a úsáid. 136 00:09:04,660 --> 00:09:08,180 Tá sé lena n-áirítear é a chur i gceanntásc HTTP. 137 00:09:08,180 --> 00:09:10,500 Gach ceart. A ligean ar ceann ar ais chuig an gcríochfort. 138 00:09:10,500 --> 00:09:16,450 A ligean ar nascleanúint a dhéanamh, nó / tmp, ina bhfuil PHP a stóráil an t-eolas seisiún de réir réamhshocraithe. 139 00:09:16,450 --> 00:09:19,160 Cinnte go leor, taobh istigh den fhillteán seo sealadach, 140 00:09:19,160 --> 00:09:23,550 anseo tá comhad go bhfuil an seisiún ID ceannann céanna. 141 00:09:23,550 --> 00:09:28,990 Má osclaíonn muid suas comhad seo, is féidir linn a fheiceáil conas a PHP ionadaíonn mo seisiún ar do dhiosca crua. 142 00:09:28,990 --> 00:09:32,870 Seo é an teaghrán "Tommy" á stóráil le haghaidh an eochair 'ainm,' 143 00:09:32,870 --> 00:09:35,750 a bhfuil díreach cad a bhí ag súil againn. 144 00:09:35,750 --> 00:09:38,850 Agus sin forbhreathnú de sheisiúin i PHP. 145 00:09:38,850 --> 00:09:42,590 Cad a chonaic muid ach raibh ach an cur i bhfeidhm réamhshocraithe de sheisiúin. 146 00:09:42,590 --> 00:09:45,600 Go deimhin, a athrú go leor suímh ghréasáin seo a iompar réamhshocraithe 147 00:09:45,600 --> 00:09:48,280 a stóráil seisiúin PHP níos éifeachtaí 148 00:09:48,280 --> 00:09:50,390 ar mhaithe le feidhmíocht a fheabhsú. 149 00:09:50,390 --> 00:09:52,800 Is é mo ainm Tommy, agus tá sé seo CS50. 150 00:09:52,800 --> 00:09:56,000 [CS50.TV]