1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [Можи Проблем Намести 7] 2 00:00:03,000 --> 00:00:04,400 [Zamyla Чан] [Универзитетот Харвард] 3 00:00:04,400 --> 00:00:07,640 [Ова е CS50] [CS50.TV] 4 00:00:07,640 --> 00:00:12,090 >> Здраво на сите, и добредојде на можи 7, CS50 финансии. 5 00:00:12,090 --> 00:00:15,090 Сега ние сме официјално направено со сите psets во CS50, 6 00:00:15,090 --> 00:00:19,380 и ние сме само замина со уште еден кој ќе биде забавно имплементација 7 00:00:19,380 --> 00:00:23,770 на веб-сајт, каде што корисниците можат да се логирате за да CS50 финансии 8 00:00:23,770 --> 00:00:25,830 и купуваат и продаваат акции. 9 00:00:25,830 --> 00:00:32,280 >> Денес, ние се случува да имаат неколку алатки на располагање. 10 00:00:32,280 --> 00:00:34,320 Ние ќе се зборува за дозволи. 11 00:00:34,320 --> 00:00:36,380 Секогаш кога имате веб папка, 12 00:00:36,380 --> 00:00:40,800 сте ќе сакате да им овозможи на корисниците да извршуваат одредени датотеки 13 00:00:40,800 --> 00:00:42,500 но, исто така, само да читате другите, 14 00:00:42,500 --> 00:00:45,150 па ние ќе се погледне во дозволите и како можете да го поставите оние. 15 00:00:45,150 --> 00:00:49,630 Тогаш ние ќе треба да се погледне во PHP, HTML, и SQL код. 16 00:00:49,630 --> 00:00:51,990 >> Прво, дозволи. 17 00:00:51,990 --> 00:00:56,060 Кога сте во терминалот во одреден директориум, 18 00:00:56,060 --> 00:01:00,430 тогаш што сакате да го направите е дека сакате да ја извршите командата chmod. 19 00:01:00,430 --> 00:01:03,750 Тоа е проследено со или букви или броеви 20 00:01:03,750 --> 00:01:08,100 одговара на она што во основа сакате светот да види, 21 00:01:08,100 --> 00:01:09,830 можете сами да се види, итн 22 00:01:09,830 --> 00:01:13,350 На пример, секогаш кога имате некоја папка, 23 00:01:13,350 --> 00:01:15,560 тогаш ќе сакате таа папка да биде извршна од сите што го гледа, 24 00:01:15,560 --> 00:01:19,500 така што ќе направиш е можете да ја извршите командата chmod a + x 25 00:01:19,500 --> 00:01:21,050 а потоа името на вашата папка. 26 00:01:21,050 --> 00:01:28,110 Кога имаш датотека како CSS датотеки или датотеки со слики - 27 00:01:28,110 --> 00:01:33,060 како JPEG слики и bitmaps, работи како што, или било JavaScript код - 28 00:01:33,060 --> 00:01:36,440 сакате тоа да се чита од секого, 29 00:01:36,440 --> 00:01:39,880 па тогаш што треба да направите е можете да го користите маска - 30 00:01:39,880 --> 00:01:41,650 кој е ѕвезда - 31 00:01:41,650 --> 00:01:46,190 во основа се покаже во папката CSS - сè во таа папка - 32 00:01:46,190 --> 00:01:48,740  Одам да кажам дека ќе биде читлив од сите. 33 00:01:48,740 --> 00:01:54,220 Со дозволи, кога ние ги користиме на букви, 34 00:01:54,220 --> 00:01:57,610 ние исто така може да се користат броеви, наместо. 35 00:01:57,610 --> 00:02:00,900 Така, ќе видите дека на крајот кога сакате нешто да биде извршна - 36 00:02:00,900 --> 00:02:02,810 која е претставена од страна на бројот 1 - 37 00:02:02,810 --> 00:02:08,340 нешто да се чита е број 4 и потоа - 38 00:02:08,340 --> 00:02:10,590 запишуваат е број 2 - 39 00:02:10,590 --> 00:02:13,670 и така во суштина кога сакате комбинација на овие, тогаш можете да ги додадете. 40 00:02:13,670 --> 00:02:15,860 Ако сакате нешто да се чита, можат да се запишуваат, и извршна, 41 00:02:15,860 --> 00:02:21,970 тогаш ќе се додаде 4, 2 и 1, а тоа ќе ви даде 7, 42 00:02:21,970 --> 00:02:26,230 тогаш кога имате папка сакате тоа да биде извршна од сите - 43 00:02:26,230 --> 00:02:31,380 како и да се чита и запишуваат - тогаш ќе се направи дека 7, 1, 1. 44 00:02:31,380 --> 00:02:38,140 Тоа ќе биде 7 за вас, тогаш 1 за другите луѓе. 45 00:02:38,140 --> 00:02:42,870 Кога имате спецификации, тоа всушност ќе се определи кои папки и кои датотеки 46 00:02:42,870 --> 00:02:45,040 треба да бидат chmod-ед конкретно. 47 00:02:45,040 --> 00:02:47,920 На пример, кога имате фолдери - тоа се 7-1-1 - 48 00:02:47,920 --> 00:02:52,690 кога имате слики, или HTML, CSS, JavaScript, 49 00:02:52,690 --> 00:02:55,870 тогаш тие ќе бидат 6, 0, 4 - или 6, 4, 4 - 50 00:02:55,870 --> 00:03:00,030 и тогаш PHP датотеки ќе бидат 6, 0, 0. 51 00:03:00,030 --> 00:03:04,940 Идејата зад тоа е дека корисниците не всушност треба да го видите вашиот PHP код, 52 00:03:04,940 --> 00:03:08,370 но само да биде во можност да видите на излез. 53 00:03:08,370 --> 00:03:11,030 >> Одлично! Движи во PHP. 54 00:03:11,030 --> 00:03:18,850 Едноставно, кога сакаш датотека PHP, на датотеката суфиксот е. PHP. 55 00:03:18,850 --> 00:03:22,000 Вие исто така може да се меша HTML со PHP код. 56 00:03:22,000 --> 00:03:24,880 Ако имате HTML датотека, на пример, 57 00:03:24,880 --> 00:03:32,520 тогаш можете да го приложи со лев агол, прашалник, PHP - 58 00:03:32,520 --> 00:03:39,320 стави вашиот PHP код - и потоа затворете дека со друго прашање марка и под прав агол. 59 00:03:39,320 --> 00:03:45,020 Променливи во PHP се многу полесно да се справи со повеќе променливи во C. 60 00:03:45,020 --> 00:03:50,310 Секоја променлива само започнува со знакот за долар пред него, а тие се слабо напишани. 61 00:03:50,310 --> 00:03:53,470 Тоа значи дека не треба да се грижите за поставување на нешто 62 00:03:53,470 --> 00:03:55,020 еднаква на низа или цел број. 63 00:03:55,020 --> 00:03:57,710 Можете да едноставно се каже, ова е мојот името на променливата 64 00:03:57,710 --> 00:04:00,390 и тогаш ова е неговата вредност, 65 00:04:00,390 --> 00:04:03,280 па тоа ќе биде полесно да се справи со таму. 66 00:04:03,280 --> 00:04:08,220 >> Друга работа е дека PHP ви дозволува да користите асоцијативни низи. 67 00:04:08,220 --> 00:04:11,330 Можете да едноставно се дефинира низа како вие би во C 68 00:04:11,330 --> 00:04:14,900 велејќи, знакот за долар-името на вашата низа еднакви, 69 00:04:14,900 --> 00:04:22,600 а потоа и во квадратни загради имаат во основа, само на листата на вредности на сите елементи во низа. 70 00:04:22,600 --> 00:04:27,160 Но, во PHP што можете да направите е да одредите основа - 71 00:04:27,160 --> 00:04:31,050 тоа е вид на како хеш функција. 72 00:04:31,050 --> 00:04:34,410 Можете да наведете индекс - она ​​што ви се случува да го наречеме - 73 00:04:34,410 --> 00:04:37,030 и тогаш тоа одговара на вредноста. 74 00:04:37,030 --> 00:04:42,880 Ако всушност помине во a = 1, B = 2, c = 3, 75 00:04:42,880 --> 00:04:50,820 тогаш вашата низа на индекс ќе ви даде 1. 76 00:04:50,820 --> 00:04:56,600 Ова pset ќе можеш да се згрееш со некои PHP во делот на прашања, 77 00:04:56,600 --> 00:04:59,240 а потоа се нурне во CS50 финансии. 78 00:04:59,240 --> 00:05:02,650 >> Имаме неколку - имаме некои функционалност, во основа, 79 00:05:02,650 --> 00:05:05,130 за спроведување на овој веб-сајт. 80 00:05:05,130 --> 00:05:10,440 Ние сакаме да им овозможи на корисниците да се регистрирате во нашата веб страница со корисничкото име и лозинка. 81 00:05:10,440 --> 00:05:13,670 Ние сакаме да им се дозволи да се погледне до понуда, 82 00:05:13,670 --> 00:05:19,330 и тогаш ќе печати од името на тој цитат, како и сегашната цена што тоа е во. 83 00:05:19,330 --> 00:05:26,830 Ние сакаме да им се дозволи да ја видите портфолио на сите акции што тие ги купуваа досега. 84 00:05:26,830 --> 00:05:34,240 Ние исто така сакаме да им се дозволи да купи акции како и продаваат нив. 85 00:05:34,240 --> 00:05:37,540 А потоа конечно, ние сакаме да им се дозволи да ја видите историјата 86 00:05:37,540 --> 00:05:39,490 на сите трансакции кои тие го направија. 87 00:05:39,490 --> 00:05:41,540 Тогаш, конечно, откако ќе го спроведува сето тоа, 88 00:05:41,540 --> 00:05:45,110 тогаш вие сте слободни да се спроведе една дополнителна функција. 89 00:05:45,110 --> 00:05:46,610 Ќе одиме во нив. 90 00:05:46,610 --> 00:05:51,330 Оние може да биде или им овозможува на корисниците да се добие екстра кеш со депонирање екстра кеш, 91 00:05:51,330 --> 00:05:54,550 или можете да им се дозволи да го сменат лозинка, или нешто слично, 92 00:05:54,550 --> 00:06:00,590 ги е-мејл потврда кога купуваат или продаваат акции. 93 00:06:00,590 --> 00:06:05,370 Има ограничен список на особини кои можете да се имплементираат, 94 00:06:05,370 --> 00:06:08,340 па тоа е последната таму. 95 00:06:08,340 --> 00:06:13,430 >> Бидејќи ова е веб-сајт, вие момци имаат многу слобода да го прилагодите. 96 00:06:13,430 --> 00:06:20,960 Ние не се обезбеди некои кодот CSS, но ти си дефинитивно слободно да го tweak, 97 00:06:20,960 --> 00:06:26,680 го направите да изгледа поубаво, но основата е основната функционалност 98 00:06:26,680 --> 00:06:30,310 па секогаш се однесуваат на спецификации за она што всушност треба да се вклучат таму. 99 00:06:30,310 --> 00:06:39,940 По спецификации, ние ќе биде со користење на апаратот, како и на серверот. 100 00:06:39,940 --> 00:06:43,910 Тоа се случува да биде домаќин на нашата веб страница за нас, за својот локален сервер. 101 00:06:43,910 --> 00:06:49,750 Ако ги следите овие упатства и да ја отпакувате на pset 7 дистрибуција код 102 00:06:49,750 --> 00:06:53,500 во вашиот виртуелен домаќин / локалниот компјутер папка, 103 00:06:53,500 --> 00:07:02,470  можеш само да ја посетите http://localhost/ во Google Chrome во апаратот, 104 00:07:02,470 --> 00:07:09,120 и тогаш ќе достигне кодот во која што сум напишал pset 7. 105 00:07:09,120 --> 00:07:14,490 >> Pset 7 доаѓа со еден куп на дистрибуција код, 106 00:07:14,490 --> 00:07:18,330 и се надевам дека we've - низ сите psets пред тоа - 107 00:07:18,330 --> 00:07:21,700 навикнати нас да читање преку дистрибуција код, 108 00:07:21,700 --> 00:07:25,650 разбирање на она што функции се веќе обезбедени, и како ние би можеле да се користат 109 00:07:25,650 --> 00:07:29,470 тие и други функции кои ние ќе треба да се спроведуваат. 110 00:07:29,470 --> 00:07:31,570 Во овој случај, имаме 3 папки. 111 00:07:31,570 --> 00:07:36,350 Имаме HTML папка, еден вклучува папка, и папка за обрасци. 112 00:07:36,350 --> 00:07:40,630 Она што ние ќе треба да се прави со овој pset е вид на одвојување на размислување - 113 00:07:40,630 --> 00:07:45,580 програмирање размислување - на PHP код со реалните визуелни аспект. 114 00:07:45,580 --> 00:07:52,690 Ќе имаме еден PHP фајл кој не сите на размислување, се наведува во базата на податоци, 115 00:07:52,690 --> 00:07:55,620 отпечатоци од работите, има ако извештаи - работите се допаѓа - 116 00:07:55,620 --> 00:08:02,140 и тогаш тоа ќе помине податоци во нашата дефиниција датотека - или template.php датотека. 117 00:08:02,140 --> 00:08:05,710 Она што ќе направите е да прочитате на податоци, а потоа тоа ќе го испечатите. 118 00:08:05,710 --> 00:08:09,550 >> Ние може да го третира шаблони како "глупава" во кој ние навистина не ги сакате 119 00:08:09,550 --> 00:08:12,370 да се прави многу работа во пресметувањето работи. 120 00:08:12,370 --> 00:08:16,330 Ние сакаме нашите контролори за да го направите тоа. 121 00:08:16,330 --> 00:08:21,610 А малку за тоа - ајде да ги разгледаме во некои од дистрибуција код. 122 00:08:21,610 --> 00:08:28,250 Тука имаме index.html фајл, и тоа е прилично празна. 123 00:08:28,250 --> 00:08:34,429 Во суштина она што го прави тоа - вели, добро, јас ќе одам да бараат configuration.php датотека. 124 00:08:34,429 --> 00:08:40,120 Ние не гледаме дека токму таму, но тоа е во основа се јавите на configuration.php датотека, 125 00:08:40,120 --> 00:08:42,240 и извршување на тоа. 126 00:08:42,240 --> 00:08:45,130 По тоа го прави тоа, тоа ќе го направи портфолио. 127 00:08:45,130 --> 00:08:49,310 Рендерирање е функција, па секогаш кога сме во контролор, 128 00:08:49,310 --> 00:08:56,490 ние ќе го наречеме направат, ќе го даде на датотеката и потоа податоците дека ние сме полагање во, 129 00:08:56,490 --> 00:09:04,570 така што ќе се јавите во portfolio.php-вид на премин во тој податоци, така што портфолио може да се справи со тоа. 130 00:09:04,570 --> 00:09:10,540 >> И сега, тука, ние имаме login.php форма. 131 00:09:10,540 --> 00:09:17,540  Ова е контролер, кој во основа се грижи за сеча внатре 132 00:09:17,540 --> 00:09:29,090 Еве, се проверува дали форма беше доставен до оваа датотека и се занимава со оценување на поднесување. 133 00:09:29,090 --> 00:09:31,990 Ние ќе се погледне во оваа извини функција. 134 00:09:31,990 --> 00:09:35,100 Кога сакаме да се печати порака за грешка, 135 00:09:35,100 --> 00:09:39,550 ние ги користиме се извини и дека ќе се пренасочува корисникот кон одредена страница 136 00:09:39,550 --> 00:09:42,530 што ќе се печати на одредени порака за грешка која што покажува. 137 00:09:42,530 --> 00:09:47,860 Продолжување, тоа ќе пребарува базата на податоци - we'll добиете на повеќе од тоа подоцна. 138 00:09:47,860 --> 00:09:54,180 Тогаш ќе видите дека тука долу, ако форма не е поднесено, тогаш тоа го прави форма. 139 00:09:54,180 --> 00:10:01,360 Тоа значи дека таа оди на login_form.php, па ајде да ги разгледаме во тоа. 140 00:10:01,360 --> 00:10:09,400 >> Login.php е, всушност, каде што можеме да видиме на HTML занимаваат со вистински визуелен аспект. 141 00:10:09,400 --> 00:10:15,130 Тука имаме влез таг за корисничко име, влез за лозинка, 142 00:10:15,130 --> 00:10:16,630 како и копчето Submit. 143 00:10:16,630 --> 00:10:22,660 Тоа е, всушност, каде што визуелна аспект и форма HTML се случува да се одржи. 144 00:10:22,660 --> 00:10:27,550 Еве, таа вели дека тоа се случува да бидат доставени од страна на одредени метод, наречен пост. 145 00:10:27,550 --> 00:10:30,190 Ние ќе се влезе во разликите меѓу методи - 146 00:10:30,190 --> 00:10:33,240 пост наспроти се, има, исто така, нешто што се нарекува стави - 147 00:10:33,240 --> 00:10:36,160 ние ќе се влезе во овие методи подоцна, но во интерес на оваа pset, 148 00:10:36,160 --> 00:10:37,810 Јас високо ќе ве охрабруваме да ги користите пост. 149 00:10:37,810 --> 00:10:42,210 >> Ние знаеме дека во основа еднаш овој формулар се поднесува - 150 00:10:42,210 --> 00:10:44,650 од login_form.php-- 151 00:10:44,650 --> 00:10:50,850 тогаш тоа ќе оди во акција - login.php-- 152 00:10:50,850 --> 00:10:56,070 основа помине во сите оние параметри од оние форми во login.php. 153 00:10:56,070 --> 00:11:04,900 Резултатите од таа форма се содржани во овој пост асоцијативна низа. 154 00:11:04,900 --> 00:11:11,710 Индексите на различни елементи во пост низа 155 00:11:11,710 --> 00:11:15,290 се токму она што го наведете тука. 156 00:11:15,290 --> 00:11:19,240 Велите дека името на овој влез е корисничко име. Името на оваа е лозинка. 157 00:11:19,240 --> 00:11:26,840 Слично на тоа, ќе видите корисничко име како индексот на асоцијативна низа таму. 158 00:11:26,840 --> 00:11:35,110 Ако одиме кон вклучува папка, имаме оваа функција датотеката која ќе биде многу корисно. 159 00:11:35,110 --> 00:11:37,570 >> Сите овие функции се применуваат за вас. 160 00:11:37,570 --> 00:11:41,870 Вие не треба конкретно да спроведе која било од овие сами, 161 00:11:41,870 --> 00:11:43,140 но тие се случува да се доста корисни. 162 00:11:43,140 --> 00:11:49,450 Имаме извини, кои како што реков претходно, во основа ќе се печати порака за грешка 163 00:11:49,450 --> 00:11:52,920 за вас на одредена страница - apology.php. 164 00:11:52,920 --> 00:11:59,890 Тогаш имаме депонија, па ако само повик депонија, а потоа помине во променлива, 165 00:11:59,890 --> 00:12:04,930 тогаш тоа ќе ве однесе на страница, која ќе се прикаже дека променливата за вас. 166 00:12:04,930 --> 00:12:09,950 Тогаш имаме одјава, што во основа ќе заврши седницата одреден корисник. 167 00:12:09,950 --> 00:12:12,240 Пронајди се случува да бидат корисни. 168 00:12:12,240 --> 00:12:15,870 Бидејќи ние сме се занимаваат со цитати и акции, ние ќе треба да бидат способни - 169 00:12:15,870 --> 00:12:17,650 и тоа е суштина реално време. 170 00:12:17,650 --> 00:12:21,380 Ние треба да знаеме што оние акции вредности се, 171 00:12:21,380 --> 00:12:28,210 па имаме пребарување функција која се занимава со документација Yahoo на акции. 172 00:12:28,210 --> 00:12:37,700 Откако ќе се погледне до одреден симбол на акции, ќе се врати да ви акции симбол 173 00:12:37,700 --> 00:12:41,480 како и име и сегашната цена на тој фонд. 174 00:12:41,480 --> 00:12:44,330 Тоа е збор функција. 175 00:12:44,330 --> 00:12:48,350 >> Тогаш ние сме се занимаваат со MySQL, 176 00:12:48,350 --> 00:12:53,970 па ние ќе треба да се сакаат да извршуваат одредени прашања на нашите SQL база на податоци. 177 00:12:53,970 --> 00:12:58,890 Имаме барањето да се справи - да се вид на абстрактна некои од тоа. 178 00:12:58,890 --> 00:13:03,200 Ние ќе се поминува во цела низа на нашите SQL упит - 179 00:13:03,200 --> 00:13:05,360 и сите променливи кои одат во неа - 180 00:13:05,360 --> 00:13:09,480 и што тоа не е всушност изврши тоа за нас. 181 00:13:09,480 --> 00:13:15,070 Наместо да пишуваат сите на ова секој пат кога ќе сакате да пребарувате - 182 00:13:15,070 --> 00:13:21,740 со добивање на сите на резултатите од тоа барање - 183 00:13:21,740 --> 00:13:24,740 можеш само да се јавите на пребарување функција, а тоа ќе се врати за вас - 184 00:13:24,740 --> 00:13:28,750 во зависност од она што го користите за вашето пребарување - 185 00:13:28,750 --> 00:13:33,000 веројатно по ред на сите резултати кои се совпаѓаат со барањето или слично. 186 00:13:33,000 --> 00:13:34,690 Повеќе за тоа подоцна иако. 187 00:13:34,690 --> 00:13:41,200 >> Конечно, имаме пренасочи кои, како што сугерира името, ќе пренасочува кон друга страница. 188 00:13:41,200 --> 00:13:46,280 И тогаш имаме рендерирање, кои ќе треба да се јавите неколку пати. 189 00:13:46,280 --> 00:13:51,010 Кога сте во контролор, ти се јавам направи во шаблон страница 190 00:13:51,010 --> 00:13:55,390 а потоа помине во вредностите кои дефиниција тогаш ќе се занимаваат со. 191 00:13:55,390 --> 00:13:59,540 Тие вредности се веројатно нема да се занимаваат со видот на производството што сакате 192 00:13:59,540 --> 00:14:01,050 да бидат прикажани на вашиот страница дефиниција. 193 00:14:01,050 --> 00:14:09,370 Во ред. Тоа се функции, и има многу повеќе на оваа дистрибуција код. 194 00:14:09,370 --> 00:14:12,930 Ги охрабрувам да одат преку овој и истражуваат себе. 195 00:14:12,930 --> 00:14:17,050 Исто така, спецификации веројатно ќе ви прошетка низ некои други елементи на дистрибуција код. 196 00:14:17,050 --> 00:14:27,360 Еве краток преглед на функциите се најде во functions.php. 197 00:14:27,360 --> 00:14:31,710 >> Во ред. Првата задача е да им овозможи на корисниците да се регистрираат на веб страната. 198 00:14:31,710 --> 00:14:34,860 Токму сега, има најава форма на веб-сајтот, 199 00:14:34,860 --> 00:14:40,080 и ќе се предвидени со неколку корисници со лозинки. 200 00:14:40,080 --> 00:14:42,130 Можете да ги користите овие кориснички имиња и најавите, 201 00:14:42,130 --> 00:14:45,140 но сакате да им овозможи на луѓето да ги направат своите сопствени корисник 202 00:14:45,140 --> 00:14:47,390 и се додаде кон веб страната. 203 00:14:47,390 --> 00:14:53,070 Распоредот за регистрација е прилично слична на страната за логирање форма, 204 00:14:53,070 --> 00:14:56,340 освен корисничко име не е постоечки, 205 00:14:56,340 --> 00:14:59,430 и корисникот, исто така, треба да обезбеди нова лозинка, 206 00:14:59,430 --> 00:15:02,440 а потоа обично имаме лозинка потврда. 207 00:15:02,440 --> 00:15:06,580 Откако на корисникот влезови сите тие информации, 208 00:15:06,580 --> 00:15:10,620 ние сакаме да ги додадете во нашата база на податоци на корисниците. 209 00:15:10,620 --> 00:15:12,970 Ние ќе имаат база на податоци - база на податоци SQL - 210 00:15:12,970 --> 00:15:14,470 дека ние ќе треба да референца. 211 00:15:14,470 --> 00:15:18,140 Во таа база на податоци, ќе имаме табела со сите корисници 212 00:15:18,140 --> 00:15:23,850 содржи корисничко име, лозинката, а исто така и колку пари имаат. 213 00:15:23,850 --> 00:15:28,480 >> Во регистарот, ние сакаме да им се дозволи да влезат во таа информација. 214 00:15:28,480 --> 00:15:29,740 Ние сакаме да се прикаже дека форма. 215 00:15:29,740 --> 00:15:32,210 Ние сакаме да се осигураме дека нивните лозинка - 216 00:15:32,210 --> 00:15:37,490 дека тие влегле еден, а потоа, исто така, дека лозинки одговара кога ќе го внесете двапати. 217 00:15:37,490 --> 00:15:42,240 По сето тоа е направено - под претпоставка дека оние грешки се проверуваат - 218 00:15:42,240 --> 00:15:45,120 тогаш ние сакаме да додадете оние на корисниците да нашата база на податоци. 219 00:15:45,120 --> 00:15:49,630 Конечно, откако сте регистрирани, тоа е прилично лесен ако не треба повторно да се логирате 220 00:15:49,630 --> 00:15:51,000 еднаш сте регистрирани, 221 00:15:51,000 --> 00:15:54,000 па ние ќе им се најавите на веб страната ако тие се регистрирани во успешно. 222 00:15:54,000 --> 00:16:00,360 >> Првата задача е да се прикаже форма, а тоа е, всушност, ќе биде - 223 00:16:00,360 --> 00:16:04,920 целата оваа процес на регистрација ќе се моделираат прилично тесно по најавите 224 00:16:04,920 --> 00:16:10,510 освен наместо на login.php може да имаат register.php. 225 00:16:10,510 --> 00:16:14,300 Наместо login_form.php--која е дефиниција - 226 00:16:14,300 --> 00:16:16,030 сте ќе се регистрирате форма. 227 00:16:16,030 --> 00:16:19,680 Ќе сакате да додадете уште една област - лозинка потврда поле - 228 00:16:19,680 --> 00:16:23,450 наместо само на еден корисничко име и една лозинка. 229 00:16:23,450 --> 00:16:28,120 Следниот, ние сакаме да се провери дали лозинки натпревар или се празни. 230 00:16:28,120 --> 00:16:38,560 Имаме контролер - register.php--кој ќе се грижи за тоа овие проверки. 231 00:16:38,560 --> 00:16:41,690 Кога форма се доставува по пошта метод, 232 00:16:41,690 --> 00:16:47,050 тогаш сите овие променливи се содржани во рамките на пост низа. 233 00:16:47,050 --> 00:16:52,280 Вие сакате да бидете сигурни дека пост низа вредност на индексот лозинка 234 00:16:52,280 --> 00:16:58,080 се совпаѓа со потврдата елемент. 235 00:16:58,080 --> 00:16:59,410 Вие сакате да бидете сигурни дека тие не се празни, 236 00:16:59,410 --> 00:17:01,650 а вие сакате да бидете сигурни дека тие се исти. 237 00:17:01,650 --> 00:17:05,960 >> Еден лесен нешто за PHP е дека ние не треба да се користи низа споредуваат повеќе. 238 00:17:05,960 --> 00:17:08,410 Можеме да го користиме еднаквите-еднаква на операторот 239 00:17:08,410 --> 00:17:11,470  да се провери дали стринговите се еднакви на една со друга. 240 00:17:11,470 --> 00:17:14,960 За справување со грешки, ќе сакате да се извини. 241 00:17:14,960 --> 00:17:17,150 Да се ​​извини, можете едноставно повик на функција 242 00:17:17,150 --> 00:17:21,910  а потоа наведете тип на пораката што сакате да излез. 243 00:17:21,910 --> 00:17:24,630 Потоа сакате да додадете корисник на базата на податоци. 244 00:17:24,630 --> 00:17:30,880 До сега, сите ние сме биле прави е само кои се занимаваат локално со резултатите од формата. 245 00:17:30,880 --> 00:17:33,940 Сега, ние всушност сакате да го додадете во нашата база на податоци. 246 00:17:33,940 --> 00:17:38,890 За ова, ние прво сакате да бидете сигурни дека корисничкото име не е празно. 247 00:17:38,890 --> 00:17:44,550 Разбирам дека на веб-сајт, вие не можат да имаат повеќе корисници со истото корисничко име, 248 00:17:44,550 --> 00:17:50,010 па ќе сакате да бидете сигурни дека кога ќе внесете нешто во вашата база на податоци - 249 00:17:50,010 --> 00:17:56,650 вметнете нов корисник - тогаш не добие судир меѓу постоечки корисничко име 250 00:17:56,650 --> 00:17:59,150 и име кое корисникот се обидува да ги достават. 251 00:17:59,150 --> 00:18:02,250 За ова, откако ќе изврши побарување - 252 00:18:02,250 --> 00:18:08,760 вметнување на одреден корисник со лозинка и почетен износ на готовина - 253 00:18:08,760 --> 00:18:15,140 еднаш ти се јавам дека барањето, тогаш MySQL, всушност, ќе се врати лажни ако тоа не успее. 254 00:18:15,140 --> 00:18:21,050 >> Структурата на корисниците е таква што на корисничко име е уникатна вредност, 255 00:18:21,050 --> 00:18:22,540 па не можете да имате повеќе од еден. 256 00:18:22,540 --> 00:18:30,080 Кога ќе се обидат и да внесете нов ред со корисничко име кое веќе постои, 257 00:18:30,080 --> 00:18:34,470 што се случува да се врати лажни - како Булова вредност неточно. 258 00:18:34,470 --> 00:18:45,320 А слабо нешто тука е дека ќе сакате да се провери ако резултатот е резултат на вашето пребарување. 259 00:18:45,320 --> 00:18:52,320 Ако тоа не успее, тогаш ќе сакате да се провери со тројна еднаква оператор. 260 00:18:52,320 --> 00:18:55,420 Тоа е всушност се случува да се провери дали постои неуспех или не, 261 00:18:55,420 --> 00:19:02,760 каде што, едноставно еднаква на-еднакви, тоа ќе биде точно ако ред беше празна. 262 00:19:02,760 --> 00:19:06,000 Резултат на неуспехот ако постои судир меѓу корисник 263 00:19:06,000 --> 00:19:10,350 е вистински лажна вредност. 264 00:19:10,350 --> 00:19:15,230 >> Еве како можете да внесете во базата на податоци. 265 00:19:15,230 --> 00:19:19,220 Тука е прашањето што ќе работи строго во SQL. 266 00:19:19,220 --> 00:19:25,750 Една работа е тоа што всушност може да оди на веб страната на која управува вашиот SQL база на податоци 267 00:19:25,750 --> 00:19:31,070 и да играат околу таму со внесување на рачен или вредности или редови. 268 00:19:31,070 --> 00:19:34,540 Ќе испечати што на SQL излез е. 269 00:19:34,540 --> 00:19:38,870 Вие исто така може да се кандидира SQL команди во рамките на вашата база на податоци 270 00:19:38,870 --> 00:19:42,200  а потоа да видиме што синтакса може да биде, 271 00:19:42,200 --> 00:19:46,790 а потоа се преведе дека во пребарување функција што ја имаме во pset 7, 272 00:19:46,790 --> 00:19:51,120 која ќе биде многу слична на прашања што всушност се работи. 273 00:19:51,120 --> 00:19:54,570 >> Ако сакав да се вметне нов ред во мојот корисниците маса, 274 00:19:54,570 --> 00:20:01,240 тогаш јас би се определи вметнете во корисниците, што е името на мојата маса. 275 00:20:01,240 --> 00:20:06,870 Тогаш јас би го одредите колона имиња. 276 00:20:06,870 --> 00:20:13,230 Тогаш јас ќе обезбеди вредности заедно со мојата лозинка. 277 00:20:13,230 --> 00:20:17,080 Лозинки во нашите корисници табелата не се чуваат како само на стрингот. 278 00:20:17,080 --> 00:20:19,440 Тие се чуваат како шифрирана верзија, 279 00:20:19,440 --> 00:20:24,560 па ќе сакате да се кандидира на функцијата крипта на вистински лозинка, 280 00:20:24,560 --> 00:20:29,680 и кој ќе ви даде точен тип на багаж за корисниците низа. 281 00:20:29,680 --> 00:20:34,960 Вклучување на ова ќе ја внесе нов ред во вашите корисници табела. 282 00:20:34,960 --> 00:20:39,020 >> Да се ​​справи со барањето функција, 283 00:20:39,020 --> 00:20:43,100 пред во C ние се користи знакот за процент, како случаеви. 284 00:20:43,100 --> 00:20:47,670 Слично на тоа, истиот концепт на случаеви е применлив и тука. 285 00:20:47,670 --> 00:20:50,720 Со барањето, ќе се определи целата пребарување, 286 00:20:50,720 --> 00:20:55,510 освен кога си имаш работа со променливи како влез во барањето, 287 00:20:55,510 --> 00:21:00,490 тогаш наместо всушност ги стави внатре - како кога имавме printf изјави во C. 288 00:21:00,490 --> 00:21:03,740 Ние ќе ја стави на низа и потоа да има случаеви таму, а потоа по секоја 289 00:21:03,740 --> 00:21:06,990 запирка, наведете кои променлива имавме. 290 00:21:06,990 --> 00:21:14,480 Тука, ние ќе го користите прашалник знак како нашите случаеви 291 00:21:14,480 --> 00:21:21,670 а потоа помине во секоја променлива, односно во ред, за placeholders - 292 00:21:21,670 --> 00:21:24,420 каде што овие променливи треба да оди. 293 00:21:24,420 --> 00:21:29,470 Па еве, првиот прашалник ќе биде заменет од страна на вистинските корисничко име 294 00:21:29,470 --> 00:21:33,610 потоа вториот прашалник од страна на лозинка. 295 00:21:33,610 --> 00:21:37,000 >> Тогаш, конечно, откако ќе ги регистрира и додаде нив на базата на податоци, 296 00:21:37,000 --> 00:21:40,510 тогаш ќе сакате да ги влезете во веб-сајт. 297 00:21:40,510 --> 00:21:45,320 Имаме вид на супер-глобална променлива наречена сесија. 298 00:21:45,320 --> 00:21:48,160 Сесија трае одреден проект, 299 00:21:48,160 --> 00:21:51,750 и дека ид одговара на корисникот, која во моментов најавени 300 00:21:51,750 --> 00:21:56,380 Што ќе сакате да направите е да се најде она што нивните корисничко име е 301 00:21:56,380 --> 00:22:03,710 а потоа во собата што Ид како проект кој особено корисникот. 302 00:22:03,710 --> 00:22:07,560 Функција која ќе сакате да го користите овде е SQL командата 303 00:22:07,560 --> 00:22:15,150 што ќе се потсетите на последниот вметнува ID број од вашата маса. 304 00:22:15,150 --> 00:22:24,560 Потоа редови ќе го наречеме - it'll јавите на id - it'll доделите име на број, кој се враќа. 305 00:22:24,560 --> 00:22:27,900 Тоа ќе го наречеме дека ид. 306 00:22:27,900 --> 00:22:33,370 Сега сме готови регистрираат, а ние може да се движи да го цитирам. 307 00:22:33,370 --> 00:22:36,610 >> Цитат им овозможува на корисникот да го внесете името на одредени акции, 308 00:22:36,610 --> 00:22:41,940 а потоа ќе се врати квалитети на кои акции. 309 00:22:41,940 --> 00:22:48,410 Што ќе сакате да го направите тука е да има контролер и некои шаблони. 310 00:22:48,410 --> 00:22:53,380 Во овој случај, ние ќе треба да имаат контролер кој се случува да се направи на сите размислување за нас. 311 00:22:53,380 --> 00:23:01,210 Тоа се случува да се погледне до симбол, а потоа помине во вредностите на шаблони кои ќе се печати. 312 00:23:01,210 --> 00:23:03,060 Ние ќе имаат 2 шаблони тука. 313 00:23:03,060 --> 00:23:07,260 Ние ќе имаат 1 дефиниција која обезбедува формата во која корисниците ќе 314 00:23:07,260 --> 00:23:09,920 внесување на името на акции - името на уделот. 315 00:23:09,920 --> 00:23:16,030 Тогаш ние, исто така, ќе сакаат друг образец во кој ги прикажува овие вредности. 316 00:23:16,030 --> 00:23:27,450 Можете да погледнете во најава за пример за тоа како ќе имаат форма која прифаќа влез, 317 00:23:27,450 --> 00:23:30,060 освен во тука, ние само сакаме 1 област. 318 00:23:30,060 --> 00:23:31,630 Ние не сакаме корисничко име и лозинка поле. 319 00:23:31,630 --> 00:23:37,110 Ние само сакаме 1 текстуално поле кое му овозможува на корисникот да го внесете името на одредени акции. 320 00:23:37,110 --> 00:23:40,110 Тогаш ќе сакате да се испрати на податоците - кога веќе сте се погледна нагоре дека акциите - 321 00:23:40,110 --> 00:23:45,550 да quote_form.php. 322 00:23:45,550 --> 00:23:50,780 Пронајди ќе се врати симбол на акции, име, и цена. 323 00:23:50,780 --> 00:23:53,910 Оние кои се содржани во асоцијативна низа. 324 00:23:53,910 --> 00:24:01,390 Побарајте на пребарување функција во внатрешноста на functions.php за повеќе информации 325 00:24:01,390 --> 00:24:04,010 за враќање видови од нив. 326 00:24:04,010 --> 00:24:08,520 >> Одлично! Па тогаш, конечно, ќе сакате да се прикаже информации за акции. 327 00:24:08,520 --> 00:24:14,110 Ќе сакате да веројатно се прикаже - you'll сакате да пристапите до овие променливи. 328 00:24:14,110 --> 00:24:17,610 Откако ќе имаат цена во променлива - 329 00:24:17,610 --> 00:24:20,860 како и име и симболот - 330 00:24:20,860 --> 00:24:25,550 тогаш ќе сакате да се прикаже оние во вашата страница дефиниција. 331 00:24:25,550 --> 00:24:31,540 Која дефиниција страница може да се нарече show_quote.php или нешто. 332 00:24:31,540 --> 00:24:39,660 Вашиот quote.php страница би го направила шоу понуда и потоа помине во сите тие вредности. 333 00:24:39,660 --> 00:24:47,170 Потоа во вашиот PHP страница, вие всушност испечатите оние вредности на HTML аспект на страната. 334 00:24:47,170 --> 00:24:53,800 Можете само користење на функција за печатење и да го положат во цената. 335 00:24:53,800 --> 00:24:57,990 Постојат 2 начини - можете или да го concatenate со операторот точка, 336 00:24:57,990 --> 00:25:02,230 или користете случаеви. 337 00:25:07,580 --> 00:25:12,750 >> Корисниците на крајот ќе се купување и продавање на акции. 338 00:25:12,750 --> 00:25:18,450 Ние сакаме да им овозможи на некои начин на гледање на сите акции што тие во моментов имаат. 339 00:25:18,450 --> 00:25:21,350 Ние ќе се јавите дека нивното портфолио. 340 00:25:21,350 --> 00:25:26,180 Портфолио би, веројатно за секој корисник, содржи еден куп на редови 341 00:25:26,180 --> 00:25:31,760 листата на видот на акциите кои имаат, а потоа колку од оние што ги имаат. 342 00:25:31,760 --> 00:25:36,500 Нашите постоечки маса - во моментов имаме корисниците табелата во нашата база на податоци. 343 00:25:36,500 --> 00:25:41,780 Која содржи корисничко име на корисникот, како и нивната лозинка и колку пари имаат. 344 00:25:41,780 --> 00:25:50,390 Нема вистински начин на складирање на сите на нивните акции во рамките на тоа. 345 00:25:50,390 --> 00:25:58,010 Тоа не е како можеме да вметнете нова колона за секој акции. 346 00:25:58,010 --> 00:26:03,650 Тоа ќе биде многу, многу долг ред, бидејќи имаме бесконечна количина 347 00:26:03,650 --> 00:26:06,200 на видови на акции, кои тие би можеле да имаат. 348 00:26:06,200 --> 00:26:09,150 Така, наместо она што ние ќе направиме е во рамките на истата база на податоци, 349 00:26:09,150 --> 00:26:15,000 ќе имаме корисниците маса, но потоа ние исто така ќе имаат портфолио табела. 350 00:26:15,000 --> 00:26:18,430 Портфолиото маса ќе биде дефинитивно поврзани со корисниците маса, 351 00:26:18,430 --> 00:26:24,600 но наместо портфолио структура на табелата ќе имаат информации за акции, 352 00:26:24,600 --> 00:26:27,780 колку акции на таа акциите на корисникот, 353 00:26:27,780 --> 00:26:31,620 на корисникот, како и одреден број. 354 00:26:31,620 --> 00:26:34,620 Имате корисници маса која има име како корисничко име, hash - 355 00:26:34,620 --> 00:26:40,130 што е лозинка, шифрирана лозинка - 356 00:26:40,130 --> 00:26:42,130 и тогаш износот на пари што ги имаат. 357 00:26:42,130 --> 00:26:47,900 На матичниот број ќе бидат поврзани со ID број од портфолио. 358 00:26:47,900 --> 00:26:52,490 Портфолиото само ќе имаат симбол на акции, како и на акциите - 359 00:26:52,490 --> 00:26:55,410 бројот на акции на кои акции што корисникот има. 360 00:26:55,410 --> 00:26:58,520 Во тоа портфолио маса ќе имаат основа 361 00:26:58,520 --> 00:27:03,760 сите акции кои ги поседува сите корисници на вашиот сајт. 362 00:27:03,760 --> 00:27:10,550 Подоцна, да се наведе само акции одреден корисникот - само нивното портфолио - 363 00:27:10,550 --> 00:27:15,360 ќе добие вредностите од табелата вашето портфолио е таква што 364 00:27:15,360 --> 00:27:19,930 на матичниот број е специфична за тој корисник. 365 00:27:26,520 --> 00:27:34,890 >> Кога ќе се прикаже портфолио, ќе сакате да го пријавите профилот секоја од акциите во портфолиото на корисникот. 366 00:27:34,890 --> 00:27:41,670 Ќе сакате да го пријавите профилот на бројот на акции и сегашната вредност на тие акции. 367 00:27:41,670 --> 00:27:45,950 Дека сегашната вредност на тие акции не се чуваат во портфолиото маса 368 00:27:45,950 --> 00:27:51,640 затоа што тоа се случува да се ажурирање - најмалку - секој ден од Јаху. 369 00:27:51,640 --> 00:27:58,550 За да се добие таа информација, не можете да референца која од вашиот SQL упит. 370 00:27:58,550 --> 00:28:02,400 Што функција обезбедува дека ни? Што функција ќе добиете цена? 371 00:28:02,400 --> 00:28:09,110 Тоа е збор, па со користење пребарување на одреден симбол ќе ви даде многу информации. 372 00:28:09,110 --> 00:28:13,710 Тоа ќе ви даде 3 парчиња информации - име, симбол, како и цената. 373 00:28:13,710 --> 00:28:17,490 Откако ќе побара одреден симбол, тогаш може да добиете на цената, 374 00:28:17,490 --> 00:28:20,460 а потоа можете да го користите цена да бидат прикажани во вашето портфолио. 375 00:28:20,460 --> 00:28:26,190 >> Портфолиото исто така треба да се прикаже тековната на корисникот готовински баланс. 376 00:28:26,190 --> 00:28:30,310 Тоа поле се чува во рамките на вашите корисници табела. 377 00:28:30,310 --> 00:28:33,400 Па тогаш сеќавајќи се како ние сме во основа мора да - 378 00:28:33,400 --> 00:28:36,850 ние си имаат различни видови на PHP датотеки. 379 00:28:36,850 --> 00:28:40,160 Ние ќе имаат контролер, кои во основа го прави сите размислување за вас. 380 00:28:40,160 --> 00:28:45,940 И тогаш имаме дефиниција во која дефиниција се занимава со Ставање на податоци. 381 00:28:45,940 --> 00:28:50,790 Мора да мислат на она променливи контролорот ќе треба да се преземат внатре 382 00:28:50,790 --> 00:29:01,630 Ако ние не се занимаваат со портфолио кое изнесува секое име, симбол, и споделување на број, 383 00:29:01,630 --> 00:29:03,730 како и сегашната цена на акциите, 384 00:29:03,730 --> 00:29:06,950 тогаш ќе сакате да се најде некој начин на основа поминува во - 385 00:29:06,950 --> 00:29:12,070 може да помине во низа на вредности кои одговараат на тоа. 386 00:29:15,250 --> 00:29:24,360 >> Ајде да одиме во еден пример за тоа како може да се добијат сите на акции 387 00:29:24,360 --> 00:29:26,210 сопственост на одреден корисник. 388 00:29:26,210 --> 00:29:31,400 Ова не се занимава - уште - со цената на акциите. 389 00:29:31,400 --> 00:29:33,520 Што тоа би направите е да извршите пребарување. 390 00:29:33,520 --> 00:29:37,070 Тоа ќе добијат симбол како и акции од - 391 00:29:37,070 --> 00:29:42,770 Јас го повикувам оваа табела, но во овој случај тоа би било тоа? 392 00:29:42,770 --> 00:29:49,400 Што е името на табелата дека ние сме се занимаваат со таа има симбол и акции 393 00:29:49,400 --> 00:29:52,280 за одреден корисник? 394 00:29:52,280 --> 00:29:56,410 Тоа е или корисници или портфолио. 395 00:29:56,410 --> 00:29:57,820 Портфолио. 396 00:29:57,820 --> 00:30:03,220 Што тоа би направите е да пребарување портфолио за симболи и акции 397 00:30:03,220 --> 00:30:04,920 за одреден корисник. 398 00:30:04,920 --> 00:30:09,260 Еве, јас се каже, (Избери симбол, акции од тбл - 399 00:30:09,260 --> 00:30:12,280 но наместо маса, ви се случува да го замени тоа со портфолио. 400 00:30:12,280 --> 00:30:15,220 "Каде е всушност мојата состојба. 401 00:30:15,220 --> 00:30:21,050 Јас велам дека само сакаат да ги добијат оние асоцијативни низи кои одговараат 402 00:30:21,050 --> 00:30:23,850  овој следната состојба - id еднакви. 403 00:30:23,850 --> 00:30:27,600  Тогаш јас сум ставање случаеви таму и тогаш Ид. 404 00:30:27,600 --> 00:30:36,720 Што тоа ќе го направите е да се каже за секој ред во редови. 405 00:30:36,720 --> 00:30:40,940 Ова е уредни начин наместо всушност морале да се постави за телефонска линија 406 00:30:40,940 --> 00:30:47,450 дека iterates над сите индекси, тогаш во PHP може да имаат за-секој циклус. 407 00:30:47,450 --> 00:30:53,520 >> Ако имате одредена низа, тогаш може да се каже јас ќе одам да се јавите секој следен елемент - 408 00:30:53,520 --> 00:30:57,930 Одам да се јавите секој елемент ова име. 409 00:30:57,930 --> 00:31:02,780 Значи, за секој еден од овие елементи, јас ќе одам да ги наречеме тоа, 410 00:31:02,780 --> 00:31:04,500 тогаш можам да го направите тоа. 411 00:31:04,500 --> 00:31:10,370 Во овој за секој, мора редови како вашиот вистински низа, а секој ред ви се случува да се јавите ред. 412 00:31:10,370 --> 00:31:12,420 Секој пат кога го извршува телото, 413 00:31:12,420 --> 00:31:16,960 тоа ќе оди нагоре и тоа ќе се ажурира ред на следниот елемент во редови. 414 00:31:18,900 --> 00:31:25,260 >> Сега, во поглед на купување на акции, 415 00:31:25,260 --> 00:31:29,500 она што сакате да го направите е да се добие на акции што корисникот сака да го купи 416 00:31:29,500 --> 00:31:35,300 и износот на акции што корисникот сака да го купи, а потоа - ако сакате - 417 00:31:35,300 --> 00:31:38,120 додаваат дека акцијата за нивното портфолио. 418 00:31:38,120 --> 00:31:40,310 Очигледно, ако тие се купуваат нешто, тогаш тоа ќе се намали 419 00:31:40,310 --> 00:31:43,520 износот на парите што ги имаат, па тоа ќе се намалат нивните пари. 420 00:31:43,520 --> 00:31:48,380 Ние ќе треба да се занимаваат со ажурирање на портфолио како и корисниците маса, 421 00:31:48,380 --> 00:31:50,300 која содржи готовина. 422 00:31:50,300 --> 00:31:54,920 Но, прво, мора да го добиете вистинскиот акции и износот на акции што корисникот сака. 423 00:31:54,920 --> 00:32:00,010 За тоа, ќе треба HTML форма што ќе побара за симбол на акции 424 00:32:00,010 --> 00:32:03,360 што сакате да ја купите, како и бројот на акции. 425 00:32:03,360 --> 00:32:08,300 Тогаш ќе сакате да го додадете. 426 00:32:08,300 --> 00:32:13,750 Ќе сакате да изберете одредени вредности. 427 00:32:13,750 --> 00:32:19,670 Ние сме го преживеале овој малку веќе, но кога ќе се обидуваш да се добие одредени редови - 428 00:32:19,670 --> 00:32:22,020 добивање одредени редови од табелата SQL, 429 00:32:22,020 --> 00:32:24,290 ова е следнава синтакса. 430 00:32:24,290 --> 00:32:28,400 Можете да изберете, а потоа ако се определи ѕвезда, 431 00:32:28,400 --> 00:32:31,830 што во основа ќе се врати во целина, целиот ред за вас. 432 00:32:31,830 --> 00:32:36,890 Потоа повторно, имате состојба каде, а потоа ќе се определи - 433 00:32:36,890 --> 00:32:39,990 Јас само сакам корисничкото име да биде еднаков на пошта во, 434 00:32:39,990 --> 00:32:46,660 па тоа само ќе се потсетите на ред корисници што одговара на пошта во. 435 00:32:46,660 --> 00:32:52,860 >> Кога корисникот сака да додадете споделување на портфолио, 436 00:32:52,860 --> 00:32:54,400 треба да проверите за неколку грешки. 437 00:32:54,400 --> 00:32:57,680 Вие сакате да бидете сигурни дека корисникот всушност може да си дозволи на акции, 438 00:32:57,680 --> 00:33:00,810 па ќе сакате да се провери нивните пари. 439 00:33:00,810 --> 00:33:05,810 Пред тоа, ние се користи ѕвезда да се добие една целина ред од табелата SQL. 440 00:33:05,810 --> 00:33:08,930 Но, овде, ние може да всушност само се каже дека Јас само сакам 1 вредност - 441 00:33:08,930 --> 00:33:10,080 Јас само сакам готовина. 442 00:33:10,080 --> 00:33:17,970 Па еве, тоа ќе се вратат парите за корисник со ID број 1. 443 00:33:17,970 --> 00:33:25,940 Ако корисникот веќе купиле одредени акции, но тогаш купува повеќе од тоа акции, 444 00:33:25,940 --> 00:33:30,440 потоа во вашето портфолио - не сакате посебна линија, 445 00:33:30,440 --> 00:33:34,770 уште еден ред, која содржи таа нова трансакција. 446 00:33:34,770 --> 00:33:37,950 Ти всушност сакате да го обновите на износот. 447 00:33:37,950 --> 00:33:42,530 Се што е менување навистина е износот на акции што тој корисник поседува. 448 00:33:42,530 --> 00:33:47,730 Ако користите вметнете во барањето - па тоа е само внесете во вашето портфолио на сите овие вредности - 449 00:33:47,730 --> 00:33:51,710 на корисникот ID број, како и симбол на акции што тие се купуваат 450 00:33:51,710 --> 00:33:57,750 и акции, тогаш исто така ќе сакате да се одреди, и, ако извршувате во дупликат клуч - 451 00:33:57,750 --> 00:34:00,750 во овој случај, дупликат клучот е не само на корисникот ид но исто така и акции симбол - 452 00:34:00,750 --> 00:34:08,340 затоа што само може да имаат - нашата премиса е дека може да има само 1 ред 453 00:34:08,340 --> 00:34:10,699  што одговара на 1 специфичен симбол. 454 00:34:10,699 --> 00:34:13,659 Значи, на дупликат клучот - ако извршувате во судир таму - 455 00:34:13,659 --> 00:34:18,520 ти си само ќе се ажурира акции на својата нова вредност. 456 00:34:18,520 --> 00:34:23,290 Акции изнесува она што имавме пред плус бројот на акции што на корисникот е купување. 457 00:34:27,790 --> 00:34:31,090 >> Сега дека ние сме обновено портфолиото маса, 458 00:34:31,090 --> 00:34:34,730 ќе сакате да го обновите пари на корисникот. 459 00:34:34,730 --> 00:34:40,300 Тоа е во корисниците маса, па ние ќе треба да се одземање одредена сума од пари. 460 00:34:40,300 --> 00:34:46,270 Веројатно, тоа ќе биде готово еднаква на пари минус - и потоа одредена сума. 461 00:34:46,270 --> 00:34:50,560 За ажурирање на пари, што би - 462 00:34:50,560 --> 00:34:55,699 ако сакав да се земе пари од пошта во, тогаш јас би ја извршите оваа пребарување - 463 00:34:55,699 --> 00:35:00,220 "Ажурирање на корисниците а потоа во собата на кеш колоната за готово - 464 00:35:00,220 --> 00:35:07,300 >> Јас ќе ги отстрани 9.999 долари само ако корисничко име е еднаква на пошта во. 465 00:35:07,300 --> 00:35:12,020 Но, во овој случај, ние не сакаме да одземе 9.999 конкретно. 466 00:35:12,020 --> 00:35:17,610 Ние сакаме да се одреди, добро, ние сакаме да одземе сегашната цена на акциите 467 00:35:17,610 --> 00:35:22,400 помножена со бројот на акции што тие се купуваат. 468 00:35:25,260 --> 00:35:29,910 >> Сега ние сме им дозволи да ги видиш сите од акциите што ги имаат, 469 00:35:29,910 --> 00:35:33,080 како и купат повеќе акции. 470 00:35:33,080 --> 00:35:37,430 Ние, исто така, претходно им дозволи да се погледне до сегашната цена на акциите. 471 00:35:37,430 --> 00:35:40,030 Еве ние сакаме да им се дозволи да ги продадат. 472 00:35:40,030 --> 00:35:42,160 Прво сакаме да се прикаже основа - 473 00:35:42,160 --> 00:35:45,270 ние сакаме да им се дозволи да ги видиш сите од акциите што ги имаат, 474 00:35:45,270 --> 00:35:53,170 па еве ние сакаме да ги прикажете сите редови од портфолио. 475 00:35:53,170 --> 00:35:56,650 Ако тие избираат да продаде некои акции, 476 00:35:56,650 --> 00:35:59,140 тогаш ние ќе да се претпостави дека тие сакаат да го продаде сето тоа. 477 00:35:59,140 --> 00:36:04,350 Тие не се само ќе продаде 50% од своите акции, тие се случува да го продаде 100% од неа. 478 00:36:04,350 --> 00:36:08,630 Ние само може да го избришете целиот ред од портфолио. 479 00:36:08,630 --> 00:36:17,520 Ние можеме да ги избришете акции на даден корисник на одреден симбол. 480 00:36:17,520 --> 00:36:21,410 Тука е синтакса за тоа. 481 00:36:21,410 --> 00:36:22,710 >> Тогаш ние сакаме да се ажурира на готовина. 482 00:36:22,710 --> 00:36:30,930 Ние ќе биде додавајќи во готовина еднаков на износот на акции што се продаваат 483 00:36:30,930 --> 00:36:34,640 множи со сегашната цена на акциите - 484 00:36:34,640 --> 00:36:38,610 Не цената по која тие го купиле, туку цената по која тие се - 485 00:36:38,610 --> 00:36:40,500 сегашната цена кога тие се продавам. 486 00:36:40,500 --> 00:36:43,660 Да повикување на сегашната цена на акциите, 487 00:36:43,660 --> 00:36:49,120 ќе сакате да го користите збор, која ќе ви даде на цената на акциите 488 00:36:50,030 --> 00:36:52,650 во овој момент. 489 00:36:52,650 --> 00:36:55,930 >> Сега сме оставени со историја, 490 00:36:55,930 --> 00:37:00,170 која сакате да му дозволи на корисникот да ги пратите на сите нивни трансакции - 491 00:37:00,170 --> 00:37:03,040 сака да ја види кога тие се продаваат нешто, кога ќе купи акции. 492 00:37:03,040 --> 00:37:08,870 Ние сакаме да го одредите времето во кое тие го сторија тоа како и колку тие купиле 493 00:37:08,870 --> 00:37:11,650 и она што акции што беше. 494 00:37:11,650 --> 00:37:17,800 Дали имаме било кој актуелен, постојната структура која го одредува тоа? 495 00:37:17,800 --> 00:37:25,230 Па, имаме портфолио кое прикажува бројот акции што корисникот има 496 00:37:25,230 --> 00:37:26,470 за одредена акција. 497 00:37:26,470 --> 00:37:34,060 Но, ние сме структурирање портфолио во начинот на кој го ажурира кога ќе купуваат повеќе, 498 00:37:34,060 --> 00:37:40,190 додека историјата треба да - ако ги купите на Apple, 10 индексот на неа, а потоа подоцна го продаде 5, 499 00:37:40,190 --> 00:37:44,040 тогаш ќе сакате да ги видиме одделно како посебни активности, одделни редови. 500 00:37:44,040 --> 00:37:48,520 Додека таа акција да се визуелизира дека во нашето портфолио маса 501 00:37:48,520 --> 00:37:52,540 само ќе биде надградба на тоа особено ред, 502 00:37:52,540 --> 00:37:55,740  па ние сме веројатно ќе сакате другата маса. 503 00:37:55,740 --> 00:38:00,460 Во нашата база на податоци, имаме нашите корисници маса, имаме нашето портфолио на маса, 504 00:38:00,460 --> 00:38:04,090 и сега ние најверојатно ќе сакате историја табела. 505 00:38:04,090 --> 00:38:08,070 Дека историјата маса да ги пратите на тековниот датум, 506 00:38:08,070 --> 00:38:12,800 како и посебните акции симбол, како и колку акции, 507 00:38:12,800 --> 00:38:15,410 а потоа она што акција е - 508 00:38:15,410 --> 00:38:18,800 дали сте биле купување на овие акции или дали сте биле ги продаваат. 509 00:38:20,660 --> 00:38:25,720 >> Да се ​​справи со датум, постојат неколку начини на кои можете да го направите тоа. 510 00:38:25,720 --> 00:38:28,820 PHP има свој начин на следење на денот, која може да се погледне до себе. 511 00:38:28,820 --> 00:38:33,990 Во SQL можете да го користите сега или тековната временската ознака. Тоа е до вас. 512 00:38:33,990 --> 00:38:40,720 Само бидете сигурни дека секој пат кога корисникот купува или продава, ќе се ажурирање на нивните пари 513 00:38:40,720 --> 00:38:46,750 во корисниците маса, ќе биде ажурирање на редови во портфолијата маса, 514 00:38:46,750 --> 00:38:50,900 тогаш исто така ќе биде ажурирање на историјата, 515 00:38:50,900 --> 00:38:56,260 па таму се случува да биде 3 одделни SQL queries дека ќе се повикува таму. 516 00:38:58,640 --> 00:39:01,530 Имаме еден куп на функционалноста сега. 517 00:39:01,530 --> 00:39:10,600 >> Само неколку потсетници дека во вашата индексна датотека, ќе сакаат да водат до најмалку вашите - 518 00:39:10,600 --> 00:39:15,550 но вие ќе сакате да му дозволи на корисникот да се поврзе на buy.php страница. 519 00:39:15,550 --> 00:39:23,560 Тоа ќе им овозможи на корисникот - buy.php е контролор, па тоа ќе било 520 00:39:23,560 --> 00:39:29,170 испрати да - тоа е нема да ти испрати на формата која ти овозможува да се погледне работите. 521 00:39:29,170 --> 00:39:34,420 Имаме историја. Имаме одјава, добивање на понуда и потоа продавање. 522 00:39:34,420 --> 00:39:37,350 Оние кои се во најмала рака она што сакате да се покаже. 523 00:39:37,350 --> 00:39:43,640 Во однос на портфолио, портфолио е, всушност, е прикажано на почетната страница. 524 00:39:43,640 --> 00:39:52,050 Ако одиме да индексира, тука можеме да видиме дека тоа го прави portfolio.php 525 00:39:52,050 --> 00:40:00,050 и поминува во асоцијативна низа - во основа насловот е еднаква на портфолио. 526 00:40:00,050 --> 00:40:02,610 Значи, ова е контролорот. 527 00:40:02,610 --> 00:40:08,000 Ако одиме на дефиниција на portfolio.php, 528 00:40:08,000 --> 00:40:18,060 тогаш сите има е - прикажува во основа слика која вели, ох, овој сајт е во изградба. 529 00:40:18,060 --> 00:40:23,810 Подоцна, откако ќе помине во - you'll се поминува во основа е повеќе специфични информации. 530 00:40:23,810 --> 00:40:27,400 Наместо само насловот, најверојатно ќе се поминува во повеќе нешта. 531 00:40:27,400 --> 00:40:32,010 Откако ќе имаат оние вредности, тогаш portfolio.php може да се справи со оние вредности 532 00:40:32,010 --> 00:40:34,490 и ги отпечатите во било кој вид на ред. 533 00:40:34,490 --> 00:40:41,660 >> Откако ќе спроведува на сите оние, исто така ќе треба да се имплементираат 1 повеќе функција. 534 00:40:41,660 --> 00:40:44,890 Ова може да биде овозможува на корисникот да го сменат лозинка, 535 00:40:44,890 --> 00:40:50,110 да ја ресетирате лозинката ако тие ги заборавиле - така и за ресетирање на лозинката, а потоа 536 00:40:50,110 --> 00:40:54,560 ќе веројатно исто така, сакаат да ги уредувате регистрирате така што им овозможува да наведете е-маил, 537 00:40:54,560 --> 00:40:57,910 па ако тие ги забораваат лозинка, тогаш тие можат да добијат тоа. 538 00:40:57,910 --> 00:41:02,870 Тие веројатно може да влезе во нивните корисничко име, а потоа е-маил ќе биде испратен до нив 539 00:41:02,870 --> 00:41:06,180 со линк за да може да ја ресетирате лозинката. 540 00:41:06,180 --> 00:41:10,980 Можете да имаат нешто што им овозможува на корисниците да се потврди 541 00:41:10,980 --> 00:41:12,380 секој пат кога ќе купат или продадат нешто, 542 00:41:12,380 --> 00:41:19,910 а потоа, конечно, им овозможи да додадете пари на нивниот вебсајт. 543 00:41:19,910 --> 00:41:24,970 Само да се врати во концептот на контролорите и шаблони малку. 544 00:41:24,970 --> 00:41:31,170 Ќе мора нешто како - така ќе имате контролер тука. 545 00:41:31,170 --> 00:41:35,080 Токму сега, ние сме во потрага по login.php пример. 546 00:41:35,080 --> 00:41:38,220 Кога имаме контролер, во основа тоа се случува да се земе 2 случаи. 547 00:41:38,220 --> 00:41:42,090 Кога имаме контролори, ние сме во ова парче дека ние сме исто така еден вид на справување со 548 00:41:42,090 --> 00:41:43,880 кога имаме форми, како и. 549 00:41:43,880 --> 00:41:47,500 Контролорот во основа ќе имаат одделни акции - 550 00:41:47,500 --> 00:41:53,880 една, ако форма е веќе испратена, а потоа две ако корисникот доаѓа на оваа страница 551 00:41:53,880 --> 00:41:56,870 за прв пат и се уште треба да го внесете тој облик. 552 00:41:56,870 --> 00:42:02,820 >> Одам да скокне до тој случај прво пред да замине до првиот случај на постоење на форма внатре 553 00:42:02,820 --> 00:42:12,640 Еве ние се каже, ако форма е доставен со методот пост - 554 00:42:12,640 --> 00:42:13,580 не грижете се за тоа малку. 555 00:42:13,580 --> 00:42:19,780 Не грижете се за тоа премногу, но да разберат дека во основа на оваа функција се занимава со 556 00:42:19,780 --> 00:42:22,430 дали форма е поднесена или не. 557 00:42:22,430 --> 00:42:25,640 Оваа состојба е точно ако корисникот поднесе форма. 558 00:42:25,640 --> 00:42:45,940 Ако не, тогаш ние ќе сакате да се јавите направат login_form.php, а потоа помине во насловот. 559 00:42:45,940 --> 00:42:48,010 Овој наслов е само основа ќе се појави во заглавието. 560 00:42:48,010 --> 00:42:54,990 Што тоа не е во основа вели дека, во ред - добро, ако корисникот оди на login.php 561 00:42:54,990 --> 00:43:00,310 и всушност не сте најавени, тогаш сакам да ги испрати на страница, која има таа форма 562 00:43:00,310 --> 00:43:03,160 што им овозможува да внесете корисничко име и лозинка. 563 00:43:03,160 --> 00:43:07,590 Тогаш ќе одам да login_form, а потоа дека има вистински облик. 564 00:43:07,590 --> 00:43:13,750 Тогаш, еднаш на корисникот поднесува таа форма, тие ќе го достави до login.php 565 00:43:13,750 --> 00:43:15,840 со методот пост. 566 00:43:15,840 --> 00:43:21,560 Тогаш јас сум всушност се случува да влезат во овој дел од мојот ако-друго јамка. 567 00:43:21,560 --> 00:43:29,560 Тогаш тоа е тука дека ние се справи со вредности внесени во форма. 568 00:43:29,560 --> 00:43:32,800 Тоа е тука дека ќе се справи со нив. 569 00:43:32,800 --> 00:43:40,860 >> Потоа откако ќе се справи со оние вредности - ако сте се занимаваат со - 570 00:43:40,860 --> 00:43:46,640 велат дека ние сме се занимаваат со quote.php страница каде што некој може да внесувате акции што 571 00:43:46,640 --> 00:43:49,950 тие сакаат да се погледне нагоре, а потоа да се види дека дисплеј - 572 00:43:49,950 --> 00:43:52,850 тоа е вид на слични овде. 573 00:43:52,850 --> 00:43:56,070 Тука имаме најава форма - you'd веројатно имаат цитат форма - 574 00:43:56,070 --> 00:44:00,290 но тогаш еднаш на корисникот всушност поднесе таа информација, 575 00:44:00,290 --> 00:44:04,810 тогаш ќе сакате контролорот да помине во друга дефиниција 576 00:44:04,810 --> 00:44:07,430 кои ќе им покаже дека вистински информации. 577 00:44:07,430 --> 00:44:11,250 Па тогаш во право околу тука, тогаш ќе веројатно - 578 00:44:11,250 --> 00:44:18,830 околу крајот на вашата состојба тука - ако метод е еднаква на пост - 579 00:44:18,830 --> 00:44:22,520 тогаш веројатно ќе сакате да го направи друга страница - шоуто понуда - 580 00:44:22,520 --> 00:44:28,040 кој ви праќа на оваа страница - show_quote.php-- 581 00:44:28,040 --> 00:44:34,120 а потоа и во таа датотека ќе референтни тие вредности. 582 00:44:34,120 --> 00:44:36,480 Дали тоа има смисла? 583 00:44:36,480 --> 00:44:40,390 >> Имаме контролер, кој во основа се занимава со 2 случаи - 584 00:44:40,390 --> 00:44:42,710 дали сте влегле во форма или не. 585 00:44:42,710 --> 00:44:43,950 Ако не се влезе во форма, 586 00:44:43,950 --> 00:44:47,300 тогаш ќе ви се пренасочува кон таа форма, кои потоа ќе ви стават назад кон оваа страница. 587 00:44:47,300 --> 00:44:54,020 Потоа, штом еднаш ќе имаат информации во контролор, дека телото ќе се справи со тоа 588 00:44:54,020 --> 00:44:59,750 информации колку што е потребно - или угледување вредности за акции, 589 00:44:59,750 --> 00:45:04,150 а потоа, кога веќе е погледна оние вредности и ги има во убаво форматирана низа, 590 00:45:04,150 --> 00:45:08,180 тогаш може да помине таа низа во шаблон страница 591 00:45:08,180 --> 00:45:10,330  која се занимава со Ставање таа информација. 592 00:45:10,330 --> 00:45:14,680 >> Повторно, бидејќи е интернет, тоа ќе биде забавно. 593 00:45:14,680 --> 00:45:20,310 Ние сме надвор од Ц па ние не сме ограничени на ASCII и кои терминал излез, 594 00:45:20,310 --> 00:45:21,800 па се забавуваат со тоа. 595 00:45:21,800 --> 00:45:24,920 Можете да го направите како визуелно, како сакате. 596 00:45:24,920 --> 00:45:31,860 Можете да им овозможи на корисниците да го внесете милиони долари во еден момент, 597 00:45:31,860 --> 00:45:34,730 или да ги ограничи и да се навистина значи и да им дозволиме само да влезат 1 денар во време 598 00:45:34,730 --> 00:45:36,330 или нешто слично. 599 00:45:36,330 --> 00:45:38,550 Дефинитивно не заборавајте да се забавуваат со тоа. 600 00:45:38,550 --> 00:45:47,030 >> PHP код е малку поедноставна по тоа што е малку полесно да планирам вашиот pseudocode 601 00:45:47,030 --> 00:45:50,070 во конкретната имплементација. 602 00:45:50,070 --> 00:45:56,320 Значи, дефинитивно се забавуваат со тоа затоа што тоа е всушност нашата последното парче во CS50. 603 00:45:56,320 --> 00:46:01,150 Со тоа, ова беше можи 7. 604 00:46:01,150 --> 00:46:04,640 Откако ќе завршите со гледањето на Walkthrough и завршил pset, 605 00:46:04,640 --> 00:46:09,590 тогаш тие беа исто така psets, а сега ние сме за да финалниот производ - 606 00:46:09,590 --> 00:46:12,330 откако ќе се добие преку квиз 1. 607 00:46:12,330 --> 00:46:16,200 Тогаш се надевам дека можете да го користите алатки кои што сте научиле од psets - 608 00:46:16,200 --> 00:46:21,980 не само синтаксата, но повеќе апстрактен поим за тоа како да преземе одреден - 609 00:46:21,980 --> 00:46:24,950 допаѓа, сакам да го направи ова и тогаш всушност се спроведува тоа. 610 00:46:24,950 --> 00:46:28,740 Учењето како да се борат, преку синтакса и дистрибуција код. 611 00:46:28,740 --> 00:46:33,020 Читање на другите луѓе код, а потоа толкување дека користењето на постоечки функции. 612 00:46:33,020 --> 00:46:37,360 >> Па, со среќа со последната pset. 613 00:46:37,360 --> 00:46:39,930 Тоа е задоволство да ја води walkthroughs. 614 00:46:39,930 --> 00:46:40,940 Се надевам дека тие се корисни за вас. 615 00:46:40,940 --> 00:46:46,560 Овие беа Walkthroughs, и благодарение многу. 616 00:46:52,580 --> 00:46:56,200 [CS50.TV]