1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [PHP वेब विकास] 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 >> इस वीडियो में, हम वेब विकास के लिए PHP का उपयोग कर के बारे में सीखना होगा. 5 00:00:11,000 --> 00:00:14,000 PHP लागू करने के लिए इस्तेमाल किया जा सकता है कि एक पटकथा भाषा है 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 तरह एक यूआरएल के लिए नेविगेट करते हैं 19 00:01:05,000 --> 00:01:10,000 हम अपाचे HTTP सर्वर कहा जाता है एक आवेदन के माध्यम से उपकरण को विन्यस्त 20 00:01:10,000 --> 00:01:19,000 डिफ़ॉल्ट रूप से गृह / jharvard / vhosts / localhosts / HTML के अंदर hello.php नामक एक फाइल देखने के लिए. 21 00:01:19,000 --> 00:01:23,000 कि फ़ाइल मौजूद है, तो फिर अपाचे PHP दुभाषिया का उपयोग करेगा 22 00:01:23,000 --> 00:01:27,000 hello.php में PHP कोड को निष्पादित करने के लिए. 23 00:01:27,000 --> 00:01:31,000 कि फाइल तो मौजूद नहीं है अपाचे एक नहीं मिला त्रुटि फेंक देंगे 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 हम PHP hello.php के माध्यम से कमांड लाइन पर hello.php भागा 28 00:01:51,000 --> 00:01:54,000 कि उत्पादन टर्मिनल के लिए मुद्रित किया गया था. 29 00:01:54,000 --> 00:01:58,000 अब, हम वेब ब्राउजर में एक यूआरएल के माध्यम से इस फ़ाइल का उपयोग जब 30 00:01:58,000 --> 00:02:01,000 इसके उत्पादन, वेब ब्राउज़र के लिए भेजा जाएगा 31 00:02:01,000 --> 00:02:09,000 तो यूआरएल के लिए शीर्षक, 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 के रूप में, तो शायद नई लाइनें PHP में काम नहीं करते. 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 इतना ही नहीं स्ट्रिंग, PHP मान्य नहीं HTML से नमस्कार है 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 इसके बजाय बस एक स्ट्रिंग चलो उत्पादन वैध 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 हम हम अब मान्य HTML में देख रहे हैं कि देख सकते हैं, 53 00:03:25,000 --> 00:03:28,000 जो हम PHP से बनाया. 54 00:03:28,000 --> 00:03:31,000 Printf कॉल के अंदर हमारे HTML के सभी डाल 55 00:03:31,000 --> 00:03:34,000 बेशक वास्तव में परेशान हो रहा है. 56 00:03:34,000 --> 00:03:38,000 सौभाग्य से हम आसानी से HTML और PHP मिश्रण कर सकते हैं 57 00:03:38,000 --> 00:03:41,000 एक ही. php फ़ाइल में. 58 00:03:41,000 --> 00:03:47,000 याद रखें, हमारे PHP कोड के सभी 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 हम सिर्फ हमारे. Php फ़ाइल के अंदर एचटीएमएल लिख सकते हैं 65 00:04:05,000 --> 00:04:11,000 हम कुछ php कोड निष्पादित करने के लिए करना चाहते हैं जहाँ भी और फिर PHP के ब्लॉक डालें. 66 00:04:11,000 --> 00:04:15,000 यहाँ हम, फ़ाइल के शीर्ष पर कुछ चर को परिभाषित 67 00:04:15,000 --> 00:04:19,000 और बाद में हम अपने HTML के अंदर उन्हें बाहर प्रिंट. 68 00:04:19,000 --> 00:04:27,000 अब हम इस यूआरएल पर जाएँ, तो http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 हम हमारे HTML के अंदर हमारे मूल्यांकन किया PHP देख सकते हैं. 70 00:04:33,000 --> 00:04:36,000 >> अब के हम डेटा पारित कर सकते हैं पर एक नज़र रखना 71 00:04:36,000 --> 00:04:39,000 हमारे विभिन्न PHP पृष्ठों के बीच. 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 हमारे विभिन्न PHP पृष्ठों के बीच. 77 00:05:06,000 --> 00:05:11,000 हम ऐसा कर सकते हैं एक तरह से एक पेज का यूआरएल में जानकारी सांकेतिक शब्दों में बदलना है. 78 00:05:11,000 --> 00:05:14,000 वेब ब्राउज़िंग, आप देखा हो सकता है कि कुछ यूआरएल 79 00:05:14,000 --> 00:05:20,000 एक होते हैं? एम्परसेंड्स और बराबर संकेत युक्त एक स्ट्रिंग द्वारा पीछा किया. 80 00:05:20,000 --> 00:05:23,000 यूआरएल का यह हिस्सा क्वेरी स्ट्रिंग के रूप में जाना जाता है, 81 00:05:23,000 --> 00:05:29,000 और यह आप को प्रभावी ढंग से अपने PHP स्क्रिप्ट के लिए तर्क पारित करने के लिए अनुमति देता है. 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 एम्परसेंड्स जोड़े को अलग करते हुए. 85 00:05:41,000 --> 00:06:05,000 Http://localhost/get.php?foo=bar&baz=qux की तरह दिखता है एक यूआरएल 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 और चाबी बाज मूल्य qux के लिए नक्शे. 89 00:06:16,000 --> 00:06:23,000 हम आसानी से, PHP में एक विशेष चर का उपयोग कर इन महत्वपूर्ण मूल्य जोड़े का उपयोग कर सकते हैं 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 लेकिन हम एक पेज का यूआरएल के अंदर हमारे डेटा डाल करने के लिए क्या नहीं चाहते हैं? 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 तो फिर हम है PHP $ _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 यहाँ हम एक सरल HTML फार्म है. 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 यूआरएल के लिए एक क्वेरी स्ट्रिंग appending बिना post.php को पारित कर दिया है. 129 00:09:30,000 --> 00:09:35,000 अब हम PHP पृष्ठों के बीच डेटा पास के 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 यूआरएल, और एक पोस्ट अनुरोध से $ _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 अपने अनुप्रयोग केवल डेटा को पढ़ने, और पोस्ट अनुरोध करेंगे जब 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 दूसरी ओर, अपने app एक पंजीकरण फार्म की तरह कुछ के माध्यम से डेटा लिखेंगे, 141 00:10:17,000 --> 00:10:22,000 इसलिए एक पोस्ट अनुरोध और अधिक मतलब होगा, और है कि तकनीक के कुछ के एक सिंहावलोकन है 142 00:10:22,000 --> 00:10:26,000 हम PHP का उपयोग कर वेबसाइट बनाने के लिए CS50 में उपयोग होगा. 143 00:10:26,000 --> 00:10:30,000 >> मेरा नाम टॉमी है, और इस CS50 है. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]