پی ایچ پی سیشنز اور کوکیز

P

درخواست اور جوابی کارروائیوں کو کامیابی سے انجام دینے کے لیے ویب صفحات کو ڈیٹا کو عارضی یا مستقل طور پر ذخیرہ کرنے کی ضرورت ہوتی ہے۔ تقریباً ہر ویب ڈویلپمنٹ لینگویج کلائنٹ اور سرور کی معلومات کو ذخیرہ کرنے کے لیے سیشنز اور کوکیز فراہم کرتی ہے۔ یہ ہموار تجربے اور سلامتی کے لیے ذمہ دار ہے۔ اس پی ایچ پی ٹیوٹوریل میں، آپ پی ایچ پی سیشنز اور کوکیز کے بارے میں سیکھیں گے۔ تو، آئیے اس میں کودتے ہیں۔

پی ایچ پی میں کوکیز کیا ہیں؟

کوکیز کلائنٹ کے کمپیوٹر کے اسٹوریج میں چھوٹی فائلیں ہیں۔ یہ کوکیز براؤزر میں اسٹور ہوتی ہیں اور ان میں صارف، درخواست، جواب اور سرور سے متعلق معلومات شامل ہوسکتی ہیں۔ یہ کوکیز سرور کو درخواست کے ساتھ جاتی ہیں جو سرور کو صارف کی شناخت کرنے کی اجازت دیتی ہے۔

صارف اپنی کوکیز بھی بنا سکتا ہے اور ان میں ڈیٹا محفوظ کر سکتا ہے۔ بعد میں، صارف ان کوکیز تک رسائی حاصل کر سکتا ہے۔

پی ایچ پی میں کوکی کیسے بنائیں؟

پی ایچ پی سیٹ کوکیز() طریقہ ایک نئی کوکی بناتا ہے۔

setcookie(name, value, expire, path, domain, secure, httponly);

پی ایچ پی کوکی کے اوپر دیے گئے عمومی نحو میں، صرف پہلا پیرامیٹر درکار ہے جو کہ کوکی کا نام ہے۔ باقی پیرامیٹرز اختیاری ہیں۔

setcookie("my_first_cookie","It contains string");

پی ایچ پی میں کوکیز اور ان کی قیمت کیسے حاصل کی جائے؟

تمام کوکیز PHP $_COOKIE عالمی متغیر میں اسٹور ہوتی ہیں۔ کوکی اور اس کی قیمت حاصل کرنے کے لیے، صرف کوکی کا نام عالمی متغیر کو منتقل کریں۔ مثال میں بنائی گئی اوپر کی کوکی پر غور کرتے ہوئے، گلوبلز کا استعمال کرتے ہوئے کوکی حاصل کرنے کے لیے درج ذیل نحو کو دیکھیں۔

$_COOKIE["my_first_cookie"] // will return "It contains String"

پی ایچ پی میں کوکیز کو کیسے ڈیلیٹ کیا جائے؟

آپ کوکی کے لیے ختم ہونے کا وقت مقرر کر سکتے ہیں۔ میعاد ختم ہونے کے بعد، کوکی خود بخود حذف ہو جائے گی۔ نیچے دی گئی مثال کو دیکھیں، جس میں ہم ایک کوکی بناتے ہیں اور اس کا ایکسپائری ٹائم سیٹ کرتے ہیں۔

setcookie("my_first_cookie","It contains String", time() + (86400), "/"); // 86400 = 1 day

مندرجہ بالا مثال میں، کوکی "my_first_cookie" ایک دن بعد ختم ہو جائے گی۔ ذہن میں رکھیں کہ کوکی کے ختم ہونے کا وقت سیکنڈوں کی تعداد میں ہونا چاہیے۔ لہذا، ہم نے ٹائم() فنکشن کا استعمال کیا جو موجودہ وقت کو لوٹاتا ہے اور ایک دن میں سیکنڈز کی تعداد کا اضافہ کرتا ہے یعنی 86400۔

پی ایچ پی میں کوکی کو کیسے اپ ڈیٹ کیا جائے؟

آپ اسی طریقہ کا استعمال کرتے ہوئے ایک کوکی کو اپ ڈیٹ کر سکتے ہیں setcookie()۔ بس کوکی کے نام سے فنکشن کو کال کریں اور آپ کوکی کے دوسرے پیرامیٹرز سیٹ کر سکتے ہیں۔

setcookie("my_first_cookie","It contains String", time() + (86400 * 2), "/"); // 86400 = 1 day

اوپر کی مثال میں، ہم نے اسی کوکی کے لیے setcookie() طریقہ کہا ہے جو ہم نے پچھلی مثال میں بنایا تھا۔ فرض کریں، ہم کوکی کے ختم ہونے کا وقت ایک دن سے بڑھا کر دو دن کرنا چاہتے ہیں۔ بس، ایکسپائری ٹائم کے پیرامیٹر میں ترمیم کریں۔

نوٹ: جب کوکیز سیٹ کی جاتی ہیں، تو ڈیفالٹ کے طور پر وہ درخواست بھیجتے وقت یو آر ایل کو انکوڈ کر دی جاتی ہیں اور موصول ہونے پر ڈی کوڈ ہوتی ہیں۔ URL انکوڈنگ کو غیر فعال کرنے کے لیے، آپ setrawcookie() طریقہ استعمال کر سکتے ہیں۔

