[संगीत खेल] आरओबी BOWDEN: हाय. मैं रोब हूँ, और मैं आप तैयार हैं आशा इस समाधान में स्टॉक रख दिया. पहले, चलो रजिस्टर पर एक नजर डालते हैं. तो यह है कि यहां हम जाँच कर रहे हैं याद एक रूप था देखने के लिए अगर इस पेज पर पोस्ट किए गए. हम जा रहे हैं तो पहली बात ऐसा करने के लिए किसी और के लिए जाना है. और हम रेंडर करने के लिए जा रहे हैं रजिस्टर फार्म. तो रजिस्टर के फार्म जा रहा है register.php को पोस्ट करने के लिए. और क्या इसे भेजने के लिए जा रहा है? यह एक उपयोगकर्ता नाम भेजने के लिए जा रहा है कि उपयोगकर्ता एक पासवर्ड को भरने के लिए जा रहा है, और एक पुष्टिकरण - पासवर्ड फिर से टाइप. तो अब उस प्रपत्र को पोस्ट किया जाता है जब अगर register.php हम इस पर अमल करेंगे. अगर इस पर देख रहे हैं, हम पहली बार कर रहे हैं इनपुट को मान्य करने के लिए जा रहा है. हमें यकीन है कि बनाना चाहते यूजर का नाम और पासवर्ड खाली नहीं कर रहे थे और उस वास्तव में पुष्टि पासवर्ड से मेल खाता है. हम सत्यापित करने के बाद हम कर सकते हैं कि वास्तव में उपयोगकर्ता रजिस्टर. इसका क्या मतलब है? खैर, हम सम्मिलित करना चाहते हैं हमारे डेटाबेस में उपयोगकर्ता. और यह कि हम ऐसा कैसे करेंगे. इसलिए हम उपयोगकर्ताओं में डालने के लिए जा रहे हैं तालिका क्षेत्रों उपयोगकर्ता नाम, हैश, और नकद. नकदी का डिफ़ॉल्ट मान 10,000 होने जा रहा है. और हम उपयोगकर्ता नाम के रूप में पारित करने के लिए जा रहे हैं, पोस्ट सुपर के माध्यम से, उपयोगकर्ता नाम वैश्विक उस रूप से प्रस्तुत की है. और हम एन्क्रिप्ट करने के लिए जा रहे हैं पासवर्ड. कि सफल रहा, तो परिणाम गैर झूठी हो जाएगा. यह विफल रही, तो हम माफी चाहता हूँ. कुछ गलत हो गया. और क्या गलत हो गया हो सकता है? खैर, की जरूरत एक अद्वितीय उपयोक्तानाम. और तो क्वेरी विफल हो सकता था यदि पहले से ही उपयोगकर्ता नाम तालिका में ही अस्तित्व में. तो यह एक अद्वितीय उपयोगकर्ता नाम था, यह सोचते हैं तो हम हड़पने के लिए क्वेरी करने के लिए जा रहे हैं कि उपयोगकर्ता की आईडी. आईडी है कि याद रखें ऑटो incrementing. और इतना है कि कुछ के लिए असफल हो गया तो कारण, तो हम माफी माँगना चाहती हूँ हम आईडी को पकड़ नहीं सका कि. लेकिन फिर, यह असफल नहीं किया यह सोचते हैं कि हम क्या क्वेरी से आईडी हड़पने , हमारे सत्र में उस दुकान लौटे - इसलिए हम द्वारा में इस उपयोगकर्ता लॉग ऑन करना चाहते सत्र में आईडी के संचय सुपर वैश्विक है, और अंत में हमारे पोर्टफोलियो के लिए पुनर्निर्देशित. और कहा कि रजिस्टर के लिए है. अब हम बोली के लिए पर स्थानांतरित करने के लिए जा रहे हैं. तो भाव दिया जा रहा है एक वास्तव में इसी तरह की स्थापना की. हम इस कोड है कि यहां देखते हैं कि हम एक रूप है जब निष्पादित करने के लिए जा रहे हैं इस पेज पर पोस्ट किए गए. लेकिन पहले हम वास्तव में है उस रूप में प्रस्तुत करना करने के लिए. तो बोली प्रपत्र पर एक नज़र लेने, क्या क्षेत्रों रहे हैं वहाँ? हम सभी भाव एक ही है कि देखना नाम प्रतीक के साथ पाठ बॉक्स. और इसलिए जब बोली प्रपत्र पोस्ट किया जाता है quote.PHP के लिए हम अब करने जा रहे हैं इस कोड को निष्पादित. और हमारे बाद सुपर में ही चर वैश्विक प्रतीक होने जा रहा है. हमें यकीन है कि बनाने के लिए मान्य है कि वे वास्तव में प्रतीक तैनात हैं. अगर वे नहीं किया, हम तुम कहते हो एक प्रतीक प्रदान करनी चाहिए. , वे एक प्रतीक प्रदान किया मानते हुए हम उस प्रतीक को देखने. अब लगता है कि देखो ऊपर हो सकता है याद बाद में विफल रहा है, ठीक है, शायद यह नहीं था एक साथ शुरू करने के लिए वैध प्रतीक. तो यह वापसी झूठी देखो, हम माफी मांगना चाहता हूँ कि प्रतीक नहीं मिला था. हम प्रतीक मिल गया है, अब हम quote.PHP टेम्पलेट प्रदान कर सकते हैं. कि क्या की तरह दिखता है? वह सिर्फ मुद्रित करने के लिए जा रहा है कि एक शेयर जो कुछ शेयरों के नाम था की शेयर की कीमत है, जो कुछ भी लायक है. अब हम यह क्यों htmlspecialchars प्रयोग करते हैं समारोह? ऐसा इसलिए है क्योंकि स्टॉक नाम और प्रतीक वास्तव में विशेष हो सकते हैं अक्षर है कि नहीं होना चाहिए HTML के रूप में व्याख्या की जा. ठीक है, तो उस भाव के लिए है. अब हम index.php पर देखना चाहता हूँ और पोर्टफोलियो. लेकिन पहले हम वास्तव में निर्माण करने की आवश्यकता विभागों तालिका. यहाँ हम ऐसा करने जा रहे हैं कि कैसे है. तो चलो संरचना पर एक नज़र रखना. और हम देखते हैं कि विभागों तालिका एक आईडी के लिए जा रहा है. तो यह है कि उपयोगकर्ता के होने जा रहा है शेयरों डालने है कि आईडी. हम होने जा रहा है जो एक प्रतीक है, हम कर रहे हैं कि कंपनी का प्रतीक के लिए शेयरों डालने. और फिर शेयरों की संख्या है डाला जा रहा है कि शेयरों. तो, pset कल्पना के अनुसार कि याद हम चाहते हैं कि पहचान पत्र और प्रतीक निर्दिष्ट - हम अनुक्रमित, आईडी और बाहर की जांच प्रतीक प्राथमिक कुंजी है. तो एक यूजर आईडी और प्रतीक बाँधना केवल एक ही प्रकट करना चाहिए इस तालिका में समय. अब के कोड को देखो. तो अब index.php सभी हड़पने के लिए जा रहा है हमारे पोर्टफोलियो जानकारी और की यह उपयोगकर्ता के लिए प्रदर्शित करते हैं. तो सबसे पहले, हम नकदी हड़पने के लिए जा रहे हैं उपयोगकर्ता वर्तमान में से है कि कैश तालिका. उस प्रश्न को हमेशा के लिए जा रहा है, याद रखें सरणियों की एक सरणी वापस जाने के लिए. हम केवल नकद चयनित तो फिर भी एक ही पंक्ति से, हम अभी भी करने की जरूरत है अनुक्रमण द्वारा कि नकदी हड़पने zeroth पंक्तियों के सूचकांक और हथियाने नकद सूचकांक. तो अब हम सभी का चयन करना चाहते हैं विभागों तालिका से जानकारी कि वर्तमान में करने के लिए प्रासंगिक है उपयोगकर्ता में लॉग इन किया. हम बेशक कि मान्य करने की आवश्यकता कि वास्तव में सफल रहा जो हम हम क्वेरी जब भी हमेशा करना चाहिए. हम उस जानकारी के सभी एक बार, pset कल्पना हमें कि हम बताते हैं अच्छी तरह से स्टोर करने के क्रम में इस करना चाहिए इस में जानकारी के सभी पदों सरणी. इसलिए हम सभी पर पाशन कर रहे हैं ऊपर लग पोर्टफोलियो जानकारी, में प्रत्येक पंक्ति के साथ जुड़े स्टॉक फिर पोर्टफोलियो की जानकारी, और स्थिति सरणी में नाम के भंडारण, कीमत, शेयर और प्रतीक सभी उस स्टॉक के साथ जुड़े. और अंत में, हम प्रस्तुत करने जा रहे हैं portfolio.PHP, राशि में गुजर नकदी की हम वर्तमान में है, पदों सरणी कि हम सिर्फ निर्माण, और इस का शीर्षक पोर्टफोलियो होगा जो पेज. के portfolio.PHP पर एक नज़र रखना. और हम देखते हैं कि प्रमुख दिलचस्प हिस्सा इस पाश है. इसलिए हम पदों पर पाशन कर रहे हैं सरणी, एक बनाने मेज, जहां कि मेज - हम साथ प्रत्येक पंक्ति populating कर रहे हैं हम अंदर डाल दिया कि जानकारी पदों सरणी. फिर, हम htmlspecialchars उपयोग करने की आवश्यकता मामले में इस प्रतीक या नाम HTML वर्ण होते हैं. और यहाँ हम कीमत बढ़ रही है और कर रहे हैं हम हैं कि शेयरों की राशि आदेश में कहा कि कितना पाने के लिए उपयोगकर्ता के लिए वर्तमान मूल्य. और कहा कि पोर्टफोलियो के लिए है. अब हम बेचने पर एक नज़र रखेंगे. तो बेचने वापस करने के लिए जाना जा रहा है हम register.php में था कि प्रारूप. हम एक फार्म जा रहा है कि देखना इस पेज को तैनात किया जाना है. लेकिन पहले, हम पेज लोड करते हैं, हम यह करने के लिए जा रहे हैं. तो यह क्या कर रहा है? खैर, हम सिर्फ बेचना पेज हो सकता था एक एकल पाठ बॉक्स है कि उपयोगकर्ता है इस प्रतीक में प्रवेश करती है हम बेचना चाहते हैं. लेकिन हमें थोड़ा और अधिक चालाक हो जा रहे हैं और हम एक बूंद लिए जा रहे हैं कि उपयोगकर्ता का चयन करने के लिए अनुमति देता है नीचे वे पहले से ही है कि वास्तविक प्रतीकों. तो हम उपयोगकर्ता के पोर्टफोलियो हो रही है. हम विभागों से चयन करने के लिए जा रहे हैं प्रतीकों में से एक है कि सभी उपयोगकर्ता वर्तमान में, वर्तमान में है उपयोगकर्ता में लॉग इन किया. कि सफल रहा है कि सुनिश्चित करें. और अब हम पर पाश के लिए जा रहे हैं बस हथियाने जानकारी लौटे प्रत्येक प्रतीक, और यह भंडारण इस चिह्न सरणी में. और अब हम जा रहे हैं बेचने प्रपत्र प्रस्तुत करना. तो बेचने फार्म जा रहा है अभी एक ड्रॉप डाउन मेनू, एक का चयन किया जाना है. और बेचने के रूप में एक विकल्प है सिर्फ प्रतीक बाहर मुद्रित करने के लिए जा रहा हम से पकड़ा कि विभागों तालिका. तो बेचने फार्म जा रहा है वापस sell.PHP को जमा करें. Sell.PHP को देखते हुए, यह कोड है हम प्रस्तुत करते हैं तो उस पर अमल करने के लिए जा रहा है इस पृष्ठ पर. हम मान्य करने के लिए चाहता हूँ कि उपयोगकर्ता वास्तव में एक प्रतीक में प्रवेश किया. अब वे किया था कि यह सोचते हैं - तो अब हम यह निर्धारित करने के लिए चाहते हैं कि कितने उपयोगकर्ता वास्तव में बेच रही है शेयरों और उपयोगकर्ता कितना पैसा मिलना चाहिए कि कई शेयरों की बिक्री के लिए. इसलिए हम शेयरों की संख्या हड़पने कि उपयोगकर्ता इस प्रतीक के लिए किया है. हम के लिए विभागों में देख रहे हैं उपयोगकर्ता और दी प्रतीक दी. अब यकीन है कि वास्तव में उस बनाना एक पंक्ति लौट आए. यह नहीं था, तो उपयोगकर्ता नहीं है, क्योंकि वास्तव में बेचने के लिए है कि प्रतीक है. , वे कहते हैं कि प्रतीक है ऐसा मान लिया जाये हम की संख्या हथियाना चाहते हैं वे है कि शेयरों. और अब हम देखो कैसे करना चाहते हैं ज्यादा प्रत्येक शेयर के लायक है. इसलिए हम देखो समारोह का इस्तेमाल किया. हम मूल्य को देख रहे हैं प्रतीक की. अब, देखो सफल मानते हुए कि हम वास्तव में सभी को अद्यतन करने के लिए जा रहे हैं जानकारी. इसलिए हम विभागों से हटाना चाहते हैं हम बेच रहे हैं कि शेयरों. हम उपयोगकर्ता का अद्यतन करना चाहते हैं नकदी की राशि. और हम शेयरधारक इसे अपडेट कर रहे हैं बार शेयर की कीमत - इतना है कि कितना पैसा उपयोगकर्ता अभी बनाया. और अब हम अपने इतिहास को अद्यतन करना चाहते हैं. तो हम एक बार देख नहीं लिया है अभी तक के इतिहास की मेज पर. इसलिए हम वापस इस के लिए आया हूँ. अब अंत में हम पुनर्निर्देशित करने के लिए जा रहे हैं पोर्टफोलियो में वापस. अब चलो खरीदें पर एक नजर डालते हैं. तो, खरीदने सुंदर होना चाहिए बेचने के लिए इसी तरह की. हम फिर से जा रहे हैं कि देखने हम कर रहे हैं देखने के लिए जाँच करने के लिए इस पेज को प्रस्तुत करने. हम, हम कर रहे हैं नहीं कर रहे हैं कि मानते हुए खरीदें प्रपत्र लोड करने के लिए जा रहा है. तो क्या खरीदें फार्म की तरह दिखता है? हम यह सिर्फ एक नियमित चलो यहाँ देखते कि जा रहा है फार्म वापस buy.PHP को जमा करें. और यह एक प्रतीक है जा रहा है कि उपयोगकर्ता, प्रवेश कर रहा है की संख्या उपयोगकर्ता खरीदना चाहता है कि शेयर उस प्रतीक की, और यह बात है. हम buy.PHP को वापस जमा कर तो, जब हम कर रहे हैं अब इस कोड को निष्पादित करने के लिए जा रहा है. हम फिर से मान्य करने के लिए चाहता हूँ कि उपयोगकर्ता वैध कुछ में प्रवेश किया. यहाँ तो हमें यकीन है कि वे कर रहे हैं वास्तव में एक प्रतीक में प्रवेश किया. यहाँ हम यकीन कर रहे हैं वे वास्तव में प्रवेश किया शेयरों. और यहाँ हम यकीन कर रहे हैं वे शेयरों के लिए एक पूर्णांक में प्रवेश किया, तो वे एबीसी के शेयरों को खरीदने की कोशिश नहीं कर रहे हैं. अब हम की कीमत को देखना चाहता हूँ प्रतीक तो हम कितना पैसा हम जानते हैं उपयोगकर्ता से घटाना चाहिए. अब हम चुनेंगे कितना नकद उपयोगकर्ता वास्तव में है और यह सुनिश्चित करें कि कि सफल रहा. यहाँ हम नकदी हथियाने रहे हैं. और अब यहाँ, हमें यकीन है कि कर रहे हैं उपयोगकर्ता पर्याप्त नकदी है कि. तो अगर शेयरों की संख्या उपयोगकर्ता बार प्रत्येक की कीमत खरीदना चाहता है उन शेयरों की तुलना में अधिक है हम हैं कि नकदी की मात्रा, तब उपयोगकर्ता बर्दाश्त नहीं कर सकता. उपयोगकर्ता पर्याप्त नकदी है कि मान लिया जाये कि, अब हम में सम्मिलित करना चाहते हैं उपयोगकर्ता के पोर्टफोलियो. खैर, हम उपयोगकर्ता के में सम्मिलित करेंगे इस होना होता पोर्टफोलियो अगर उपयोगकर्ता खरीद रहा है पहली बार उस विशेष प्रतीक. लेकिन क्या वे पहले से ही होता है कुछ एप्पल स्टॉक है करने के लिए? खैर, अब हम पर का उपयोग कर रहे हैं कुंजी अद्यतन बयान नकल. इससे पहले हम निर्दिष्ट क्यों तो यह है कि आईडी और प्रतीक एक संयुक्त होना चाहिए प्राथमिक कुंजी, इतना है कि हम करने की कोशिश हैं कि एक आईडी और प्रतीक सम्मिलित वहां पहले से ही है, हम बस अद्यतन हूँ कि नए शेयर शामिल करने के लिए शेयरों उपयोगकर्ता खरीद रहा है. अब हम राशि का अद्यतन करना चाहते हैं उपयोगकर्ता है कि नकदी, क्योंकि वे सिर्फ उन शेयरों पर कुछ पैसे खर्च किए. और अंत में, हम अद्यतन हूँ इतिहास तालिका फिर से. कौन सा है, फिर से, हम देख लेंगे एक दूसरे में. और अंत में हम पुनर्निर्देशित हूँ portfolio.PHP के लिए वापस. तो चलो पर एक नज़र रखना इतिहास तालिका. अब इतिहास तालिका है कि याद सभी खरीदता है का ट्रैक रखने के लिए और करने के लिए चाहिए सभी उपयोगकर्ताओं को बस, नहीं बना है कि बेचता शेयरों की मौजूदा संख्या कि उपयोगकर्ताओं है, जो है क्या पोर्टफोलियो के लिए है. तो हम उपयोगकर्ता का ट्रैक रख रहे हैं कि खरीदने या चाहे बेच रही है इस विशेष लेन - देन एक खरीदने गया था या बेचने, किया जा रहा है कि प्रतीक खरीदा या बेचा, की संख्या शेयरों हम खरीद या बेच रहे हैं कि जा रहा है कि एक भी शेयर की कीमत समय, अंत में खरीदा या बेचा, और कि इस खरीद या बेच उत्पन्न हो रही है. और कहा कि इतिहास के सभी है जरूरत है कि हम जानकारी का ट्रैक रखने के लिए. हम बेचने को देखा तो, जब हमने देखा कि हम इतिहास बेचने में डालने थे, हम खरीद या बेच रहे हैं या नहीं, वर्तमान समय टिकट, और वर्तमान उपयोगकर्ता, किया जा रहा है कि प्रतीक बेचा, कर रहे हैं कि शेयरों की संख्या बेचा, और कीमत की जा रही है इस समय शेयर. इसी तरह, खरीदें, यह हूँ लगभग एक ही देखो. फर्क सिर्फ इतना बजाय है बेचने की, हम खरीद रहे हैं. तो बेचने में और खरीदने के लिए, हम में डालने रहे हैं इतिहास तालिका के सभी खरीदता है और हो रहा है कि बेचता है. तो history.PHP सब करने की जरूरत हड़पने है इतिहास से जानकारी तालिका, यकीन है कि यह सफल बनाने, और उस जानकारी को प्रस्तुत करना. तो history.PHP टेम्पलेट को देख, रोचक जानकारी यहीं है. हम सभी पर पाशन कर रहे हैं लेनदेन, छपाई यह है कि क्या एक स्वरूपण, खरीदने या बेचने दिनांक समय था हम इस लेन - देन किया है कि. हम htmlspecialchars उपयोग करने की आवश्यकता याद रखें पर प्रतीक, सिर्फ मामले में. और अंत में, की संख्या स्वरूपण कीमत खरीदा है और कर रहे थे कि शेयरों उस समय एक भी शेयर की. और कहा कि इतिहास के सभी प्रदर्शित करता है जरूरत है कि हम जानकारी. और कहा कि इस pset के लिए है. मेरा नाम रोब है, और इस CS50 वित्त था.