[موسیقی بجانا] روب Bowden: ہیلو. میں روب ہوں، اور میں آپ کے لئے تیار ہیں امید ہے کہ اس حل میں اسٹاک ڈال. سب سے پہلے، کی ورڈ پر ایک نظر ڈالیں. تو ہے کہ ہم یہاں کی جانچ پڑتال کر رہے ہیں یاد ایک شکل تھی تو دیکھنے کے لئے اس صفحے پر پوسٹ. ہم جا رہے ہیں تو سب سے پہلی چیز ایسا کرنے کے لئے کسی کے لئے جانا ہے. اور ہم فراہم کرنے کے لئے جا رہے ہیں ورڈ فارم. تو ورڈ فارم کی جا رہی ہے register.PHP پوسٹ کرنے. اور کیا اس کے بھیجنے کے لئے جا رہی ہے؟ یہ ایک اسم بھیجنے کے لئے جا رہا ہے صارف، ایک پاس ورڈ کو بھرنے کے لئے کی جا رہی ہے، اور ایک تصدیق - پاس دوبارہ ٹائپ. تو اب اس فارم پر پوسٹ کیا جاتا ہے جب اگر register.PHP ہم اس پر عمل کریں گے. تو اس کی تلاش میں، ہم سب سے پہلے ہو ان پٹ کی توثیق کرنے کے لئے جا. ہم اس بات کو یقینی بنانے کے لئے چاہتے صارف کا نام اور پاس خالی نہیں تھے اور یہ کہ اصل میں تصدیق پاس سے میل کھاتا ہے. ہم تصدیق کی ہے ایک بار ہم کر سکتے ہیں کہ اصل صارف رجسٹر کریں. اس کا کیا مطلب ہے؟ ٹھیک ہے، ہم داخل کرنا چاہتے ہیں ہمارے ڈیٹا بیس میں صارف. اور یہ ہم ایسا کریں گے کس طرح ہے. تو ہم صارفین میں داخل کرنے جا رہے ہیں ٹیبل کے کھیتوں رکن کا نام، ہیش، اور نقد رقم کی. نقد رقم کی طے شدہ قیمت 10،000 جا رہا ہے. اور ہم صارف کا نام کے طور پر منتقل کرنے کے لئے جا رہے ہیں، پوسٹ سپر کے ذریعے، صارف کا نام عالمی ہے کہ فارم سے پیش کیا ہے. اور ہم کو خفیہ کرنے کے لئے جا رہے ہیں پاس. کہ کامیاب تو، اس کے بعد کے نتائج غیر باطل ہو جائے گا. اس میں ناکام رہے، تو ہم معذرت خواہ ہیں کرنا چاہتے ہیں. کچھ غلط ہو گیا. اور کیا غلط جا سکتا ہے؟ ٹھیک ہے، کی ضرورت ہے ایک منفرد صارف کا نام. اور اس طرح کے سوال میں ناکام رہے ہیں کر سکتے ہیں اگر پہلے ہی صارف کا نام ٹیبل میں موجود. تو یہ ایک منفرد صارف کا نام تھا سنبھالنے کے، تو ہم پر قبضہ کرنے کے سوال کرنے جا رہے ہیں اس صارف کے شناختی. ID ہے یاد رکھیں کہ آٹو incrementing. اور تو ہے کہ کچھ کے لئے ناکام ہو گیا تو وجہ، تو ہم معذرت خواہ ہیں کرنا چاہتے ہیں ہم ID پر قبضہ نہیں کر سکتے. لیکن اس وقت، یہ ناکام نہیں تھا کہ سنبھالنے ہم کیا استفسار سے شناختی قبضہ ، ہماری سیشن میں اس کی دکان واپس - تو ہم سے اس صارف کی لاگ ان کے لئے چاہتے ہیں اجلاس میں شناختی ذخیرہ کرنے سپر عالمی، اور آخر میں ہمارے پورٹ فولیو پر ری ڈائریکٹ. اور یہ کہ ورڈ کے لئے ہے. اب ہم اقتباس پر منتقل کرنے کے لئے جا رہے ہیں. تو اقتباس کی جا رہی ہے ایک بہت ہی اسی طرح سیٹ اپ. ہم اس کوڈ ہے کہ یہاں دیکھتے ہیں کہ ہم ایک شکل ہے جب عمل کرنے کے لئے جا رہے ہیں اس صفحے پر پوسٹ. لیکن اس سے پہلے ہم اصل میں ہے اس فارم فراہم کرنے کے لئے. تو اقتباس فارم پر ایک نظر لے، کیا شعبوں ہیں؟ ہم سب اقتباس ایک ہے دیکھتے ہیں کہ نام علامت کے ساتھ متن باکس. اور اس طرح جب اقتباس فارم پوسٹ کیا جاتا ہے quote.PHP پر اب ہم جا رہے ہیں اس کوڈ کو پھانسی. اور ہماری پوسٹ سپر میں صرف متغیر عالمی علامت کی جا رہی ہے. ہم اس بات کو یقینی بنانے کے لئے کہ کی توثیق وہ اصل میں علامت پوسٹ. وہ نہیں کیا اور اگر، ہم آپ کا کہنا ہے کہ علامت مہیا کرنا ضروری ہے. ، وہ ایک علامت فراہم کیا سمجھتے ہم اس علامت نظر. اب اس کی نظر کو ہو سکتا ہے یاد بعد میں ناکام رہے، ساتھ ساتھ، شاید یہ نہیں تھا کے ساتھ شروع کرنے کے لئے درست علامت. تو اس کی واپسی جھوٹے دیکھو، ہم معذرت خواہ ہیں کرنا چاہتے ہیں علامت نہیں پایا گیا. ہم علامت محسوس کیا ہے ایک بار، اب ہم quote.PHP سانچے فراہم کر سکتے ہیں. کیا طرح لگتی ہے؟ یہ صرف پرنٹ کرنے کے لئے جا رہا ہے کہ ایک حصہ جو کچھ بھی اسٹاک نام تھا اسٹاک کی قیمت جو کچھ بھی ہے کے قابل ہے. اب ہم کیوں اس htmlspecialchars استعمال کرتے ہیں تقریب؟ یہی ہے کیونکہ اسٹاک کے نام اور علامت اصل میں خصوصی پر مشتمل ہو سکتا ہے حروف کہ نہیں ہونا چاہئے HTML کے طور پر تشریح کی جائے. ٹھیک ہے، تو یہ اقتباس کے لئے ہے. اب ہم index.php کو دیکھنے کے لئے چاہتے ہیں، اور پورٹ فولیو. لیکن اس سے پہلے ہم اصل میں تعمیر کرنے کی ضرورت ہے محکموں کی میز. یہاں ہم ایسا کرنے کے لئے جا رہے ہیں. تو ساخت میں ایک نظر ڈالیں. اور ہم دیکھتے ہیں کہ محکموں میز ایک ID کی جا رہی ہے. تو اس صارف کی جا رہا ہے حصص داخل ہے کہ شناختی. ہم جا رہا ہے جس میں ایک علامت ہے، ہم اس کمپنی کی علامت کے لئے حصص داخل. اور اس کے بعد حصص کی تعداد ہے داخل کیا جا رہا ہے کے حصص. تو، pset رپورٹ کے مطابق یاد رکھیں کہ ہم نے اس کی شناخت اور علامت کی وضاحت - ہم اشاریہ جات، ID اور چیک علامت بنیادی کلید ہے. تو ایک صارف کی شناخت اور علامت جوڑی صرف ایک ظاہر ہو جانی چاہئے اس کے ٹیبل میں وقت. اب کوڈ کو دیکھو. تو اب index.php کو تمام پر قبضہ کرنے جا رہی ہے ہمارے پورٹ فولیو کے بارے میں معلومات اور صارف کو اس کے ظاہر. تو سب سے پہلے، ہم نقد قبضہ کرنے کے لئے جا رہے ہیں رکن کی طرف سے ہے نقد رقم کی میز. اس کے سوال ہمیشہ رہا ہے، یاد رکھیں arrays کے ایک صف واپس کرنے کے لئے. ہم صرف نقد منتخب تو اگرچہ ایک صف سے، ہم اب بھی کرنے کی ضرورت ہے میں تخکرمن کی طرف سے اس کی نقد رقم پر قبضہ zeroth قطاروں کی انڈیکس اور پکڑ نقد انڈیکس. تو اب ہم میں سے سب کے منتخب کرنے کے لئے چاہتے ہیں، محکموں کے ٹیبل سے معلومات اس وقت سے متعلق ہے صارف لاگ. ہم یقینا اس کو درست کرنے کی ضرورت ہے کہ اصل میں، کامیاب جو ہم ہم نے استفسار جب بھی ہمیشہ کرنا چاہئے. ہم اس کی تمام معلومات ہے ایک بار، pset رپورٹ ہماری ہے کہ ہم کے بارے میں مطلع اچھی طرح محفوظ کرنے کے لئے اس کو کیا کرنا چاہئے اس میں تمام معلومات عہدوں صف. تو ہم میں سے سب سے زیادہ looping کر رہے ہیں دیکھ پورٹ فولیو کے بارے میں معلومات، میں ہر صف کے ساتھ منسلک اسٹاک پھر پورٹ فولیو کے بارے میں معلومات، اور پوزیشن صف میں نام کو ذخیرہ کرنے، قیمت، حصص اور علامت تمام کہ اسٹاک کے ساتھ منسلک. اور آخر میں، ہم فراہم کرنے کے لئے جا رہے ہیں portfolio.PHP، رقم میں گزر نقد رقم کی ہم فی الحال ہے، عہدوں سرنی ہے کہ ہم صرف تعمیر، اور اس کا عنوان پورٹ فولیو ہو جائے گا جس کے صفحے. کی portfolio.PHP پر ایک نظر ڈالیں. اور ہم دیکھتے ہیں کہ بڑی دلچسپ حصہ اس لوپ ہے. تو ہم عہدوں پر looping کر رہے ہیں صف، ایک پیدا میز، کہ جہاں میں تبدیلیاں کریں - ہم میں سے ہر ایک صف والے کر رہے ہیں ہم اندر ڈال دیا ہے کہ معلومات عہدوں صف. ایک بار پھر، ہم htmlspecialchars استعمال کرنے کی ضرورت صورت میں اس علامت یا نام ایچ ٹی ایم ایل حروف پر مشتمل. اور ہم یہاں کی قیمت ضرب اور کر رہے ہیں کہ ہم حصص کی رقم حکم میں ہے کہ کس طرح زیادہ سے زیادہ حاصل کرنے کے لئے صارف کو اس وقت کے قابل. اور اس کے پورٹ فولیو کے لئے ہے. اب ہم فروخت پر ایک نظر ڈالیں گے. تو فروخت واپس جانے کے لئے کی جا رہی ہے ہم register.PHP میں تھا اس شکل. ہم نے ایک فارم جا رہا ہے دیکھتے ہیں کہ اس صفحے پر پوسٹ کیا جائے گا. لیکن سب سے پہلے، ہم نے کا صفحہ لوڈ جب، ہم ایسا کرنے جا رہے ہیں. تو اس کا کیا کر رہا ہے؟ ٹھیک ہے، ہم صرف فروخت پیج کر سکتے ہیں ایک ٹیکسٹ باکس ہے کہ صارف ہے یہ علامت داخل ہوتا ہے کہ ہم فروخت کرنا چاہتے ہیں. لیکن ہم تھوڑا سا زیادہ ہوشیار ہو جائے جا رہے ہیں اور ہم ایک بوند لئے جا رہے ہیں اس صارف کے منتخب کرنے کے لئے کی اجازت دیتا ہے کے نیچے وہ پہلے سے ہی ہے کہ اصل علامات. تو ہم صارف کے پورٹ فولیو حاصل کر رہے ہیں. ہم محکموں کی طرف سے منتخب کرنے کے لئے جا رہے ہیں علامات میں سے سب اس صارف فی الحال، اس وقت ہے صارف لاگ. کہ کامیاب یقینی بنائیں کہ. اور اب ہم پر لوپ کرنے جا رہے ہیں صرف پکڑ، معلومات واپس ہر علامت، اور اسے محفوظ کرنے کے یہ علامات کی صف میں. اور اب ہم جا رہے ہیں فروخت فارم فراہم. تو فروخت فارم کے لئے جا رہا ہے صرف ایک مینو کے نیچے ڈراپ، ایک منتخب ہو. اور فروخت کی شکل میں ہر ایک کا اختیار ہے صرف علامت باہر پرنٹ کرنے کے لئے جا ہم سے پکڑا ہے محکموں کی میز. تو فروخت فارم کے لئے کی جا رہی ہے واپس sell.PHP کو جمع. sell.PHP کی تلاش میں، اس کوڈ ہے ہم جمع کرتے وقت کہ پر عمل کرنے جا رہا ہے اس صفحے پر. ہم کو درست کرنے کے لئے چاہتے ہیں کہ صارف اصل میں علامت میں داخل. اب وہ کیا ہے کہ سنبھالنے - تو اب ہم اس بات کا تعین کرنا چاہتے ہیں کتنے صارف اصل میں فروخت کر رہی ہے حصص اور صارف کو کتنا نقد حاصل کرنا چاہئے کہ بہت سے حصص کی فروخت کے لئے. تو ہم نے شیئروں کی تعداد پر قبضہ ہے اس رکن نے اس علامت کے لئے ہے. ہم محکموں میں تلاش کر رہے ہیں صارف اور دی علامت دی. اب اس بات کا یقین ہے کہ اصل بنانے ایک قطار میں واپس آئے. یہ نہیں کیا تو، صارف نہیں ہے اصل میں فروخت کرنے کے لئے کہ علامت ہے. ، وہ اس کی علامت ہے فرض ہم کی تعداد پر قبضہ کرنا چاہتے ہیں وہ ہے کہ حصص. اور اب ہم نظر کرنا چاہتے ہیں کس طرح زیادہ سے زیادہ ہر ایک کے حصہ کے قابل ہے. تو ہم نظر تقریب کا استعمال کیا. ہم قیمت تلاش کر رہے ہیں علامت کی. دیکھو، اب تک کامیاب یہ سمجھتے ہوئے کہ ہم اصل میں سب کو اپ ڈیٹ کرنے جا رہے ہیں کے بارے میں معلومات. تو ہم محکموں سے خارج کرنا چاہتے ہیں ہم بیچ رہے ہیں کہ حصص. ہم صارف کا اپ ڈیٹ کرنا چاہتے نقد کی رقم. اور ہم حصص کی طرف سے اس کو اپ ڈیٹ کر رہے ہیں اوقات اسٹاک قیمت - تو یہ ہے کتنی رقم صارف صرف کر دیا. اور اب ہم ہماری تاریخ کو اپ ڈیٹ کرنا چاہتے ہیں. تو ہم ایک نظر نہیں لیا ہے ابھی تک کی تاریخ کی میز پر. تو ہم واپس آ جائیں گے. اب آخر میں ہم ری ڈائریکٹ کرنے کے لئے جا رہے ہیں پورٹ فولیو کی حمایت. اب خریدنے پر ایک نظر ڈالیں. تو، خریدنے خوبصورت ہونا چاہئے فروخت کرنے کے لئے اسی طرح کی. ہم پھر سے جا رہے ہیں دیکھتے ہیں کہ ہم تو دیکھنے کے لئے چیک کرنے کے لئے اس صفحہ پر جمع. ہم، ہم نہیں کر رہے ہیں یہ سمجھتے ہوئے کہ خرید فارم لوڈ کرنے کے لئے جا رہا ہے. تو کیا خرید فارم طرح لگتی ہے؟ ہم اسے صرف ایک باقاعدہ یہاں دیکھ کہ جا رہا ہے کی تشکیل واپس buy.PHP کو جمع. اور یہ ایک علامت ہے جا رہا ہے صارف، داخل ہو رہا ہے کی تعداد صارف خریدنے کے لئے چاہتا ہے کے حصص کہ علامت کی، اور یہ کہ یہ ہے. ہم buy.PHP واپس جمع کرائیں تو ہم ہیں اب اس کوڈ پر عمل کرنے کے لئے جا. ہم ایک بار پھر توثیق کرنا چاہتے ہیں صارف درست کچھ داخل. تو یہاں ہم اس بات کا یقین ہے کہ وہ کر رہے ہیں اصل میں علامت میں داخل. یہاں ہم اس بات کو یقینی بنا رہے ہیں کہ وہ اصل میں داخل حصص. اور ہم یہاں اس بات کو یقینی بنا رہے ہیں کہ وہ حصص کے لئے ایک عدد صحیح میں داخل، تو وہ اے بی سی کے حصص خریدنے کی کوشش نہیں کر رہے ہیں. اب ہم کی قیمت تلاش کرنے کے لئے چاہتے ہیں، علامت تو ہم کتنا نقد ہم جانتے ہیں صارف کی طرف سے منہا کرنا چاہئے. اب ہم منتخب کریں گے کتنا نقد صارف اصل میں ہے اور اس بات کو یقینی بنانے کے کہ کامیاب. یہاں ہم نقد پکڑ رہے ہیں. اور اب یہاں، ہم اس بات کا یقین کر رہے ہیں صارف کافی نقد رقم ہے. اگر ایسا ہے تو شیئروں کی تعداد صارف بار ہر ایک کی قیمت میں خریدنے کے لئے چاہتا ہے ان کے حصص کی سے زیادہ ہے کہ ہم نقد کی رقم کی، اس کے بعد صارف کہ متحمل نہیں ہو سکتا. صارف کافی نقد رقم ہے، یہ سمجھتے ہوئے کہ، اب ہم میں داخل کرنا چاہتے ہیں صارف کے پورٹ فولیو. ٹھیک ہے، ہم صارف کی میں داخل کریں گے یہ ہو پورٹ فولیو تو صارف خرید رہا ہے پہلی بار اس مخصوص علامت. لیکن کیا وہ پہلے سے ہی ہو تو کچھ سیب اسٹاک ہے؟ ٹھیک ہے، اب ہم کا استعمال کر رہے ہیں اہم اپ ڈیٹ بیان نقل. پہلے ہم مخصوص کیوں تو یہ ہے کہ ID اور علامت ایک مشترکہ ہونا چاہئے بنیادی کلید، تاکہ ہم کرنے کی کوشش کریں تو ہیں کہ ایک کی شناخت اور علامت داخل وہاں پہلے سے ہی، ہم صرف اپ ڈیٹ کریں گے نئے حصص شامل کرنے کے لئے حصص صارف خرید رہا ہے. اب ہم رقم کا اپ ڈیٹ کرنا چاہتے صارف ہے کہ نقد رقم، کے بعد انہوں نے صرف ان حصص پر کچھ پیسہ خرچ. اور آخر میں، ہم کو اپ ڈیٹ کروں گا تاریخ کی میز پھر. کون، پھر، ہم دیکھیں گے ایک دوسرے میں. اور آخر میں ہم نے ری ڈائریکٹ کریں گے portfolio.PHP واپس. تو میں ایک نظر ڈالیں تاریخ کی میز. اب تاریخ کی میز ہے یاد رکھیں کہ تمام خریدتا ہے کا ٹریک رکھنے کے لئے اور کرنے کی توقع تمام صارفین کو صرف، نہیں ہے کہ فروخت کرتا ہے حصص کی موجودہ تعداد ہے صارفین کی ہے جس میں، ہے کیا پورٹ فولیو کے لئے ہے. تو ہم صارف کا ٹریک رکھنے کر رہے ہیں خریدنے یا، فروخت کر رہی ہے یہ خاص طور پر لین دین کے ایک خرید تھا یا ایک فروخت، جا رہا ہے کہ علامت خریدا یا فروخت، کی تعداد میں حصص ہم، خریدنے یا فروخت کر رہے ہیں جا رہا ہے کہ ایک ایک حصہ کی قیمت وقت، آخر میں خریدا یا بیچا، اور کہ اس کی خرید یا فروخت جاری ہے. اور یہ تاریخ کے سب ہمیں ضرورت ہے کہ معلومات کے ٹریک رکھنے کے لئے. ہم فروخت کرتے دیکھا تو، ہم نے دیکھا کہ ہم تاریخ فروخت میں داخل کیا گیا تھا، ہم خریدنے یا فروخت کر رہے ہیں کہ آیا کے طور پر، موجودہ وقت سٹیمپ، اور موجودہ صارف، جا رہا ہے کہ علامت فروخت، ہیں شیئروں کی تعداد فروخت اور قیمت کے کیا جا رہا ہے اس وقت اسٹاک. اسی طرح، خرید میں، یہ کریں گے تقریبا ایک ہی نظر آتے ہیں. فرق صرف اس کی بجائے ہے فروخت کے، ہم خرید رہے ہیں. تو فروخت اور خرید، ہم میں داخل کر رہے ہیں تاریخ کے ٹیبل کے سب خریدتا ہے اور ہو رہی ہیں کہ فروخت کرتا ہے. تو history.PHP کرنے کی ضرورت ہے تمام پکڑو ہے تاریخ سے معلومات میز، اس بات کا یقین ہے کہ یہ کامیاب بنانے کے، اور اس کے بارے میں معلومات فراہم. تو history.PHP سانچے کو دیکھ، دلچسپ معلومات یہیں پر ہے. ہم کے سب سے زیادہ looping کر رہے ہیں لین دین، پرنٹنگ اس چاہے فارمیٹنگ، خریدنے یا فروخت کی تاریخ کا وقت تھا ہم اس لین دین بنا دیا. ہم htmlspecialchars استعمال کرنے کی ضرورت یاد رکھیں پر علامت، صرف صورت میں. اور آخر میں، کی تعداد میں فارمیٹنگ قیمت خریدا اور کیا گیا ہے کہ حصص اس وقت ایک حصہ. اور یہ کہ تاریخ کے تمام دکھاتا ہمیں ضرورت ہے کہ معلومات. اور یہ کہ اس pset کے لئے ہے. میرا نام روب ہے، اور اس CS50 خزانہ تھا.