جیسا کہ آپ اب کوکیز کو اپ ڈیٹ کرنے سے واقف ہیں، آئیے کوکیز کو حذف کرنے کا ایک اور طریقہ بتاتے ہیں خاص طور پر، اگر کوکی کے لیے کوئی میعاد ختم ہونے کا وقت مقرر نہیں کیا گیا ہے۔ بس، کوکی کے ختم ہونے کے وقت کو ماضی میں اپ ڈیٹ کریں۔

setcookie("my_first_cookie","", time() - 3600); // delete the cookie immediately

چیک کریں کہ کیا آپ کا براؤزر کوکیز کی اجازت دیتا ہے؟

یہاں ایک سادہ چال ہے جس کے ذریعے آپ چیک کر سکتے ہیں کہ براؤزر نے کوکیز کو فعال کیا ہے یا نہیں۔ setcookie() طریقہ استعمال کرکے کوکی سیٹ کریں۔ جیسا کہ ہم پچھلے سیکھنے سے جانتے ہیں کہ $_COOKIE سرنی تمام کوکیز کو اسٹور کرتی ہے۔ تو، اس صف کی گنتی کو چیک کریں۔

<?php
if(count($_COOKIE) > 0) {
  echo "Cookies are enabled.";
} else {
  echo "Cookies are disabled.";
}
?>

پی ایچ پی سیشنز

اگر آپ اپنے کمپیوٹر پر ہیں اور کچھ دیر کے لیے کوئی ایپلی کیشن استعمال کرتے ہیں اور پھر اسے بند کر دیتے ہیں۔ کمپیوٹر کے پاس ایپلی کیشن کے استعمال کنندہ کا ریکارڈ ہوگا اور ایپلی کیشن کے ساتھ کیے گئے اعمال کا ٹریک بھی ہوگا۔ لیکن، ویب سائٹ پر، HTTP پروٹوکول صارف کی حالت کو برقرار نہیں رکھتا ہے۔

اگر آپ ایک سے زیادہ ویب صفحات پر کسی قدر کو برقرار رکھنا اور اس تک رسائی حاصل کرنا چاہتے ہیں، تو اس مسئلے کو حل کرنے کے لیے سیشن موجود ہے۔ اس سیکشن میں، ہم سیکھیں گے کہ اقدار کو ذخیرہ کرنے اور ان تک رسائی کے لیے پی ایچ پی سیشنز کے ساتھ کیسے کام کرنا ہے۔

نوٹ: سیشن مستقل اسٹوریج نہیں ہے۔ ویب صفحہ کھولنے پر ایک سیشن شروع ہوتا ہے اور جب آپ اس ویب کو بند کرتے ہیں تو ختم ہوتا ہے۔ ڈیٹا بیس مستقل اسٹوریج کا حل ہے جسے ہم پی ایچ پی ٹیوٹوریلز کے ڈیٹا بیس سیکشن میں سیکھیں گے۔

پی ایچ پی میں سیشن کیسے شروع کیا جائے؟

پی ایچ پی میں سیشن شروع کرنے کے لیے سیشن_اسٹارٹ() فنکشن استعمال کریں۔ یقینی بنائیں، اس فنکشن کو پی ایچ پی اسکرپٹ کے اوپری حصے میں بلایا جانا چاہیے۔ اگلا مرحلہ سیشن گلوبل صف میں قدر کو ذخیرہ کرنا ہے۔ سیشن شروع کرنے اور اس میں اقدار کو ذخیرہ کرنے کی مکمل مثال دیکھیں۔

<?php
// Start the session
session_start();

// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>

عالمی صف سے سیشن ویلیو کیسے حاصل کی جائے؟

بس، جیسا کہ ہم کوکی کی عالمی صف سے باہر کوکی کی قدر تک رسائی حاصل کرتے ہیں، سیشن کی قدر تک رسائی کے لیے سیشن گلوبل اری کا استعمال کریں۔ مندرجہ ذیل مثال کو دیکھیں۔

echo "Favorite animal is " . $_SESSION["favanimal"] . ".";

سیشن متغیر کو کیسے اپ ڈیٹ کیا جائے؟

سیشن ویری ایبل کے نام کے ساتھ سیشن عالمی صف کو کال کریں اور اسے نئی قدر تفویض کریں۔

$_SESSION["favcolor"] = "yellow";

سیشن کو ہٹانا بمقابلہ سیشن کو تباہ کرنا

سیشن کو ہٹانے کا مطلب ہے موجودہ سیشن میں ذخیرہ شدہ تمام اقدار کو ہٹا دینا۔

session_unset();

سیشن کو ختم کرنے کا مطلب ہے سیشن کو روکنا جو سیشن_اسٹارٹ() کا استعمال کرتے ہوئے شروع کیا گیا تھا۔

session_destroy();

سیشنز کو صارف کے خلاف ایک خصوصی کلید کے ذریعے محفوظ کیا جاتا ہے۔ وہ کمپیوٹر میں "765487cf34ert8dede5a562e4f3a7e12" جیسی کلید کے ساتھ محفوظ ہیں۔ لہذا، جب سیشن کو ویب سائٹ کے کسی دوسرے ویب پیج پر اس میں ذخیرہ شدہ قدر تک رسائی حاصل کرنے کی ضرورت ہوتی ہے، تو اس کلید کو کلائنٹ کے کمپیوٹر میں ذخیرہ کردہ کلید سے ملایا جاتا ہے۔

پی ایچ پی سیشنز کا مکمل حوالہ حاصل کرنے کے لیے، ملاحظہ کریں۔ یہاں

تبصرہ شامل کریں

ٹیوٹر نیٹ ورک

A سے Z تک PHP سیکھیں۔