1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [পিএইচপি ওয়েব ডেভেলপমেন্ট] 2 00:00:03,000 --> 00:00:05,000 [টমি MacWilliam] 3 00:00:05,000 --> 00:00:07,000 [এটি CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> এই ভিডিওতে, আমরা ওয়েব ডেভেলপমেন্ট জন্য পিএইচপি ব্যবহার সম্পর্কে জানতে পারবেন. 5 00:00:11,000 --> 00:00:14,000 পিএইচপি বাস্তবায়ন করা যাবে যে একটি স্ক্রিপ্টিং ভাষা 6 00:00:14,000 --> 00:00:17,000 একটি ওয়েব সার্ভারে ওয়েবসাইটের. 7 00:00:17,000 --> 00:00:21,000 ওয়েব সার্ভার মূলত কন্টেন্ট প্রদান উত্সর্গীকৃত একটি মেশিন 8 00:00:21,000 --> 00:00:24,000 যে ইন্টারনেটের মাধ্যমে ব্যবহার করা যাবে. 9 00:00:24,000 --> 00:00:30,000 আপনি Facebook.com / home.php মত একটি ওয়েব পেজ নেভিগেট যখন 10 00:00:30,000 --> 00:00:35,000 কোথাও একটি ফেসবুক ওয়েব সার্ভারে বসবাস করেন যা ফাইল নামক home.php সালে কোড 11 00:00:35,000 --> 00:00:38,000 যে সার্ভারে মৃত্যুদন্ড কার্যকর করা হবে. 12 00:00:38,000 --> 00:00:41,000 এই কোড সম্ভবত কিছু আউটপুট উত্পন্ন করবে 13 00:00:41,000 --> 00:00:43,000 যা ঘুরে সার্ভার থেকে পাঠানো হবে 14 00:00:43,000 --> 00:00:45,000 আপনার ওয়েব ব্রাউজারে. 15 00:00:45,000 --> 00:00:49,000 আমরা একটি ওয়েব সার্ভার হিসাবে CS50 প্রয়োগ ব্যবহার করা হবে. 16 00:00:49,000 --> 00:00:51,000 আপনার মেশিনে সম্ভবত মেশিন হিসাবে প্রায় হিসাবে শক্তিশালী হবে না 17 00:00:51,000 --> 00:00:57,000 একটি ফেসবুক তথ্য কেন্দ্রে, কিন্তু আপনি ওয়েব ডেভেলপমেন্ট জন্য এটি ব্যবহার করে কোন সমস্যা থাকবে. 18 00:00:57,000 --> 00:01:05,000 >> আমরা http://localhost/hello.php মত একটি URL-এ নেভিগেট করে 19 00:01:05,000 --> 00:01:10,000 আমরা Apache HTTP Server নামক একটি অ্যাপ্লিকেশন মাধ্যমে প্রয়োগ কনফিগার 20 00:01:10,000 --> 00:01:19,000 ডিফল্ট হোম / jharvard / vhosts / localhosts / এইচটিএমএল ভেতরে hello.php নামক কোনো ফাইল জন্য চেহারা. 21 00:01:19,000 --> 00:01:23,000 যে ফাইল উপস্থিত থাকে, তাহলে এ্যাপাচি পিএইচপি ইন্টারপ্রেটার ব্যবহার করা হবে 22 00:01:23,000 --> 00:01:27,000 hello.php মধ্যে পিএইচপি কোড চালানো. 23 00:01:27,000 --> 00:01:31,000 যে ফাইলটি তখন বিদ্যমান নেই তাহলে এ্যাপাচি একটি found ত্রুটি নিক্ষেপ করা হবে 24 00:01:31,000 --> 00:01:36,000 বা ওয়েব ব্রাউজিং করার সময় আপনি সম্ভবত করেছি দেখা, যা একটি 404 ত্রুটি,. 25 00:01:36,000 --> 00:01:40,000 >> এর hello.php কটাক্ষপাত করা যাক. 26 00:01:40,000 --> 00:01:45,000 আমরা hello.php ফলাফলের একটি সংকেত লাইন তৈরি করে যে এখানে দেখতে পারেন. 27 00:01:45,000 --> 00:01:51,000 আমরা পিএইচপি hello.php মাধ্যমে কমান্ড লাইনে hello.php দৌড়ে যখন 28 00:01:51,000 --> 00:01:54,000 যে আউটপুট টার্মিনালে ছাপা হয়েছিল. 29 00:01:54,000 --> 00:01:58,000 এখন, আমরা ওয়েব ব্রাউজারে একটি URL-এর মাধ্যমে এই ফাইল অ্যাক্সেস যখন 30 00:01:58,000 --> 00:02:01,000 তার আউটপুট, ওয়েব ব্রাউজার পাঠানো হবে 31 00:02:01,000 --> 00:02:09,000 তাই URL টি শিরোনাম, http://localhost/hello.php, 32 00:02:09,000 --> 00:02:12,000 আমরা আমাদের ওয়েব ব্রাউজারে আউটপুট দেখতে পারেন. 33 00:02:12,000 --> 00:02:17,000 >> আসুন আমাদের হ্যালো ওয়ার্ল্ড প্রোগ্রাম অন্য printf যোগ করার চেষ্টা করুন. 34 00:02:17,000 --> 00:02:23,000 ঠিক আছে, এর পিছনে ওয়েব ব্রাউজার যাও প্রধান এবং আমরা কি দেখতে দিন. 35 00:02:23,000 --> 00:02:25,000 আকর্ষণীয়. 36 00:02:25,000 --> 00:02:28,000 বরং আপনি দেখা হবে, তার নিজস্ব লাইন অন্য লাইন মুদ্রণ তুলনায় 37 00:02:28,000 --> 00:02:32,000 এটি একই লাইন সম্মুখের smushed ফেরার মত টার্মিনালে, এটা দেখে মনে হচ্ছে 38 00:02:32,000 --> 00:02:36,000 অন্যান্য printf, হিসাবে, তাই হয়তো নতুন লাইন পিএইচপি মধ্যে ব্যবহারযোগ্য নয়. 39 00:02:36,000 --> 00:02:38,000 নেই বেশ. 40 00:02:38,000 --> 00:02:41,000 এইচটিএমএল সাধারণত ওয়েব পেজ তৈরি করতে ব্যবহার করা হয় মনে রাখবেন যে, 41 00:02:41,000 --> 00:02:44,000 যে ওয়েব ব্রাউজার দ্বারা প্রদর্শিত হতে পারে. 42 00:02:44,000 --> 00:02:49,000 নেই শুধু স্ট্রিং, পিএইচপি বৈধ না এইচটিএমএল থেকে হ্যালো হয় 43 00:02:49,000 --> 00:02:53,000 কিন্তু আমরা HTML-এ \ N অক্ষর ব্যবহার করতে পারবেন না যে প্রত্যাহার 44 00:02:53,000 --> 00:02:55,000 একটি লাইন বিরতি তৈরি. 45 00:02:55,000 --> 00:03:01,000 পরিবর্তে কেবল একটি স্ট্রিং let এর আউটপুট বৈধ HTML outputting এর. 46 00:03:01,000 --> 00:03:04,000 অনুচ্ছেদের ট্যাগ আমাদের printf কল প্রতিটি ব্যবহারের 47 00:03:04,000 --> 00:03:07,000 তার নিজস্ব লাইন প্রদর্শন করা হবে, 48 00:03:07,000 --> 00:03:11,000 তাই এখন আমরা valid.php করতে ইউআরএল ইশারা দেখার সময় 49 00:03:11,000 --> 00:03:17,000 http://localhost/valid.php 50 00:03:17,000 --> 00:03:19,000 আমরা আমরা খুঁজছেন যে আউটপুট দেখুন. 51 00:03:19,000 --> 00:03:22,000 >> এখন, আমরা এই পৃষ্ঠার সোর্স দেখতে হলে 52 00:03:22,000 --> 00:03:25,000 আমরা এখন বৈধ এইচটিএমএল এ খুঁজছেন দেখতে পারেন, 53 00:03:25,000 --> 00:03:28,000 যা আমরা পিএইচপি থেকে তৈরি. 54 00:03:28,000 --> 00:03:31,000 Printf কল ভিতরে আমাদের এইচটিএমএল সব ফেলে 55 00:03:31,000 --> 00:03:34,000 অবশ্যই সত্যিই বিরক্তিকর পেতে যাচ্ছে. 56 00:03:34,000 --> 00:03:38,000 সৌভাগ্য যে আমরা সহজেই এইচটিএমএল এবং পিএইচপি মিশ্রিত করা যাবে 57 00:03:38,000 --> 00:03:41,000 একই. পিএইচপি ফাইলে. 58 00:03:41,000 --> 00:03:47,000 মনে রাখবেন, আমাদের পিএইচপি কোড এর সকল 00:03:49,000 এবং?>. 60 00:03:49,000 --> 00:03:52,000 এই বিভেদক মধ্যে এইসঙ্গে হয় না কিছু যে 61 00:03:52,000 --> 00:03:55,000 কেবল ব্রাউজারে আউটপুট হিসেবে পাঠানো হবে 62 00:03:55,000 --> 00:03:57,000 বরং মৃত্যুদন্ড কার্যকর করা হচ্ছে না. 63 00:03:57,000 --> 00:04:01,000 আমরা ভালো কিছু করতে পারেন. 64 00:04:01,000 --> 00:04:05,000 আমরা কেবল আমাদের. পিএইচপি ফাইলের ভিতরে এইচটিএমএল লিখতে পারেন 65 00:04:05,000 --> 00:04:11,000 আমরা কিছু পিএইচপি কোড মৃত্যুদন্ড কার্যকর করা চাই যেখানেই এবং তারপর পিএইচপি ব্লক সন্নিবেশ. 66 00:04:11,000 --> 00:04:15,000 এখানে আমরা, ফাইল শীর্ষে কয়েক ভেরিয়েবল সংজ্ঞায়িত 67 00:04:15,000 --> 00:04:19,000 এবং পরে আমরা আমাদের এইচটিএমএল ভেতরে তাদের প্রিন্ট আউট. 68 00:04:19,000 --> 00:04:27,000 এখন আমরা এই URL পরিদর্শন যদি http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 আমরা আমাদের এইচটিএমএল এর ভিতর আমাদের মূল্যায়ন পিএইচপি দেখতে পারেন. 70 00:04:33,000 --> 00:04:36,000 >> এখন আসুন আমরা তথ্য প্রেরণ করতে পারেন কিভাবে কটাক্ষপাত করা যাক 71 00:04:36,000 --> 00:04:39,000 আমাদের বিভিন্ন পিএইচপি পেজ মধ্যে. 72 00:04:39,000 --> 00:04:51,000 বরং বলছে চেয়ে <পিএইচপি মুদ্রণ ($ ক);?> 73 00:04:51,000 --> 00:04:58,000 আমরা শুধু বলতে 00:05:01,000 এবং?>. 75 00:05:01,000 --> 00:05:03,000 এর এখন আমরা তথ্য প্রেরণ করতে পারেন কিভাবে কটাক্ষপাত করা যাক 76 00:05:03,000 --> 00:05:06,000 আমাদের বিভিন্ন পিএইচপি পেজ মধ্যে. 77 00:05:06,000 --> 00:05:11,000 আমরা তা করতে পারে ওয়ান ওয়ে একটি পৃষ্ঠার URL-মধ্যে তথ্য সঙ্কেতাক্ষরে লিখা হয়. 78 00:05:11,000 --> 00:05:14,000 ওয়েব ব্রাউজিং, আপনি লক্ষ্য করে থাকবেন যে কিছু URL গুলি 79 00:05:14,000 --> 00:05:20,000 একটি থাকে? ampersands এবং সমান চিহ্ন সম্বলিত একটি স্ট্রিং দ্বারা অনুসৃত. 80 00:05:20,000 --> 00:05:23,000 ইউআরএল এই ভাগে কোয়েরি স্ট্রিং হিসাবে পরিচিত হয়, 81 00:05:23,000 --> 00:05:29,000 এবং এর ফলে, আপনার পিএইচপি স্ক্রিপ্ট থেকে আর্গুমেন্ট প্রেরণ করতে পারবেন. 82 00:05:29,000 --> 00:05:34,000 প্রশ্নের সাথে স্ট্রিং মাত্র একটি হ্যাশ টেবিল মত কী মান জোড়া, গঠিত. 83 00:05:34,000 --> 00:05:38,000 একটি সমান চিহ্ন একটি কী এবং এর সংশ্লিষ্ট মান আলাদা 84 00:05:38,000 --> 00:05:41,000 ampersands জোড়া আলাদা সময়. 85 00:05:41,000 --> 00:06:05,000 Http://localhost/get.php?foo=bar&baz=qux মতো দেখতে একটি URL-এ 86 00:06:05,000 --> 00:06:09,000 প্রশ্নের সাথে স্ট্রিং 2 কী মান জোড়া আছে. 87 00:06:09,000 --> 00:06:12,000 কি foo বিন্যাস, মান বার মানচিত্র 88 00:06:12,000 --> 00:06:16,000 এবং কী Baz মান qux করার মানচিত্র. 89 00:06:16,000 --> 00:06:23,000 আমরা সহজেই পিএইচপি একটি বিশেষ ভেরিয়েবল ব্যবহার করে এই কি 'র মান জোড়া অ্যাক্সেস করতে পারেন 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET একটি মিশুক অ্যারে 92 00:06:32,000 --> 00:06:36,000 যে স্বয়ংক্রিয়ভাবে কোয়েরি স্ট্রিং ডাটা দিয়ে পূর্ণ করা হয়. 93 00:06:36,000 --> 00:06:46,000 যে এই URL $ _GET ["foo বিন্যাস"] দেওয়া মানে হল 94 00:06:46,000 --> 00:06:49,000 স্ট্রিং বারের সমান হতে হবে. 95 00:06:49,000 --> 00:06:56,000 >> এর ক্রিয়াটি $ _GET দেখতে get.php কটাক্ষপাত করা যাক. 96 00:06:56,000 --> 00:07:00,000 এখানে আমরা, var_dump নামক একটি ফাংশন ব্যবহার করছেন 97 00:07:00,000 --> 00:07:03,000 যা একটি অ্যারে বা অন্যান্য পরিবর্তনশীল দেওয়া হলে 98 00:07:03,000 --> 00:07:05,000 এটা আমাদের জন্য প্রিন্ট আউট হবে. 99 00:07:05,000 --> 00:07:12,000 এখন আমরা কেবল অ্যাক্সেস যদি http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 আমরা একটি প্রশ্নের সাথে স্ট্রিং প্রদান করা হয়নি, কারণ তাহলে আমরা একটি খালি অ্যারের দেখতে পাবেন. 101 00:07:17,000 --> 00:07:29,000 আমরা http://localhost/get.php?foo=bar&baz=qux মাধ্যমে একটি প্রশ্নের সাথে স্ট্রিং প্রদান না 102 00:07:29,000 --> 00:07:34,000 তাহলে আমরা $ _GET পরিবর্তনশীল উপস্থিত থাকবে দেখতে পারেন 103 00:07:34,000 --> 00:07:37,000 প্রশ্নের সাথে স্ট্রিং এর কি মূল্য জোড়া. 104 00:07:37,000 --> 00:07:42,000 কিন্তু আমরা একটি পৃষ্ঠার URL-ভিতরে আমাদের তথ্য রাখা কি চান না? 105 00:07:42,000 --> 00:07:46,000 তথ্য বিশাল পরিমাণ, এই ছিল কিছু প্রশংসনীয় কুশ্রী URL গুলি করে দেওয়া হতে পারে 106 00:07:46,000 --> 00:07:49,000 যে আমাদের চকচকে ওয়েবসাইট চেহারা পঙ্গু করতে যাচ্ছি. 107 00:07:49,000 --> 00:07:52,000 আমরা পরিবর্তে শরীরের মধ্যে কোয়েরি স্ট্রিং লাগাতে পারেন 108 00:07:52,000 --> 00:07:57,000 বরং অনুরোধের এর ইউআরএল চেয়ে HTTP অনুরোধের. 109 00:07:57,000 --> 00:08:02,000 তারপর আমরা পিএইচপি এর $ _POST পরিবর্তনশীল ব্যবহার করতে পারেন 110 00:08:02,000 --> 00:08:05,000 কী মান জোড়া অ্যাক্সেস. 111 00:08:05,000 --> 00:08:10,000 এই কাজ করতে এক উপায় একটি HTML ফর্ম মাধ্যমে হয়. 112 00:08:10,000 --> 00:08:13,000 এখানে আমরা একটি সহজ এইচটিএমএল ফর্ম আছে. 113 00:08:13,000 --> 00:08:17,000 এই ফর্ম পদ্ধতি অ্যাট্রিবিউট পোস্টে যে এখানে লক্ষ্য করুন. 114 00:08:17,000 --> 00:08:21,000 এই ফর্ম এর কি মূল্য জোড়া লাগাতে ব্রাউজার বলে 115 00:08:21,000 --> 00:08:25,000 বরং ইউআরএল চেয়ে অনুরোধ শরীরের মধ্যে. 116 00:08:25,000 --> 00:08:28,000 >> আমরা মান এই বৈশিষ্ট্য জন্য পেতে ব্যবহার ছিল 117 00:08:28,000 --> 00:08:32,000 তারপর ফর্ম এর কি মূল্য জোড়া পরিবর্তে কোয়েরি স্ট্রিং মধ্যে যেতে হবে, 118 00:08:32,000 --> 00:08:36,000 তাই আমরা আবার $ _GET মাধ্যমে তাদের অ্যাক্সেস করতে পারে. 119 00:08:36,000 --> 00:08:42,000 ফর্ম কর্মের বৈশিষ্ট্য যেখানে তথ্য পাঠাতে ব্রাউজার বলে. 120 00:08:42,000 --> 00:08:46,000 এখানে আমাদের 2 ইনপুট উপাদানের নাম গুণাবলী আছে. 121 00:08:46,000 --> 00:08:51,000 নামের গুণাবলী মান, আমাদের তথ্য মধ্যে নির্দেশক হিসেবে কাজ করবে 122 00:08:51,000 --> 00:08:56,000 এবং টেক্সট ইনপুট মান যারা কি 'র মান হয়ে যাবে. 123 00:08:56,000 --> 00:08:59,000 এখন আসুন post.php কটাক্ষপাত করা যাক, 124 00:08:59,000 --> 00:09:03,000 এ ফরমের জমা হয় যে ফাইল. 125 00:09:03,000 --> 00:09:10,000 আমরা আগে কি শুধু ভালো, আমরা শুধু $ _POST পরিবর্তনশীল বিষয়বস্তু প্রদর্শন করছেন. 126 00:09:10,000 --> 00:09:18,000 >> এর http://localhost/form.php সঙ্গে ফরমের চলাচল শুরু করা যাক. 127 00:09:18,000 --> 00:09:23,000 আমরা ফর্ম জমা হলে এখন আমরা দেখতে পারেন যে form.php থেকে তথ্য 128 00:09:23,000 --> 00:09:30,000 URL-এ একটি প্রশ্নের সাথে স্ট্রিং সংযোজন ছাড়া post.php প্রেরণ করা হয়. 129 00:09:30,000 --> 00:09:35,000 এখন আমরা, পিএইচপি পৃষ্ঠাগুলির মধ্যে তথ্য ক্ষণস্থায়ী 2 বিভিন্ন উপায় দেখা করেছি 130 00:09:35,000 --> 00:09:37,000 পেতে এবং পোষ্ট. 131 00:09:37,000 --> 00:09:41,000 আমাদের উদাহরণ, আমরা HTTP অনুরোধের 2 বিভিন্ন ধরনের ব্যবহার. 132 00:09:41,000 --> 00:09:45,000 আপনি আশা করতে পারে হিসাবে আমরা জনবহুল, একটি পেতে অনুরোধ ব্যবহৃত হয় 133 00:09:45,000 --> 00:09:51,000 URL টি, এবং একটি পোস্ট অনুরোধ থেকে $ _GET ব্যবহৃত হয় 134 00:09:51,000 --> 00:09:55,000 আমরা $ _POST জনবহুল যখন. 135 00:09:55,000 --> 00:09:59,000 আপনার ওয়েব অ্যাপস নকশা সালে এটি পেতে অনুরোধ ব্যবহার করতে একটি চলতি নিয়ম 136 00:09:59,000 --> 00:10:03,000 আপনার app টি শুধুমাত্র তথ্য পড়া, এবং post অনুরোধ করবে যখন 137 00:10:03,000 --> 00:10:05,000 আপনার অ্যাপ্লিকেশন তথ্য লিখতে হবে. 138 00:10:05,000 --> 00:10:09,000 উদাহরণস্বরূপ, একটি অনুসন্ধান ক্যোয়ারী আপনার অ্যাপ্লিকেশন থেকে তথ্য পড়া হবে, 139 00:10:09,000 --> 00:10:12,000 তাই একটি পেতে অনুরোধ জ্ঞান করে তোলে. 140 00:10:12,000 --> 00:10:17,000 অন্য দিকে, আপনার অ্যাপ্লিকেশন একটি রেজিস্ট্রেশন ফর্ম মত কিছু মাধ্যমে তথ্য লিখতে হবে, 141 00:10:17,000 --> 00:10:22,000 তাই একটি পোস্ট অনুরোধ আরো জানার জন্য চাই, এবং যে কৌশল কিছু একটি ওভারভিউ 142 00:10:22,000 --> 00:10:26,000 আমরা পিএইচপি ব্যবহার করে ওয়েবসাইট তৈরি করতে CS50 মধ্যে ব্যবহার করা হবে. 143 00:10:26,000 --> 00:10:30,000 >> আমার নাম টমি, এবং এই CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]