1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [পিএইচপি সেশন] 2 00:00:02,000 --> 00:00:04,000 [টমি MacWilliam, হার্ভার্ড বিশ্ববিদ্যালয়] 3 00:00:04,000 --> 00:00:07,000 [এটি CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:10,920 পিএইচপি সেশন কার্যকারিতা বাস্তবায়ন করা যাবে, 5 00:00:10,920 --> 00:00:13,440 ইউজার লগইন মত, আপনার ওয়েব অ্যাপ্লিকেশন. 6 00:00:13,440 --> 00:00:16,920 পিএইচপি সেশন যখন আপনি তথ্য সংযুক্ত করার অনুমতি 7 00:00:16,920 --> 00:00:19,680 ব্যবহারকারীর সম্পূর্ণ ব্রাউজিং সেশনের সাথে 8 00:00:19,680 --> 00:00:22,290 বরং কেবল একটি একক পাতা তুলনায়. 9 00:00:22,290 --> 00:00:27,330 ব্যবহারকারী আপনার ওয়েবসাইট আপ যে বিভিন্ন পিএইচপি পেজ পরিদর্শন হিসাবে সুতরাং যে, এর অর্থ 10 00:00:27,330 --> 00:00:30,630 সেশনে কোনো তথ্য জিদ করা হবে. 11 00:00:30,630 --> 00:00:34,770 যাতে এর মানে হল যে একটি পৃষ্ঠা দ্বারা সেশন সংরক্ষিত তথ্য 12 00:00:34,770 --> 00:00:37,580 পরে অন্য পৃষ্ঠাতে দ্বারা ব্যবহার করা যেতে পারে. 13 00:00:37,580 --> 00:00:40,080 একটি সেশনে তথ্য সংরক্ষণ করা সহজ, 14 00:00:40,080 --> 00:00:48,790 এবং আমরা, আন্ডারস্কোর, ডলার সাইন মাধ্যমে তাই রাজধানী SESSION পরিবর্তনশীল করবেন. 15 00:00:48,790 --> 00:00:52,620 ডলার চিহ্ন, GET, আন্ডারস্কোর, SESSION-শুধু ডলার চিহ্ন মত, আন্ডারস্কোর 16 00:00:52,620 --> 00:00:54,710 এবং ডলার চিহ্ন,, আন্ডারস্কোর পোষ্ট- 17 00:00:54,710 --> 00:00:58,690 কী মান জোড়া গঠিত একটি মিশুক অ্যারে. 18 00:00:58,690 --> 00:01:07,980 সুতরাং আমরা,, SESSION আন্ডারস্কোর, সিনট্যাক্স মত ডলার চিহ্ন ব্যবহার করতে পারেন 19 00:01:07,980 --> 00:01:16,000 বন্ধনী, কোট, foo বিন্যাস, কোট, বন্ধনী,, কোট, সমান দণ্ড, উদ্ধৃতি, 20 00:01:16,000 --> 00:01:20,440 কি 'র মান "বার" সংরক্ষণ "foo বিন্যাস." 21 00:01:20,440 --> 00:01:24,030 যাইহোক, আমরা লিখতে বা সময় অ্যারে থেকে পড়তে পারেন, আগে 22 00:01:24,030 --> 00:01:26,770 আমরা একটি বিশেষ ফাংশন-কল করতে হবে 23 00:01:26,770 --> 00:01:34,690 সময়,) (,, শুরু আন্ডারস্কোর - 24 00:01:34,690 --> 00:01:37,060 এবং এই সময় আরম্ভ হবে. 25 00:01:37,060 --> 00:01:39,850 তাই এর একটি উদাহরণ কটাক্ষপাত করা যাক. 26 00:01:39,850 --> 00:01:46,570 আমাদের প্রথম পাতা, hello.php, ব্যবহারকারী যাও আউটপুট কিছু তথ্য সময় ব্যবহার করে. 27 00:01:46,570 --> 00:01:53,920 আমরা কোনো সময় তথ্য অ্যাক্সেস করতে পারেন আগে আমরা session_start ব্যবহার করতে হবে, মনে রাখবেন. 28 00:01:53,920 --> 00:01:59,010 এখন আমরা একটি কী বিদ্যমান কিনা তা পিএইচপি এর isset ব্যবহার করছেন 29 00:01:59,010 --> 00:02:03,230 $ _SESSION মিশুক অ্যারের মধ্যে. 30 00:02:03,230 --> 00:02:07,250 যে চাবি উপস্থিত থাকলে যে, ইউজার লগ ইন করেনি মানে 31 00:02:07,250 --> 00:02:10,410 তাই আমরা ব্যবহারকারীর নাম প্রদর্শন করব. 32 00:02:10,410 --> 00:02:14,110 যে কি সেট না করা হয়, যে, ব্যবহারকারী এখনো লগ ইন নি মানে 33 00:02:14,110 --> 00:02:17,880 তাই আমরা login.php একটি লিঙ্ক প্রদর্শন করব. 34 00:02:17,880 --> 00:02:21,380 সুতরাং আসুন login.php কটাক্ষপাত করা যাক. 35 00:02:21,380 --> 00:02:26,260 নিচে এখানে, আমরা একটি একক ইনপুট সঙ্গে একটি এইচটিএমএল ফর্ম আছে. 36 00:02:26,260 --> 00:02:32,720 ফর্ম এর কর্মের বৈশিষ্ট্য, $ _SERVER ['PHP_SELF'] হয় 37 00:02:32,720 --> 00:02:37,440 এবং এই সহজভাবে, আমরা ফর্ম বর্তমান ফাইলে জমা দিতে চাই যে মানে 38 00:02:37,440 --> 00:02:41,040 যা এই ক্ষেত্রে, login.php হয়. 39 00:02:41,040 --> 00:02:43,010 সুতরাং আসুন ফিরে এই ফাইলের উপরে যান. 40 00:02:43,010 --> 00:02:50,100 ব্যবহারকারী ফর্ম জমা, তাহলে $ _POST ['নাম'] নির্ধারণ করা আবশ্যক. 41 00:02:50,100 --> 00:02:53,750 এইচটিএমএল ফর্ম এবং পোস্ট সম্পর্কে আরও তথ্যের জন্য, 42 00:02:53,750 --> 00:02:56,510 পিএইচপি ওয়েব ডেভেলপমেন্ট ভিডিও চেক আউট. 43 00:02:56,510 --> 00:02:59,330 ব্যবহারকারী ফর্ম জমা করেছিল সেই ক্ষেত্রে, 44 00:02:59,330 --> 00:03:03,970 আমরা তারা সেশনের মধ্যে টাইপ করা যে মান লিখতে চাই. 45 00:03:03,970 --> 00:03:08,540 এখন আমরা hello.php ব্যবহারকারী পুনর্নির্দেশ করতে পারেন. 46 00:03:08,540 --> 00:03:11,800 আমরা সেশনের মধ্যে ব্যবহারকারীর ইনপুট সংরক্ষিত করেছি কারণ, 47 00:03:11,800 --> 00:03:18,240 hello.php login.php মধ্যে সেট ছিল যে মান অ্যাক্সেস করতে সক্ষম হবে. 48 00:03:18,240 --> 00:03:21,010 তাই আসুন এই একটি ওয়েব ব্রাউজারে পরীক্ষা করা যাক. 49 00:03:21,010 --> 00:03:27,520 প্রথমত, আমরা http://localhost/hello.php নেভিগেট করব. 50 00:03:27,520 --> 00:03:30,220 আমরা, আমরা এখনো লগ ইন না করা এখানে দেখতে পারেন 51 00:03:30,220 --> 00:03:35,040 তাই এর login.php আমাদের পুনঃনির্দেশিত করা হবে যা প্রবেশ করুন লিংক, ক্লিক করা যাক. 52 00:03:35,040 --> 00:03:41,760 ঠিক আছে, আমি তখন সময় সংরক্ষণ করা হবে, যা আমার নাম টাইপ করব. 53 00:03:41,760 --> 00:03:48,950 গ্রেট! এখন আমরা সেশনের মাধ্যমে hello.php নেভিগেশন login.php থেকে আমার ইনপুট দেখতে পারেন. 54 00:03:48,950 --> 00:03:52,270 সুতরাং, কি ব্যবহারকারীর আউট লগিং সম্পর্কে কি? 55 00:03:52,270 --> 00:03:58,510 ওয়েল, ইউজার লগ ইন করার জন্য, আমরা শুধু সময় নামের মধ্যে একটি মান সংরক্ষণ করা. 56 00:03:58,510 --> 00:04:03,040 তাই আউট ইউজার লগ ইন করতে, আমরা শুধু যে নাম কি সরিয়ে ফেলা আবশ্যক 57 00:04:03,040 --> 00:04:05,040 অধিবেশন অ্যারে থেকে. 58 00:04:05,040 --> 00:04:09,130 সুতরাং logout.php, এর এই শেষ ফাইলটি কটাক্ষপাত করা যাক. 59 00:04:09,130 --> 00:04:12,080 আবার, আমরা) (session_start কল করতে হবে 60 00:04:12,080 --> 00:04:15,260 আমরা কিছু সম্পর্কিত সময় কি করতে পারেন আগে. 61 00:04:15,260 --> 00:04:19,240 এখন আমরা কেবল) (session_destroy কল করতে পারেন 62 00:04:19,240 --> 00:04:22,460 সময় সব তথ্য পরিত্রাণ যত্ন নিতে হবে যা 63 00:04:22,460 --> 00:04:26,790 এবং তারপর ফিরে hello.php ব্যবহারকারী পুনর্নির্দেশ. 64 00:04:26,790 --> 00:04:30,700 তাই আমি লগ আউট লিঙ্কে ক্লিক করুন যদি, 65 00:04:30,700 --> 00:04:34,690 আমরা সার্ভার আমি কে ভুলে গেছে দেখতে পারেন, 66 00:04:34,690 --> 00:04:36,970 এবং আমি আর লগইন am 67 00:04:36,970 --> 00:04:39,910 তাই কি ফণা নীচে এখানে করছেন? 68 00:04:39,910 --> 00:04:42,250 আমরা শুধু দেখেছি আচরণ পান করার জন্য, 69 00:04:42,250 --> 00:04:44,760 আমাদের সার্ভার 2 কিছু করার প্রয়োজন. 70 00:04:44,760 --> 00:04:48,980 প্রথমত, সার্ভার একরকম সেশনে তথ্য সংরক্ষণ করা প্রয়োজন. 71 00:04:48,980 --> 00:04:51,910 একটি ওয়েবসাইট গঠন করে বিভিন্ন পিএইচপি ফাইল 72 00:04:51,910 --> 00:04:56,500 পিএইচপি ইন্টারপ্রেটার এর পৃথক আমন্ত্রণ হিসেবে মৃত্যুদন্ড কার্যকর করা হয় 73 00:04:56,500 --> 00:05:00,550 তাই স্থানীয় পরিবর্তনশীল তাদের মধ্যে ভাগ করা যাবে না. 74 00:05:00,550 --> 00:05:04,030 পরিবর্তে, সার্ভার আমাদের সময় তথ্য সংরক্ষণ করা প্রয়োজন 75 00:05:04,030 --> 00:05:08,440 কিছু জায়গায় একাধিক. পিএইচপি ফাইল ব্যবহার করতে পারবেন. 76 00:05:08,440 --> 00:05:13,940 দ্বিতীয়ত, সার্ভার শুধুমাত্র আমার ব্রাউজিং সেশনের সঙ্গে সময় তথ্য সংযুক্ত করা প্রয়োজন. 77 00:05:13,940 --> 00:05:15,940 আমি ফেসবুকে লগইন, যখন 78 00:05:15,940 --> 00:05:20,460 এছাড়াও একই সময়ে ফেসবুক এ লগ অন্যান্য লাখ লাখ মানুষের সম্ভবত আছে. 79 00:05:20,460 --> 00:05:24,200 কিন্তু সার্ভার আমার তথ্য সংযুক্ত কিছু উপায় প্রয়োজন 80 00:05:24,200 --> 00:05:28,340 আমার বর্তমান সময় এবং অন্য সময় সাথে অন্য কারো তথ্য দিয়ে. 81 00:05:28,340 --> 00:05:32,380 সৌভাগ্য যে, পিএইচপি এর লেখক, আমাদের জন্য এই প্রায় সব চিন্তা 82 00:05:32,380 --> 00:05:35,170 তাই আমরা এই কোন নিজেদেরকে বাস্তবায়ন করতে হবে না. 83 00:05:35,170 --> 00:05:39,540 কিন্তু এর পিএইচপি ডিফল্ট কী জন্য কটাক্ষপাত করা যাক. 84 00:05:39,540 --> 00:05:44,070 আমি প্রথমবার session_start ধারণকারী একটি পিএইচপি পাতা পরিদর্শন করার সময়, 85 00:05:44,070 --> 00:05:47,930 পিএইচপি একটি বৃহৎ র্যান্ডম মান উত্পন্ন করবে. 86 00:05:47,930 --> 00:05:53,970 Session_destroy বলা বা করা হয় আমি একটি জন্য যে সাইটে কোন পিএইচপি পেজ দেখার না যখন-পর্যন্ত 87 00:05:53,970 --> 00:05:59,050 যে র্যান্ডম এবং সম্ভবত অনন্য মূল্য আমার সঙ্গে যুক্ত করা হবে. 88 00:05:59,050 --> 00:06:02,780 এই ভাবে সার্ভারে আমার ব্রাউজিং সেশনের চিহ্নিত কিছু উপায় আছে 89 00:06:02,780 --> 00:06:05,710 অন্য কারো থেকে ভিন্ন. 90 00:06:05,710 --> 00:06:08,780 আমরা বর্তমান সেশন আইডি একবার দেখে নিতে পারেন 91 00:06:08,780 --> 00:06:12,380 পিএইচপি ফাংশন, session_ID ব্যবহার করে. 92 00:06:12,380 --> 00:06:17,250 এখানে আমরা কেবল আমাদের সময় শনাক্তকারী মান outputting করছি. 93 00:06:17,250 --> 00:06:20,580 তাই আমরা আবার যেমন ওয়েব অ্যাপ্লিকেশন লগইন হলে, 94 00:06:20,580 --> 00:06:25,530 এবং এখন sessid.php নেভিগেট, 95 00:06:25,530 --> 00:06:27,850 আমরা অক্ষরের এই দীর্ঘ স্ট্রিং দেখতে পাবেন, 96 00:06:27,850 --> 00:06:31,180 এবং যে আমার সেশনের জন্য বর্তমান আইডেন্টিফায়ার এর, 97 00:06:31,180 --> 00:06:35,410 এবং যে সার্ভারের আমি কে অবগত থাকার হয় কিভাবে. 98 00:06:35,410 --> 00:06:37,670 ঠিক আছে, কিন্তু আমরা কেবলমাত্র অর্ধেক সমস্যার সমাধান করেছি. 99 00:06:37,670 --> 00:06:40,910 নিশ্চিত, সার্ভার এখন আমাকে চিহ্নিত কিছু উপায় আছে, 100 00:06:40,910 --> 00:06:46,060 আমি অন্য পৃষ্ঠাতে যান কিন্তু যখন সার্ভার যে একই আইডেন্টিফায়ার পুনরায় ব্যবহার করা প্রয়োজন 101 00:06:46,060 --> 00:06:48,910 বরং একটি নতুন উৎপাদিত তুলনায়. 102 00:06:48,910 --> 00:06:52,760 আমি foo.php মধ্যে একটি স্থানীয় ভেরিয়েবল ডিক্লেয়ার করলে, মনে রেখো 103 00:06:52,760 --> 00:06:55,190 এবং তারপর, bar.php যান 104 00:06:55,190 --> 00:07:00,980 bar.php foo.php কি ঘটেছে বুদ্ধিমান কোন উপায় আছে. 105 00:07:00,980 --> 00:07:07,450 তাই ডিফল্ট পিএইচপি সেশন বাস্তবায়ন ব্রাউজার সার্ভার স্মরণ করিয়ে প্রয়োজন যে 106 00:07:07,450 --> 00:07:09,740 যা সেশন আইডি ব্যবহার. 107 00:07:09,740 --> 00:07:12,710 এটি একটি কুকি আকারে বাস্তবায়িত হয়. 108 00:07:12,710 --> 00:07:15,370 একটি কুকি ইন একটি সুস্বাদু জলখাবার-ছাড়াও 109 00:07:15,370 --> 00:07:18,630 কেবল আপনার কম্পিউটারে একটি ছোট টেক্সট ফাইল 110 00:07:18,630 --> 00:07:21,780 একটি সার্ভার ওয়েব ব্রাউজারের মাধ্যমে লিখতে পারেন. 111 00:07:21,780 --> 00:07:27,300 , পিএইচপি session_start মাধ্যমে আমার অনন্য সেশন আইডি তৈরি করে পরে তাই 112 00:07:27,300 --> 00:07:34,210 এটি একটি স্থানীয় টেক্সট ফাইল, অথবা একটি কুকি মধ্যে যে আইডেন্টিফায়ার সংরক্ষণ ওয়েব ব্রাউজার বলতে যাচ্ছে. 113 00:07:34,210 --> 00:07:38,490 এরপর ওয়েব ব্রাউজার প্রতি অনুরোধ যে শনাক্তকারী অন্তর্ভুক্ত করা হবে 114 00:07:38,490 --> 00:07:40,780 এটি সার্ভারে করে. 115 00:07:40,780 --> 00:07:44,280 সত্যিই তাই, ওয়েব সার্ভার আমি কে মনে করা হয় না. 116 00:07:44,280 --> 00:07:48,780 পরিবর্তে, ওয়েব ব্রাউজার সহজভাবে অনন্য শনাক্তকারী মনে হয় 117 00:07:48,780 --> 00:07:52,730 যে পিএইচপি দ্বারা উত্পন্ন এবং তারপর ক্রমাগত সার্ভার স্মারক ছিল 118 00:07:52,730 --> 00:07:55,120 কি যে আইডেন্টিফায়ার হয়. 119 00:07:55,120 --> 00:08:00,760 আমার ইউজার নেম মত এই ভাবে, তথ্য সার্ভার না আমার ওয়েব ব্রাউজারের মধ্যে সংরক্ষিত হয়. 120 00:08:00,760 --> 00:08:05,190 ব্রাউজার কেবল পিএইচপি যে তথ্য সংরক্ষিত যেখানে সার্ভার বলে 121 00:08:05,190 --> 00:08:07,750 তাই পিএইচপি তা উদ্ধার করতে পারেন. 122 00:08:07,750 --> 00:08:12,150 সুতরাং যে পিএইচপি আসলে এই তথ্য সংরক্ষণকারী যেখানে প্রশ্ন begs? 123 00:08:12,150 --> 00:08:14,910 ডিফল্টরূপে, পিএইচপি আপনার সময় তথ্য সংরক্ষণ করবে 124 00:08:14,910 --> 00:08:19,540 / tmp, বা 'temp' ফোল্ডার এর ভিতর একটা ফাইলে. 125 00:08:19,540 --> 00:08:24,450 পিএইচপি নির্ধারণ করতে পারবেন তাই যে ফাইলের নামের সেশন আইডি অন্তর্ভুক্ত করা হবে 126 00:08:24,450 --> 00:08:28,620 যা ফাইল পড়তে এবং শুধুমাত্র সময় আইডি মাধ্যমে থেকে লিখতে. 127 00:08:28,620 --> 00:08:32,280 ঠিক আছে. সুতরাং আসুন ক্রোম এর ডিবাগার মধ্যে নেটওয়ার্ক ট্যাব খুলুন 128 00:08:32,280 --> 00:08:34,890 উপরের ডানদিকে রেঞ্চ আইকনে মাধ্যমে. 129 00:08:34,890 --> 00:08:38,409 এখন আসুন আবার hello.php আগাইয়া যাক. 130 00:08:38,409 --> 00:08:42,270 এর hello.php যাও HTTP-র অনুরোধ ক্লিক যাক 131 00:08:42,270 --> 00:08:44,680 এবং তারপর শিরোলেখ ক্লিক করুন. 132 00:08:44,680 --> 00:08:50,390 এখানে আমরা, কুকি হেডার PHPSESSID নামক একটি কী রয়েছে দেখতে পারেন 133 00:08:50,390 --> 00:08:55,980 অথবা পিএইচপি সেশন আইডি-সঙ্গে আমরা দেখেছি যে একই দীর্ঘ স্ট্রিং যে একটি মান 134 00:08:55,980 --> 00:08:59,290 আমরা sessid.php পরিদর্শন করেন যখন. 135 00:08:59,290 --> 00:09:04,660 এই ব্রাউজার ব্যবহার করা উচিত কি সেশন আইডি সার্ভার স্মারক হয় ঠিক কিভাবে হয়. 136 00:09:04,660 --> 00:09:08,180 এটি একটি HTTP হেডার তা সহ এর. 137 00:09:08,180 --> 00:09:10,500 ঠিক আছে. এর পিছনে টার্মিনাল আগাইয়া যাক. 138 00:09:10,500 --> 00:09:16,450 এর পিএইচপি ডিফল্টরূপে সময় তথ্য জমা করার যেখানে / tmp, নেভিগেট করা যাক. 139 00:09:16,450 --> 00:09:19,160 নিশ্চিত যথেষ্ট, এই অস্থায়ী ফোল্ডার এর ভিতর, 140 00:09:19,160 --> 00:09:23,550 এখানে একই সঠিক সময় আইডি ধারণকারী একটি ফাইল আছে. 141 00:09:23,550 --> 00:09:28,990 আমরা এই ফাইলটি খুলুন, আমরা পিএইচপি ডিস্কে আমার সময় প্রতিনিধিত্বমূলক হয় দেখতে পারেন. 142 00:09:28,990 --> 00:09:32,870 এখানে স্ট্রিং "টমি" ', নাম' কি 'র জন্য সংরক্ষণ করা হচ্ছে 143 00:09:32,870 --> 00:09:35,750 যা আমরা আশা ছিল ঠিক কি হয়. 144 00:09:35,750 --> 00:09:38,850 এবং যে পিএইচপি সেশন এর একটি ওভারভিউ. 145 00:09:38,850 --> 00:09:42,590 আমরা কি শুধু দেখেছি সেশনে মাত্র ডিফল্ট বাস্তবায়ন ছিল. 146 00:09:42,590 --> 00:09:45,600 আসলে, অনেক ওয়েবসাইটের এই ডিফল্ট আচরণ পরিবর্তন 147 00:09:45,600 --> 00:09:48,280 আরো দক্ষতার পিএইচপি সেশন সংরক্ষণ 148 00:09:48,280 --> 00:09:50,390 কর্মক্ষমতা উন্নত স্বার্থে. 149 00:09:50,390 --> 00:09:52,800 আমার নাম টমি, এবং এই CS50. 150 00:09:52,800 --> 00:09:56,000 [CS50.TV]