1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [Walkthrough Проблем Задайте 7] 2 00:00:03,000 --> 00:00:04,400 [Zamyla Chan] [Харвардския университет] 3 00:00:04,400 --> 00:00:07,640 [Това е CS50 [CS50.TV] 4 00:00:07,640 --> 00:00:12,090 >> Здравейте на всички, и добре дошли Walkthrough 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 тогава какво искате да направите, е да искате да изпълните командата коригира. 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 така, какво ще направите, можете да изпълните командата коригира 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 файлове и растерни изображения, подобни неща, или някой кодекс 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 трябва да се коригира-ЕД специално. 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 Ако действително премине в = 1, б = 2, в = 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, но определено сте свободни да го ощипвам, 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 В този случай, ние имаме три папки. 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 Rendering е функция, така че, когато ние сме в контролер, 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 Продължавайки, тя ще сверки с базата данни - Ще отида в повече от това по-късно. 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 Lookup ще бъде полезен. 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 след това, вместо действително пускането им вътре - като, когато имахме ФОРМАТ отчети в 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 и след това преминават във всяка променлива, съответно в ред, за контейнери 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 че ще изтегли последната въведена идентификационен номер от вашата трапеза. 304 00:22:15,150 --> 00:22:24,560 Тогава редове ще се обадя - it'll се обадите на номер - 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 Отиваме да има две шаблони тук. 313 00:23:03,060 --> 00:23:07,260 Отиваме да има едно шаблон, който предвижда формата, в която потребителите ще 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 Вероятно Вие ще искате да се покаже - ще искат да имат достъп до тези променливи. 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 Има два начина - можете да го свързвам с оператора точка, 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 Имате на потребителите таблица, която има номер, както и потребителското име, хеш - 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 Идентификационен номер ще бъде свързан с идентификационен номер от портфейла. 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 защото това ще се актуализира при минимален всеки ден от Yahoo. 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 Ще ви дам три парчета от информация - име, символ, както и цената. 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 Ето, аз казвам, (Изберете символ, акции от TBL 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 итерации над всички на индексите, след това в 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 Така че тук, че ще върне парите за потребителя с идентификационен номер 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 защото може да има само - нашата хипотеза е, че може да има само един ред 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 >> Ще премахне 9999 долара, само ако потребителското име е равна на пощата в. 465 00:35:07,300 --> 00:35:12,020 Но в този случай, ние не искаме специално за изваждане 9999. 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 така че ще бъдат три отделни SQL заявки, че ще се обади там. 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 По-късно, след като премине в - ще преминава в основно по-конкретна информация. 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 >> След като въведохме всички онези, вие също трябва да прилагат един повече черта. 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 Когато имаме контролер, основно това ще отнеме две дела. 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 >> Имаме контролер, който основно се занимава с два случая - 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 Ние сме извън C, така че не сте ограничени до 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 След като приключите с гледането на репетиция и приключите 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 За мен беше удоволствие да доведе сваляне. 614 00:46:39,930 --> 00:46:40,940 Надявам се да съм била полезна за вас. 615 00:46:40,940 --> 00:46:46,560 Те са били за сваляне, и благодаря много. 616 00:46:52,580 --> 00:46:56,200 [CS50.TV]