Tuesday, August 7, 2012

cookies සමග වැඩ කිරීම( PHP සිංහලෙන් - 22 )


cookie යනු පරිගනකයේ web browser එක භාවිතයෙන් වෙබ් අඩවි වලින් යම් යම් දත්ත තැම්පත් කර තබන ආකාරයකි. මේවා මගින් ඔබගේ පරිගනකයේ විවිධ තොරතුරුද( සීමා සහිත ) වෙබ් අඩවි වල ප්‍රයෝජනය සඳහා ලබා ගත හැකිය.

පලමුව අපි බලමු cookie එකක් සාදන්නේ කේසේද කියලා
setcookie($name, $value, $expire);

name = නම
value = අගය
expire = කේතය

පහත කේතය බලන්න එහිදී සිදුකර ඇත්තේ නම testද අගය  45කල් ඉකුත්වීම සතියක්න්ද වන ලෙස සෑදූ cookie  එකකි. කාලය තත්පර වලින් තැබිය යුතු නිසා දින 7 කට තත්පපර ගණන දමා ඇත. දැන් මෙම වෙබ් පිටුව විවෘත්ත කල විට කිසිම වෙනසක් සිදු නොවේ. නමත් එයේ විවෘත්ත කිරීමෙන් පසු web browser එකෙහි cookie එකක් සැදේ. දැන් web browser එකෙහි settings වල cookies යන්න සොයා test ලෙස නම් ඇති cookie එක බලන්න.



දැන් අලුත් පිටුවක(readcookie.php) පහත කේතය අන්තර්ගත කර save කර ගන්න   එය run කරන්න. එවිට කලින් test ලෙස සාදන ලද cookie එකෙහි විස්තර ලැබේ.




cookie එකක් සාදන පිළිවෙලටම කේත ලියා කාලය ඉදිරියෙන් සෘණ( - ) ලකුණ යොදන්න . එය cookie එකක් කල් ඉකුත් කරන අයුරුයි. පළමු වන පින්තූරයේ ඇති කේතයේ ධන ලකුණ සෘණ( - ) බවට පත් කරීම සලකමු. එහිදී පෙර cookie එකම නැවත වෙනස් කරනු ලැබේ. එහිදී මම කල් ඉකුත් වීම සතියකට පෙර සියුවන ලෙසට වෙනස් කරයි.

දැන් නැවත readcookie.php පිටුව ලබා ගන්න. එහිදී error  පනිවිඩයක් දිස්වේ එහිදී ඒ cookie එකක් නැති නිසයි. එවරනි අවස්තානවක error  පනිවිඩයක් දිස් නොවීම සඳහා පහත වැනි කේතයක් වඩා සුදුසු වේ.

අපට cookie භාවිතා කරන විට විවිධ ගැටලු මතුවිය හැකිය. එනම් cookie මැකීමකට ලක්වී තීබීම හෝ විකෘතිවී තිබීම වැනි ගැටලු නිසා ඊට පිලියමක් ලෙස session භාවිතා කල හැකිය. එහිදී session යන්න වෙබ් සර්වරයේ ඇති ලිපිගොනුවකි. මෙහිදී සිදුකරන්නේ වෙබ් පිටුව ආරම්භ වන විටම වෙබ් සර්වරයේ ඇති ලිපිගොනුවෙහි ඇති දත්ත cookie තුලට අන්තර්ගත කිරීමයි මෙහිදී එම දත්ත වල සුරක්ෂිත භාවයද වැඩිය. පහත කේතය බලන්න එහිදී session ආරම්භ කරන අයුරු හා session එකකට ලියන අයුරු දැක්වේ.





මෙලෙස වීශාල දත්ත ප්‍රමානයක් උවද session තුල අන්තර්ගත කල හැකිය. 


---------------------------------------------------------------------------
මේ ලිපියෙහි හෝ මෙය සිදු කිරීමේදී යම් ගැටලුවක් ඇත්නම් Comments වල දමන්න.
මා අතින් යම් වරදක් වී ඇත්නම් හෝ යමක් මග හැරී ඇත්නම් ඒවාත් නිවැරදි කිරීම පිනිස Comments වල දමන්න.

5 comments:

  1. මේ පාඩම් මාලාව coding ඉගෙන ගන්න කැමති අපි වගේ අයට ගොඩක් වටිනවා.. දිගටම කරගෙන යන්න.. සුභ පතනවා..

    ReplyDelete
  2. ගොඩාක් වටින වැඩක් !! :D
    මෙහිදි , අර isset එක දාන්නේ ඇයි ?? මට එතන පොඩ්ඩක් තේරේන්නේ නැ..

    ReplyDelete