1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [Walkthrough Problem nastavite 7] 2 00:00:03,000 --> 00:00:04,400 [Zamyla Chan] [Harvard University] 3 00:00:04,400 --> 00:00:07,640 [To je CS50] [CS50.TV] 4 00:00:07,640 --> 00:00:12,090 >> Pozdravljeni vsi in dobrodošli na podlagi obiskov, 7 CS50 finance. 5 00:00:12,090 --> 00:00:15,090 Zdaj smo uradno storiti vse psets v CS50, 6 00:00:15,090 --> 00:00:19,380 in smo ravnokar končali s še eno, ki se bo zabavno izvajanje 7 00:00:19,380 --> 00:00:23,770 spletne strani, kjer lahko uporabniki prijavite v CS50 finance 8 00:00:23,770 --> 00:00:25,830 ter nakup in prodajo zalog. 9 00:00:25,830 --> 00:00:32,280 >> Danes bomo imeli nekaj orodja, ki so nam na voljo. 10 00:00:32,280 --> 00:00:34,320 Bomo lahko govorili o dovoljenjih. 11 00:00:34,320 --> 00:00:36,380 Kadarkoli imate spletno mapo, 12 00:00:36,380 --> 00:00:40,800 boste želeli, da uporabnikom omogočajo izvajanje določenih datotek 13 00:00:40,800 --> 00:00:42,500 pa tudi drugih, ki so pravkar prebrali, 14 00:00:42,500 --> 00:00:45,150 Tako si bomo pogledali v dovoljenji in kako lahko nastavite teh. 15 00:00:45,150 --> 00:00:49,630 Potem gremo pogledati v PHP, HTML in SQL kodo. 16 00:00:49,630 --> 00:00:51,990 >> Prvič, dovolilnice. 17 00:00:51,990 --> 00:00:56,060 Ko ste v terminalu v določenem imeniku, 18 00:00:56,060 --> 00:01:00,430 potem kaj želite storiti, je, da želite zagnati ukaz chmod. 19 00:01:00,430 --> 00:01:03,750 To je sledilo bodisi črkami ali številkami 20 00:01:03,750 --> 00:01:08,100 ustreza temu, kar si v bistvu želijo videti svet, 21 00:01:08,100 --> 00:01:09,830 sami ste videli, itd 22 00:01:09,830 --> 00:01:13,350 Na primer, ko imate mapo, 23 00:01:13,350 --> 00:01:15,560 potem hočeš, da mapa za poganjanje vsakogar, ki ga vidi, 24 00:01:15,560 --> 00:01:19,500 kaj bi naredil, je, da bi lahko zaženete ukaz chmod + x 25 00:01:19,500 --> 00:01:21,050 in nato ime mape. 26 00:01:21,050 --> 00:01:28,110 Ko imate datoteko, na primer datoteke CSS ali slikovne datoteke - 27 00:01:28,110 --> 00:01:33,060 kot JPEG in rastrske slike, takih stvari, ali katere koli kode JavaScript - 28 00:01:33,060 --> 00:01:36,440 hočeš, da se da brati za vsakogar, 29 00:01:36,440 --> 00:01:39,880 Torej, kaj morate storiti, je lahko uporabite nadomestni - 30 00:01:39,880 --> 00:01:41,650 ki je zvezdica - 31 00:01:41,650 --> 00:01:46,190 v bistvu navaja v mapi CSS - vse, kar je v tej mapi - 32 00:01:46,190 --> 00:01:48,740  Jaz bom rekel, da se dogaja, da se da brati za vsakogar. 33 00:01:48,740 --> 00:01:54,220 Pri dovoljenjih, ko bomo uporabili kratico, 34 00:01:54,220 --> 00:01:57,610 bomo lahko tudi številke namesto tega. 35 00:01:57,610 --> 00:02:00,900 Torej, vidite, da je na koncu, ko kaj hočeš biti izvedljiva - 36 00:02:00,900 --> 00:02:02,810 ki je predstavljal številka 1 - 37 00:02:02,810 --> 00:02:08,340 nekaj, kar je mogoče odčitati število 4 in potem - 38 00:02:08,340 --> 00:02:10,590 pisati je številka 2 - 39 00:02:10,590 --> 00:02:13,670 in tako v bistvu, če želite kombinacijo tistih, potem ko jih dodate. 40 00:02:13,670 --> 00:02:15,860 Če želite nekaj, da se da brati, pisati in izvršljiva, 41 00:02:15,860 --> 00:02:21,970 potem bi dodali do 4, 2 in 1, in da bi vam 7, 42 00:02:21,970 --> 00:02:26,230 potem, ko ste mapo, ki jo želite, da je to izvedljivo za vsakogar - 43 00:02:26,230 --> 00:02:31,380 kot tudi bralne in pisalne - potem bi ta 7, 1, 1. 44 00:02:31,380 --> 00:02:38,140 To bi bilo za vas 7, nato 1 za druge ljudi. 45 00:02:38,140 --> 00:02:42,870 Če imate spec, boste dejansko določi, katere mape in datoteke, ki 46 00:02:42,870 --> 00:02:45,040 morajo biti chmod-ed posebej. 47 00:02:45,040 --> 00:02:47,920 Na primer, če imate mape - to so 7-1-1 - 48 00:02:47,920 --> 00:02:52,690 če imate fotografije ali HTML, CSS, JavaScript, 49 00:02:52,690 --> 00:02:55,870 Nato so se bodo 6, 0, 4 - ali 6, 4, 4 - 50 00:02:55,870 --> 00:03:00,030 in potem PHP datoteke bo 6, 0, 0. 51 00:03:00,030 --> 00:03:04,940 Ideja za to je, da uporabniki ne bi dejansko videli vašo kodo PHP, 52 00:03:04,940 --> 00:03:08,370 ampak lahko videli izhoda. 53 00:03:08,370 --> 00:03:11,030 >> Čudovito! Selitev v PHP. 54 00:03:11,030 --> 00:03:18,850 Preprosto, kadar želite datoteko PHP, datoteka pripono. Php. 55 00:03:18,850 --> 00:03:22,000 Prav tako lahko HTML mešati z PHP kodo. 56 00:03:22,000 --> 00:03:24,880 Če imate datoteko HTML, na primer, 57 00:03:24,880 --> 00:03:32,520 potem ga lahko postavite v levi kot, vprašaj, php - 58 00:03:32,520 --> 00:03:39,320 da vaš php kodo - in nato zaprite, da z drugo vprašajem in pod pravim kotom. 59 00:03:39,320 --> 00:03:45,020 Spremenljivke v PHP so veliko lažje obravnavati kot spremenljivke v C 60 00:03:45,020 --> 00:03:50,310 Vsaka spremenljivka šele začne z znak za dolar pred njo, in oni slabo vnesli. 61 00:03:50,310 --> 00:03:53,470 To pomeni, da vam ni treba skrbeti o nekaj 62 00:03:53,470 --> 00:03:55,020 enako vrvico ali celo število. 63 00:03:55,020 --> 00:03:57,710 Lahko pa preprosto reči, to je moje ime spremenljivke 64 00:03:57,710 --> 00:04:00,390 in potem je to njegova vrednost, 65 00:04:00,390 --> 00:04:03,280 tako da se bo lažje obravnavati tam. 66 00:04:03,280 --> 00:04:08,220 >> Druga stvar je, da PHP omogoča uporabo asociativnih nizov. 67 00:04:08,220 --> 00:04:11,330 Lahko samo preprosto določiti niz, kot bi jih v C 68 00:04:11,330 --> 00:04:14,900 z besedami, znak za dolar, ime vašega niza, je enaka, 69 00:04:14,900 --> 00:04:22,600 in nato v oklepaju so v bistvu samo seznam vrednosti vseh elementov v matriki. 70 00:04:22,600 --> 00:04:27,160 Toda v PHP, kaj lahko naredimo je določiti bistvu - 71 00:04:27,160 --> 00:04:31,050 to je nekako kot hash funkcijo. 72 00:04:31,050 --> 00:04:34,410 Določite lahko indeks - kaj boš, da ga pokličete - 73 00:04:34,410 --> 00:04:37,030 in potem, ki ustreza vrednosti. 74 00:04:37,030 --> 00:04:42,880 Če ste dejansko preide v = 1, b = 2, c = 3, 75 00:04:42,880 --> 00:04:50,820 potem bi se vaš niz v indeksu dam 1. 76 00:04:50,820 --> 00:04:56,600 To vam bo pset ogreje z nekaj PHP v rubriki vprašanja, 77 00:04:56,600 --> 00:04:59,240 nato pa se potopite v CS50 finance. 78 00:04:59,240 --> 00:05:02,650 >> Imamo nekaj - imamo nekaj funkcij, v bistvu, 79 00:05:02,650 --> 00:05:05,130 izvajati na tej spletni strani. 80 00:05:05,130 --> 00:05:10,440 Želimo, da se omogoči uporabnikom, da se registrirajo na naši spletni strani z uporabniškim imenom in geslom. 81 00:05:10,440 --> 00:05:13,670 Želimo, da bi lahko pogledate ponudbo, 82 00:05:13,670 --> 00:05:19,330 in potem bi izpisal ime tega citata, kot tudi trenutne cene, ki jih je na. 83 00:05:19,330 --> 00:05:26,830 Želimo, da bi lahko videli v svojem portfelju vse delnice, ki so jih odkupile doslej. 84 00:05:26,830 --> 00:05:34,240 Želimo si tudi, da bi jim omogočili nakup zalog in jih prodajajo. 85 00:05:34,240 --> 00:05:37,540 In potem končno, želimo, da bi lahko ogledate zgodovino 86 00:05:37,540 --> 00:05:39,490 za vse transakcije, ki ste jih opravili. 87 00:05:39,490 --> 00:05:41,540 Potem, na koncu, ko boste že izvaja vse to, 88 00:05:41,540 --> 00:05:45,110 potem ste prosti za izvedbo eno dodatno funkcijo. 89 00:05:45,110 --> 00:05:46,610 Šli bomo v njih. 90 00:05:46,610 --> 00:05:51,330 Tisti, ki so lahko bodisi omogoča uporabnikom, da dobijo dodaten denar z vložitvijo dodatnega denarja, 91 00:05:51,330 --> 00:05:54,550 ali bi jim dovolite, da spremenite svoje geslo, ali kaj podobnega, 92 00:05:54,550 --> 00:06:00,590 pošlji jim potrdilo, ko nakupa ali prodaje zalog. 93 00:06:00,590 --> 00:06:05,370 Tam je omejen seznam funkcij, ki bi lahko sami izvajajo, 94 00:06:05,370 --> 00:06:08,340 tako da je zadnja tam. 95 00:06:08,340 --> 00:06:13,430 >> Ker je spletna stran, fantje imajo tudi veliko svobode, da ga prilagodite. 96 00:06:13,430 --> 00:06:20,960 Mi ne zagotavljajo nekaj kode CSS, pa si zagotovo prosto poteg, 97 00:06:20,960 --> 00:06:26,680 da bi bilo videti lepše, vendar je osnovno, je osnovna funkcionalnost 98 00:06:26,680 --> 00:06:30,310 tako da se vedno sklicujejo na spec o tem, kaj se dejansko morali vključiti tam. 99 00:06:30,310 --> 00:06:39,940 Po določilu, da bomo lahko s pomočjo naprave, kakor tudi strežnik. 100 00:06:39,940 --> 00:06:43,910 To bo gostil našo spletno stran za nas, na svojem lokalnem strežniku. 101 00:06:43,910 --> 00:06:49,750 Če sledite tem navodilom, razširite in pset 7 distribucijsko kodo 102 00:06:49,750 --> 00:06:53,500 v virtualni gostiteljico / lokalne mape gostiteljice, 103 00:06:53,500 --> 00:07:02,470  potem lahko preprosto obiščite http://localhost/ v Google Chrome v napravo, 104 00:07:02,470 --> 00:07:09,120 in potem bi dosegli kodo, ki ste jih pisno pset 7. 105 00:07:09,120 --> 00:07:14,490 >> Pset 7 prihaja z kup kode distribucijskega 106 00:07:14,490 --> 00:07:18,330 in upam, we've - skozi vse psets pred tem - 107 00:07:18,330 --> 00:07:21,700 nas navajeni na obravnavi z oznako distribucijskega 108 00:07:21,700 --> 00:07:25,650 razumeli, kaj so funkcije že na voljo, in kako bi morali biti sposobni uporabiti 109 00:07:25,650 --> 00:07:29,470 teh in drugih funkcij, da bomo za izvedbo. 110 00:07:29,470 --> 00:07:31,570 V tem primeru imamo 3 mape. 111 00:07:31,570 --> 00:07:36,350 Imamo HTML mapo, ki vključuje mapo, in mapo Predloge. 112 00:07:36,350 --> 00:07:40,630 Kaj bomo, da se delaš s tem pset je nekako loči razmišljanje - 113 00:07:40,630 --> 00:07:45,580 programiranje mišljenje - v PHP kode z dejansko vizualnega vidika. 114 00:07:45,580 --> 00:07:52,690 Bomo eno datoteko PHP, ki počne vse misli, zapisano v bazo podatkov, 115 00:07:52,690 --> 00:07:55,620 natisne stvari, če ima izkazi - stvari, kot je ta - 116 00:07:55,620 --> 00:08:02,140 in potem, da prenese podatke v naše datoteke predloge - ali template.php datoteko. 117 00:08:02,140 --> 00:08:05,710 Kaj storiti, je, da bo prebral podatke, nato pa ga bo izpisal. 118 00:08:05,710 --> 00:08:09,550 >> Mi lahko obravnavajo predloge za "neumno", v tem, da ne res jih želite 119 00:08:09,550 --> 00:08:12,370 da se delaš veliko dela pri izračunu stvari. 120 00:08:12,370 --> 00:08:16,330 Želimo, da naši nadzorniki za to. 121 00:08:16,330 --> 00:08:21,610 Malo o tem - pa si oglejte nekaj distribucijskega kode. 122 00:08:21,610 --> 00:08:28,250 Tu imamo index.html datoteko, in to je precej prazna. 123 00:08:28,250 --> 00:08:34,429 V bistvu kaj počne - se pravi, dobro, bom zahtevajo configuration.php datoteko. 124 00:08:34,429 --> 00:08:40,120 Ne vidimo, da je v redu, vendar je v bistvu poklical configuration.php datoteko 125 00:08:40,120 --> 00:08:42,240 in izvajanje tega. 126 00:08:42,240 --> 00:08:45,130 Potem je pa to, da se bo zaradi njih portfelja. 127 00:08:45,130 --> 00:08:49,310 Rendering je funkcija, tako da če smo v krmilniku, 128 00:08:49,310 --> 00:08:56,490 Poklicali bomo omet, bomo dati datoteko, nato pa so podatki, ki smo na prehodu v, 129 00:08:56,490 --> 00:09:04,570 tako, da bo to poklical portfolio.php-naravi pri prehodu iz teh podatkov, tako da lahko portfelj ukvarjati s tem. 130 00:09:04,570 --> 00:09:10,540 >> In zdaj, tukaj imamo login.php obrazec. 131 00:09:10,540 --> 00:09:17,540  To je regulator, ki v bistvu skrbi za sečnjo palcev 132 00:09:17,540 --> 00:09:29,090 Tukaj pa preveri, če je obrazec, ki do te datoteke in se ukvarja s potrjevanjem vlogo. 133 00:09:29,090 --> 00:09:31,990 Poiskali bomo v tej funkciji opravičujem. 134 00:09:31,990 --> 00:09:35,100 Ko smo želeli natisniti sporočilo o napaki, 135 00:09:35,100 --> 00:09:39,550 Opravičujemo se bomo uporabili in da bodo preusmerili uporabnika na določeno stran 136 00:09:39,550 --> 00:09:42,530 da bo izpisal posebno sporočilo o napaki, da smo pokazal. 137 00:09:42,530 --> 00:09:47,860 Nadaljevanje bo zbirko podatkov - Bomo dobili v več o tem kasneje. 138 00:09:47,860 --> 00:09:54,180 Potem boste videli, da sem dol, če je bila vloga ni predložena, potem postane obrazec. 139 00:09:54,180 --> 00:10:01,360 To pomeni, da gre za login_form.php, tako da je pogled na to. 140 00:10:01,360 --> 00:10:09,400 >> Login.php je pravzaprav, kjer smo videli HTML, ki se ukvarjajo z dejanskim vizualnega vidika. 141 00:10:09,400 --> 00:10:15,130 Tukaj imamo možnost vnosa oznake za uporabniško ime, geslo za vnos, 142 00:10:15,130 --> 00:10:16,630 kot tudi gumb Pošlji. 143 00:10:16,630 --> 00:10:22,660 To je pravzaprav, kjer je vizualni vidik in oblika HTML se bo odločilo. 144 00:10:22,660 --> 00:10:27,550 Tukaj pa pravi, da bo treba predložiti do določenega metodo, imenovano post. 145 00:10:27,550 --> 00:10:30,190 Pridemo do razlike med metodami - 146 00:10:30,190 --> 00:10:33,240 objavite v primerjavi priti, tam je tudi nekaj, kar ti dal - 147 00:10:33,240 --> 00:10:36,160 bomo dobili v teh metod kasneje, vendar zaradi tega pset, 148 00:10:36,160 --> 00:10:37,810 Jaz bi zelo priporočamo, da uporabite post. 149 00:10:37,810 --> 00:10:42,210 >> Vemo, da v bistvu, ko je predložen ta obrazec - 150 00:10:42,210 --> 00:10:44,650 od login_form.php, - 151 00:10:44,650 --> 00:10:50,850 potem bo šel v akciji - login.php, - 152 00:10:50,850 --> 00:10:56,070 v bistvu mimo vseh teh parametrov iz teh obrazcev v login.php. 153 00:10:56,070 --> 00:11:04,900 Rezultati, pridobljeni v tej obliki so navedene v tem po asociativni array. 154 00:11:04,900 --> 00:11:11,710 Kazalci različnih elementov v matriki po 155 00:11:11,710 --> 00:11:15,290 so točno tisto, ki jo določite tukaj. 156 00:11:15,290 --> 00:11:19,240 Pravite, da je ime tega vhoda je ime. Ime tega 1 z geslom. 157 00:11:19,240 --> 00:11:26,840 Prav tako boste videli ime kot indeks povezovalne matrike tam. 158 00:11:26,840 --> 00:11:35,110 Če gremo na mapo vključuje imamo to funkcije datoteko, ki se bo zelo koristno. 159 00:11:35,110 --> 00:11:37,570 >> Vse te funkcije se izvajajo za vas. 160 00:11:37,570 --> 00:11:41,870 Ni vam treba posebej izvajalo katerega od teh sebe, 161 00:11:41,870 --> 00:11:43,140 vendar bomo zelo koristno. 162 00:11:43,140 --> 00:11:49,450 Imamo opravičujemo, ki je, kot sem že dejal, bo v bistvu izpisal sporočilo o napaki 163 00:11:49,450 --> 00:11:52,920 za vas na določeno stran - apology.php. 164 00:11:52,920 --> 00:11:59,890 Potem imamo smetišče, tako da če pokličeš smetišče nato pa preide v spremenljivko, 165 00:11:59,890 --> 00:12:04,930 potem vas bo popeljal na stran, ki bo prikazal, da je spremenljivka za vas. 166 00:12:04,930 --> 00:12:09,950 Potem smo logout, ki bo v bistvu na koncu določenega uporabnika sejo. 167 00:12:09,950 --> 00:12:12,240 Iskanje se bo koristen. 168 00:12:12,240 --> 00:12:15,870 Ker imamo opravka z narekovaji in zalog, da bomo lahko - 169 00:12:15,870 --> 00:12:17,650 in to je v bistvu v realnem času. 170 00:12:17,650 --> 00:12:21,380 Moramo vedeti, kaj te zaloge vrednosti, 171 00:12:21,380 --> 00:12:28,210 tako da imamo funkcijo iskanje, ki se ukvarja z dokumentacijo Yahoo zalog. 172 00:12:28,210 --> 00:12:37,700 Ko pogledaš gor določen simbol zalogi, se bo vrnil k vam stalež simbol 173 00:12:37,700 --> 00:12:41,480 kakor tudi ime in trenutne cene te zaloge. 174 00:12:41,480 --> 00:12:44,330 To je funkcija za iskanje. 175 00:12:44,330 --> 00:12:48,350 >> Potem imamo opravka z mySQL, 176 00:12:48,350 --> 00:12:53,970 Tako bomo se želijo izvesti nekatere poizvedbe na naših podatkov SQL. 177 00:12:53,970 --> 00:12:58,890 Imamo poizvedbe za reševanje - na vrsto abstraktnih del tega ven. 178 00:12:58,890 --> 00:13:03,200 Gremo mimo v celotnem nizu naše poizvedbe SQL - 179 00:13:03,200 --> 00:13:05,360 in vse spremenljivke, ki gredo v njem - 180 00:13:05,360 --> 00:13:09,480 in kaj to počne, je dejansko izvajanje, da je za nami. 181 00:13:09,480 --> 00:13:15,070 Namesto, da bi napisal vse to ven, da vsakič, ko želite, da se pozanima - 182 00:13:15,070 --> 00:13:21,740 jih dobili vse rezultatov iz te poizvedbe - 183 00:13:21,740 --> 00:13:24,740 potem lahko pokličete na poizvedbo funkcijo, in ga bomo vrnili k vam - 184 00:13:24,740 --> 00:13:28,750 glede na to, kaj boste uporabljali za vašo poizvedbo - 185 00:13:28,750 --> 00:13:33,000 Verjetno vrstica vse rezultate, ki se ujemajo s poizvedbo ali podobno. 186 00:13:33,000 --> 00:13:34,690 Več o tem kasneje, čeprav. 187 00:13:34,690 --> 00:13:41,200 >> Končno smo preusmeriti, ki, kot že ime pove, vas preusmeri na drugo stran. 188 00:13:41,200 --> 00:13:46,280 In potem imamo omet, ki ga bomo lahko kličem nekajkrat. 189 00:13:46,280 --> 00:13:51,010 Ko ste v upravljavca, pokličite postane v predlogo strani 190 00:13:51,010 --> 00:13:55,390 nato pa preide v vrednosti, ki bo nato obravnavajo predloge. 191 00:13:55,390 --> 00:13:59,540 Te vrednote so verjetno bo, da se ukvarjajo z vrsto proizvodnje, ki jo želite 192 00:13:59,540 --> 00:14:01,050 , ki bo prikazana na vaši predlogi strani. 193 00:14:01,050 --> 00:14:09,370 Ok. To so funkcije, in tam je veliko več za to distribucijo kode. 194 00:14:09,370 --> 00:14:12,930 Spodbujam vas, da gredo skozi to in raziskujejo sami. 195 00:14:12,930 --> 00:14:17,050 Prav tako bo verjetno spec sprehod skozi nekaj drugih elementov distribucijskega kode. 196 00:14:17,050 --> 00:14:27,360 Tu je povzetek funkcij najdemo v functions.php. 197 00:14:27,360 --> 00:14:31,710 >> Ok. Prva naloga je, da uporabnikom omogočajo registracijo na spletni strani. 198 00:14:31,710 --> 00:14:34,860 Zdaj pa je prijavni obrazec na spletni strani, 199 00:14:34,860 --> 00:14:40,080 in se vam z nekaj uporabnikov z gesli. 200 00:14:40,080 --> 00:14:42,130 Lahko uporabite te uporabniškega imena in se prijavite, 201 00:14:42,130 --> 00:14:45,140 vendar želite, da bi ljudem omogočili, da svoje uporabniško ime 202 00:14:45,140 --> 00:14:47,390 in se dodajo na spletni strani. 203 00:14:47,390 --> 00:14:53,070 Postavitev za prijavo je precej podoben prijavnega obrazca, 204 00:14:53,070 --> 00:14:56,340 razen uporabniško ime ni na že obstoječe, 205 00:14:56,340 --> 00:14:59,430 in uporabnik mora tudi zagotoviti novo geslo 206 00:14:59,430 --> 00:15:02,440 in potem ponavadi imamo geslo potrditev. 207 00:15:02,440 --> 00:15:06,580 Ko uporabnik vhodi vse te informacije, 208 00:15:06,580 --> 00:15:10,620 jih želimo dodati v naši bazi uporabnikov. 209 00:15:10,620 --> 00:15:12,970 Bomo imeli baze - baze SQL - 210 00:15:12,970 --> 00:15:14,470 da bomo reference. 211 00:15:14,470 --> 00:15:18,140 V tej bazi podatkov, bomo imeli tabelo z vsemi uporabniki 212 00:15:18,140 --> 00:15:23,850 ki vsebuje njihovo ime, geslo in tudi koliko denarja imajo. 213 00:15:23,850 --> 00:15:28,480 >> V registru, želimo, da bi lahko vnese te podatke. 214 00:15:28,480 --> 00:15:29,740 Želimo, da se prikaže, da je obrazec. 215 00:15:29,740 --> 00:15:32,210 Želimo zagotoviti, da njihovo geslo - 216 00:15:32,210 --> 00:15:37,490 da so vstopili 1, nato pa tudi, da so gesla tekmo, ko so ga vnesite dvakrat. 217 00:15:37,490 --> 00:15:42,240 Po vsem, kar se izvaja - ob predpostavki, da se preveri te napake - 218 00:15:42,240 --> 00:15:45,120 potem želimo dodati tiste uporabnike, da naši bazi podatkov. 219 00:15:45,120 --> 00:15:49,630 Nazadnje, ko ste registrirani, to je zelo priročno, če vam ni treba ponovno prijaviti 220 00:15:49,630 --> 00:15:51,000 ko ste registrirani, 221 00:15:51,000 --> 00:15:54,000 Tako se bomo, da jih prijavi na spletno stran, če ste registrirati uspešno. 222 00:15:54,000 --> 00:16:00,360 >> Prva naloga je, da se prikaže obrazec, in to se dejansko dogaja, da je - 223 00:16:00,360 --> 00:16:04,920 ves ta proces registracije se bo po vzoru zelo natančno po prijavi 224 00:16:04,920 --> 00:16:10,510 razen namesto login.php imate morda register.php. 225 00:16:10,510 --> 00:16:14,300 Namesto login_form.php--ki je predloga - 226 00:16:14,300 --> 00:16:16,030 Boste morali registrirati obliki. 227 00:16:16,030 --> 00:16:19,680 Boste želeli dodati še eno področje - geslo Potrditev polja - 228 00:16:19,680 --> 00:16:23,450 ne le na eni uporabniškim imenom in geslom eni. 229 00:16:23,450 --> 00:16:28,120 Nato smo želeli preveriti, ali so gesla tekmo ali so prazne. 230 00:16:28,120 --> 00:16:38,560 Imamo regulator - register.php--ki se dogaja, da skrbijo za početje te preglede. 231 00:16:38,560 --> 00:16:41,690 Ko je obrazec, ki prek po metodi 232 00:16:41,690 --> 00:16:47,050 potem so vse te spremenljivke, zajete v poštnem matrike. 233 00:16:47,050 --> 00:16:52,280 Hočeš, da poskrbite, da po matrika vrednost indeksa na geslu 234 00:16:52,280 --> 00:16:58,080 ujema s potrditvijo elementa. 235 00:16:58,080 --> 00:16:59,410 Hočeš, da poskrbite, da niso prazni 236 00:16:59,410 --> 00:17:01,650 in želite, da se prepričajte, da so vsi isti. 237 00:17:01,650 --> 00:17:05,960 >> Ena stvar PHP priročno je, da nam ni treba uporabljati niz primerjavo več. 238 00:17:05,960 --> 00:17:08,410 Mi lahko uporabite enaka, je enaka operaterja 239 00:17:08,410 --> 00:17:11,470  Za preverjanje, ali so strune enaka drug drugemu. 240 00:17:11,470 --> 00:17:14,960 Za ravnanje z napako, boste želeli, da se opraviči. 241 00:17:14,960 --> 00:17:17,150 Se opravičujem, preprosto klic funkcije 242 00:17:17,150 --> 00:17:21,910  in nato določite vrsto sporočila, ki ga želite izhod. 243 00:17:21,910 --> 00:17:24,630 Nato želite dodati uporabnika v bazo podatkov. 244 00:17:24,630 --> 00:17:30,880 Do zdaj je vse, kar sem počel, je le lokalno, ki se ukvarjajo z rezultati obliki. 245 00:17:30,880 --> 00:17:33,940 Zdaj smo dejansko želijo, da jih dodate na naši bazi podatkov. 246 00:17:33,940 --> 00:17:38,890 Za to smo najprej želeli zagotoviti, da ime ni prazen. 247 00:17:38,890 --> 00:17:44,550 Razumite, da je na spletni strani, ne morete imeti več uporabnikov z istim imenom, 248 00:17:44,550 --> 00:17:50,010 tako da boste želeli, da poskrbite, da ko nekaj vstavili v zbirko podatkov - 249 00:17:50,010 --> 00:17:56,650 vstaviti novega uporabnika - potem ne boste dobili trk med obstoječim uporabniškim imenom 250 00:17:56,650 --> 00:17:59,150 in uporabniško ime, ki si prizadeva za oddajo. 251 00:17:59,150 --> 00:18:02,250 Za tem, ko ste izvršiti poizvedbo - 252 00:18:02,250 --> 00:18:08,760 vstavljanje določen uporabnik s svojim geslom in začetno višino denarnih sredstev - 253 00:18:08,760 --> 00:18:15,140 ko praviš, da je izraz, potem bo MySQL dejansko vrne false, če ne. 254 00:18:15,140 --> 00:18:21,050 >> Struktura uporabnikov je taka, da je uporabniško ime edinstvena vrednost, 255 00:18:21,050 --> 00:18:22,540 tako da ne more imeti več kot eno. 256 00:18:22,540 --> 00:18:30,080 Ko poskusite vstaviti novo vrstico z imenom, ki že obstaja, 257 00:18:30,080 --> 00:18:34,470 da se bo to vrne false - kot logično vrednost false. 258 00:18:34,470 --> 00:18:45,320 Zahtevna stvar tukaj je, da boste želeli, da preverite, ali je rezultat posledica vaše vprašanje. 259 00:18:45,320 --> 00:18:52,320 Če to ne uspe, potem boste želeli preveriti pri trojni enaka operaterja. 260 00:18:52,320 --> 00:18:55,420 To se dejansko dogaja, da preverite, ali je napaka ali ne, 261 00:18:55,420 --> 00:19:02,760 ker je v samo nekaj preprostimi enaka, enaka, bi bilo res, če se vrstica, ki je bila prazna. 262 00:19:02,760 --> 00:19:06,000 Rezultat okvare, če je trčenje med imeni 263 00:19:06,000 --> 00:19:10,350 je dejanska vrednost false. 264 00:19:10,350 --> 00:19:15,230 >> Tukaj je, kako bi se lahko vstavite v bazo podatkov. 265 00:19:15,230 --> 00:19:19,220 Tu je izraz, ki bi ga vodijo nujno v SQL. 266 00:19:19,220 --> 00:19:25,750 Ena stvar je, da lahko dejansko šel na spletne strani, ki upravlja vaš zbirke podatkov SQL 267 00:19:25,750 --> 00:19:31,070 in igral je z vstopom ročno bodisi vrednosti ali vrstice. 268 00:19:31,070 --> 00:19:34,540 To bo oddajala kaj SQL izhod. 269 00:19:34,540 --> 00:19:38,870 Prav tako lahko vodijo SQL ukaze v zbirki podatkov 270 00:19:38,870 --> 00:19:42,200  in potem vidim, kaj bi lahko bilo sintaksa, 271 00:19:42,200 --> 00:19:46,790 in nato pretvorijo v poizvedbe funkcijo, ki jo imamo v pset 7, 272 00:19:46,790 --> 00:19:51,120 , ki se bo zelo podobna vprašanja, ki jih dejansko vodijo. 273 00:19:51,120 --> 00:19:54,570 >> Če bi želel vstaviti novo vrstico v moji mizi uporabnikov, 274 00:19:54,570 --> 00:20:01,240 potem bi določite vložek na uporabnike, ki je ime moji mizi. 275 00:20:01,240 --> 00:20:06,870 Potem sem navesti imena stolpcev. 276 00:20:06,870 --> 00:20:13,230 Potem bi zagotovila vrednosti, skupaj z mojim geslom. 277 00:20:13,230 --> 00:20:17,080 Gesla v naši tabeli uporabniki niso shranjeni le kot niza. 278 00:20:17,080 --> 00:20:19,440 Ti so shranjeni v šifrirani različici 279 00:20:19,440 --> 00:20:24,560 tako da boste želeli zagnati funkcijo grobnico na dejansko gesla, 280 00:20:24,560 --> 00:20:29,680 in da bo dal pravo vrsto skladiščenja za niz uporabnikom. 281 00:20:29,680 --> 00:20:34,960 Tek bo to vstaviti novo vrstico v tabeli uporabnikov. 282 00:20:34,960 --> 00:20:39,020 >> Za spopadanje s poizvedbo funkcijo, 283 00:20:39,020 --> 00:20:43,100 Pred C smo uporabili znak za odstotek kot ogrado. 284 00:20:43,100 --> 00:20:47,670 Podobno je enak koncept ogrado tukaj velja. 285 00:20:47,670 --> 00:20:50,720 S poizvedbo, ki ste jo določili celotno poizvedbo 286 00:20:50,720 --> 00:20:55,510 razen kadar imate opravka s spremenljivkami, kot svoj vložek v poizvedbi 287 00:20:55,510 --> 00:21:00,490 potem namesto da jih dejansko dajanje v notranjosti - kot takrat, ko smo imeli printf v C. izjave 288 00:21:00,490 --> 00:21:03,740 Mi bi dal niz in nato ogrado tam, potem pa po vsaki 289 00:21:03,740 --> 00:21:06,990 vejica, navedite, katere spremenljivke bomo imeli. 290 00:21:06,990 --> 00:21:14,480 Tu bomo uporabljali znak vprašaj, kot je naš ogrado 291 00:21:14,480 --> 00:21:21,670 nato pa preide v vsako spremenljivko, oziroma da za ograde - 292 00:21:21,670 --> 00:21:24,420 če bi te spremenljivke iti. 293 00:21:24,420 --> 00:21:29,470 Torej, tukaj bi se najprej vprašaj se nadomesti z dejanskim uporabniškim imenom 294 00:21:29,470 --> 00:21:33,610 potem je drugo vprašanje znamka z geslom. 295 00:21:33,610 --> 00:21:37,000 >> Potem končno, ko ste jih registrira in jih dodajo v zbirko podatkov, 296 00:21:37,000 --> 00:21:40,510 potem boste želeli, da jih prijavi v spletno stran. 297 00:21:40,510 --> 00:21:45,320 Imamo neke vrste super svetovnega spremenljivke, imenovano sejo. 298 00:21:45,320 --> 00:21:48,160 Zasedanje traja določeno id, 299 00:21:48,160 --> 00:21:51,750 in da ustreza id uporabnika, ki je trenutno prijavljen 300 00:21:51,750 --> 00:21:56,380 Kaj boste želeli storiti, je najti kakšno je njihovo uporabniško ime je 301 00:21:56,380 --> 00:22:03,710 in nastavite, da se seje id id, kot da se posebna uporabnikov. 302 00:22:03,710 --> 00:22:07,560 Funkcija, ki boste želeli uporabiti, je tukaj SQL ukaz 303 00:22:07,560 --> 00:22:15,150 , ki bo prinesla zadnjo vstavljeno številko id od svojega mizi. 304 00:22:15,150 --> 00:22:24,560 Potem se bo klic vrstic - it'll pokličite id - it'll dodelite ime za številko, ki jo vrne. 305 00:22:24,560 --> 00:22:27,900 To bo poklical, da je id. 306 00:22:27,900 --> 00:22:33,370 Zdaj smo končali knjigo, in gremo lahko naprej, da citiram. 307 00:22:33,370 --> 00:22:36,610 >> Citiraj uporabniku omogoča vnos imena določenega staleža, 308 00:22:36,610 --> 00:22:41,940 in potem bomo vrnili lastnosti te zaloge. 309 00:22:41,940 --> 00:22:48,410 Kaj boste želeli storiti, je, da sem imel krmilnik in nekatere predloge. 310 00:22:48,410 --> 00:22:53,380 V tem primeru bomo imeli upravljavca, ki se dogaja, da stori vse za razmišljanje za nas. 311 00:22:53,380 --> 00:23:01,210 To se dogaja, da pogledate simbol in nato preide v vrednosti do predlog, ki bo izpisal. 312 00:23:01,210 --> 00:23:03,060 Bomo imeli 2 predloge tukaj. 313 00:23:03,060 --> 00:23:07,260 Mi boš moral 1 predlogo, ki določa obliko, v kateri so uporabniki tekoč 314 00:23:07,260 --> 00:23:09,920 vnos imena zalogi - ime deleža. 315 00:23:09,920 --> 00:23:16,030 Potem bomo tudi dogaja, da želijo drugo predlogo, ki prikazuje te vrednosti. 316 00:23:16,030 --> 00:23:27,450 Si lahko ogledate v prijavi kot primer, kako bi lahko imela obliko, ki sprejme vhod, 317 00:23:27,450 --> 00:23:30,060 razen tu, smo le želeli 1 polje. 318 00:23:30,060 --> 00:23:31,630 Ne želimo, da uporabniškega imena in gesla polje. 319 00:23:31,630 --> 00:23:37,110 Hočemo samo 1 besedilno polje, ki omogoča uporabniku, da vložek ime določenega staleža. 320 00:23:37,110 --> 00:23:40,110 Potem želite poslati te podatke - ko ste pogledal ta stalež - 321 00:23:40,110 --> 00:23:45,550 da quote_form.php. 322 00:23:45,550 --> 00:23:50,780 Iskanje se bo vrnil simbol parka, ime in ceno. 323 00:23:50,780 --> 00:23:53,910 Tisti, ki se nahajajo znotraj asociativni array. 324 00:23:53,910 --> 00:24:01,390 Poišči lookup funkcijo znotraj functions.php za več informacij 325 00:24:01,390 --> 00:24:04,010 o vrnitvi vrst teh. 326 00:24:04,010 --> 00:24:08,520 >> Čudovito! Torej na koncu boste želeli prikazati borznih informacij. 327 00:24:08,520 --> 00:24:14,110 Boste verjetno želeli prikazati - boš želijo dostop do teh spremenljivk. 328 00:24:14,110 --> 00:24:17,610 Ko imate cene v spremenljivko - 329 00:24:17,610 --> 00:24:20,860 kot tudi imena in simbola - 330 00:24:20,860 --> 00:24:25,550 potem boste želeli prikazati tiste v vaši predlogo strani. 331 00:24:25,550 --> 00:24:31,540 Ta model bi lahko imenovali stran show_quote.php ali kaj podobnega. 332 00:24:31,540 --> 00:24:39,660 Vaš quote.php strani bi bila zaradi razstavno ponudbo in nato preide v vseh teh vrednot. 333 00:24:39,660 --> 00:24:47,170 Nato v vašem php strani, ste dejansko natisniti tiste vrednote, na vidiku HTML strani. 334 00:24:47,170 --> 00:24:53,800 Vi samo uporabo funkcije tiskanja in se peljemo v ceno. 335 00:24:53,800 --> 00:24:57,990 Obstajata 2 načina - lahko ga nato združite z operaterjem dot, 336 00:24:57,990 --> 00:25:02,230 ali pa uporabite ogrado. 337 00:25:07,580 --> 00:25:12,750 >> Uporabniki sčasoma se bodo nakup in prodajo zalog. 338 00:25:12,750 --> 00:25:18,450 Želimo, da se jim na nek način vidi vse zaloge, ki jih imajo trenutno. 339 00:25:18,450 --> 00:25:21,350 Gremo na klic, da je njihova portfelja. 340 00:25:21,350 --> 00:25:26,180 Portfolio, bi verjetno za vsakega uporabnika, vsebuje kup vrstic 341 00:25:26,180 --> 00:25:31,760 navedbo vrste deleža, ki ga imajo, in nato, koliko tistih, ki jih imajo. 342 00:25:31,760 --> 00:25:36,500 Naše obstoječe tabele - zdaj imamo uporabniki tabelo v naši bazi podatkov. 343 00:25:36,500 --> 00:25:41,780 Ta vsebuje uporabniškega imena, kot tudi njihovo geslo in koliko denarja imajo. 344 00:25:41,780 --> 00:25:50,390 Ni pravi način za shranjevanje vseh svojih zalog v to. 345 00:25:50,390 --> 00:25:58,010 Saj ne, da bomo lahko vstavili nove stolpce za vsak stalež. 346 00:25:58,010 --> 00:26:03,650 To bi bilo zelo, zelo dolga vrsta, saj imamo neskončno količino 347 00:26:03,650 --> 00:26:06,200 vrst zalog, da bi lahko imeli. 348 00:26:06,200 --> 00:26:09,150 Torej, namesto, kaj bomo naredili, je v isti zbirki podatkov, 349 00:26:09,150 --> 00:26:15,000 bomo imeli uporabniki mizo, potem pa bomo tudi imeli portfelja mizo. 350 00:26:15,000 --> 00:26:18,430 Portfelj miza bo zagotovo povezana s tabelo uporabnikov, 351 00:26:18,430 --> 00:26:24,600 temveč bo portfelj tabela strukture imajo borzne informacije, 352 00:26:24,600 --> 00:26:27,780 koliko delnic tega staleža mora uporabnik, 353 00:26:27,780 --> 00:26:31,620 kot tudi uporabnikov zlasti id številko. 354 00:26:31,620 --> 00:26:34,620 Imate uporabnikov tabelo, ki ima id, kakor tudi uporabniško ime, se hash - 355 00:26:34,620 --> 00:26:40,130 ki je geslo, šifrirano geslo - 356 00:26:40,130 --> 00:26:42,130 nato se znesek denarja imajo. 357 00:26:42,130 --> 00:26:47,900 Identifikacijska številka bi bila povezana z id številko iz portfelja. 358 00:26:47,900 --> 00:26:52,490 Portfelj bi samo še simbol parka, kot tudi delnice - 359 00:26:52,490 --> 00:26:55,410 število delnic tega staleža, da ima uporabnik. 360 00:26:55,410 --> 00:26:58,520 V tej tabeli portfelja bi morali v bistvu 361 00:26:58,520 --> 00:27:03,760 vse delnice v lasti vseh uporabnikov na spletnem mestu. 362 00:27:03,760 --> 00:27:10,550 Kasneje, šele določiti nekatere uporabnik delnic - samo njihov portfelj - 363 00:27:10,550 --> 00:27:15,360 bi pridobivanje vrednosti iz tabele vašega portfelja, kot to 364 00:27:15,360 --> 00:27:19,930 id številka je značilna za tega uporabnika. 365 00:27:26,520 --> 00:27:34,890 >> Ko prikažete portfelj, boste želeli prijaviti vsako zalog v portfelju uporabnika. 366 00:27:34,890 --> 00:27:41,670 Boste želeli, da poročajo o številu delnic in trenutno vrednost teh delnic. 367 00:27:41,670 --> 00:27:45,950 To je sedanja vrednost teh delnic ni shranjen v tabeli portfelja 368 00:27:45,950 --> 00:27:51,640 ker to se dogaja, da je treba posodobiti - na minimum - vsak dan z Yahoo. 369 00:27:51,640 --> 00:27:58,550 Da bi dobili te informacije, ne morete reference, da iz vašega SQL poizvedbi. 370 00:27:58,550 --> 00:28:02,400 Kaj funkcija zagotavlja, da je z nami? Kaj funkcijo bo dobil ceno? 371 00:28:02,400 --> 00:28:09,110 To je iskanje, tako da bo z uporabo lookup na določen simbol vam veliko informacij. 372 00:28:09,110 --> 00:28:13,710 To ti dam 3 informaciji - ime, simbol, kot tudi ceno. 373 00:28:13,710 --> 00:28:17,490 Ko lookup določen simbol, potem lahko dobiš cene 374 00:28:17,490 --> 00:28:20,460 in potem lahko uporabite ceno, ki se prikaže v vašem portfelju. 375 00:28:20,460 --> 00:28:26,190 >> Portfelj je treba tudi prikazati uporabnikovo trenutno stanje gotovine. 376 00:28:26,190 --> 00:28:30,310 To polje je shranjena v tabeli uporabnikov. 377 00:28:30,310 --> 00:28:33,400 Potem se spomnimo, kako smo v bistvu bi morali - 378 00:28:33,400 --> 00:28:36,850 da imamo različne vrste PHP datotek. 379 00:28:36,850 --> 00:28:40,160 Bomo imeli krmilnik, ki v bistvu naredi vse razmišljanje za vas. 380 00:28:40,160 --> 00:28:45,940 In potem imamo predloge, v katerih se ukvarja s predlogo prikazovanje podatkov. 381 00:28:45,940 --> 00:28:50,790 Moraš razmišljati o tem, kaj spremenljivke bo regulator morali vzeti noter 382 00:28:50,790 --> 00:29:01,630 Če imamo opravka z portfelja, ki realizacij vsako ime, simbol, in delež številko, 383 00:29:01,630 --> 00:29:03,730 kot tudi trenutna cena staleža, 384 00:29:03,730 --> 00:29:06,950 potem boste želeli, da bi našli nek način dejansko potujejo - 385 00:29:06,950 --> 00:29:12,070 lahko prenese v vrsto vrednosti, ki ustrezajo tem. 386 00:29:15,250 --> 00:29:24,360 >> Pojdimo v zgled, kako lahko pridobite vse zaloge 387 00:29:24,360 --> 00:29:26,210 v lasti posameznega uporabnika. 388 00:29:26,210 --> 00:29:31,400 To ne gre - še - s ceno staleža. 389 00:29:31,400 --> 00:29:33,520 Kaj bi to storiti, je teči poizvedbo. 390 00:29:33,520 --> 00:29:37,070 To bi pridobila simbol, kot tudi deleže od - 391 00:29:37,070 --> 00:29:42,770 Kličem te tabele, vendar v tem primeru, kaj bi to bilo? 392 00:29:42,770 --> 00:29:49,400 Kaj je ime tabele, da imamo opravka z, ki je simbol in delnice 393 00:29:49,400 --> 00:29:52,280 za posameznega uporabnika? 394 00:29:52,280 --> 00:29:56,410 To je bodisi uporabniki ali portfelja. 395 00:29:56,410 --> 00:29:57,820 Portfolio. 396 00:29:57,820 --> 00:30:03,220 Kaj bi to naredil, je izraz portfelj za simbole in deleži 397 00:30:03,220 --> 00:30:04,920 za posameznega uporabnika. 398 00:30:04,920 --> 00:30:09,260 Tu, sem rekel, (izberite simbol, delnice OD TBL - 399 00:30:09,260 --> 00:30:12,280 toda namesto tabele, boste namesto, da z portfelja. 400 00:30:12,280 --> 00:30:15,220 "Kje je v bistvu moj pogoj. 401 00:30:15,220 --> 00:30:21,050 Pravim samo želim, da bi dobili tiste asociativne nize, ki ustrezajo 402 00:30:21,050 --> 00:30:23,850  s tem naslednjimi pogoji - id enaka. 403 00:30:23,850 --> 00:30:27,600  Potem bom dal ogrado tam in takrat seje id. 404 00:30:27,600 --> 00:30:36,720 Kaj bi to narediti, je reči, za vsako vrstico v vrsticah. 405 00:30:36,720 --> 00:30:40,940 To je čeden način, namesto da bi dejansko ustanovljena za zanko 406 00:30:40,940 --> 00:30:47,450 da se ponovi čez vse indeksov, nato pa v PHP, lahko imate za vsako-zanke. 407 00:30:47,450 --> 00:30:53,520 >> Če imate določen niz, potem lahko rečemo, da bom poklical na vsako naslednjo element - 408 00:30:53,520 --> 00:30:57,930 Bom poklical vsak element je to ime. 409 00:30:57,930 --> 00:31:02,780 Torej, za vsakega od teh elementov, da bom jim pravimo temu 410 00:31:02,780 --> 00:31:04,500 potem lahko to storim. 411 00:31:04,500 --> 00:31:10,370 Pri tem za vsako imate vrstice so vaše dejanske polju, in vsako vrstico, da boš poklical vrstico. 412 00:31:10,370 --> 00:31:12,420 Vsakič, ko se izvrši organ, 413 00:31:12,420 --> 00:31:16,960 bo šel gor in se bo posodobilo vrstico na naslednji element v vrsticah. 414 00:31:18,900 --> 00:31:25,260 >> Zdaj, v smislu nakupa zalog, 415 00:31:25,260 --> 00:31:29,500 kaj želimo storiti, je dobil zalog, ki jih uporabnik želi kupiti 416 00:31:29,500 --> 00:31:35,300 in da je število delnic, ki jih uporabnik želi kupiti, nato pa - če želijo - 417 00:31:35,300 --> 00:31:38,120 dodal, da zaloge na svojem portfelju. 418 00:31:38,120 --> 00:31:40,310 Očitno je, da če si nekaj kupi, nato pa, da se bo zmanjšala 419 00:31:40,310 --> 00:31:43,520 znesek denarja, ki ga imajo, tako da se bo zmanjšal svoj denar. 420 00:31:43,520 --> 00:31:48,380 Bomo morali ukvarjati s posodabljanjem portfelj, kot tudi uporabniki tabelo, 421 00:31:48,380 --> 00:31:50,300 ki vsebuje denar. 422 00:31:50,300 --> 00:31:54,920 Toda najprej, morate dobiti dejanske zaloge in količino delnic, ki jih uporabnik želi. 423 00:31:54,920 --> 00:32:00,010 Za to boste potrebovali HTML obrazec, ki bo prosi za simbol zalogi 424 00:32:00,010 --> 00:32:03,360 , ki ga želite kupiti, kot tudi število delnic. 425 00:32:03,360 --> 00:32:08,300 Potem boste želeli dodati. 426 00:32:08,300 --> 00:32:13,750 Boste želeli izbrati določene vrednosti. 427 00:32:13,750 --> 00:32:19,670 Šli smo skozi to malo že, ampak, ko poskušate pridobiti nekatere vrstice - 428 00:32:19,670 --> 00:32:22,020 pridobiti nekatere vrstice iz tabele SQL, 429 00:32:22,020 --> 00:32:24,290 To je naslednja skladnja. 430 00:32:24,290 --> 00:32:28,400 Imate izbiro, in nato, če navedete zvezdo, 431 00:32:28,400 --> 00:32:31,830 da bomo v bistvu vrne celotno, celotno vrstico za vas. 432 00:32:31,830 --> 00:32:36,890 Potem spet, imate stanje, v katerem, nato pa ste ga določili - 433 00:32:36,890 --> 00:32:39,990 Želim samo uporabniško ime, da je enak mail-in, 434 00:32:39,990 --> 00:32:46,660 tako da bo le pridobivanje vrstico uporabnikom, ki ustreza-mail v. 435 00:32:46,660 --> 00:32:52,860 >> Ko uporabnik želi dodati svoj delež v portfelju, 436 00:32:52,860 --> 00:32:54,400 morate preveriti nekaj napak. 437 00:32:54,400 --> 00:32:57,680 Hočeš, da poskrbite, da se uporabnik lahko dejansko privoščiti zalog, 438 00:32:57,680 --> 00:33:00,810 tako da boste želeli preveriti svoj denar. 439 00:33:00,810 --> 00:33:05,810 Pred tem smo uporabili zvezda pridobiti celotno vrstico iz tabele SQL. 440 00:33:05,810 --> 00:33:08,930 Ampak tukaj, bomo lahko dejansko samo določi, da želim samo 1 vrednost - 441 00:33:08,930 --> 00:33:10,080 Želim samo denar. 442 00:33:10,080 --> 00:33:17,970 Torej, tukaj bi bilo vrniti denar za uporabnika z identifikacijsko številko 1. 443 00:33:17,970 --> 00:33:25,940 Če je uporabnik že kupil določeno park, nato pa kupuje več tega staleža, 444 00:33:25,940 --> 00:33:30,440 nato pa v svojem portfelju - ne želite ločen vod, 445 00:33:30,440 --> 00:33:34,770 druga vrstica, ki vsebuje ta novi posel. 446 00:33:34,770 --> 00:33:37,950 Si dejansko želijo posodobiti znesek. 447 00:33:37,950 --> 00:33:42,530 Vse to je res spreminja, je znesek delnic, ki si lasti. 448 00:33:42,530 --> 00:33:47,730 Če uporabljate vložek v poizvedbo -, tako da je samo vstavite v vaš portfelj vseh teh vrednot - 449 00:33:47,730 --> 00:33:51,710 uporabnikov id številka, kot tudi simbol zaloge, ki jih kupujete 450 00:33:51,710 --> 00:33:57,750 in delnice, potem boste prav tako želeli opredeliti, no, če sem naletela na dvojnika ključa - 451 00:33:57,750 --> 00:34:00,750 V tem primeru je dvojnik ključa ni le uporabnikov, temveč tudi id Borzni simbol - 452 00:34:00,750 --> 00:34:08,340 saj lahko le - naša predpostavka je, da lahko imate samo 1 vrstico 453 00:34:08,340 --> 00:34:10,699  ki ustreza 1 posebnim simbolom. 454 00:34:10,699 --> 00:34:13,659 Torej, na dvojnem ključu - če naletite trčenju tam - 455 00:34:13,659 --> 00:34:18,520 greš samo posodobiti delnic na novo vrednost. 456 00:34:18,520 --> 00:34:23,290 Delnice enaka, kar smo jih imeli pred plus številom delnic, ki jih je uporabnik nakupu. 457 00:34:27,790 --> 00:34:31,090 >> Zdaj, ko smo posodobili portfelja mizo, 458 00:34:31,090 --> 00:34:34,730 bomo želeli posodobiti uporabnikov gotovine. 459 00:34:34,730 --> 00:34:40,300 To je v tabeli uporabnikov, tako da bomo lahko odšteje določen znesek od denarja. 460 00:34:40,300 --> 00:34:46,270 Domnevam, da se bo denar v gotovini z odbitkom enaka - in potem določen znesek. 461 00:34:46,270 --> 00:34:50,560 Če želite posodobiti denar, bi - 462 00:34:50,560 --> 00:34:55,699 če sem hotel vzeti denar od pošte-in, potem pa sem izvesti to vprašanje - 463 00:34:55,699 --> 00:35:00,220 "Posodobitve" in nato uporabniki iz denarnega stolpec gotovini - 464 00:35:00,220 --> 00:35:07,300 >> Jaz bi odpravila 9.999 dolarjev samo, če je uporabniško ime enako-mail v. 465 00:35:07,300 --> 00:35:12,020 Vendar pa v tem primeru ne želimo odšteti 9.999 posebej. 466 00:35:12,020 --> 00:35:17,610 Želimo, da določite, dobro, želimo, da odštejemo trenutne cene zalogi 467 00:35:17,610 --> 00:35:22,400 pomnoženo s številom delnic, ki jih kupujete. 468 00:35:25,260 --> 00:35:29,910 >> Zdaj smo jim omogočili, da si ogledate vse zaloge, ki jih imajo, 469 00:35:29,910 --> 00:35:33,080 kot tudi kupite več zalog. 470 00:35:33,080 --> 00:35:37,430 Prav tako smo že jim je omogočilo, da pogledate trenutne cene staleža. 471 00:35:37,430 --> 00:35:40,030 Tu želimo, da bi jim, naj jih proda. 472 00:35:40,030 --> 00:35:42,160 Najprej smo želeli prikazati v bistvu - 473 00:35:42,160 --> 00:35:45,270 želimo, da bi lahko videli vse zaloge, ki jih imajo, 474 00:35:45,270 --> 00:35:53,170 tako da tukaj smo želeli prikazati vse vrstice iz portfelja. 475 00:35:53,170 --> 00:35:56,650 Če se bodo odločili za prodajo zalog določeno, 476 00:35:56,650 --> 00:35:59,140 potem bomo predvidevati, da želijo prodati vse. 477 00:35:59,140 --> 00:36:04,350 Niso le, da bo prodal 50% svojih delnic, ki jih boš prodal 100% od tega. 478 00:36:04,350 --> 00:36:08,630 Mi lahko samo izbrisati celotno vrstico iz portfelja. 479 00:36:08,630 --> 00:36:17,520 Mi lahko izbriše delnice v določenem uporabnikov iz določenega simbola. 480 00:36:17,520 --> 00:36:21,410 Tam je sintaksa za to. 481 00:36:21,410 --> 00:36:22,710 >> Potem smo želeli posodobiti denar. 482 00:36:22,710 --> 00:36:30,930 Bomo dodali v gotovini, ki je enak znesku delnic, ki se prodajajo 483 00:36:30,930 --> 00:36:34,640 pomnožene s trenutno ceno na zalogi - 484 00:36:34,640 --> 00:36:38,610 ne cena, po kateri so ga kupili, ampak cena, po kateri so - 485 00:36:38,610 --> 00:36:40,500 tekoča cena, ko so ga proda. 486 00:36:40,500 --> 00:36:43,660 Za sklicevanje na trenutno ceno staleža, 487 00:36:43,660 --> 00:36:49,120 boste želeli uporabiti lookup, ki vam bo dala ceno staleža 488 00:36:50,030 --> 00:36:52,650 v sedanjem času. 489 00:36:52,650 --> 00:36:55,930 >> Zdaj smo zapustili z zgodovino, 490 00:36:55,930 --> 00:37:00,170 katerega želite, da se omogoči uporabniku, da bi spremljali vse svoje posle - 491 00:37:00,170 --> 00:37:03,040 želi, da bi kadar koli proda nekaj, ko so kupili zalog. 492 00:37:03,040 --> 00:37:08,870 Želimo, da določite čas, ko so to storili, da tudi, koliko so kupili 493 00:37:08,870 --> 00:37:11,650 in kaj je bilo na zalogi. 494 00:37:11,650 --> 00:37:17,800 Ali imamo kakšno tok, obstoječe strukture, ki določa, da je? 495 00:37:17,800 --> 00:37:25,230 No, imamo portfelja, ki prikazuje število delnic, ki jih ima uporabnik 496 00:37:25,230 --> 00:37:26,470 za posamezno delnico. 497 00:37:26,470 --> 00:37:34,060 Vendar smo navezali portfelja na način, da se posodobi, ko kupujemo več, 498 00:37:34,060 --> 00:37:40,190 ker bi zgodovina - če ste kupili Apple, 10 delnic njem, pozneje pa na prodajo 5, 499 00:37:40,190 --> 00:37:44,040 potem bi rad videl tiste ločeno kot samostojne dejavnosti, ločene vrstice. 500 00:37:44,040 --> 00:37:48,520 Ker ta ukrep predstavljati, da v naši tabeli portfelja 501 00:37:48,520 --> 00:37:52,540 bi bilo samo update za to posebno vrstico, 502 00:37:52,540 --> 00:37:55,740  tako da smo verjetno boš želel drugo tabelo. 503 00:37:55,740 --> 00:38:00,460 V naši podatkovni banki imamo uporabniki mizo, imamo portfelja mizo, 504 00:38:00,460 --> 00:38:04,090 in zdaj bomo verjetno želeli Zgodovina mizo. 505 00:38:04,090 --> 00:38:08,070 Ta zgodovina tabeli lahko spremljate trenutni datum, 506 00:38:08,070 --> 00:38:12,800 kot tudi posebno Borzni simbol, kot tudi, koliko delnic, 507 00:38:12,800 --> 00:38:15,410 in potem kakšne ukrepe je - 508 00:38:15,410 --> 00:38:18,800 če ste bili nakup teh delnic ali pa jih je bilo njihovo prodajo. 509 00:38:20,660 --> 00:38:25,720 >> Za spopadanje z datumom, obstaja nekaj načinov, da lahko to storijo. 510 00:38:25,720 --> 00:38:28,820 PHP je način sledenja datum, ki ga lahko pogledate sami. 511 00:38:28,820 --> 00:38:33,990 V SQL lahko uporabite tudi zdaj ali sedanji žig. To je odvisno od vas. 512 00:38:33,990 --> 00:38:40,720 Samo poskrbite, da vsakič, ko uporabnik kupi ali proda, se boste posodobiti svoj denar 513 00:38:40,720 --> 00:38:46,750 V tabeli uporabnikov, boste posodobitev vrstice v tabeli portfeljev, 514 00:38:46,750 --> 00:38:50,900 potem boste tudi posodabljanje zgodovino, 515 00:38:50,900 --> 00:38:56,260 tako da se bodo 3 ločene poizvedbe SQL, da boste tam pristajajo. 516 00:38:58,640 --> 00:39:01,530 Imamo kup funkcionalnosti zdaj. 517 00:39:01,530 --> 00:39:10,600 >> Samo nekaj opominov, da je v kazala, boste želeli povezati vsaj vašem - 518 00:39:10,600 --> 00:39:15,550 pa boste želeli, da se omogoči uporabniku, da se povežete z buy.php stran. 519 00:39:15,550 --> 00:39:23,560 To se dogaja, da se omogoči uporabniku - buy.php je krmilnik, tako da bo bodisi 520 00:39:23,560 --> 00:39:29,170 vam pošlje - ki vas bo poslal v obliki, ki omogoča, da si ogledate stvari. 521 00:39:29,170 --> 00:39:34,420 Imamo zgodovino. Imamo odjaviti, dobili ponudbo in nato prodajo. 522 00:39:34,420 --> 00:39:37,350 Tisti, ki so na minimumu, kaj želite pokazati. 523 00:39:37,350 --> 00:39:43,640 V zvezi s portfeljem, se portfelj dejansko kaže s kazalom. 524 00:39:43,640 --> 00:39:52,050 Če gremo v indeksu, tukaj vidimo, da omogoči, da portfolio.php 525 00:39:52,050 --> 00:40:00,050 in prehaja v asociativni niz - v bistvu enak naslov portfelja. 526 00:40:00,050 --> 00:40:02,610 Torej, to je upravljavec. 527 00:40:02,610 --> 00:40:08,000 Če gremo v predlogo portfolio.php, 528 00:40:08,000 --> 00:40:18,060 potem pa vse, kar ima, je - v bistvu prikaže sliko, ki pravi, oh, ta stran je v izdelavi. 529 00:40:18,060 --> 00:40:23,810 Kasneje, ko se boste peljali v - boš mimo v bistvu podrobnejše informacije. 530 00:40:23,810 --> 00:40:27,400 Namesto, da bi samo naslov, boste verjetno poteka v več stvareh. 531 00:40:27,400 --> 00:40:32,010 Ko imate te vrednosti, potem lahko portfolio.php ukvarjajo s temi vrednostmi 532 00:40:32,010 --> 00:40:34,490 in njihovo tiskanje v kakršno koli vrstnem redu. 533 00:40:34,490 --> 00:40:41,660 >> Ko ste izvaja vse tiste, boste morali izvesti 1 dodatno funkcijo. 534 00:40:41,660 --> 00:40:44,890 To je lahko bodisi omogoča uporabniku, da spremenite svoje geslo, 535 00:40:44,890 --> 00:40:50,110 ponastavite svoje geslo, če ste jo pozabili - tako za ponastavitev gesla, potem 536 00:40:50,110 --> 00:40:54,560 Verjetno boste prav tako želeli urediti register, tako da jim omogoča, da določite e-poštno sporočilo 537 00:40:54,560 --> 00:40:57,910 tako da, če pozabite svoje geslo, ga lahko jaz. 538 00:40:57,910 --> 00:41:02,870 Lahko verjetno vpišite svoje uporabniško ime, nato pa e bo poslano na njih 539 00:41:02,870 --> 00:41:06,180 s povezavo na mogli prikrivati ​​svoje geslo. 540 00:41:06,180 --> 00:41:10,980 Lahko imaš nekaj, kar omogoča uporabnikom, da dobijo prejemke 541 00:41:10,980 --> 00:41:12,380 vsakič, ko kupujejo ali prodajajo nekaj, 542 00:41:12,380 --> 00:41:19,910 in končno, jim omogoči, da dodate denar na njihovi spletni strani. 543 00:41:19,910 --> 00:41:24,970 Samo, da se vrnete v koncept krmilnikov in predloge malo. 544 00:41:24,970 --> 00:41:31,170 Imeli boste nekaj takega - tako boste imeli krmilnik tukaj. 545 00:41:31,170 --> 00:41:35,080 Zdaj smo iskali na login.php primer. 546 00:41:35,080 --> 00:41:38,220 Ko imamo krmilnik, v bistvu je bo trajalo 2 primere. 547 00:41:38,220 --> 00:41:42,090 Ko imamo kontrolorje, da sva v tem, da smo kos tudi vrste, ki se ukvarjajo s 548 00:41:42,090 --> 00:41:43,880 ko imamo obrazce, kot je dobro. 549 00:41:43,880 --> 00:41:47,500 Krmilnik bo v bistvu imajo posebne ukrepe - 550 00:41:47,500 --> 00:41:53,880 1, če je že predložil obrazec, nato pa dva, če je uporabnik pride na to stran 551 00:41:53,880 --> 00:41:56,870 prvič in je treba še, da je vhod obliki. 552 00:41:56,870 --> 00:42:02,820 >> Bom skočil v tem primeru, preden bo do prvega primera, ki ima obliko palca 553 00:42:02,820 --> 00:42:12,640 Tukaj smo rekli, če je obrazec, ki z metodo post - 554 00:42:12,640 --> 00:42:13,580 Ne skrbi za to malo. 555 00:42:13,580 --> 00:42:19,780 Naj vas ne skrbi, da preveč, ampak razumem, da v bistvu ta funkcija se ukvarja z 556 00:42:19,780 --> 00:42:22,430 ali je obrazec predložen ali ne. 557 00:42:22,430 --> 00:42:25,640 Ta pogoj je izpolnjen, če je uporabnik predložil obrazec. 558 00:42:25,640 --> 00:42:45,940 Če ne, potem bomo želeli poklicati ometa login_form.php, nato pa preide v naslovu. 559 00:42:45,940 --> 00:42:48,010 Ta naslov je šele v bistvu dogaja, da se pojavi v glavi. 560 00:42:48,010 --> 00:42:54,990 Kaj to je v bistvu pravi, ok - no, če si gre login.php 561 00:42:54,990 --> 00:43:00,310 in dejansko ni prijavljen, potem pa želim, da jih pošlje stran, ki je ta oblika 562 00:43:00,310 --> 00:43:03,160 ki jim omogoča vnos uporabniškega imena in gesla. 563 00:43:03,160 --> 00:43:07,590 Potem sem šel na login_form, nato pa, da je dejansko obliko. 564 00:43:07,590 --> 00:43:13,750 Potem, ko uporabnik trdi, da je obrazec, da boš ga predloži login.php 565 00:43:13,750 --> 00:43:15,840 z metodo post. 566 00:43:15,840 --> 00:43:21,560 Potem sem se dejansko dogaja za vstop v ta del mojega če-ostalo zanke. 567 00:43:21,560 --> 00:43:29,560 Potem je tukaj, da imamo opravka z vrednotami, vnesenih v obrazec. 568 00:43:29,560 --> 00:43:32,800 To je tukaj, da imamo opravka z njimi. 569 00:43:32,800 --> 00:43:40,860 >> Potem, ko ste se ukvarjajo s temi vrednotami - če imate opravka z - 570 00:43:40,860 --> 00:43:46,640 torej imamo opravka z quote.php stran, kjer lahko nekdo vhod v park, da se 571 00:43:46,640 --> 00:43:49,950 želijo poiskati, nato pa videli, da je zaslon - 572 00:43:49,950 --> 00:43:52,850 To je nekako podobno tukaj. 573 00:43:52,850 --> 00:43:56,070 Tukaj imamo obrazec za prijavo - you'd najbrž quote obliko - 574 00:43:56,070 --> 00:44:00,290 ampak potem, ko se je uporabnik dejansko predložila te informacije, 575 00:44:00,290 --> 00:44:04,810 potem boste želeli krmilnik prenesti v drugo predlogo 576 00:44:04,810 --> 00:44:07,430 da jim pokazati, da dejanske informacije. 577 00:44:07,430 --> 00:44:11,250 Torej prav tu, potem boste verjetno - 578 00:44:11,250 --> 00:44:18,830 do konca leta vašem stanju tukaj - če je metoda enako delovno mesto - 579 00:44:18,830 --> 00:44:22,520 potem boste verjetno želeli, da postane drugo stran - prikaži quote - 580 00:44:22,520 --> 00:44:28,040 ki vas pošilja na tej strani - show_quote.php-- 581 00:44:28,040 --> 00:44:34,120 nato pa se bo v tej datoteki sklic te vrednosti. 582 00:44:34,120 --> 00:44:36,480 Ima to smisel? 583 00:44:36,480 --> 00:44:40,390 >> Imamo krmilnik, ki v bistvu ukvarja z 2 primerih - 584 00:44:40,390 --> 00:44:42,710 ali ste vnesli v obrazec ali ne. 585 00:44:42,710 --> 00:44:43,950 Če še niste vnesli obrazec, 586 00:44:43,950 --> 00:44:47,300 potem vas bo preusmeril na tem obrazcu, ki vas bo nato dal nazaj na to stran. 587 00:44:47,300 --> 00:44:54,020 Potem, ko so informacije na upravljavca, da bo organ, ki obravnava 588 00:44:54,020 --> 00:44:59,750 informacije, kot je potrebno - niti pogledala vrednosti zalog, 589 00:44:59,750 --> 00:45:04,150 in potem, ko ga je pogledala te vrednote in jih ima lepo oblikovano paleto, 590 00:45:04,150 --> 00:45:08,180 potem lahko prenesli to vrsto v predlogo strani 591 00:45:08,180 --> 00:45:10,330  ki se ukvarja z oddajanjem ta podatek. 592 00:45:10,330 --> 00:45:14,680 >> Še enkrat, saj je splet, to bo še zabavno. 593 00:45:14,680 --> 00:45:20,310 Mi smo zunaj podjetja C, tako da nismo omejeni na ASCII in da je terminal izhod, 594 00:45:20,310 --> 00:45:21,800 tako zabavali s tem. 595 00:45:21,800 --> 00:45:24,920 Lahko bi bilo tako vizualno kot želite. 596 00:45:24,920 --> 00:45:31,860 Lahko ga lahko uporabniki vhodnih milijonov dolarjev, v času, 597 00:45:31,860 --> 00:45:34,730 ali pa jih omejiti in se v resnici pomeni in jim omogoči, da vnesete samo 1 cent hkrati 598 00:45:34,730 --> 00:45:36,330 ali nekaj takega. 599 00:45:36,330 --> 00:45:38,550 Zagotovo se prepričajte, da se zabava s tem. 600 00:45:38,550 --> 00:45:47,030 >> PHP koda je malo lažje, ker je to nekoliko lažje načrtovati svoje psevdokod 601 00:45:47,030 --> 00:45:50,070 v dejansko izvajanje. 602 00:45:50,070 --> 00:45:56,320 Torej, zagotovo zabavali s tem, ker je dejansko naš zadnji košček v CS50. 603 00:45:56,320 --> 00:46:01,150 S tem je bila to Walkthrough 7. 604 00:46:01,150 --> 00:46:04,640 Ko ste končali gledal walkthrough in končal svoj pset, 605 00:46:04,640 --> 00:46:09,590 nato pa so bili tudi psets, in zdaj smo na končnega izdelka - 606 00:46:09,590 --> 00:46:12,330 ko pridemo skozi kviz 1. 607 00:46:12,330 --> 00:46:16,200 Potem upajmo, lahko uporabite orodja, ki ste se jih naučili iz psets - 608 00:46:16,200 --> 00:46:21,980 ne samo sintakso, ampak bolj abstrakten pojem, kako bi gotovo - 609 00:46:21,980 --> 00:46:24,950 všeč, hočem to narediti, in potem dejansko izvajanje tega. 610 00:46:24,950 --> 00:46:28,740 Učenje, kako se borijo s sintakso in distribucije kode. 611 00:46:28,740 --> 00:46:33,020 Branje kodo drugih ljudi, in interpretacije, da je uporaba že obstoječe funkcije. 612 00:46:33,020 --> 00:46:37,360 >> Torej, veliko sreče z zadnjim pset. 613 00:46:37,360 --> 00:46:39,930 To je bilo v veselje, da vodi walkthroughs. 614 00:46:39,930 --> 00:46:40,940 Upam, da sem bil v pomoč za vas. 615 00:46:40,940 --> 00:46:46,560 To so bili walkthroughs, in hvala lepa. 616 00:46:52,580 --> 00:46:56,200 [CS50.TV]