[Powered by Google Translate] [PHP, સત્રો]
[ટોમી MacWilliam, હાર્વર્ડ યુનિવર્સિટી]
[આ CS50 છે.] [CS50.TV]
PHP માં સત્રો કામગીરી લાગુ પાડવા માટે વાપરી શકાય છે,
વપરાશકર્તા પ્રવેશો, જેમ કે તમારા વેબ એપ્લિકેશનમાં.
PHP, સત્ર તમે માહિતી સાંકળવા માટે પરવાનગી આપે છે
વપરાશકર્તાની સમગ્ર બ્રાઉઝિંગ સત્ર સાથે
તેના બદલે ફક્ત એક પાનું કરતાં.
વપરાશકર્તા તમારી વેબસાઇટ બનાવે છે વિવિધ PHP, પાના મુલાકાત તેથી, એ
સત્ર માં કોઇ માહિતી હોવાના કરશે.
જેથી અર્થ એ થાય કે એક પાનું દ્વારા સત્રમાં સંગ્રહિત માહિતી
પછી બીજા પૃષ્ઠ દ્વારા ઍક્સેસ કરી શકો છો.
સત્ર માહિતી સ્ટોર, સરળ છે
અને અમે નીચા, ડોલર સાઇન મારફતે પણ મૂડી સત્ર ચલ નથી.
ડોલર સાઇન, વિચાર, નીચા, સત્ર માત્ર ડોલર સાઇન જેમ, નીચા
અને ડોલર સાઇન, નીચા પોસ્ટ
કી કિંમત જોડીને એક સમૂહનો એરે છે.
તેથી અમે, સત્ર નીચા, વાક્યરચના જેવા ડોલર સાઇન ઉપયોગ કરી શકો છો
કૌંસ, ભાવ, foo, ભાવ, કૌંસ,, ભાવ, બરાબર બાર, ભાવ-
કીમાં કિંમત "બાર" સંગ્રહવા માટે "foo."
જો કે, અમે લખી અથવા સત્ર એરે માંથી વાંચી શકે છે તે પહેલાં,
અમે એક ખાસ કાર્ય કૉલ કરવાની જરૂર પડશે
સત્ર,) (, શરૂ, નીચા -
અને આ સત્ર પ્રારંભ કરશે.
તેથી આપણે એક ઉદાહરણ પર એક નજર.
અમારી પ્રથમ પાનું, hello.php, વપરાશકર્તા માહિતી આઉટપૂટ માટે અમુક માહિતી સત્ર ઉપયોગ કરે છે.
અમે કોઈ સત્ર માહિતી ઍક્સેસ કરી શકો છો તે પહેલાં અમે session_start ઉપયોગ કરવાની જરૂર પડશે, યાદ રાખો.
હવે અમે એક કી અસ્તિત્વમાં નહિં તે ચકાસવા માટે PHP, માતાનો isset ઉપયોગ કરી રહ્યાં છો
આ _SESSION $ સમૂહનો એરે માં.
તે કી અસ્તિત્વમાં હોય, કે, પ્રવેશેલ વપરાશકર્તા છે એનો અર્થ એ થાય
તેથી અમે વપરાશકર્તાના નામ પ્રદર્શિત પડશે.
તે કી સેટ નથી, તો તે, વપરાશકર્તા હજુ સુધી લૉગ ઇન નથી એનો અર્થ એ થાય
તેથી અમે login.php પર એક લિંક પ્રદર્શિત પડશે.
તેથી આપણે login.php પર એક નજર કરીએ.
અહીં નીચે, અમે એક ઇનપુટ સાથે એક HTML ફોર્મ છે.
આ ફોર્મ ક્રિયા લક્ષણ, $ _SERVER ['PHP_SELF'] છે
અને આ ફક્ત, આપણે ફોર્મ વર્તમાન ફાઈલ રજૂ કરવામાં કરવા માંગો છો કે જે થાય છે
જે આ કિસ્સામાં, login.php છે.
તેથી આપણે પાછા આ ફાઈલની ટોચ પર જાઓ.
વપરાશકર્તા માટે ફોર્મ સબમિટ હોય, તો પછી $ _POST ['નામ'] સુયોજિત થવુ જ જોઇએ.
HTML ફોર્મ અને પોસ્ટ વિશે વધુ માહિતી માટે,
PHP, વેબ વિકાસ વિડિઓ જુઓ.
વપરાશકર્તા ફોર્મ રજૂ કર્યું કે કિસ્સામાં,
અમે તેઓ તે સત્ર માં લખ્યો કે કિંમત લખવા માંગો છો.
હવે અમે hello.php વપરાશકર્તા પુનઃદિશામાન કરી શકો છો.
અમે સત્ર માં વપરાશકર્તાની ઇનપુટ સ્ટોર કરી છે,
hello.php login.php માં આવ્યું કિંમત વાપરવા માટે સમર્થ હશે.
તેથી આપણે આ વેબ બ્રાઉઝર બહાર તપાસ.
પ્રથમ, અમે http://localhost/hello.php શોધખોળ પડશે.
અમે, અમે હજુ સુધી લૉગ ઇન નથી કે અહીં જોઈ શકો છો
તેથી આપણે login.php આપણને રીડાયરેક્ટ કરશે જે પ્રવેશ કડી, ક્લિક કરો.
ઠીક છે, હું પછી સત્રમાં સંગ્રહિત કરવામાં આવશે, મારું નામ લખો પડશે.
સરસ! હવે અમે સત્ર મારફતે hello.php પર login.php મારા ઇનપુટ જોઈ શકો છો.
તેથી, શું વપરાશકર્તા બહાર નીકળી રહ્યા છે?
વેલ, વપરાશકર્તા પ્રવેશ કરવા માટે, અમે ફક્ત સત્ર નામ માં નીચેની સંગ્રહ થાય છે.
તેથી બહાર વપરાશકર્તા લોગ કરવા માટે, અમે ફક્ત તે નામ કી દૂર કરવાની જરૂર છે
સત્ર એરે માંથી.
તેથી logout.php, ચાલો આ છેલ્લી ફાઈલ પર એક નજર કરીએ.
ફરી એક વાર, અમે) (session_start કૉલ કરવાની જરૂર પડશે
અમે સંબંધિત કંઈપણ સત્ર કરી શકે છે.
હવે અમે ફક્ત) (session_destroy કૉલ કરી શકો છો
સત્ર તમામ માહિતી છૂટકારો મેળવવામાં કાળજી લેશે જે
અને પછી પાછા hello.php વપરાશકર્તા પુનઃદિશામાન કરે છે.
તેથી હું લોગ આઉટ લિંક પર ક્લિક કરો,
અમે સર્વર હું કોણ છું ભૂલી ગઇ છે કે નહીં તે જોવા કરી શકો છો,
અને હું લાંબા સમય સુધી લોગ ઈન છું
તેથી શું હૂડ નીચે રહ્યું છે તે અહીં?
અમે માત્ર જોવા મળી હતી વર્તન વિચાર કરવા માટે,
અમારા સર્વર 2 વસ્તુઓ કરવાની જરૂર છે.
પ્રથમ, સર્વર કોઈક સત્રમાં ડેટા સંગ્રહ કરવા માટે જરૂર છે.
વેબસાઇટ સમાવેશ થાય છે કે જે વિવિધ PHP, ફાઇલો
PHP દુભાષિયો અલગ આવાહન તરીકે ચલાવવામાં આવે છે
જેથી સ્થાનિક ચલ તેમની વચ્ચે શેર કરી શકાતી નથી.
તેના બદલે, સર્વર સેશન ડેટા સ્ટોર કરવાની જરૂર છે
કેટલાક જગ્યાએ કે ઘણી. PHP ફાઇલોને વાપરી શકો છો.
બીજું, સર્વર માત્ર મારા બ્રાઉઝિંગ સત્ર સાથે સત્ર માહિતી સાંકળવા માટે જરૂર છે.
હું ફેસબુક માં પ્રવેશ, જ્યારે
પણ એ જ સમયે ફેસબુક પ્રવેશ અન્ય લાખો લોકોને કદાચ છે.
પરંતુ સર્વરે મારા ડેટાને સંગત કેટલાક માર્ગ જરૂર છે
મારા વર્તમાન સત્ર અને અન્ય સત્ર સાથે કોઈ બીજાના માહિતી સાથે.
સદભાગ્યે, PHP, ના લેખકો, અમારા માટે આ સભ્યો વિષે વિચાર્યું
તેથી અમે આ કોઇ જાતને અમલ કરવાની જરૂર નથી.
પરંતુ PHP, મૂળભૂત રીતે શું કરે છે પર એક નજર કરીએ.
હું પ્રથમ વખત માટે session_start સમાવતી PHP, પાનું મુલાકાત લો,
PHP, મોટી રેન્ડમ કિંમત પેદા કરી શકશો.
Session_destroy કહેવાય કે હું તો માટે કે સાઇટ પર કોઈપણ PHP, પાના મુલાકાત નથી જ્યારે-સુધી
કે અવ્યવસ્થિત અને કદાચ અનન્ય કિંમત મારી સાથે સંકળાયેલ હશે.
આ રીતે સર્વર મારા બ્રાઉઝિંગ સત્ર ઓળખવા થોડી રાહ
કોઈના વિરોધ કર્યો હતો.
અમે ચાલુ સત્ર ID ને પર એક નજર કરી શકો છો
PHP, કાર્ય, session_ID મદદથી.
અહીં અમે ફક્ત અમારા સત્ર ઓળખકર્તા ની કિંમત outputting છીએ.
તેથી અમે ફરીથી ઉદાહરણ વેબ એપ્લિકેશન માં પ્રવેશ જો,
અને હવે sessid.php શોધો,
અમે આ અક્ષરોની લાંબા શબ્દમાળા જોશો,
અને તે મારા સત્ર માટે વર્તમાન ઓળખકર્તા છે,
અને તે સર્વર હું કોણ છું રાખવામાં આવેલ છે કેવી રીતે.
ઠીક છે, પરંતુ અમે માત્ર અડધા સમસ્યા હલ થઈ છે.
ખાતરી કરો કે, સર્વર હવે મને ઓળખવા કેટલાક માર્ગ છે,
હું અન્ય પૃષ્ઠની મુલાકાત લો ત્યારે, આ સર્વર તે જ ઓળખકર્તા ફરી ઉપયોગ કરવાની જરૂર છે
તેના બદલે એક નવું પેદા કરતા.
હું foo.php માં સ્થાનિક ચલ જાહેર, યાદ રાખો
અને પછી, bar.php મુલાકાત
bar.php foo.php માં શું થયું જાણીને કોઈ રીત નથી.
તેથી મૂળભૂત PHP સત્ર અમલીકરણ બ્રાઉઝર સર્વર યાદ જરૂરી છે કે
જે સત્ર ID ને વાપરવા માટે.
આ એક કૂકી સ્વરૂપમાં અમલમાં મૂકાયેલ છે.
એક કૂકી એક સ્વાદિષ્ટ નાસ્તા-હોવા ઉપરાંત
ફક્ત તમારા કમ્પ્યુટર પર એક નાની ટેક્સ્ટ ફાઇલ છે
સર્વર વેબ બ્રાઉઝર મારફતે લખી શકે છે.
, PHP, session_start મારફતે મારા અનન્ય ID ને સ પેદા પછી તેથી
તે સ્થાનિક લખાણ ફાઈલ છે, અથવા કૂકી કે ઓળખકર્તા સંગ્રહ કરવાની વેબ બ્રાઉઝર કહી બનશે.
પછી વેબ બ્રાઉઝર દરેક વિનંતીમાં કે ઓળખકર્તા સમાવેશ થાય છે
લાગે છે કે સર્વર માટે બનાવે છે.
તેથી ખરેખર, વેબ સર્વર હું કોણ છું યાદ નથી.
તેની જગ્યાએ, વેબ બ્રાઉઝર ખાલી યૂનીક આઇડેંન્ટિફાયર યાદ છે
કે PHP દ્વારા પેદા અને પછી સતત સર્વર યાદ કરવામાં આવી હતી
શું કે ઓળખકર્તા છે.
મારા વપરાશકર્તા નામ જેવું આ રીતે, માહિતી સર્વર નથી મારી વેબ બ્રાઉઝર પર સંગ્રહ થયેલ છે.
આ બ્રાઉઝર સરળ PHP, તે માહિતી સંગ્રહિત જ્યાં સર્વર કહે છે
તેથી PHP, તે મેળવી શકે છે.
જેથી PHP, ખરેખર આ માહિતી સ્ટોર કરે છે જ્યાં પ્રશ્ન begs?
મૂળભૂત રીતે, PHP, તમારું સત્ર ડેટા સ્ટોર કરશે
/ tmp, અથવા 'કામચલાઉ નોકર' ફોલ્ડર ની અંદર એક ફાઇલમાં.
PHP, નક્કી કરી શકો છો કે જેથી ફાઈલનું નામ સત્ર ID ને સમાવેશ થાય છે
કે જે ફાઇલ વાંચી અને માત્ર સત્ર ID ને મારફતે થી લખી.
અધિકાર છે. તેથી આપણે Chrome ની ડીબગર માં નેટવર્ક ટેબ ખોલો દો
ઉપર જમણી બાજુએ સાધન ચિહ્ન મારફતે.
હવે આપણે ફરીથી hello.php માટે વડા છે.
માતાનો hello.php માટે HTTP વિનંતિ પર ક્લિક કરો
અને પછી હેડર્સ પર ક્લિક કરો.
અહ તે કૂકી હેડર PHPSESSID કહેવાય કી સમાવે છે કે જે જોઈ શકે છે
અથવા PHP, સત્ર ID ને-સાથે અમે જોયું તે જ લાંબા શબ્દમાળા કે નીચેની
અમે sessid.php મુલાકાત લીધી છે.
આ બ્રાઉઝર ઉપયોગ કરવો જોઇએ શું સત્ર ID ને સર્વર યાદ છે બરાબર કેવી રીતે છે.
તે એ HTTP હેડરમાં તે સહિત છે.
અધિકાર છે. પાછા ટર્મિનલ માટે વડા છે.
માતાનો PHP, મૂળભૂત રીતે સત્ર માહિતી સંગ્રહિત થયેલ છે કે / tmp, શોધખોળ કરો.
પૂરતી ખાતરી કરો કે, આ કામચલાઉ ફોલ્ડર ની અંદર,
અહીં જ ચોક્કસ સત્ર ID ને સમાવે છે કે જે ફાઈલ છે.
અમે આ ફાઇલ ખોલો, અમે PHP, ડિસ્ક પર મારી સત્ર પ્રતિનિધિત્વ કરે છે કે કેવી રીતે જોઈ શકે છે.
અહીં શબ્દમાળા "ટોમી" ',' નામ કી સંગ્રહ કરવામાં આવી રહી છે
જે અમે અપેક્ષા રાખતા હતા જ કરીએ.
અને તે PHP માં સત્રો ઝાંખી છે.
આપણે માત્ર જોયું સત્રો માત્ર મૂળભૂત અમલીકરણ હતું.
હકીકતમાં, ઘણા વેબસાઇટ્સ આ મૂળભૂત વર્તણૂક બદલી
વધુ કાર્યક્ષમ રીતે PHP, સત્ર સંગ્રહ કરવાની
પ્રભાવ સુધારવા ના રસ માં.
મારું નામ ટોમી છે, અને આ CS50 છે.
[CS50.TV]