[Powered by Google Translate] [پی ایچ پی کی سیشن] [ٹومی MacWilliam، ہارورڈ یونیورسٹی] [یہ CS50 ہے.] [CS50.TV] پی ایچ پی میں سیشن فعالیت کو لاگو کرنے کے استعمال کیا جا سکتا، صارف لاگ ان کی طرح، آپ کے ویب اپلی کیشن میں. پی ایچ پی کی سیشن آپ کی معلومات کو منسلک کرنے کی اجازت ہے صارف کا مکمل براؤزنگ سیشن کے ساتھ کی بجائے صرف ایک صفحے سے. صارف آپ کی ویب سائٹ بنانے کے مختلف پی ایچ پی صفحات کا دورہ کے طور پر تو اس کا مطلب ہے، اجلاس میں کسی بھی معلومات کے باعث بنے گا. تو اس کا مطلب ہے کہ ایک صفحے کی طرف سے اجلاس میں اکٹھا ڈیٹا بعد میں ایک اور صفحے کی طرف سے حاصل کیا جا سکتا ہے. ایک اجلاس میں ذخیرہ معلومات، کے لئے آسان ہے اور ہم، کرتے ہیں، ڈالر کا نشان کے ذریعے تو دارالحکومت سیشن متغیر کرتے ہیں. ڈالر کا نشان، حاصل، کرتے ہیں، سیشن صرف ڈالر کی نشانی کی طرح، کشید اور ڈالر سائن ان کریں،، کو ظاہر پوسٹ کلیدی قدر جوڑوں پر مشتمل ایک ساہچری سرنی ہے. تو ہم نے،، سیشن کرتے ہیں، نحو کی طرح ڈالر کا نشان استعمال کر سکتے ہیں بریکٹ، اقتباس، FOO کو، اقتباس، بریکٹ،، اقتباس، برابر بار، اقتباس، کلید میں قیمت "بار" ذخیرہ کرنے کے لئے "FOO کو." تاہم، ہم لکھنے یا سیشن صف سے پڑھ سکتے ہیں اس سے پہلے، ہم نے ایک خصوصی تقریب کو فون کرنے کی ضرورت ہو گی سیشن،) (، شروع، کشید - اور اس سیشن کی ابتدا کریں گے. تو اس کی ایک مثال کے طور پر ایک نظر ڈالیں. ہمارا پہلا صفحہ، hello.php، صارف کو پیداوار کے لئے کچھ ڈیٹا سیشن کا استعمال کرتا ہے. ہم کسی بھی سیشن کے ڈیٹا تک رسائی حاصل کر سکتے ہیں اس سے پہلے کہ ہم session_start استعمال کرنے کے لئے کی ضرورت ہو گی، یاد رکھیں. اب ہم ایک اہم موجود ہے کا تعین کرنے کے پی ایچ پی کی isset استعمال کر رہے ہیں $ _SESSION ساہچری سرنی میں. کہ چابی موجود ہے، کہ، صارف میں ریکارڈ کیا گیا ہے کا مطلب تو ہم صارف کا نام ظاہر کریں گے. کہ کلیدی مقرر نہیں ہے تو، کہ، صارف نے ابھی تک نہیں ہے کا مطلب تو ہم login.php پر ایک لنک ظاہر کریں گے. تو login.php پر ایک نظر ڈالیں. یہاں، ہم نے ایک ان پٹ کے ساتھ ایک HTML فارم ہے. فارم کی کارروائی وصف، $ _SERVER ['PHP_SELF'] ہے اور یہ صرف، ہم شکل موجودہ فائل پیش کرنے کے لئے چاہتے ہیں کا مطلب ہے کہ جس میں، اس معاملے میں، login.php ہے. تو واپس اس فائل کے سب سے اوپر جانے. صارف فارم جمع، تو $ _POST ['نام'] قائم ہونا ضروری ہے. HTML فارم اور پوسٹ کے بارے میں مزید معلومات کے لئے، پی ایچ پی کی ویب ڈیویلپمنٹ ویڈیو چیک. صارف فارم جمع کیا اس صورت میں، ہم ان سیشن میں میں ٹائپ اس قدر لکھنے کے لئے چاہتے ہیں. اب ہم 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 کام کرنے کی ضرورت. سب سے پہلے، سرور کسی نہ کسی طرح سیشن میں ڈیٹا سٹور کرنے کی ضرورت ہے. ایک ویب سائٹ پر مشتمل مختلف پی ایچ پی فائلوں پی ایچ پی کی ترجمان کی الگ الگ دعائیں طور پر پھانسی دے رہے ہیں تو مقامی متغیر ان کے درمیان مشترک نہیں کیا جا سکتا. اس کے بجائے، سرور ہمارے سیشن ڈیٹا ذخیرہ کرنے کی ضرورت ہے کچھ جگہ میں کہ ایک سے زیادہ. پی ایچ پی کی فائلوں تک رسائی حاصل کر سکتے ہیں. دوسرا، سرور صرف اپنے براؤزنگ سیشن کے ساتھ سیشن کے اعداد و شمار سے منسلک کرنے کی ضرورت ہے. میں نے فیس بک لاگ ان، جب بھی ایک ہی وقت میں فیس بک میں لاگ دیگر لاکھوں لوگوں کو شاید موجود ہیں. لیکن سرور میرے اعداد و شمار منسلک کے کچھ طریقہ کی ضرورت ہے اپنے موجودہ سیشن اور دوسرے سیشن کے ساتھ کسی اور کے اعداد و شمار کے ساتھ. خوش قسمتی سے، پی ایچ پی کے مصنفین، ہمارے لئے اس کے بارے میں تمام سوچا تو ہم اس میں سے کوئی بھی خود کو لاگو کرنے کے لئے کی ضرورت نہیں ہے. لیکن پی ایچ پی کی ڈیفالٹ کی طرف سے کیا کرتا ہے میں ایک نظر ڈالیں. میں نے پہلی بار session_start پر مشتمل ایک پی ایچ پی پیج دورہ کرتے ہیں، پی ایچ پی کی ایک بڑی بے ترتیب قیمت پیدا کرے گا. session_destroy کہا جاتا ہے یا ہے میں ایک کے لئے اس ویب سائٹ پر کسی بھی پی ایچ پی صفحات کا دورہ نہیں ہے جبکہ تک کہ بے ترتیب اور شاید منفرد قیمت میرے ساتھ منسلک کیا جائے گا. اس طرح سرور اپنے براؤزنگ سیشن کی شناخت کے کچھ طریقہ ہے کسی اور کی مخالفت کے طور پر. ہم موجودہ سیشن کی شناخت پر ایک نظر لے جا سکتے ہیں پی ایچ پی کی تقریب، session_ID کا استعمال کرتے ہوئے. یہاں ہم صرف ہمارے سیشن شناخت کی قدر لکھنا کر رہے ہیں. تو ہم پھر مثال کے طور پر ویب اپلی کیشن میں لاگ ان ہے تو، اور اب sessid.php پر تشریف لے جائیں، ہم حروف کی اس طویل سٹرنگ دیکھیں گے، اور یہ کہ میری سیشن کے لئے موجودہ شناخت ہے، اور یہ کہ سرور میں کون ہوں کا ٹریک رکھنے ہے کس طرح ہے. ٹھیک ہے، لیکن ہم صرف آدھا مسئلہ حل کر دیا ہے. اس بات کا یقین، سرور اب میری شناخت کے کچھ طریقہ ہے، میں ایک اور صفحے کو ملاحظہ کریں لیکن جب، سرور ہے کہ ایک ہی شناخت دوبارہ استعمال کرنے کی ضرورت ہے بلکہ ایک نیا پیدا کرنے سے. میں foo.php میں ایک مقامی متغیر کا اعلان تو یاد رکھیں، اور پھر، bar.php دورہ bar.php foo.php میں کیا ہوا جاننے کے کوئی راستہ نہیں ہے. تو ڈیفالٹ کی پی ایچ پی کی سیشن عمل درآمد براؤزر سرور کو یاد دلانے کی ضرورت ہے کہ جس سیشن ID استعمال کرنے کے لئے. یہ ایک کوکی کی شکل میں لاگو کیا جاتا ہے. کوکی میں ایک مزیدار ناشتا-ہونے کے علاوہ صرف آپ کے کمپیوٹر پر ایک چھوٹا سا ٹیکسٹ فائل ہے ایک سرور ویب براؤزر کے ذریعے لکھ سکتے ہیں. ، پی ایچ پی کی session_start کے ذریعے اپنی منفرد شناخت سیشن پیدا بعد یہ ایک مقامی ٹیکسٹ فائل، یا ایک کوکی میں کہ شناخت محفوظ کرنے کے لئے ویب براؤزر میں بتانے کے لئے جا رہا ہے. اس کے بعد ویب براؤزر ہر درخواست میں شناخت کنندہ میں شامل ہوں گے یہ سرور پر بناتا ہے. تو واقعی، ویب سرور میں کون ہوں یاد نہیں ہے. اس کے بجائے، ویب براؤزر صرف منفرد شناخت یاد ہے کہ پی ایچ پی کی طرف سے پیدا کی اور اس کے بعد مسلسل سرور یاد کیا گیا کیا ہے کہ شناخت ہے. اپنے صارف نام کی طرح اس طرح، معلومات کا سرور میری ویب براؤزر پر محفوظ کیا جاتا ہے. براؤزر صرف پی ایچ پی کی ہے کہ معلومات ذخیرہ سرور جہاں سے کہتا ہے تو پی ایچ پی کی یہ حاصل کر سکتے ہیں. تو ہے کہ پی ایچ پی اصل میں یہ معلومات ذخیرہ کرنے کا ہے جہاں سوال، جنم لیتا ہے؟ ڈیفالٹ کی طرف سے، پی ایچ پی کی آپ کے سیشن کے اعداد و شمار جمع کریں گے / TMP، یا 'TEMP' فولڈر کے اندر ایک فائل میں. پی ایچ پی کا تعین کر سکتے ہیں کہ فائل کے نام شناخت سیشن شامل ہوں گے جو فائل پڑھ اور صرف شناخت سیشن کے ذریعے سے لکھنے کے لئے. ٹھیک ہے. تو کروم کی ٹھیک کرنے والا کھولتا میں نیٹ ورک کے ٹیب کھول اوپر دائیں رنچ آئکن کے ذریعے. اب دوبارہ hello.php کے سربراہ ہیں. کی hello.php پر HTTP درخواست پر کلک کریں اور پھر سر تحریر پر کلک کریں. یہاں ہم، کوکی ہیڈر PHPSESSID نامی ایک اہم پر مشتمل ہے دیکھ سکتے ہیں یا پی ایچ پی کی شناخت سیشن کے ساتھ ہم نے دیکھا ہے کہ ایک ہی لمبی سٹرنگ ہے کہ ایک قیمت ہم sessid.php دورہ کیا. یہ براؤزر استعمال کیا جانا چاہئے شناخت سیشن سرور یاد ہے کس طرح ہے. یہ ایک HTTP ہیڈر میں یہ بھی شامل ہے. ٹھیک ہے. واپس ٹرمینل کے سربراہ ہیں. کی پی ایچ پی کی ڈیفالٹ کی طرف سے سیشن کی معلومات ذخیرہ کرنے کا ہے جہاں / TMP، پر تشریف لے جائیں ہیں. کافی یقین ہے کہ، یہ عارضی فولڈر کے اندر، یہاں ایک ہی عین مطابق شناخت سیشن مشتمل ہے کہ ایک فائل ہے. ہم اس فائل کو کھولنے، تو ہم پی ایچ پی کی ڈسک پر اپنے سیشن کی نمائندگی ہے کہ کس طرح دیکھ سکتے ہیں. یہاں سٹرنگ "ٹومی"، نام 'چابی کے لئے ذخیرہ کیا جا رہا ہے جو ہم توقع کر رہے تھے بالکل وہی جو ہے. اور یہ کہ پی ایچ پی میں سیشن کا ایک جائزہ ہے. کیا ہم نے ابھی دیکھا سیشن کے صرف پہلے سے طے شدہ عمل درآمد تھا. اصل میں، بہت سے ویب سائٹس یہ طے شدہ رویہ تبدیل زیادہ مؤثر طریقے سے پی ایچ پی کی سیشن ذخیرہ کرنے کے لئے کارکردگی کو بہتر بنانے کے مفاد میں. میرا نام ٹومی ہے، اور اس CS50 ہے. [CS50.TV]