[Музички] Роб BOWDEN: Здраво. Јас сум Роб, и се надевам дека вие ќе бидете подготвени да се стави акции во ова решение. Прво, ајде да ги разгледаме во регистарот. Па не заборавајте дека тука се проверува да се види дали форма беше испратени до оваа страница. Па првото нешто што ние ќе да направите е да отидете на друг. И ние ќе го направи форма регистар. Значи форма Регистрирај се случува да ја објавите на register.PHP. И што е тоа ќе испрати? Тоа се случува да се испрати корисничко име дека корисникот ќе се пополнат, лозинка, и потврдување - лозинка внесе повторно. Па сега кога таа форма се испратени на register.PHP ќе се изврши ова ако. Гледајќи во оваа ако, ќе бидеме први ќе се провери на влез. Ние сакаме да бидете сигурни дека корисничкото име и лозинка не беа празни и дека потврда всушност совпаѓа со лозинка. Откако сме потврдено дека можеме да всушност се регистрирате на корисникот. Што значи тоа? Па, ние сакаме да го вметнете корисникот во нашата база на податоци. И ова е како ние ќе го направи тоа. Па ние ќе да се вметне во корисници маса полиња корисничко име, хаш, и готово. Вообичаената вредност од пари ќе биде 10.000. И ние ќе помине како корисничко име, корисничко име, преку пост супер глобалната тоа е поднесен од форма. И ние ќе го криптирате лозинка. Значи, ако тоа успее, тогаш резултатите ќе биде не-неточно. Ако тоа не успеа, тогаш ние сакате да се извини. Нешто тргнало наопаку. И она што би можело да се качил во ред? Па, таму треба да биде уникатен корисничко име. И така барањето можеше да не ако корисничко име веќе постоеле во табелата. Значи под претпоставка дека тоа е уникатен корисничко име, тогаш ние ќе треба да се пребарува за да го дофати Проект на тој корисник. Се сеќавам дека проект е авто-зголемување,. И така, ако тоа се случува да пропадне за некои причина, тогаш ние сакаме да се извини дека не можеме да го дофати проект. Но под претпоставка дека тоа не успее, тогаш ние го дофати проект од она што го бараш врати, чувајте дека во нашата сесија - затоа сакаме да се логирате корисников од страна чување на проект во сесијата супер глобално, и конечно пренасочува кон нашето портфолио. И тоа е тоа за регистар. Сега ние ќе треба да се движи кон понуда. Па цитат се случува да имаат навистина слични воспоставен. Гледаме тука дека ова е код кој ние ќе се изврши кога форма е испратени до оваа страница. Но, прво ние всушност имаат за да го направи таа форма. Па Гледано во цитат форма, она што полиња се таму? Можеме да видиме дека сите цитат се е единствен полето за текст со симболот име. И така, кога цитат форма е објавена да quote.PHP ние сме сега ќе изврши овој код. И само променлива во нашата пост супер глобалната ќе биде симбол. Ние се провери дека за да бидете сигурни дека тие всушност испратени симболот. И ако тие не, ние ќе ви кажеме мора да обезбеди симбол. Под претпоставка дека тие не се обезбеди симбол, ние се погледне до тој знак. Сега се сеќавам дека Побарајте би можеле да имаат не успеа, бидејќи, добро, можеби тоа не е валидна симбол да почне. Така да ако ова гледам нагоре враќање лажни, ние сакаме да се извини дека симбол не беше пронајден. Откако ќе го нашол на симбол, сега ние можат да направат quote.PHP дефиниција. Што значи дека изгледа? Тоа е само случува да се печати дека удел на она што акциите име вреди да се она што цената на акциите е. Сега зошто ние ги користиме оваа htmlspecialchars функционира? Тоа е затоа што акциите на име и симбол на всушност би можеле да содржат специјални знаци кои не треба да се толкува како HTML. Сите во право, па тоа е тоа за понуда. Сега ние сакаме да се погледне во index.php и портфолио. Но, прво ние всушност треба да се конструираат портфолијата табела. Еве како ние ќе го направите тоа. Па ајде да ги разгледаме во структурата. И гледаме дека портфолијата табела се случува да имаат проект. Така што нема да биде на корисникот Број кој е вметнување на акции. Имаме симбол, кој ќе биде симбол на компанијата, дека ние сме вметнување на акции за. А потоа акции е бројот на акции кои се вметнати. Па се сеќавам дека за на pset спецификации, ние се каже дека ID и симбол - ние проверете индекси, лична карта и симбол е примарен клуч. Па корисничко име и симбол спарување само треба да се појави една време во оваа табела. Сега да ги погледнеме во кодот. Па сега index.php се случува да го зграби сите од нашето портфолио информации и прикажување на корисникот. Значи прво, ние ќе треба да го дофати пари дека корисникот моментално има од кеш маса. Запомнете, дека барањето е секогаш ќе да се вратат низа на низи. Па дури иако ние само избраните кеш од еден ред, ние се уште треба да се зграби дека готово од страна на индексирање во 0. индекс на редови и грабање на пари индекс. Па сега ние сакаме да ги изберете сите на информации од портфолијата маса кои се релевантни за тековно логиран на корисникот. Ние секако треба да се провери дека кои, всушност, успеа, кои ние секогаш треба да се направи кога ние се пребарува. Откако ќе ги имаат сите на таа информација, на pset спецификации нè информира дека ние треба да го направите ова со цел да се убаво да се сместат сите информации во овој позиции низа. Па ние сме looping над сите портфолио информации, угледување на акции поврзани со секој ред во портфолио информации, а потоа чување во позиција низа името, цена, акции и симбол на сите поврзани со тоа акциите. И, конечно, ние ќе треба да направат portfolio.PHP, минувајќи во износ на готовина ние во моментов имаме, позиции низа што ние само изградат и насловот на овој страница која ќе биде портфолио. Ајде да ги разгледаме во portfolio.PHP. И гледаме дека главните интересен дел е овој циклус. Па ние сме looping преку позиции низа, создавање на табела, каде што на маса - ние сме населувањето секој ред со информациите што ги стави во внатрешноста на позиции низа. Повторно, ние треба да ги користите htmlspecialchars во случај овој симбол или името содржи HTML карактери. И тука сме множење на цената и износот на акции што ги имаме со цел да се добие колку што е во моментов вреди за корисникот. И тоа е тоа за портфолио. Сега ќе ги разгледаме во продажба. Значи продаде се случува да се вратиме на формат, кој го имавме во register.PHP. Можеме да видиме дека форма се случува да бидат испратени на оваа страница. Но, прво, кога ќе се вчита страната, ние ќе го направите тоа. Па што е ова се прави? Па, ние само би можеле да имаат продаваат страница имаат единствен полето за текст дека корисникот влегува овој симбол дека ние сакаме да го продаде. Но, ние се ќе биде малку повеќе умен и ние ќе имаат пад одредување кој им овозможува на корисникот да избере Крај на симболи кои што веќе ги имаат. Па ние сме добивање портфолио на корисникот. Ние ќе да изберете од портфолија сите симболи кои на корисникот во моментов има, моментално логиран на корисникот. Бидете сигурни дека таа успеа. И сега ние ќе јамка во текот на врати информации, само грабање секој симбол, и складирање на во овој симболи низа. И сега ние ќе треба да направат форма продаде. Значи форма продаде се случува само биде паѓачкото мени, одберете. И секоја опција во форма продаваат е случува само печати од симбол дека ние го грабнала од портфолија табела. Значи форма продаде се случува да се достават назад кон sell.PHP. Гледа во sell.PHP, ова е код што се случува да се изврши кога ќе ги достават на оваа страница. Ние сакаме да се провери дека корисникот всушност влезе во симбол. Сега претпоставувајќи дека тие го направија - па сега ние сакаме да се утврди колку дели на корисникот е всушност продажба и колку пари корисникот треба да добие за продажба дека многу акции. Па ние го зграби бројот на акции што корисникот има за овој симбол. Ние сме во потрага во портфолија за со оглед на корисникот и на дадениот симбол. Сега осигурајте се дека таа, всушност, врати ред. Бидејќи ако тоа не го направи, корисникот не всушност го имаат тоа симбол да го продаде. Под претпоставка дека тие немаат тој знак, ние сакаме да го зграби бројот на акции кои ги имаат. И сега ние сакаме да се погледне до колку многу секоја акција вреди. Па ние се користи се погледне до функција. Ние сме во потрага на вредноста на симболот. Претпоставувајќи дека Побарајте успеа, сега ние ќе всушност надградба на сите информации. Затоа сакаме да ја избришете од портфолија на акции кои ние сме продажба. Ние сакаме да се ажурира на корисникот износ на готовина. И ние сме го ажурирањето со акции пати цената на акциите - па тоа е колку пари корисникот само направени. И сега ние сакаме да го обновите нашата историја. Па ние не ги направиле погледнете на масата историја уште. Па ние ќе се вратам на тоа. Сега конечно одиме да ги пренасочи Назад кон портфолио. Сега ајде да ги разгледаме во купување. Значи, купи треба да биде прилично слични да го продаде. Можеме да видиме дека ние сме повторно ќе да се провери да се види дали ние сме поднесување на оваа страница. Претпоставувајќи дека ние не сме, ние сме ќе се вчита форма на купување. Значи она што не форма на купат изгледа? Гледаме тука тоа е само обичен формираат тоа ќе достават назад кон buy.PHP. И тоа се случува да имаат симбол што корисникот е внесување, бројот на акции што корисникот сака да го купи на тој симбол, и тоа е тоа. Па кога ќе ги достават назад кон buy.PHP, ние сме сега се случува да се изврши овој код. Ние повторно сакате да се провери дека корисникот внесе нешто валидно. Значи тука сме прави сигурни дека тие всушност влезе во симбол. Тука сме си сигурен дека тие всушност влезе акции. И тука сме си сигурен дека тие влезе цел број за акции, па тие не се обидуваат да купат ABC акции. Сега ние сакаме да се погледне нагоре на цената на симбол па знаеме колку пари ние треба да се одземе од корисникот. Сега ќе изберете колку пари на корисникот всушност има и бидете сигурни дека дека успеа во тоа. Тука сме грабање на пари. И сега тука, ние сме си сигурен дека корисникот има доволно пари. Значи, ако бројот на акциите на корисникот сака да го купи пати поголема од цената на секој на тој удел е поголема од износ на готовина што ги имаме, тогаш корисникот не можат да си дозволат тоа. Претпоставувајќи дека корисникот има доволно готовина, сега ние сакаме да се вметне во портфолио корисникот. Па, ние ќе се вметне во на корисникот портфолио ако ова се случува да биде прв пат на корисникот е купување дека одреден симбол. Но, што ако тие веќе се случи да има некои акциите на Епл? Па, сега ние сме тоа што употребата на на дупликат клучот ажурирање на информациите. Значи ова е причината зошто порано ние наведува дека ID и симбол треба да биде заеднички примарен клуч, така што ако се обидеме да вметнете ID и симбол кој се веќе таму, ние само ќе се ажурира на акции да ги вклучи новите акции кои корисникот е купување. Сега ние сакаме да се ажурира на износот на готовина која корисникот има, бидејќи тие само трошат пари на некои тие акции. И, конечно, ќе се ажурира табелата историјата повторно. Кој, пак, ние ќе разгледаме во секунда. И конечно ќе се пренасочува се врати да portfolio.PHP. Па ајде да ги разгледаме во табелата историја. Сега се сеќавам дека табелата историјата е треба да ги пратите на сите купува и продава дека сите корисници, а не само на Тековниот број на акции што корисниците имаат, што е она што портфолио е за. Па ние сме следење на корисник кој е купување или продавање, без разлика дали ова особено трансакција беше Купи или продаде, симболот и тоа е се купен или се продаваат, бројот на акции дека ние сме за купување или продавање, на Цената на еден удел и тоа е се купен или се продаваат, и конечно, времето дека ова купување или продавање се случува. И тоа е сè на историјата информации кои се потребни да ги пратите. Па кога ние погледна продавате, видовме дека бевме вметнување во историјата продавате, според тоа дали сте за купување или продавање, тековното време печат, како и тековниот корисник, симболот и тоа е се продаваат, бројот на акции што се се продава, а цената на The Stock во тоа време. Слично на тоа, во купување, тоа ќе изгледаат речиси исто. Единствената разлика е наместо на продажба, ние сме за купување. Па во продажба и купување, ние сме вметнување во на истории на маса сите купува и продава, кои се случува. Така што сите history.PHP треба да направите е да го зграби информации од историјата маса, бидете сигурни дека тоа успеа, и ја даде таа информација. Па гледајќи го history.PHP дефиниција, интересни информации е во право тука. Ние сме looping над сите трансакции, печатење дали ова беше купите или да го продаде, форматирање на датумот време кои ние ги направивме оваа трансакција. Запомни ние треба да ги користите htmlspecialchars на симбол, за секој случај. И конечно, форматирање на бројот на акции кои беа купени и цената на еден удел во тоа време. И кој го прикажува сите на историјата информации кои ни се потребни. И тоа е тоа за овој pset. Моето име е Роб, и ова беше CS50 финансии.