[Powered by Google Translate] [PHP Seisiúin] [Tommy MacWilliam, Ollscoil Harvard] [Is é seo an CS50.] [CS50.TV] Is féidir Seisiúin i PHP a úsáid chun feidhmiúlacht a chur i bhfeidhm, cosúil le logins úsáideora, i do app gréasáin. Cheadú seisiúin PHP tú eolas a chomhlachú leis an úsáideora seisiún brabhsála ar fad seachas díreach ar leathanach amháin. 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, Beidh aon fhaisnéis sa seisiún fós. Ciallaíonn sin go bhfuil na sonraí atá stóráilte sa seisiún leathanach amháin Is féidir rochtain a fháil ina dhiaidh sin trí leathanach eile. Faisnéis a stóráil i seisiún éasca, agus a dhéanann muid amhlaidh tríd an comhartha Dollar, béim, athróg SEISIÚN caipitil. Shíniú Dollar, béim, SEISIÚN-díreach cosúil le comhartha Dollar, béim, GET agus comhartha Dollar, béim, IAR- Is sraith comhthiomsaitheach a mbeidh príomhpháirtithe péirí luach. Mar sin, is féidir linn a úsáid error-mhaith comhartha Dollar, béim, SEISIÚN NA COMHAIRLE, lúibín, ceanglófar, foo, ceanglófar, lúibín, is ionann, ceanglófar, barra, ceanglófar- a stóráil ar an luach "barra" sa scála "foo." Mar sin féin, sular féidir linn a scríobh nó a léamh ó na eagar seisiún, beidh orainn gá chun glaoch feidhm-speisialta seisiún, béim, tús a chur, () - agus beidh sé seo a thúsú an seisiún. Mar sin, a ligean ar ghlacadh le breathnú ar shampla. Ár chéad leathanach, hello.php úsáidí, an seisiún a aschur cuid de na sonraí don úsáideoir. Cuimhnigh, beidh orainn gá session_start a úsáid sular féidir linn teacht ar aon sonraí seisiún. Anois, tá muid ag baint úsáide isset PHP a fháil amach an bhfuil eochair sa $ _SESSION eagar comhthiomsaitheach. Mura bhfuil an eochair, ciallaíonn sé go bhfuil an t-úsáideoir logáilte isteach, mar sin beidh orainn a thaispeáint ainm an úsáideora. Más rud é nach bhfuil eochair a leagtar, Ciallaíonn sé sin nach bhfuil an t-úsáideoir logáilte isteach go fóill, mar sin beidh orainn a thaispeáint nasc chuig login.php. Mar sin, a ligean ar ghlacadh le breathnú ar login.php. Síos anseo, ní mór dúinn foirm HTML amháin le hionchur amháin. Tá an fhoirm ar tréith gníomh $ _SERVER ['PHP_SELF'], agus tá sé seo ach ciallaíonn sé gur mian linn an fhoirm a chur faoi bhráid an comhad reatha, a, sa chás seo, tá login.php. Mar sin, a ligean ar dul ar ais go dtí an barr comhaid seo. Má chuir an t-úsáideoir an fhoirm, ansin caithfidh $ _POST ['ainm'] a shocrú. Chun tuilleadh eolais a fháil faoi na foirmeacha HTML agus iar, seiceáil amach an físeán Forbairt Gréasáin PHP. I gcás go ndearna an t-úsáideoir an fhoirm a chur isteach, ba mhaith linn buíochas a scríobh an luach a chlóscríobh siad i isteach sa seisiún. Anois, is féidir linn a atreorú an t-úsáideoir a hello.php. Toisc againn stóráil ionchur an úsáideora isteach sa seisiún, Beidh hello.php in ann rochtain a fháil ar an luach a cuireadh ar bun i login.php. Mar sin, a ligean ar a sheiceáil seo amach i bhrabhsálaí gréasáin. Gcéad dul síos, beidh orainn nascleanúint a http://localhost/hello.php. Is féidir linn a fheiceáil anseo nach bhfuil muid logáilte isteach go fóill, mar sin a ligean ar cliceáil ar an nasc logáil isteach, rud a atreorú dúinn a login.php. Maith go leor, beidh mé cineál i mo ainm, a bheidh á stóráil ansin sa seisiún. Mór! Anois is féidir linn a fheiceáil ar mo ionchur ó login.php ar hello.php tríd an seisiún. Mar sin, cad mar gheall ar an t-úsáideoir logáil amach? Bhuel, d'fhonn a logáil isteach an t-úsáideoir i, ach a stóráil againn luach isteach ainm seisiún. Mar sin, chun logáil isteach an t-úsáideoir amach, ní mór dúinn ach a bhaint an t-ainm eochair ó na eagar seisiún. Mar sin, a ligean ar ghlacadh le breathnú ar an gcomhad seo caite, logout.php. Arís eile, beidh orainn gá session_start a ghlaoch () sular féidir linn a dhéanamh seisiún rud ar bith a bhaineann leo. Anois is féidir linn glaoch go simplí session_destroy (), Beidh cúram a ghlacadh de Seicigh na sonraí go léir sa seisiún agus ansin atreorú an t-úsáideoir ar ais go dtí hello.php. Mar sin, má tá mé cliceáil ar an nasc Logáil amach, is féidir linn a fheiceáil go bhfuil an freastalaí dearmad cé mé, agus tá mé a thuilleadh logáilte isteach Mar sin, cad atá ar siúl anseo thíos an cochall? D'fhonn a fháil ar an iompar a chonaic muid díreach, Ní mór ár bhfreastalaí a dhéanamh 2 rudaí. Gcéad dul síos, ní mór an fhreastalaí a stóráil ar bhealach na sonraí sa seisiún. Na comhaid PHP éagsúla a chuimsíonn an suíomh gréasáin fhorghníomhú mar invocations ar leith ar an teangaire PHP Ní féidir athróg chomh áitiúla a roinnt eatarthu. Ina áit sin, ní mór an fhreastalaí a stóráil ár sonraí seisiún in áit éigin gur féidir il. comhaid php rochtain a fháil ar. Dara, ní mór an fhreastalaí a chomhlachú na sonraí seisiún gan ach mo seisiún brabhsála. Nuair a logáil isteach mé le Facebook, ann is dócha milliúin daoine eile logáilte isteach chomh maith ar Facebook ag an am céanna. Ach ní mór an freastalaí ar bhealach éigin de mo chuid sonraí a chomhlachú le mo seisiún reatha agus sonraí duine eile le seisiún eile. Luckily, an údair PHP shíl faoi seo ar fad dúinn, mar sin ní mór dúinn a chur i bhfeidhm aon cheann de seo dúinn féin. Ach a ligean ar ghlacadh le breathnú ar cad a dhéanann PHP réir réamhshocraithe. Nuair a thugaim cuairt ar leathanach PHP ina bhfuil session_start don chéad uair, Beidh PHP ghiniúint luach randamach mór. 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- a chuirfidh luach randamach agus is dócha ar leith a bhaineann leis liom. Sa chaoi sin tá an freastalaí ar bhealach éigin de mo seisiún brabhsála a aithint i gcomparáid le duine eile. Is féidir linn a chur le breathnú ar an ID seisiún reatha baint úsáide as an fheidhm PHP, session_ID. Anseo tá muid ag outputting ach an luach ár aitheantóir seisiún. Mar sin, má táimid logáil isteach arís chun an sampla app gréasáin, agus anois nascleanúint a sessid.php, beidh orainn a fheiceáil an teaghrán fada de charachtair, agus go bhfuil an t-aitheantóir reatha do mo seisiún, agus sin an gcaoi a bhfuil an freastalaí súil a choinneáil ar cé mé. Maith go leor, ach tá muid réiteach ach leath an bhfadhb. Cinnte, tá ar bhealach éigin a aithint dom an fhreastalaí anois, ach nuair a thugaim cuairt leathanach eile, ní mór an fhreastalaí a athúsáid go aitheantóir céanna seachas ceann nua a ghiniúint. Cuimhnigh, má Dearbhaím athróg áitiúil sa foo.php agus ansin tabhair cuairt bar.php, bar.php bhfuil aon bhealach a fhios agam cad a tharla i foo.php. Mar sin, éilíonn cur chun feidhme seisiún php réamhshocraithe go bhfuil an bhrabhsálaí i gcuimhne ar an bhfreastalaí a seisiún ID a úsáid. Tá sé seo i bhfeidhm i bhfoirm fianán. Fianán-chomh maith le bheith ina snack delicious- é ach comhad téacs beag ar do ríomhaire gur féidir le freastalaí scríobh chuig tríd an brabhsálaí gréasáin. Mar sin, tar éis Gineann PHP mo ID seisiún ar leith trí session_start, 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. Ansin, beidh an bhrabhsálaí gréasáin go aitheantóir i ngach iarraidh a dhéanann sé leis an bhfreastalaí. Mar sin, i ndáiríre, nach bhfuil an freastalaí gréasáin cuimhneamh cé mé. Ina áit sin, tá an brabhsálaí gréasáin cuimhneamh ach an aitheantóir uathúil gur gineadh ag PHP agus ansin de shíor ag meabhrú ar an bhfreastalaí cad é go bhfuil aitheantóir. 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. An bhrabhsálaí Insíonn ach an freastalaí ina PHP stóráil an fhaisnéis sin ionas gur féidir PHP fháil air. Mar sin, go begs an cheist, áit a bhfuil PHP a stóráil i ndáiríre an t-eolas? De réir réamhshocraithe, beidh PHP shábháil ar do shonraí seisiún i gcomhad taobh istigh de / tmp, nó an fillteán 'teocht'. Cuimseoidh an t-ainm an chomhaid an seisiún ID ionas gur féidir PHP a chinneadh a comhad léamh agus scríobh ó trí ach an ID seisiún. Gach ceart. Mar sin, a ligean ar a oscailt suas an cluaisín Líonra i dífhabhtóir Chrome ar tríd an deilbhín eochair ar dheis barr. Anois, a ligean ceann a hello.php arís. A ligean ar cliceáil ar an iarratas HTTP a hello.php agus ansin cliceáil ar Ceanntásca. Anseo, is féidir linn a fheiceáil go bhfuil an header fianán eochair a dtugtar PHPSESSID, nó seisiún PHP ID-le luach go bhfuil an teaghrán céanna le fada chonaic muid nuair a thugamar cuairt ar sessid.php. Tá sé seo go cruinn conas an brabhsálaí i gcuimhne an fhreastalaí cad seisiún ID ba chóir a úsáid. Tá sé lena n-áirítear é a chur i gceanntásc HTTP. Gach ceart. A ligean ar ceann ar ais chuig an gcríochfort. 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. Cinnte go leor, taobh istigh den fhillteán seo sealadach, anseo tá comhad go bhfuil an seisiún ID ceannann céanna. 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. Seo é an teaghrán "Tommy" á stóráil le haghaidh an eochair 'ainm,' a bhfuil díreach cad a bhí ag súil againn. Agus sin forbhreathnú de sheisiúin i PHP. Cad a chonaic muid ach raibh ach an cur i bhfeidhm réamhshocraithe de sheisiúin. Go deimhin, a athrú go leor suímh ghréasáin seo a iompar réamhshocraithe a stóráil seisiúin PHP níos éifeachtaí ar mhaithe le feidhmíocht a fheabhsú. Is é mo ainm Tommy, agus tá sé seo CS50. [CS50.TV]