डौग लॉयड: में तो हमारे पीएचपी वाक्य रचना पर वीडियो, हम कैसे PHP के बारे में बहुत बात कमांड लाइन पर इस्तेमाल किया जा सकता एक तरीके से कार्यक्रमों को चलाने के लिए कि हम सी से साथ बहुत परिचित हो लेकिन मैं यह भी उल्लेख किया है लगता है कि वीडियो, पीएचपी में शुरू में करने के लिए विकसित किया गया था वेबसाइटों, वेब प्रोग्रामिंग को लागू करने। और हां इस वीडियो में हम कर रहे हैं हम कैसे के बारे में बात करने जा रहा वेब विकास के संदर्भ में पीएचपी का उपयोग करें। हम से, पहले से ही पता है एचटीएमएल पर हमारे वीडियो, वेबसाइटों का निर्माण कर रहे हैं कि एचटीएमएल टैग का एक सेट से बाहर कि शब्दार्थ को परिभाषित एक वेब पेज की संरचना। लेकिन वेबसाइटों है कि कर रहे हैं शुद्ध HTML के साथ बनाया एक बहुत से ग्रस्त हैं, बहुत गंभीर सीमा। और इस सीमा को वर्णन करने के लिए, निम्नलिखित पर विचार करते हैं। तो अब मैं एक वेब पेज का निर्माण करना चाहते हैं कि, जब भी उपयोगकर्ता यात्राओं के बावजूद, यह मेरे वर्तमान देता है कैम्ब्रिज, मास में समय है।, नवीनतम मिनट के लिए इसे प्रदर्शित करना। मैं यह अभी बना रही थी, तो मैं कुछ इस तरह कह सकते हैं। मेरे पास इतने Cambridge-- में वर्तमान समय एचटीएमएल टैग, सिर टैग, शीर्षक टैग, शरीर वर्तमान tags-- कैम्ब्रिज में समय, 14:08 है सैन्य समय बाहर मुद्रण। क्या यह अब 02:09, 14:09 है तो क्या होगा? खैर, अब तक HTML के साथ, मेरे पास है में जाने के लिए और 14:09 के लिए इसे बदलने के लिए। और फिर एक मिनट बाद, मैं इसे फिर से बदलने के लिए है। और फिर एक मिनट बाद, मैं इसे फिर से बदलने के लिए है। आप कल्पना कर सकते हैं, वह है, कभी शायद सबसे बुरा काम है। आप एक वेब पेज के लिए वेबमास्टर रहे हैं, और हर मिनट, 24 घंटे एक दिन, आप से वर्तमान समय को अद्यतन करने की जरूरत है मैन्युअल time.html खोलने और बदलते कोड की है कि बस का टुकड़ा कहने के लिए घंटे और मिनट में वर्तमान समय। यह एक बहुत ही शायद नहीं है हमारे संसाधनों का बेहतर इस्तेमाल, मानव और कम्प्यूटेशनल दोनों। सभी HTML रहे हैं कि वेबसाइटों पूरी तरह से स्थिर हैं। आप अद्यतन कर सकते हैं एक ही रास्ता सामग्री, हम सिर्फ देखा है, स्वयं उन स्रोत खोलने के लिए है फाइलें, उन्हें संपादित करें, और उन्हें बचाने के लिए। और फिर जब उपयोगकर्ता पेज तरोताजा कर देती है, या पहले के लिए पृष्ठ का दौरा समय, वे नवीनतम सामग्री मिल जाएगा। लेकिन हम है क्योंकि केवल स्वयं इसे संपादित। हम वहाँ में कुछ पीएचपी मिश्रण करने के लिए शुरू करते हैं, हमारे कोड एक बहुत अधिक लचीला प्राप्त कर सकते हैं। और हम अपने पृष्ठों के लिए एक तरीका हो सकता है गतिशील हो सकता है, या खुद को अद्यतन करने के लिए, हमारे गरीब की आवश्यकता के बिना पिछले उदाहरण में वेबमास्टर चीजों को अद्यतन करने के लिए मैन्युअल हो। वे अपने आप इसे कर सकते हैं। हम हस्तक्षेप करने की जरूरत नहीं है। हम कुछ नींद मिल सकता है। जो शायद एक अच्छी बात है, तो है आप वेब प्रोग्रामिंग का एक बहुत कुछ कर रहे हैं। CS50 आईडीई में तो, हम चलाए जा रहे एक वेब सर्वर अपाचे बुलाया। यह एक बहुत अधिक इस्तेमाल किया है खुला स्रोत वेब सर्वर सिस्टम। इस प्रणाली है क्षमता व्याख्या करने के लिए यदि उपयोगी होने जा रहा है जो पीएचपी, आप किसी भी PHP प्रोग्रामिंग करना चाहते हैं। और CS50 आईडीई में, हम एक आदेश दिया है ऐसा करने के लिए यह बहुत ही आसान बनाने के लिए, शुरू apache50। और फिर उस स्लेश पथ, स्लेश, स्लैश दीर, इस बात का सिर्फ एक सच में आम रास्ता है आप यहाँ निर्दिष्ट किया है दर्शायी एक विशेष के लिए एक रास्ता है निर्देशिका है कि आप जड़ होना चाहते हैं साइट, या जड़ पेज, फ़ोल्डर या जो अपने वेब सर्वर से फाइलों की जांच करने और सेवा करने के लिए शुरू कर देंगे उन्हें अनुरोध, जो ग्राहकों के लिए उन्हें। तो चलो बस के लिए, CS50 आईडीई पर पॉप जाने यह कैसे काम करता है, वास्तव में जल्दी, आपको दिखाते हैं। तो यहाँ CS50 आईडीई में, मैं एक में हूँ वीक शून्य नौ बुलाया निर्देशिका। मेरे पास two-- और मैं सिर्फ एक LS कमांड निष्पादित ऊपर है कि मैं तुम्हें दिखाने के लिए यहाँ में दो निर्देशिका, पीएचपी, मैं में इस्तेमाल की गई फ़ाइलों के सेट जो है पीएचपी वाक्य रचना वीडियो, और फिर पीएचपी-वेब, फाइलों के सेट जो है कि मैं इस वीडियो में उपयोग करना चाहते हैं। और मैं शुरू करना चाहते हैं एक वेब सर्वर उदाहरण पीएचपी-वेब फ़ोल्डर की सामग्री के साथ फाइलों को परोसा जा रहा है के रूप में। तो मैं क्या करने जा रहा हूँ? मैं apache50 अंतरिक्ष टाइप करने के लिए जा रहा , शुरू अंतरिक्ष पीएचपी, पानी का छींटा वेब। यही कारण है कि निर्देशिका के लिए पथ है मैं वर्तमान में हूँ, जहां से। तब मैं हिट दर्ज करें। यह एक ऐसा करने के लिए जा रहा है यहां सामान का थोड़ा सा। और फिर यह कहने के लिए जा रहा है अपाचे सफलतापूर्वक शुरू कर दिया। आपकी साइट at-- अब उपलब्ध है और तो साइट के लिए URL नहीं है। तो मैं क्या करने जा रहा हूँ? मैं जल्दी से इस कॉपी करने के लिए जा रहा हूँ। और मैं up-- खोलने के लिए जा रहा हूँ और मैं एक छोटा सा बाहर ज़ूम करेंगे here-- मैं खोलने के लिए जा रहा हूँ क्रोम में एक नया टैब। और मुझे लगता है कि यूआरएल यात्रा करने के लिए जा रहा हूँ। मैं हिट दर्ज करने के लिए जा रहा हूँ। यह लोड करने के लिए जा रहा है। और मैं फिर से बाहर ज़ूम करेंगे। और हम यहाँ देख सकते हैं मेरे PHP वेब निर्देशिका की सामग्री। तो अब मूल रूप से क्या हो रहा है यहां CS50 आईडीई के मेरे उदाहरण है, करने के लिए इन फाइलों को सेवा कर रही है उनको आग्रह जो किसी को भी। और हां खत्म इस वीडियो में, हम में से सुलझा लेंगे इनमें से एक गुच्छा पर एक नज़र रखना इस संदर्भ में अलग अलग फ़ाइलों। अपने अपाचे कि परीक्षण करने के लिए सर्वर काम कर रहा है, आम तौर पर जो हो रहा है CS50 आईडीई में मामला हो सकता है, लेकिन आप और अधिक आम तौर पर ऐसा करते हैं, और आप अपने खुद के वेब का निर्माण शुरू सर्वर, एक सच है के अनुरूप की आम प्रकार, आमतौर पर है कि "हैलो दुनिया" PHP वेब विकास के लिए इस्तेमाल किया। एक फ़ाइल है के लिए है जो सिर्फ इस code-- से मिलकर पीएचपी की जानकारी के साथ सेट एक पीएचपी सीमांकक, कोष्ठक, बीच में सेमीकोलन। जो मूल रूप से एक खास है आपको बताता है कि PHP समारोह पीएचपी के संस्करण क्या आप चल रहे हैं। तो CS50 आईडीई में, मेरे पास है उपलब्ध कि फ़ाइल बस इस तरह दिखेगा क्या आप को दिखाने के लिए। इसलिए मैं अपने सूचकांक को देख रहा हूँ मेरे PHP उदाहरण से। मेरे अपाचे उदाहरण चल रहा है पीएचपी-वेब की सामग्री। और मैं एक फ़ाइल यहां info.php कहा जाता है। मैं इसे क्लिक करें, बाहर ज़ूम करने के लिए जा रहा हूँ। यह आप जा रहे हैं क्या है बहुत ज्यादा, देखने के लिए। यह सिर्फ इतना है कि मुझे कह रहा है मेरी अपाचे सर्वर काम कर रहा है। और यह, जाहिरा तौर पर है पीएचपी के संस्करण मैं चल रहा हूँ कि। यह करने के लिए मेरे अनुरूप है "हैलो दुनिया।" तो मैं चीजों परिचालन कर रहे हैं पता है। तो हम जाने के लिए अच्छा कर रहे हैं। हम यहां से आगे बढ़ सकते हैं। तो चलो कि फिर से आना चलो समय उदाहरण हम थे हमारे गरीब वेबमास्टर के साथ के बारे में बात कर रही है जो लगातार पेज को अद्यतन करने के लिए किया था। यह कैसे के लिए एक तय हो सकता है मैं चीजों को लागू होगा इसलिए वेबमास्टर नहीं किया था कि समय को अद्यतन रखने के लिए है। यह होगा बस की तरह अपने आप ही हो। नीचे नीचे, एचटीएमएल, यह है एक अपवाद के साथ, बहुत समान। लेकिन यहाँ मैं शीर्ष पर कुछ PHP मिल गया है। मैं, जाहिर है, यह कहा जाता है समारोह date_default_timezone_set। और हम सब के बारे में बात नहीं करते CS50 में इन कार्यों, पीएचपी शायद इसलिए है क्योंकि दसियों हजारों की। यही कारण है कि एक के एक सा हो सकता है अतिशयोक्ति है, लेकिन यह नहीं हो सकता है। में निर्मित कार्यों का एक बहुत मिल गया है। और इसलिए यह एक समारोह जाहिरा तौर पर है अमेरिका / पूर्वी के रूप में अपने समय क्षेत्र सेट, जो मैं कर रहा हूँ कि समय क्षेत्र है वर्तमान में इस वीडियो को बनाने में। तब मैं करने के लिए एक फोन करना समारोह की तारीख, कहा जाता है। और, जाहिर है, मैं संग्रहीत कर रहा हूँ उसकी बुलाया कुछ समय के। तो यहाँ क्या हो रहा है? खैर, मूल रूप से क्या है है क्या हो रहा है, मैं एक फोन कर रहा हूँ करने के लिए जा रहा है कि कुछ सर्वर से समय वर्तमान में क्या है मुझे बताओ। और मैं एक प्रारूप में परिवर्तित कर रहा हूँ घंटों की, मिनट, सेकंड। और कारण यह राजधानी एच यह है , मुझे 12 से 24 घंटे का समय नहीं देने जा रहा है लोअरकेस ज होगा जो घंटे का समय। और मैं सिर्फ इतना है कि संग्रहीत कर रहा हूँ कहा जाता है एक चर, समय में। तो यह है कि पीएचपी की दूसरी पंक्ति वहाँ, समारोह के लिए कॉल, तारीख, बस हो रही है है, जो कुछ स्ट्रिंग, मुझे तारीख देने के लिए जा रहा है, और समय और अन्य जानकारी का एक गुच्छा। और वहाँ पहले तर्क है, उसकी कि, सिर्फ महत्वपूर्ण हिस्सा निकालने मैं इस उदाहरण के लिए के बारे में परवाह है कि, जो घंटा, मिनट, और दूसरे नंबर पर है। तो यह है कि हो रहा है वह सब है। तो मैं दुकान एक चर $ समय में उस। और फिर नीचे पर वहाँ बहुत नीचे, मैं के लिए कि आशुलिपि है वर्तमान समय को छापता है। तो मैं बस मुद्रित करने के लिए जा रहा हूँ वर्तमान समय है बाहर क्या। तो चलो इस पर एक नजर डालते हैं CS50 आईडीई और हम अब कर रहे हैं कि कैसे देखते हैं कि वेबमास्टर परेशानी का एक बहुत बचत। ठीक है, तो यहाँ मैं फिर रहा हूँ वापस रूट निर्देशिका में मेरी अपाचे उदाहरण के। और मैं यहाँ एक फ़ाइल कहा time.php है। मैं तो बस उस पर क्लिक करने के लिए जा रहा हूँ। और मुझे लगता है, क्योंकि ऊपर स्क्रॉल करेंगे हम बहुत दूर में तेजी से बढ़ी है। वर्तमान समय 14:20:34 है। इसलिए मुझे लगता है, यह घंटे कर रहा हूँ मिनट और सेकंड। और मुझे लगता है ताज़ा कर सकते हैं पेज और नए समय मिलता है। --41। मैं पेज को ताज़ा करने के लिए जा रहा हूँ और नए समय, 44, 46, 47 को मिलता है। तो, मैं स्पष्ट रूप से नहीं कर रहा हूँ कुछ भी अपने आप को बदल रहा है। मैं यहाँ पृष्ठ ताज़ा कर रहा हूँ। इसलिए मुझे लगता है कि यह संपादन वापस नहीं किया जा सकता। और मैं तुमसे वादा करता हूँ, मैं नहीं किसी भी confederates है कौन फ़ाइल संपादन कर रहे हैं पक्ष पर मेरी ओर से। मैं सिर्फ इतना है कि पीएचपी समारोह का उपयोग कर रहा हूँ समय, मेरे लिए समय उत्पन्न करने के लिए स्वचालित रूप से। मैं सो रहा हूँ कि भले ही, तो और अपने वेब सर्वर चल रहा है, पेज है कि अभी भी दौरा किया, जो उपयोगकर्ता वास्तव में वर्तमान समय पाने के लिए जा रहा है। तो यह है कि बहुत अच्छा है। मैं अपनी साइट को और अधिक गतिशील बनाया है बहुत ज्यादा नहीं पीएचपी कोड के साथ। यह कोड के सिर्फ दो लाइनों था और उसके बाद एक प्रिंट बयान का एक छोटा सा। और पहले से ही मैं एक है और अधिक गतिशील साइट कि पहला उदाहरण से हमने देखा वीडियो की शुरुआत में। तो, पीएचपी वाक्य रचना पर वीडियो से याद करते हैं PHP दुभाषिया चलाता है जब कि हमारे कार्यक्रम, यह सब कुछ ध्यान नहीं देता कि, पीएचपी सीमांकक के अंदर नहीं है इसे बाहर थूकना। कि उदाहरण में, क्या बात इसे बाहर थूकना था कि एचटीएमएल था। और यह मैं अब कर सकते हैं इसका मतलब एक साथ HTML और PHP बिखेरना। दुभाषिया सिर्फ होगा क्योंकि एचटीएमएल और यह सचमुच उत्पादन की अनदेखी। सही है, जो अच्छा है? , शायद क्योंकि दिन के अंत में, मैं अपनी साइट चाहते हैं एचटीएमएल का निर्माण किया जा सकता है। किसी भी वेब ब्राउज़र व्याख्या कर सकते हैं तो यह, या पेज पर HTML समझते हैं और कुछ के रूप में इसे प्रस्तुत करना है कि हम वास्तव में मनुष्य के रूप में समझ सकते हैं। और मैं केवल PHP का उपयोग कर सकते हैं मेरी साइट के कुछ हिस्सों के लिए मुझे आवश्यकता होती है कि, गतिशीलता की आवश्यकता होती है लगातार अद्यतन है कि चीजों के लिए है। स्थिर जानकारी एक ही रह सकते हैं। ठीक है, तो वह ठीक है। लेकिन मैं यह क्यों करना चाहते हैं? क्यों मैं HTML और PHP मिश्रण होगा? मैं अभी बाहर प्रिंट सकता है सब एचटीएमएल, पीएचपी प्रिंट समारोह का उपयोग। मुझे ऐसा क्यों नहीं कर रही हूँ? इसके बारे में एक सेकंड सोचें। क्यों, मैं सिर्फ मैं out-- प्रिंट सकता है जब सिर्फ इतना कहना है कि पीएचपी की तर्ज हो सकता था, प्रिंट एचटीएमएल टैग, प्रिंट सिर। मुझे ऐसा क्यों नहीं कर रही हूँ? क्यों मैं PHP और एचटीएमएल मिश्रण कर रहा हूँ? खैर, अगर आपको लगता है एक पल के लिए इसके बारे में। पीएचपी, दुभाषिया है यह देखता है क्या व्याख्या करने के लिए। और तो यह किया जा रहा है कोड की एक पंक्ति पर अमल करने की। एचटीएमएल बाहर प्रिंट। खुले सिर टैग बाहर प्रिंट। ओपन खिताब टैग बाहर प्रिंट। यह करने के लिए किया जा रहा है निष्पादित और व्याख्या जिस तरह से हर एक कदम है। बस न जाने क्यों दुभाषिया बस पर चमक यह समझ में नहीं आता बातें और यह स्वचालित रूप से करते हैं? यह मेरे समय की एक बहुत बचाने के लिए हो रहा है एक साथ मेरे एचटीएमएल और मेरे PHP मिश्रण करने के लिए। हम ऐसा क्यों नहीं करते और इसलिए है कि अभी खुला पीएचपी सीमांकक है और फिर बस पूरे प्रिंट आउट एक विशाल पीएचपी के रूप में हमारे पेज की सामग्री उसके बाद समारोह, प्रिंट करने के लिए कहते हैं, और करीब पीएचपी सीमांकक और हम कर रहे हैं। हम उन्हें एक साथ मिश्रण इतना है कि क्यों। अब तक हम में से बहुत ज्यादा नहीं देखा है सामान्य पीएचपी वाक्य रचना से एक अंतर है। यह बहुत स्पष्ट हो गया है। हम पहले से ही देखा है प्रश्न चिह्न, बराबर। हम नए समारोह कॉल के एक जोड़े को देखा लेकिन वास्तव में कुछ भी नहीं फैंसी पर जा रहे हैं। की शायद चीजें बनाते हैं एक छोटे से शौक़ीन। क्या हम जानकारी को पारित करना चाहते हैं अलग PHP फाइलों के बीच, इसलिए हो सकता है कि उपयोगकर्ता कर सकते हैं मेरे लिए जानकारी सबमिट करें। और फिर मैं कुछ कर सकता है यह एक और पेज पर साथ। तो पीएचपी के लिए समर्थन किया कुछ सुपर वैश्विक बुलाया बहुत भयानक लग रहा है जो चर,। वे वास्तव में बस रहे हैं विशाल साहचर्य arrays कि इस लागू करने में मदद निधन की कार्यक्षमता PHP फाइलों के बीच सूचना है कि हमारी वेब सर्वर पर मौजूदा कर रहे हैं। इन सुपर के पहले वैश्विक $ _GET कहा जाता है। और यह शायद है समझने के लिए सरल। क्या $ _GET के साथ क्या होता है? खैर, मूल रूप से, उपयोगकर्ता है अतिरिक्त जानकारी टाइप करने के लिए जा रहा हमारे यूआरएल के अंत में। और वे प्रकार जो भी हो, यह सोचते हैं यह एक खास तरह से स्वरूपित है बस है, जो एक क्वेरी स्ट्रिंग बुलाया महत्वपूर्ण मूल्य जोड़े का एक सेट अलग ampersands द्वारा। उन महत्वपूर्ण मूल्य जोड़े होगी एक $ _GET साहचर्य सरणी में संग्रहीत। पर हमारे वीडियो से पीएचपी वाक्य रचना, हम जानते हैं कैसे के साथ काम करने के लिए पहले से ही साहचर्य arrays। तो यहाँ का एक उदाहरण है हो सकता है मैं कर रहा हूँ, जहां कुछ पीएचपी, कुंजी मान जोड़े के सभी निकालने यूआरएल में सप्लाई उपयोगकर्ता हैं। इसलिए मैं अपने ओपन पीएचपी सीमांकक है। मैं एक foreach पाश है। मैं सुपर भर पुनरावृति कर रहा हूँ वैश्विक सरणी $ _GET बुलाया। और मैं उल्लेख करने के लिए सक्षम होना चाहता हूँ कुंजी और मूल्य दोनों के लिए। और मैं सिर्फ उन्हें मुद्रण कर रहा हूँ बाहर, पर हर एक को जाहिरा तौर पर यहाँ अपने स्वयं के पैरा टैग। मैं कुछ HTML बाहर मुद्रण कर रहा हूँ और मूल्यों interpolating उस बयान में कुंजी और मान की। तो चलो कैसे इस पर एक नजर डालते हैं वास्तव में हमारे आईडीई पर काम करेगा। और हो सकता है इस में मदद मिलेगी एक छोटा सा उदाहरण देकर स्पष्ट करना क्या हो की वास्तव में क्या कर रही है। तो मैं यहाँ वापस अपने वेब जड़ में हूँ। और मैं एक में ज़ूम करता हूँ थोड़ा सा तुम्हें दिखाने के लिए मैं नामक एक फाइल, get1.php है। तो चलो get1.php पर क्लिक करते हैं। और मैं किसी भी सामग्री नहीं देख रहा हूँ। यह ठीक है, अजीब है? खैर, सच में वास्तव में। मैं आपूर्ति नहीं था, क्योंकि यूआरएल में कुछ भी। मैं get1.php करने जा रहा है, लेकिन मैं कर रहा हूँ किसी भी महत्वपूर्ण मूल्य जोड़े आपूर्ति नहीं की थी मेरी क्वेरी स्ट्रिंग के हिस्से के रूप में। तो चलो एक क्वेरी स्ट्रिंग जोड़ दें और इस फाइल को क्या कर सकते हैं। एक क्वेरी स्ट्रिंग शुरू करने के लिए आप सिर्फ प्रश्न चिह्न टाइप करें। तो शायद मैं नाम = डौग और वर्ष = 2015 कहूँगा। और फिर मैं दर्ज मारा जाएगा। अब क्या हो रहा है पर ध्यान दिया। मैं get1.php में अब भी कर रहा हूँ। लेकिन अब मैं आपूर्ति की है महत्वपूर्ण मूल्य जोड़े, और मैं कर रहा हूँ उन्हें अपने दम पर बाहर मुद्रण paragraph-- नाम, Doug-- साल 2015। यह ठीक है कि कोड है कि हम सिर्फ एक पल पहले स्लाइड पर देखा था। और मैं शायद एक और जोड़ना चाहते हैं कुंजी मान जोड़ी है, और वर्ग = CS50। अब मैं एक और महत्वपूर्ण मूल्य है बाहर छपा है कि जोड़ी जब मैं फिर से यूआरएल फिर से आना। अब शायद यह नहीं है बहुत अच्छी तरह से स्वरूपित। इसलिए मैं get.php का एक और संस्करण है। यह get2.php है। इस में अंतर एक मैं सीएसएस फ़ाइल है, और यह चीजों को एक प्रारूपों अधिक अच्छी तरह से मेरे लिए बहुत कम है। यह शायद सबसे अधिक नहीं है दुनिया में सुंदर सीएसएस। लेकिन यह इसे करने का एक और तरीका है। इसलिए मैं अभी भी उपयोग हो सकता है $ _GET का उपयोग कर अपने चर करने के लिए। और इस मामले में, मैं बस की तरह कर रहा हूँ सीएसएस एक छोटे से अधिक कल्पना कर रही है। और हम पर पॉप यदि एक पल के लिए मेरी आईडीई, मैं अपने PHP वेब में आपको दिखाता हूँ यहां निर्देशिका, get2.php। हम यहाँ, कुछ HTML इसे खोल देंगे। जाहिर है मैं उस में जोड़ने हूँ मैं के बारे में बात कर रहा था सीएसएस फ़ाइल। मैं एक टेबल टैग खुला। और फिर यहाँ मेरी foreach पाश है। यहाँ है, कि क्या मैं पहले स्लाइड पर दिखाया। फर्क सिर्फ इतना है कि मैं है इस कुंजी और मान सीएसएस है मैं यह करने के लिए आवेदन कर रहा हूँ कि स्टाइल। लेकिन यह है कि मैं क्या कर रहा हूँ सब मैं कर रहा हूँ है $ _GET भर पुनरावृति सब पाने के लिए महत्वपूर्ण मूल्य जोड़े की। और मैं मेज के रूप में उन्हें बाहर मुद्रण कर रहा हूँ। और, जाहिर है, मैं चाबी स्वरूपण रहा हूँ एक तरह से, <टीडी वर्ग = "कुंजी" के साथ। तो जाहिर है कि कुछ करने के लिए लागू होता है अपने सीएसएस फ़ाइल GET.CSS में कक्षा चयनकर्ता। और, जाहिर है, मैं बाहर मुद्रण कर रहा हूँ अपने मूल्यों को पूरी तरह से एक अलग तरीका है। जो बहुत ज्यादा है हम यहाँ, जहां क्या देखा हमारे मूल्यों मुद्रित किया गया एक नीले रंग की पृष्ठभूमि के साथ, और हमारी चाबियाँ मुद्रित किया गया एक पीले रंग की पृष्ठभूमि के साथ। मैं जा रहा हूँ तो है कि कैसे है उन विभिन्न शैलियों। मैं अलग सीएसएस वर्गों का उपयोग कर रहा है। लेकिन यह है कि बहुत ज्यादा इसे पाने के लिए है। जैसे मैंने सिर्फ जानकारी निकालने रहा हूँ। और इस मामले में, मैं अभी कर रहा हूँ स्क्रीन करने के लिए इसे मुद्रण। मैं, यूआरएल से बाहर हो रही है और मिलता है कि हमारे लिए क्या करता है। आप एक संभव दिख रहा है समस्या यहाँ हालांकि? शायद यही कारण है हम करेंगे $ _GET उपयोग नहीं करना चाहते? क्या है, शायद, मैं इस प्रश्न बना रही थी? --to get3.php, जो मैं मेरी आईडीई पर नहीं है। यह सिर्फ एक काल्पनिक फ़ाइल है। लेकिन यह है कि जाहिरा तौर पर यहाँ नोटिस अपना पासवर्ड गुजर रहा है। और शायद अपना पासवर्ड शर्मनाक है। या हो सकता है मैं लोगों को नहीं करना चाहते हैं अपना पासवर्ड सही है, क्या पता है। मैं उपयोग कर रहा हूँ कि अगर मैं यह though-- गुजर रहा हूँ तो $ _GET विधि है, क्या होता है, कि URL में होने जा रहा है। तो कुछ दुर्भावनापूर्ण उपयोगकर्ता हो सकता है मैं क्या कर रहा हूँ देखने में सक्षम हो। मैं उन्हें पारित हो सकता है संवेदनशील जानकारी। या शायद यह भी एक दुर्भावनापूर्ण उपयोगकर्ता नहीं है। शायद यह सिर्फ अपने दोस्त कौन है अपने कंधे पर खड़ा है। और अब वे पासवर्ड पता अपने फेसबुक अकाउंट में। और शायद वे नहीं होता इसके साथ कुछ भी कर। लेकिन अपने पासवर्ड थे फेसबुक के लिए $ _GET के माध्यम से प्रस्तुत की, अब वे अपने फेसबुक पासवर्ड पता है। यह यूआरएल में अभी भी वहीं है क्योंकि आप जानकारी प्रस्तुत किया है जब। और तो शायद यह है कि सबसे अच्छा नहीं है जिस तरह से संवेदनशील जानकारी को पारित करने के लिए। यह जानकारी पारित करने के लिए एक अच्छा तरीका है हम विशेष रूप से है कि नहीं बहुत संवेदनशील होने के रूप में के बारे में परवाह है। पाने के बहुत तेजी से होता है, अन्य सुपर वैश्विक के सापेक्ष हम इस बारे में बात करने के लिए जा रहे हैं। लेकिन शायद नहीं सबसे अच्छा उपकरण संवेदनशील जानकारी के लिए। इसके लिए हमें करने के लिए चाहते हो सकता है , $ _POST बुलाया कुछ का उपयोग जो एक और सुपर वैश्विक चर रहा है। यह एक और साहचर्य सरणी है। तो यह बहुत ज्यादा काम करता है मिल के रूप में बिल्कुल वैसा ही। छोड़कर, बजाय निकालने की यूआरएल से जानकारी, यह HTTP हेडर के माध्यम से कुछ भी करता है। तो याद से हमारे HTTP पर वीडियो, हम बात की कैसे ब्राउज़रों, सर्वर के बारे में, और ग्राहकों से संवाद। और जानकारी के लिए वापस पारित हो जाता है और आगे HTTP हेडर में। $ _POST के साथ, जानकारी आम तौर पर है उन HTTP हेडर के माध्यम से भेजा। और हम सबसे अधिक इस्तेमाल में $ _POST देखेंगे HTML रूपों को प्रस्तुत करने के संदर्भ। तुम अब भी HTML रूपों का उपयोग कर सकते हैं प्राप्त करने के लिए चीजों को प्रस्तुत करने के लिए। लेकिन वे आम तौर पर इस्तेमाल कर रहे हैं पोस्ट के संदर्भ में। तो यहाँ एक HTML फार्म का एक उदाहरण है। अब हम पहले इन देखा है, लेकिन हमारे पास इस हिस्से, कार्रवाई = "post.php" नहीं देखा। तो हम में रूपों के बारे में बात की थी जब एचटीएमएल के संदर्भ में, मैं एक सबमिट बटन था। और यदि आपको याद है, मैं सबमिट करें क्लिक करें चाहूँगा और फिर पेज बस, ताजा कुछ भी नहीं किया। इस मामले में, मैं प्रस्तुत कर रहा हूँ मैं इस फार्म में टाइप जो भी हो, post.php नामक एक पीएचपी फाइल करने के लिए। और, जाहिर है, जिस तरह से मैं कर रहा हूँ कि इस रूप में पोस्ट विधि का उपयोग कर रहा है। जानकारी की तो हर टुकड़ा मैं इस फार्म में लिखे जाने वाले प्रस्तुत किया जाएगा HTTP हेडर के माध्यम से। यह post.php में सुलभ हो जाएगा कि मेरी फार्म की कार्रवाई की है क्योंकि। यह सुलभ हो जाएगा $ _POST करने के लिए जा रहा द्वारा। और जाहिर है, जिस तरह से मैं कर सकता हूँ प्रत्येक व्यक्ति के तत्व पर मिल कि साहचर्य सरणी के साथ इस विशेषता के साथ है, हमारे इनपुट टैग का नाम विशेषता। तो जाहिरा तौर पर मैं वर्ग $ _POST कह सकते हैं कोष्ठक जो कुछ उपयोगकर्ता पाने के लिए नाम पहली बार मैदान में टाइप। और $ _POST पासवर्ड के पीडब्लू बल्कि, उपयोगकर्ता द्वारा लिखा गया जो कुछ भी पाने के लिए दूसरे क्षेत्र में। तो चलो पर एक नजर डालते हैं CS50 आईडीई में इस पर। तो यहाँ हम कर रहे हैं, और मैं हूँ एक पल के लिए ज़ूम। और हम post.html नामक एक फाइल है। मैं post.html पर क्लिक करें। मैं यहां बहुत शीर्ष पर एक बहुत ही सरल वेब फार्म। यह हम सिर्फ देखा रूप है एक दूसरी पहले स्लाइड पर। मैं, डग टाइप कर सकते हैं, और मैं कर सकता हूँ अपना पासवर्ड, जो हम सभी एक प्रकार पता है squadgoals है। और मेरा निवेदन मारा जाएगा। और जाहिर है, कि post.php के लिए प्रस्तुत है। और मुझे लगता है जाहिर है कि मुद्रण कर रहा हूँ। इसलिए मैं सभी सुरक्षा से छुटकारा मिल रहा हूँ पोस्ट में सिर्फ बाहर मुद्रण द्वारा मुझे देता है यूज़रनेम और पासवर्ड। उपयोगकर्ता का नाम डौग है। उपयोगकर्ता का पासवर्ड squadgoals है। कैसे मैं ऐसा क्यों किया? खैर, आईडीई पर पॉप फिर से एक दूसरे के लिए। हम लेने के लिए नीचे स्क्रॉल करेंगे था जो post.php पर एक नज़र, मैं प्रयोग किया जाता है कि कार्रवाई यहाँ प्रस्तुत करने के लिए। यही कारण है कि मेरी HTML फार्म की कार्रवाई की थी। और कहा कि मैं क्या कर रहा हूँ सब है। उपयोगकर्ता का नाम है, और मैं मुद्रण हूँ $ _POST "नाम" की सामग्री को बाहर। और तब उपयोगकर्ता का पासवर्ड $ _POST "पासवर्ड" है। इसलिए मुझे लगता है कि जानकारी दी गई थी HTML फार्म जमा करके। और मैं अब $ _POST का उपयोग कर इसे निकाल सकते हैं मैं संचारित करने के लिए प्रयोग किया जाता विधि क्योंकि कि फार्म के साथ डेटा पोस्ट तरीका था। अब यह शायद नहीं है मैं जा रहा हूँ, इसलिए great-- एक पल के लिए वापस जाने के लिए हमारे सेट here-- को मैं कर रहा हूँ, तो यह शायद इतना बड़ा नहीं है पोस्ट के साथ जानकारी प्रस्तुत करने, जो जाहिरा तौर पर अधिक सुरक्षित है। यह शायद इतना बड़ा नहीं है मैं तो कर रही है कि कर रहा हूँ और यदि उपयोगकर्ता का पासवर्ड को छापता है। यह अधिक सुरक्षित माना जाता है। ठीक है, लेकिन यह पूरी तरह सुरक्षित नहीं है। और इसलिए इस छोटी सी में मैं चाहता हूँ कि यहाँ टुकड़ा बस कुछ की ओर आपका ध्यान आकर्षित करने के लिए डेटा सुरक्षा चिंताओं, बस कुछ आप कर रहे हैं के रूप में के बारे में सोचने के लिए काम या इंटरनेट का उपयोग करते हुए। इस पर विचार करने के लिए अभी कुछ है। मैं जानकारी है कि आप से कहा HTTP हेडर के माध्यम से प्रस्तुत आप पोस्ट विधि का उपयोग करते हैं। जो वे पूरी तरह से सुरक्षित नहीं कर रहे हैं इसका मतलब है। वे से खोजने के लिए कठिन हो , जहां पाने विधि का उपयोग यह यूआरएल में सिर्फ सही है। लेकिन यह पता लगाने के लिए एक तरह से अभी भी है। और मैं सिर्फ दिखाने के लिए चाहते हैं आप यह तो आपको लगता है कि हो सकता है इस बारे में सोचना शुरू आप काम कर रहे हैं, या उपयोग कर रहे हैं के रूप में वेबसाइटों और प्रस्तुत पासवर्ड, और हो सकता है का उपयोग कर एक में एक ही पासवर्ड अलग-अलग स्थानों से बहुत कुछ। पता है कि अभी भी वास्तव में बहुत है किसी का पासवर्ड पता लगाने के लिए आसान नहीं है। और यहाँ तो, मैं जा रहा हूँ post2.html करने के लिए जाने के लिए। और post2.html के साथ अंतर और post2.php बहुत सूक्ष्म है। फर्क सिर्फ यह है मैं बाहर मुद्रित नहीं है कि पासवर्ड मैं फार्म जमा करते हैं। इसलिए मुझे लगता है, डग में टाइप करने के लिए जा रहा हूँ। और मैं टाइप करने के लिए जा रहा हूँ squadgoals, में, यहां तक ​​कि हम जानते हैं कि हालांकि पासवर्ड है। मैं प्रस्तुत करने से पहले मैं जा रहा हूँ, हालांकि फार्म बस के लिए, डेवलपर उपकरण को खोलने के लिए यहाँ होने जा रहा है क्या आपको दिखाते हैं। क्रोम में तो, मैं बस F12 हिट करने के लिए जा रहा हूँ। और कहा कि खोलने के लिए जा रहा है मेरी दाहिने हाथ की ओर डेवलपर उपकरण। मैं अभी तक फार्म जमा नहीं किया है। अब मैं अपने फार्म पर जमा करें हिट करने के लिए जा रहा हूँ। और जाहिर है, मैं बना एक करने के लिए कहते हैं, या मैं एक अनुरोध किया समझ में आता है, जो post2.php करने के लिए। मैं उस पर क्लिक करने के लिए जा रहा हूँ। तब यहाँ पर, मैं जा रहा हूँ हेडर पर क्लिक करें। सामान यहाँ पर जाने का एक बहुत कुछ है। लेकिन मैं बहुत करने के लिए नीचे स्क्रॉल यदि तल, सूचना का अधिकार अपने कैलेंडर there-- एक second-- अधिकार के लिए यह अवरुद्ध कर दिया है वहाँ बहुत नीचे कोने में, डौग, pw-- squadgoals name--। मैं इस पद का उपयोग कर रहा हूँ तो भले ही अधिक सुरक्षित है, जो विधि, बस, जब आप ऐसा करते हैं कि पता होना आप अभी भी सूचना प्रसारण कर रहे हैं HTTP के माध्यम से। और यह अभी भी हो सकता है एक विरोधी के द्वारा पाया। यह हम जा रहे हैं तो बस कुछ है सच के साथ सौदा करने के लिए। शायद एन्क्रिप्ट करने के लिए कुछ तरीके है हमारी पासवर्ड हम उन्हें भेजने से पहले जो एक बेहतर होगा जो मैं यहाँ क्या कर रहा हूँ। लेकिन सिर्फ पोस्ट हो पता है कि विधि भी सीमाएं हैं। इसे पाने के लिए पर एक सुधार में है तुरंत दिखाई जा रही है के मामले। लेकिन यह पूरी तरह से ठीक नहीं है। तो यहाँ का एक उदाहरण है घर व्यायाम पर एक त्वरित आप कुछ पाने के लिए उपयोग कर सकते हैं पीएचपी के साथ काम करने का अभ्यास करेंगे। वेब पृष्ठों के बाद जोड़ी बनाने के लिए। पहले सिर्फ एक बहुत ही सरल होना चाहिए एक ही क्षेत्र के साथ फार्म और एक जमा करें बटन। करने के लिए तो बहुत ही इसी तरह क्या हम सिर्फ post.html के साथ किया था। और फिर दूसरा आप बनाना चाहिए दायर एक फ़ाइल, एक PHP फ़ाइल वह है, पोस्ट के माध्यम से, इनपुट उम्मीद कर रहा है, और के आधार पर उपयोगकर्ता, क्या टाइप जो आप एक पूर्णांक होना होगा मान सकते हैं। आप कोई भी कार्य करने की जरूरत नहीं है त्रुटि जाँच या पसंद है। आप उपयोगकर्ता मान सकते हैं एक पूर्णांक मान टाइप करेंगे, या एक से व्याख्या की तरह कुछ उस प्रपत्र में एक पूर्णांक के रूप में पीएचपी। तुम सिर्फ एक बनाना चाहते हैं एन पहाड़ा द्वारा एन। उपयोगकर्ता 10 प्रस्तुत करें तो, अगर हम करना चाहते हैं एक 10 10 से पहाड़ा है। उपयोगकर्ता एक 12 प्रस्तुत करें, तो हम चाहते हैं एक 12 12 से पहाड़ा। आप देख सकते हैं अभी तो क्या हम यहाँ पर गाड़ी चला रहे हो हम पर एक नज़र रखना होगा मेरी आईडीई में इस फाइल। तो यहाँ आईडीई में, मैं mult_form.html है। मैं इसे क्लिक करेंगे। मैं करना चाहता हूँ सभी एक मूल्य प्रस्तुत है। 10 में टाइप करें, सबमिट मारा। और जाहिर है, mult_table.php, जो हम, यूआरएल में शीर्ष पर देख सकते हैं मैं एक 10 10 से निर्माण कर रहा हूँ गुणन सारणी। मैं 15 टाइप करें और मारा, तो मैं अब जमा करें एक 15 15 से पहाड़ा है। मैं, ज़ाहिर है, को दिखाने के लिए नहीं जा रहा हूँ आप mult_table.php की सामग्री, मजेदार है कि ले जाएगा, क्योंकि घर व्यायाम पर इस से बाहर। लेकिन यह कुछ पाने के लिए एक शानदार तरीका है पीएचपी छोरों के साथ काम करने का अभ्यास और पोस्ट, बहुत आसान है, उम्मीद है कि तनाव मुक्त उदाहरण के लिए, बस अभ्यास का एक छोटा सा करने के लिए। और मैं चल रहा है एक छोटे से सीएसएस मिल गया है यहाँ मेरा व्यक्तिगत तालिका बनाने के लिए करने के लिए कोशिकाओं की तरह बस बंद एक पॉप थोड़ा सा और एक छोटे से अधिक लग रही है एक पहाड़ा की तरह, विरोध के रूप में सिर्फ सिर्फ पाठ करने के लिए एक तरह से वहाँ बैठे। हम के बारे में बात करेंगे आखिरी सुपर वैश्विक इस वीडियो में कुछ कहा जाता है $ देखना। और हो सकता है कि यह वास्तव में है कुछ का सबसे अच्छा उदाहरण हम वैश्विक विचार किया जाएगा। यह एक और सरणी है। यह एक और साहचर्य सरणी है। लेकिन यह हर माध्यम से सुलभ है हमारे सिस्टम पर मौजूद है कि PHP फ़ाइल। हम प्रस्तुत करने की जरूरत नहीं है एक बार में जानकारी एक पेज जैसे हम मिल के साथ और पोस्ट के साथ करते हैं। यह हमेशा वहाँ है। और इसलिए यह एक पेज के लिए अच्छा है आप उदाहरण के लिए, लॉग इन कर रहे हैं, जहां और आप अपनी प्रवेश जानकारी चाहते हैं पृष्ठ पृष्ठ से जारी रहती है। आप तो बस एक सत्र शुरू कर सकते हैं की तरह चीजों को बचाने के लिए $ देखना उपयोग उपयोगकर्ता का नाम, या उपयोगकर्ता के आईडी की जानकारी, और इतने पर। और उस जानकारी में रहेगा $ देखना आप सत्र को नष्ट तक पर बाद में एक छोटा सा। साथ गतिशील वेबसाइटों लेखन पीएचपी एक बहुत उन्हें बेहतर बनाता है। अपनी साइटों बन बहुत गतिशील है, और यदि आप नहीं करते से भी ज्यादा क्या करना है आप तो बस किया होता HTML के साथ यह कर रहा है। लेकिन यह अभ्यास की आवश्यकता है, अभ्यास का एक बहुत। आप पहले से ही, सी के साथ काम करने के लिए पता और इतने पीएचपी के लिए कूद भी मुश्किल नहीं है। क्या हो सकता है एक छोटी सी है मुश्किल सा काम कर रहा है जाओ और पोस्ट के इस नए विचार के साथ, और शायद अपने एचटीएमएल और अपने PHP मिश्रण एक साथ। लेकिन यह भी इंटरनेट कि बारे में पता होना जानकारी का एक विशाल भंडार है। और पीएचपी के दस्तावेज उपलब्ध है कई स्थानों में, लेकिन शायद सबसे शास्त्रीय विधि php.net पर। और तुम वहाँ मिल सकते हैं विभिन्न कार्यों के बहुत सारे, और मामलों, और उदाहरण का उपयोग उदाहरण पर उदाहरण हैं, पर। जहां आप कोशिश करते हैं और यह आंकड़ा करना चाहते हैं कुछ करने के लिए कैसे बाहर, बाधाओं, कर रहे हैं किसी को शायद इससे पहले कि आप यह हो चुका है। और आप के रूप में उपयोग कर सकते हैं प्रेरणा को लागू करने के लिए जो कुछ भी यह आप भी लागू करने की कोशिश कर रहे है। मैं डौग लॉयड हूँ। इस CS50 है।