1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [Walkthrough Problema Itakda 7] 2 00:00:03,000 --> 00:00:04,400 [Zamyla Chan] [Harvard University] 3 00:00:04,400 --> 00:00:07,640 [Ito ay CS50] [CS50.TV] 4 00:00:07,640 --> 00:00:12,090 >> Kamusta lahat, at maligayang pagdating sa walkthrough 7, CS50 Finance. 5 00:00:12,090 --> 00:00:15,090 Ngayon opisyal na namin ay tapos na sa lahat ng psets sa CS50, 6 00:00:15,090 --> 00:00:19,380 at kami ay kaliwa na may isa pang na kung saan ay pagpunta sa maging isang masaya pagpapatupad 7 00:00:19,380 --> 00:00:23,770 ng isang website na kung saan ang mga gumagamit ay maaaring mag-log in sa CS50 Finance 8 00:00:23,770 --> 00:00:25,830 at bumili at magbenta ng mga stock. 9 00:00:25,830 --> 00:00:32,280 >> Ngayon, kami ay pagpunta upang magkaroon ng ilang mga tool sa aming pagtatapon. 10 00:00:32,280 --> 00:00:34,320 Kami ay pagpunta sa pakikipag-usap tungkol sa mga pahintulot. 11 00:00:34,320 --> 00:00:36,380 Tuwing mayroon kang isang web folder, 12 00:00:36,380 --> 00:00:40,800 ka pagpunta sa nais na payagan ang mga gumagamit upang maisagawa ang ilang mga file 13 00:00:40,800 --> 00:00:42,500 ngunit din lamang basahin ang mga iba pang mga, 14 00:00:42,500 --> 00:00:45,150 kaya titingnan namin sa mga pahintulot at kung paano maaari mong itakda ang mga. 15 00:00:45,150 --> 00:00:49,630 Pagkatapos kami ay pagpunta sa tumingin sa PHP, HTML, at SQL code. 16 00:00:49,630 --> 00:00:51,990 >> Una, pahintulot. 17 00:00:51,990 --> 00:00:56,060 Kapag handa ka sa terminal sa isang tiyak na direktoryo, 18 00:00:56,060 --> 00:01:00,430 pagkatapos kung ano ang gusto mong gawin ay gusto mong patakbuhin ang chmod utos. 19 00:01:00,430 --> 00:01:03,750 Na sinusundan ng alinman sa mga titik o numero 20 00:01:03,750 --> 00:01:08,100 naaayon sa kung ano ang gusto mo talaga mundo upang makita, 21 00:01:08,100 --> 00:01:09,830 mo ang iyong sarili upang makita, atbp. 22 00:01:09,830 --> 00:01:13,350 Halimbawa, kapag mayroon kang isang folder, 23 00:01:13,350 --> 00:01:15,560 gusto mong folder na executable ng lahat na nakikita ito, 24 00:01:15,560 --> 00:01:19,500 kaya kung ano ang nais mong gawin ay maaari mong patakbuhin ang utos chmod isang + x 25 00:01:19,500 --> 00:01:21,050 at pagkatapos ay ang pangalan ng iyong folder. 26 00:01:21,050 --> 00:01:28,110 Kapag mayroon ka ng isang file tulad ng mga CSS file o mga file na larawan - 27 00:01:28,110 --> 00:01:33,060 tulad ng mga JPEG at bitmaps, mga bagay tulad na, o anumang code ng JavaScript - 28 00:01:33,060 --> 00:01:36,440 gusto mo na nababasa ng lahat, 29 00:01:36,440 --> 00:01:39,880 kaya pagkatapos ay kung ano ang ginagawa mo ay maaari mong gamitin ang wildcard - 30 00:01:39,880 --> 00:01:41,650 na ng asterisk - 31 00:01:41,650 --> 00:01:46,190 sa isa lamang na ipahiwatig sa CSS folder - lahat sa folder na iyon - 32 00:01:46,190 --> 00:01:48,740  Ako sabihin na na nababasa ng lahat. 33 00:01:48,740 --> 00:01:54,220 Sa mga pahintulot, kapag ginagamit namin ang mga titik, 34 00:01:54,220 --> 00:01:57,610 Maaari rin naming gamitin ang numero sa halip. 35 00:01:57,610 --> 00:02:00,900 Kaya, makikita mo na ganap na kapag gusto ka ng isang bagay na executable - 36 00:02:00,900 --> 00:02:02,810 na kinakatawan ng numero 1 - 37 00:02:02,810 --> 00:02:08,340 isang bagay na nababasa ang bilang 4 at pagkatapos - 38 00:02:08,340 --> 00:02:10,590 writable bilang 2 - 39 00:02:10,590 --> 00:02:13,670 at kaya mahalagang kapag nais mong ng isang kumbinasyon ng mga, pagkatapos mong idagdag ang mga ito. 40 00:02:13,670 --> 00:02:15,860 Kung gusto ka ng isang bagay na nababasa, writable, at executable, 41 00:02:15,860 --> 00:02:21,970 nais mong magdagdag ng hanggang 4, 2, at 1 at na ay magbibigay sa iyo 7, 42 00:02:21,970 --> 00:02:26,230 pagkatapos ay kapag mayroon kang isang folder nais mong executable ng lahat - 43 00:02:26,230 --> 00:02:31,380 pati na rin nababasa at writable - gumawa ka na 7, 1, 1. 44 00:02:31,380 --> 00:02:38,140 Na 7 para sa iyo, pagkatapos 1 para sa iba pang mga tao. 45 00:02:38,140 --> 00:02:42,870 Kapag mayroon kang ang spec, ito ay aktwal na tukuyin kung aling mga folder at kung aling mga file 46 00:02:42,870 --> 00:02:45,040 kailangang chmod-ed partikular. 47 00:02:45,040 --> 00:02:47,920 Halimbawa, kapag mayroon kang folder - mga ay 7-1-1 - 48 00:02:47,920 --> 00:02:52,690 kapag mayroon kang mga imahe, o HTML, CSS, JavaScript, 49 00:02:52,690 --> 00:02:55,870 pagkatapos mga 6, 0, 4 - o 6, 4, 4 - 50 00:02:55,870 --> 00:03:00,030 at pagkatapos PHP file 6, 0, 0. 51 00:03:00,030 --> 00:03:04,940 Ang ideya sa likod na ay na ang mga gumagamit ay hindi dapat aktwal na makita ang iyong PHP code, 52 00:03:04,940 --> 00:03:08,370 ngunit lamang upang makita ang output. 53 00:03:08,370 --> 00:03:11,030 >> Magaling! Paglipat sa PHP. 54 00:03:11,030 --> 00:03:18,850 Nang simple, kahit kailan mo gusto ang isang PHP file, ang file suffix. Php. 55 00:03:18,850 --> 00:03:22,000 Maaari mo ring paghaluin ang HTML sa PHP code. 56 00:03:22,000 --> 00:03:24,880 Kung mayroon ka ng isang file na HTML, halimbawa, 57 00:03:24,880 --> 00:03:32,520 pagkatapos ay maaari mong ilakip ang mga ito gamit ang kaliwang anggulo, tandang pananong, php - 58 00:03:32,520 --> 00:03:39,320 ilagay ang iyong code sa php - at pagkatapos ay malapit na sa isa pang tandang pananong at kanang anggulo. 59 00:03:39,320 --> 00:03:45,020 Variable sa PHP ng maraming madaling humarap sa kaysa sa mga variable sa C. 60 00:03:45,020 --> 00:03:50,310 Variable anumang nagsisimula sa isang dollar sign sa unahan nito, at mahina ang kanilang nai-type. 61 00:03:50,310 --> 00:03:53,470 Iyon ay nangangahulugan na hindi mo kailangang mag-alala tungkol sa pagse-set ng isang bagay 62 00:03:53,470 --> 00:03:55,020 katumbas sa isang string o isang integer. 63 00:03:55,020 --> 00:03:57,710 Maaari mo lamang lamang sabihin, ito ay ang aking pangalan ng variable 64 00:03:57,710 --> 00:04:00,390 at pagkatapos na ito ay ang halaga nito, 65 00:04:00,390 --> 00:04:03,280 kaya upang mas madaling humarap sa may. 66 00:04:03,280 --> 00:04:08,220 >> Bagay isa pang ay na PHP ay nagbibigay-daan sa iyo upang gamitin ang mga nag-uugnay array. 67 00:04:08,220 --> 00:04:11,330 Maaari mo lamang tukuyin ang isang array tulad ng gagawin mo sa C 68 00:04:11,330 --> 00:04:14,900 sa pamamagitan ng sinasabi, dollar sign ang pangalan ng iyong array-katumbas, 69 00:04:14,900 --> 00:04:22,600 at pagkatapos ay sa square bracket may isa lamang lamang sa listahan ng mga halaga ng lahat ng mga elemento sa array. 70 00:04:22,600 --> 00:04:27,160 Ngunit, sa PHP kung ano ang maaari mo ring gawin ay tukuyin talaga ang - 71 00:04:27,160 --> 00:04:31,050 ito ay uri ng tulad ng isang hash. 72 00:04:31,050 --> 00:04:34,410 Maaari mong tukuyin ang index - kung ano ang iyong pagpunta sa tumawag ito - 73 00:04:34,410 --> 00:04:37,030 at pagkatapos na tumutugon sa isang halaga. 74 00:04:37,030 --> 00:04:42,880 Kung iyong aktwal na pumasa sa isang = 1, b = 2, c = 3, 75 00:04:42,880 --> 00:04:50,820 ang iyong array sa index ng ay magbibigay sa iyo 1. 76 00:04:50,820 --> 00:04:56,600 Ay magpainit mo ng pset up na may ilang PHP sa isang seksyon ng mga katanungan, 77 00:04:56,600 --> 00:04:59,240 at pagkatapos namin sumisid sa CS50 Finance. 78 00:04:59,240 --> 00:05:02,650 >> Mayroon kaming ilang - mayroon kaming ilang mga pag-andar, talaga, 79 00:05:02,650 --> 00:05:05,130 ipatupad sa website na ito. 80 00:05:05,130 --> 00:05:10,440 Gusto naming upang payagan ang mga gumagamit upang magrehistro sa aming website na may user name at password. 81 00:05:10,440 --> 00:05:13,670 Gusto naming upang payagan ang mga ito upang tumingin ng quote, 82 00:05:13,670 --> 00:05:19,330 at pagkatapos ay namin i-print ang pangalan ng na quote pati na rin ang kasalukuyang presyo na ito sa. 83 00:05:19,330 --> 00:05:26,830 Gusto naming upang payagan ang mga ito upang makita ang isang portfolio ng lahat ng pagbabahagi na sila ay binili sa gayon ngayon. 84 00:05:26,830 --> 00:05:34,240 Gusto din namin upang payagan ang mga ito upang bumili ng mga stock pati na rin ibenta ang mga ito. 85 00:05:34,240 --> 00:05:37,540 At pagkatapos ay sa wakas, nais naming upang payagan ang mga ito upang makita ang kasaysayan 86 00:05:37,540 --> 00:05:39,490 ng lahat ng mga transaksyon na ginawa nila. 87 00:05:39,490 --> 00:05:41,540 Pagkatapos, sa wakas, pagkatapos mong naipatupad ang lahat ng iyon, 88 00:05:41,540 --> 00:05:45,110 pagkatapos maaari ka nang ipatupad ang isang dagdag na tampok. 89 00:05:45,110 --> 00:05:46,610 Susubukan naming pumunta sa mga. 90 00:05:46,610 --> 00:05:51,330 Yaong ay maaaring maging alinman sa nagpapahintulot sa mga gumagamit upang makakuha ng dagdag na cash sa pamamagitan ng pagdeposito ng dagdag na cash, 91 00:05:51,330 --> 00:05:54,550 o maaari mong payagan ang mga ito upang baguhin ang kanilang mga password, o isang bagay tulad na, 92 00:05:54,550 --> 00:06:00,590 email sa kanila ng resibo kapag sila ay bumili o magbenta ng stock. 93 00:06:00,590 --> 00:06:05,370 May isang limitadong listahan ng mga tampok na maaaring ipatupad mo ang iyong sarili, 94 00:06:05,370 --> 00:06:08,340 sa gayon na ang huling isa sa doon. 95 00:06:08,340 --> 00:06:13,430 >> Dahil ito ay isang website, ikaw guys ay mayroon ding ng maraming kalayaan upang i-customize ito. 96 00:06:13,430 --> 00:06:20,960 Naming magbigay ng ilang CSS code, ngunit ikaw ay tiyak na libre sa tweak, 97 00:06:20,960 --> 00:06:26,680 gumawa tumingin ito nicer, ngunit pinagbabatayan ito ay isang pangunahing pag-andar 98 00:06:26,680 --> 00:06:30,310 kaya palaging sumangguni sa spec tungkol sa kung ano ang iyong aktwal na kailangan upang isama doon. 99 00:06:30,310 --> 00:06:39,940 Ng pagsunod sa mga spec, kami ay pagpunta sa gamit ang appliance bilang ding isang server. 100 00:06:39,940 --> 00:06:43,910 Ito ay pagpunta sa nagho-host ng aming website para sa amin, sa local server nito. 101 00:06:43,910 --> 00:06:49,750 Kung mong sundin ang mga tagubiling ito at unzip ang pset 7 pamamahagi ng code 102 00:06:49,750 --> 00:06:53,500 sa iyong virtual host / lokal na host ng folder, 103 00:06:53,500 --> 00:07:02,470  maaari mong bisitahin lamang ang http://localhost/ sa Google Chrome sa appliance, 104 00:07:02,470 --> 00:07:09,120 at pagkatapos ay nais mong maabot ang code kung saan mo ang nakasulat pset 7. 105 00:07:09,120 --> 00:07:14,490 >> Pset 7 ay may isang grupo ng pamamahagi code, 106 00:07:14,490 --> 00:07:18,330 at sana we've - sa pamamagitan ng lahat ng ang mga psets bago ito - 107 00:07:18,330 --> 00:07:21,700 sanay sa amin sa pagbabasa sa pamamagitan ng pamamahagi ng code, 108 00:07:21,700 --> 00:07:25,650 pag-unawa kung ano ang function ay ibinigay, at kung paano namin magagawang gamitin 109 00:07:25,650 --> 00:07:29,470 mga at ang iba pang mga function na kami ay na pagpapatupad. 110 00:07:29,470 --> 00:07:31,570 Sa kasong ito, mayroon kaming 3 folder. 111 00:07:31,570 --> 00:07:36,350 Mayroon kaming isang HTML folder, kasama ang isang folder, at mga template folder. 112 00:07:36,350 --> 00:07:40,630 Ano kami ay pagpunta sa ginagawa sa ito pset uri ng naghihiwalay sa pag-iisip - 113 00:07:40,630 --> 00:07:45,580 ang pag-iisip ng programming - ng PHP code sa mga aktwal na visual na aspeto. 114 00:07:45,580 --> 00:07:52,690 Magkakaroon kami ng isang PHP file na ginagawa sa lahat ng pag-iisip, bumabasa sa database, 115 00:07:52,690 --> 00:07:55,620 print out ng mga bagay, ay may kung ang mga pahayag - mga bagay tulad na - 116 00:07:55,620 --> 00:08:02,140 at pagkatapos na makikita pumasa data sa aming mga template file - o template.php file. 117 00:08:02,140 --> 00:08:05,710 Ano na gawin ay basahin ang data at ito ay i-print ito. 118 00:08:05,710 --> 00:08:09,550 >> Maaari naming ituring ang mga template ng "pipi" sa na hindi namin talagang gusto ang mga ito 119 00:08:09,550 --> 00:08:12,370 na ginagawa ng maraming trabaho sa pagkalkula ng mga bagay. 120 00:08:12,370 --> 00:08:16,330 Gusto naming ang aming mga controllers upang gawin iyon. 121 00:08:16,330 --> 00:08:21,610 Isang kaunti sa na - sabihin tumagal ng isang pagtingin sa ilan ng ang code ng pamamahagi. 122 00:08:21,610 --> 00:08:28,250 Narito mayroon namin ang aming index.html file, at medyo walang laman. 123 00:08:28,250 --> 00:08:34,429 Mahalaga kung ano ang ginagawa nito - sinasabi nito, well, ako pagpunta sa nangangailangan ng configuration.php file. 124 00:08:34,429 --> 00:08:40,120 Hindi namin makita na doon, ngunit isa lamang ito sa pagtawag sa configuration.php file, 125 00:08:40,120 --> 00:08:42,240 at execute na. 126 00:08:42,240 --> 00:08:45,130 Pagkatapos ginagawa ito na, ito ay pagpunta sa render ang portfolio. 127 00:08:45,130 --> 00:08:49,310 -Render ay isang function, kaya kapag hindi namin sa isang controller, 128 00:08:49,310 --> 00:08:56,490 kami tatawag sa render, makikita namin bigyan ito ang file at pagkatapos ang data na namin ang pagpasa sa, 129 00:08:56,490 --> 00:09:04,570 kaya na tumawag sa portfolio.php uri ng pass sa data na iyon upang portfolio na maaaring humarap sa na. 130 00:09:04,570 --> 00:09:10,540 >> At ngayon, narito, aming login.php anyo. 131 00:09:10,540 --> 00:09:17,540  Ito ang controller na talaga tumatagal ng pag-aalaga ng pag-log in. 132 00:09:17,540 --> 00:09:29,090 Dito, ay sumusuri kung ang isang form na ay isinumite sa ang file na ito at deal sa pagpapatunay sa mga pagsusumite. 133 00:09:29,090 --> 00:09:31,990 Titingnan namin sa humihingi ng paumanhin ang function na ito. 134 00:09:31,990 --> 00:09:35,100 Kapag gusto naming upang i-print ang isang mensahe ng error, 135 00:09:35,100 --> 00:09:39,550 gamitin humihingi kami ng paumanhin at na-redirect ang mga gumagamit sa isang tiyak na pahina 136 00:09:39,550 --> 00:09:42,530 na i-print ang partikular na mensahe ng error na nagsasaad namin. 137 00:09:42,530 --> 00:09:47,860 Patuloy sa, ito query sa database - we'll makakuha sa higit pa sa na mamaya. 138 00:09:47,860 --> 00:09:54,180 Pagkatapos mong makita na pababa dito kung ang isang form na ay hindi isinumite, pagkatapos ito nagpapagana ng isang form. 139 00:09:54,180 --> 00:10:01,360 Iyon ay nangangahulugan na napupunta sa login_form.php, kaya tingnan natin sa na. 140 00:10:01,360 --> 00:10:09,400 >> Login.php ay aktwal na kung saan nakita namin ang HTML pagharap sa ang aktwal na visual na aspeto. 141 00:10:09,400 --> 00:10:15,130 Narito mayroon namin ang isang input tag para sa mga pangalan ng user, ang isang input para sa password, 142 00:10:15,130 --> 00:10:16,630 pati na rin ang pindutan ng isumite. 143 00:10:16,630 --> 00:10:22,660 Na ang aktwal na kung saan ang visual na aspeto at ang HTML form na pagpunta sa gaganapin. 144 00:10:22,660 --> 00:10:27,550 Dito, sinasabi nito na ito ang nangyayari na isinumite ng isang tiyak na pamamaraan, na tinatawag post. 145 00:10:27,550 --> 00:10:30,190 Susubukan naming makakuha ng sa mga pagkakaiba sa pagitan ng mga pamamaraan - 146 00:10:30,190 --> 00:10:33,240 -post kumpara makakuha ng, mayroon ding isang bagay na tinatawag ilagay - 147 00:10:33,240 --> 00:10:36,160 namin sa mga pamamaraan sa ibang pagkakataon, ngunit para sa interes ng pset ito, 148 00:10:36,160 --> 00:10:37,810 Gusto ko lubos na hinihikayat ka upang magamit ang post. 149 00:10:37,810 --> 00:10:42,210 >> Alam namin na talaga sabay-sabay Ang form na ito ay nagsumite - 150 00:10:42,210 --> 00:10:44,650 mula sa login_form.php-- 151 00:10:44,650 --> 00:10:50,850 pagkatapos ay pumunta sa pagkilos - login.php-- 152 00:10:50,850 --> 00:10:56,070 talaga pumasa sa lahat ng mga parameter mula sa mga form sa login.php. 153 00:10:56,070 --> 00:11:04,900 Ang mga resulta mula sa mga form na iyon ay nilalaman sa loob ang post na ito na nag-uugnay array. 154 00:11:04,900 --> 00:11:11,710 Ang mga ini-index ng iba't ibang mga elemento sa array post 155 00:11:11,710 --> 00:11:15,290 ay kung ano mismo ang tinukoy mo dito. 156 00:11:15,290 --> 00:11:19,240 Sabihin mo na ang pangalan ng input na ito ay username. Ang pangalan ng isang ito ay password. 157 00:11:19,240 --> 00:11:26,840 Katulad nito, makikita mo ang username bilang index ng nag-uugnay array doon. 158 00:11:26,840 --> 00:11:35,110 Kung pumunta kami sa kabilang ang folder, mayroon kaming file na ito function na lubhang kapaki-pakinabang. 159 00:11:35,110 --> 00:11:37,570 >> Ang lahat ng mga function ay ipinatupad para sa iyo. 160 00:11:37,570 --> 00:11:41,870 Hindi mo na kailangang ipatupad ang alinman sa mga ito sa iyong sarili, 161 00:11:41,870 --> 00:11:43,140 ngunit ang kanilang pagpunta sa lubos na kapaki-pakinabang. 162 00:11:43,140 --> 00:11:49,450 Kami ay humihingi ng paumanhin, kung saan bilang ko sinabi bago, ay isa lamang i-print ang isang mensahe ng error 163 00:11:49,450 --> 00:11:52,920 para sa iyo sa isang tukoy na pahina - apology.php. 164 00:11:52,920 --> 00:11:59,890 Pagkatapos kami ay may dump, kaya kung tumawag ka lamang dump at pagkatapos ay pumasa sa variable, 165 00:11:59,890 --> 00:12:04,930 pagkatapos ito ay magdadala sa iyo sa isang pahina na ipapakita na variable para sa iyo. 166 00:12:04,930 --> 00:12:09,950 Pagkatapos namin na mag-logout, na talaga magtapos ang session ng isang tiyak na user. 167 00:12:09,950 --> 00:12:12,240 Lookup ay maging kapaki-pakinabang. 168 00:12:12,240 --> 00:12:15,870 Dahil kami ay pagharap sa mga quotes at mga stock, kami ay magagawang - 169 00:12:15,870 --> 00:12:17,650 at mahalagang real time. 170 00:12:17,650 --> 00:12:21,380 Kailangan naming malaman kung ano ang mga halaga ng stock ay, 171 00:12:21,380 --> 00:12:28,210 kaya kami ay may sa lookup function na na deal sa Yahoo dokumentasyon ng mga stock. 172 00:12:28,210 --> 00:12:37,700 Sandaling tumingin ka ng ilang mga simbolo ng stock, ito ay bumalik sa iyo ticker symbol 173 00:12:37,700 --> 00:12:41,480 pati na rin ang pangalan at ang kasalukuyang presyo ng stock na. 174 00:12:41,480 --> 00:12:44,330 Iyon ang lookup function na. 175 00:12:44,330 --> 00:12:48,350 >> Pagkatapos kami ay pagharap sa MySQL, 176 00:12:48,350 --> 00:12:53,970 kaya kami ay pagpunta sa ay kinakapos upang maisagawa ang ilang mga query sa aming SQL database. 177 00:12:53,970 --> 00:12:58,890 Mayroon kaming query upang harapin - sa uri ng abstract ilan sa na out. 178 00:12:58,890 --> 00:13:03,200 Kami ay pagpunta sa pagpasa sa buong string ng aming SQL query - 179 00:13:03,200 --> 00:13:05,360 at ang lahat ng mga variable na pumunta sa loob nito - 180 00:13:05,360 --> 00:13:09,480 at kung ano ang ginagawa ay aktwal na execute na para sa amin. 181 00:13:09,480 --> 00:13:15,070 Sa halip ng pagkakaroon upang isulat ang lahat ng ito out sa bawat oras na nais mong i-query - 182 00:13:15,070 --> 00:13:21,740 sa pamamagitan ng pagkuha ng lahat ng mga resulta mula sa query na iyon - 183 00:13:21,740 --> 00:13:24,740 maaari mo lamang tawagan ang query function na, at ito ay bumalik sa iyo - 184 00:13:24,740 --> 00:13:28,750 depende sa kung ano ang ginagamit mo para sa iyong query - 185 00:13:28,750 --> 00:13:33,000 marahil isang hilera ng lahat ng ang mga resulta na tumutugma sa query o katulad na. 186 00:13:33,000 --> 00:13:34,690 Higit pa sa na mamaya bagaman. 187 00:13:34,690 --> 00:13:41,200 >> Panghuli, mayroon kaming pag-redirect na, pati na ang pangalan ay nagmumungkahi, nagre-redirect ka sa ibang pahina. 188 00:13:41,200 --> 00:13:46,280 At pagkatapos ay mayroon kaming render, kung saan kami ay pagpunta sa pagtawag ng dalawang beses. 189 00:13:46,280 --> 00:13:51,010 Kapag handa ka sa isang controller, tawagan ka render sa pahina ng template 190 00:13:51,010 --> 00:13:55,390 at pagkatapos ay pumasa sa halaga na template ay humarap sa. 191 00:13:55,390 --> 00:13:59,540 Mga halagang iyon ay marahil pagpunta sa pagharap sa ang uri ng output na gusto mo 192 00:13:59,540 --> 00:14:01,050 ipinapakita sa iyong pahina ng template. 193 00:14:01,050 --> 00:14:09,370 Okay. Iyon ang mga pag-andar, at ng maraming higit pa sa ang code na ito sa pamamahagi. 194 00:14:09,370 --> 00:14:12,930 Hinihikayat ko sa iyo upang pumunta sa pamamagitan ng ito at tuklasin ang mga ito sa iyong sarili. 195 00:14:12,930 --> 00:14:17,050 Gayundin, ang spec ay marahil ituturo sa iyo sa pamamagitan ng ilang mga iba pang mga elemento ng pamamahagi ng code. 196 00:14:17,050 --> 00:14:27,360 Narito ang isang buod ng mga pag-andar na natagpuan sa functions.php. 197 00:14:27,360 --> 00:14:31,710 >> Okay. Ang unang gawain ay upang payagan ang mga gumagamit upang magrehistro sa website. 198 00:14:31,710 --> 00:14:34,860 Sa ngayon, may login form sa website, 199 00:14:34,860 --> 00:14:40,080 at ikaw ay ibinigay na may ilang mga gumagamit na may password. 200 00:14:40,080 --> 00:14:42,130 Maaari mong gamitin ang mga username na iyon at mag-log in, 201 00:14:42,130 --> 00:14:45,140 ngunit nais mong payagan ang mga tao na gumawa ng kanilang sariling mga username 202 00:14:45,140 --> 00:14:47,390 at idagdag ang kanilang mga sarili sa website. 203 00:14:47,390 --> 00:14:53,070 Ang layout para sa pagpaparehistro ay medyo katulad sa ang form sa pag-login, 204 00:14:53,070 --> 00:14:56,340 maliban username ay hindi pre-umiiral na, 205 00:14:56,340 --> 00:14:59,430 at ang user ay kailangang magbigay ng isang bagong password, 206 00:14:59,430 --> 00:15:02,440 at pagkatapos ay karaniwang mayroon kaming isang password sa pagkumpirma. 207 00:15:02,440 --> 00:15:06,580 Sa sandaling ang mga input ng user ang lahat ng impormasyon na iyon, 208 00:15:06,580 --> 00:15:10,620 gusto naming idagdag ang mga ito sa aming database ng mga user. 209 00:15:10,620 --> 00:15:12,970 Kami ay pagpunta sa magkaroon ng isang database - isang SQL database - 210 00:15:12,970 --> 00:15:14,470 na kami ay pagpunta upang isangguni. 211 00:15:14,470 --> 00:15:18,140 Sa database na iyon, magpapadala kami ng isang talahanayan na may lahat ng mga gumagamit 212 00:15:18,140 --> 00:15:23,850 naglalaman ang kanilang username, ang kanilang mga password, at din kung magkano ang cash mayroon silang. 213 00:15:23,850 --> 00:15:28,480 >> Sa rehistro, gusto naming upang payagan ang mga ito upang ipasok ang impormasyon na iyon. 214 00:15:28,480 --> 00:15:29,740 Gusto naming ipakita ang form na iyon. 215 00:15:29,740 --> 00:15:32,210 Gusto naming gawing sigurado na password ang kanilang - 216 00:15:32,210 --> 00:15:37,490 na ipinasok nila ng isa, at pagkatapos na ang mga password na tumutugma sa kapag ipinasok nila ito nang dalawang beses. 217 00:15:37,490 --> 00:15:42,240 Pagkatapos ng lahat ng na tapos na - ipagpalagay na mga error ay naka-check - 218 00:15:42,240 --> 00:15:45,120 gusto naming upang magdagdag ng mga gumagamit na iyon sa aming database. 219 00:15:45,120 --> 00:15:49,630 Sa wakas, sa sandaling mo na nakarehistro, ito ay medyo maginhawa kung hindi mo na kailangang mag-log in muli 220 00:15:49,630 --> 00:15:51,000 sa sandaling nakapag-nakarehistro, 221 00:15:51,000 --> 00:15:54,000 kaya kami ay upang mag-log ang mga ito sa sa website kung nakarehistro sa matagumpay. 222 00:15:54,000 --> 00:16:00,360 >> Ang unang gawain ay upang ipakita ang form, at ito ay aktwal na maging - 223 00:16:00,360 --> 00:16:04,920 ang buong proseso ng pagpaparehistro pagpunta na imo-modelo medyo malapit na pagkatapos ng pag-login 224 00:16:04,920 --> 00:16:10,510 maliban sa halip ng login.php na maaaring mayroon ka ng mga register.php. 225 00:16:10,510 --> 00:16:14,300 Sa halip ng login_form.php--kung saan ay ang template - 226 00:16:14,300 --> 00:16:16,030 makikita mo magparehistro form. 227 00:16:16,030 --> 00:16:19,680 Makikita mo nais na magdagdag ng isa pang field - field ng password sa pagkumpirma - 228 00:16:19,680 --> 00:16:23,450 sa halip ng isang username at isang password. 229 00:16:23,450 --> 00:16:28,120 Susunod, gusto namin upang suriin kung ang mga password tumugma o blangko. 230 00:16:28,120 --> 00:16:38,560 Mayroon kaming ang controller - register.php--na-aalaga ng paggawa ng mga tseke. 231 00:16:38,560 --> 00:16:41,690 Kapag ang isang form na ay isinumite sa pamamagitan ng paraan ng post, 232 00:16:41,690 --> 00:16:47,050 pagkatapos ang lahat ng mga variable ay nilalaman sa loob ng array post. 233 00:16:47,050 --> 00:16:52,280 Nais mong tiyakin na ang halaga array post sa index password 234 00:16:52,280 --> 00:16:58,080 tumutugma sa elemento ng pagkumpirma. 235 00:16:58,080 --> 00:16:59,410 Nais mong tiyakin na ang mga ito ay hindi blangko, 236 00:16:59,410 --> 00:17:01,650 at nais mong tiyakin na ito ay ang parehong. 237 00:17:01,650 --> 00:17:05,960 >> Isang maginhawang bagay tungkol sa PHP na hindi namin kailangang gamitin ang string ihambing ito. 238 00:17:05,960 --> 00:17:08,410 Maaari naming gamitin ang katumbas-katumbas ng operator 239 00:17:08,410 --> 00:17:11,470  upang suriin kung ang mga string ay katumbas sa isa't isa. 240 00:17:11,470 --> 00:17:14,960 Para sa error handling, makikita mo nais na humihingi ng paumanhin. 241 00:17:14,960 --> 00:17:17,150 Upang humihingi ng paumanhin, mo lang tawagan ang function na 242 00:17:17,150 --> 00:17:21,910  at pagkatapos ay tukuyin ang isang uri ng mensahe na gusto mong output. 243 00:17:21,910 --> 00:17:24,630 Pagkatapos mong nais upang idagdag ang user sa database. 244 00:17:24,630 --> 00:17:30,880 Hanggang ngayon, ang lahat ng namin ang paggawa ay lamang pakikitungo lokal gamit ang mga resulta ng form. 245 00:17:30,880 --> 00:17:33,940 Ngayon, hindi namin aktwal na nais upang idagdag ang mga ito sa aming database. 246 00:17:33,940 --> 00:17:38,890 Para sa, gusto muna namin upang matiyak na ang username na iyon ay hindi blangko. 247 00:17:38,890 --> 00:17:44,550 Maunawaan na sa isang website, hindi ka maaaring magkaroon ng maramihang mga gumagamit na may parehong username, 248 00:17:44,550 --> 00:17:50,010 kaya makikita mo gusto upang matiyak na kapag mong ipasok ng isang bagay sa iyong database - 249 00:17:50,010 --> 00:17:56,650 magsingit ng isang bagong user - hindi mo makakuha ng isang banggaan sa pagitan ng isang pre-umiiral na username 250 00:17:56,650 --> 00:17:59,150 at ang username na ang isang user ay sinusubukan upang isumite. 251 00:17:59,150 --> 00:18:02,250 Para sa, sa sandaling magsagawa ng isang query - 252 00:18:02,250 --> 00:18:08,760 pagpasok ng ilang mga gumagamit sa kanilang mga password at ng paunang halaga ng cash - 253 00:18:08,760 --> 00:18:15,140 sabay-sabay tumawag ka sa query na iyon, pagkatapos MySQL ang talagang bumalik maling kung ito nabigo. 254 00:18:15,140 --> 00:18:21,050 >> Ang istraktura ng mga gumagamit ay tulad ang username na iyon ay isang natatanging halaga, 255 00:18:21,050 --> 00:18:22,540 kaya hindi ka maaaring magkaroon ng higit sa isang. 256 00:18:22,540 --> 00:18:30,080 Kapag mong subukan at magpasok ng isang bagong hilera na may username na Umiiral na, 257 00:18:30,080 --> 00:18:34,470 na bumalik maling - tulad ng isang Boolean halaga maling. 258 00:18:34,470 --> 00:18:45,320 Isang nakakalito bagay dito na gugustuhin mong i-check kung ang resulta ay ang mga resulta ng iyong query. 259 00:18:45,320 --> 00:18:52,320 Kung nabigo, makikita mo nais na suriin na ang triple-katumbas operator. 260 00:18:52,320 --> 00:18:55,420 Na ang aktwal na pagpunta upang suriin kung may isang pagkabigo o hindi, 261 00:18:55,420 --> 00:19:02,760 kung saan, sa isang simpleng lamang ay katumbas-katumbas, ito ay totoo kung ang hilera ay walang laman. 262 00:19:02,760 --> 00:19:06,000 Ang resulta ng isang pagkabigo kung may isang banggaan sa pagitan ng mga username 263 00:19:06,000 --> 00:19:10,350 ay ang aktwal na halaga ng maling. 264 00:19:10,350 --> 00:19:15,230 >> Narito ay kung paano nais mong ipasok sa isang database. 265 00:19:15,230 --> 00:19:19,220 Narito ang query na nais mong magpatakbo ng mahigpit sa SQL. 266 00:19:19,220 --> 00:19:25,750 Isang bagay na maaari mong aktwal na pumunta sa website na namamahala sa iyong SQL database 267 00:19:25,750 --> 00:19:31,070 at i-play sa paligid doon sa pamamagitan ng pagpasok nang manu-mano ang alinman sa mga halaga o mga hilera. 268 00:19:31,070 --> 00:19:34,540 Ito ay output kung ano ang SQL output. 269 00:19:34,540 --> 00:19:38,870 Maaari mo ring patakbuhin ang SQL utos sa loob ng iyong database 270 00:19:38,870 --> 00:19:42,200  at pagkatapos ay makita kung ano ang syntax maaaring, 271 00:19:42,200 --> 00:19:46,790 at pagkatapos isalin ang na sa sa query function na mayroon kami sa pset 7, 272 00:19:46,790 --> 00:19:51,120 na na halos kapareho sa mga query na iyong aktwal na patakbuhin. 273 00:19:51,120 --> 00:19:54,570 >> Kung gusto ko upang magsingit ng isang bagong hilera sa aking mga gumagamit ng talahanayan, 274 00:19:54,570 --> 00:20:01,240 Gusto ko tukuyin insert sa mga gumagamit, na kung saan ay ang pangalan ng aking mga talahanayan. 275 00:20:01,240 --> 00:20:06,870 Pagkatapos Gusto ko tukuyin ang mga pangalan ng haligi. 276 00:20:06,870 --> 00:20:13,230 Pagkatapos Gusto ko ibigay ang halaga kasama ang aking password. 277 00:20:13,230 --> 00:20:17,080 Password sa talahanayan ng aming mga gumagamit ay hindi naka-imbak bilang ng string lamang. 278 00:20:17,080 --> 00:20:19,440 Ito ay naka-imbak bilang naka-encrypt na bersyon, 279 00:20:19,440 --> 00:20:24,560 kaya makikita mo nais na patakbuhin ang function na silid sa ilalim ng lupa sa aktwal na password, 280 00:20:24,560 --> 00:20:29,680 at na ay magbibigay sa iyo ang tamang uri ng imbakan para sa array ng mga gumagamit. 281 00:20:29,680 --> 00:20:34,960 Nagpapatakbo ng magsingit ng isang bagong hanay sa iyong talahanayan ng mga gumagamit. 282 00:20:34,960 --> 00:20:39,020 >> Humarap sa query function na, 283 00:20:39,020 --> 00:20:43,100 bago sa C ginamit namin ang porsiyento mag-sign bilang isang placeholder. 284 00:20:43,100 --> 00:20:47,670 Katulad nito, ang parehong konsepto ng isang placeholder nalalapat dito. 285 00:20:47,670 --> 00:20:50,720 Sa query, tukuyin ang buong query, 286 00:20:50,720 --> 00:20:55,510 maliban sa tuwing ikaw ay pagharap sa mga variable bilang iyong input sa query, 287 00:20:55,510 --> 00:21:00,490 pagkatapos ay sa halip ng aktwal na paglalagay ng mga ito sa loob - bang kapag kami ay may printf pahayag sa C. 288 00:21:00,490 --> 00:21:03,740 Gusto namin ilagay ang string at pagkatapos ay isang placeholder doon, at pagkatapos ay pagkatapos ng bawat 289 00:21:03,740 --> 00:21:06,990 kuwit, tukuyin kung aling mga variable na namin ay may. 290 00:21:06,990 --> 00:21:14,480 Dito, kami ay upang gamitin ang tanong sign markahan bilang aming placeholder 291 00:21:14,480 --> 00:21:21,670 at pagkatapos ay pumasa sa bawat variable, ayon sa pagkakasunud-sunod upang, para sa mga placeholder - 292 00:21:21,670 --> 00:21:24,420 kung saan ang mga variable ay dapat pumunta. 293 00:21:24,420 --> 00:21:29,470 Kaya dito, ang unang tandang pananong ay papalitan sa pamamagitan ng aktwal na username 294 00:21:29,470 --> 00:21:33,610 pagkatapos ang pangalawang tandang pananong ng password. 295 00:21:33,610 --> 00:21:37,000 >> Pagkatapos wakas, sa sandaling mo na nakarehistro sa kanila at idinagdag ito sa database, 296 00:21:37,000 --> 00:21:40,510 nais mong upang mag-log ang mga ito sa website. 297 00:21:40,510 --> 00:21:45,320 Namin ang uri ng isang napakabilis na global variable na tinatawag na session. 298 00:21:45,320 --> 00:21:48,160 Session ay tumatagal ng ilang mga id, 299 00:21:48,160 --> 00:21:51,750 at ang id na tumutugma sa user na kasalukuyang naka-log in. 300 00:21:51,750 --> 00:21:56,380 Ano ang gusto mong gawin ay mahanap kung ano ang kanilang user id 301 00:21:56,380 --> 00:22:03,710 at pagkatapos ay itakda na session id bilang id na partikular na user. 302 00:22:03,710 --> 00:22:07,560 Ang isang function na gusto mong gamitin dito ay isang SQL utos 303 00:22:07,560 --> 00:22:15,150 na makuha ang huling ipinasok na numero ng id mula sa iyong talahanayan. 304 00:22:15,150 --> 00:22:24,560 Pagkatapos hilera ay tumawag - it'll tumawag sa id - it'll magtalaga ng pangalan sa ang bilang na ito ay nagbabalik. 305 00:22:24,560 --> 00:22:27,900 Tumawag na id. 306 00:22:27,900 --> 00:22:33,370 Na namin ngayon ang tapos magparehistro, at maaari naming ilipat sa quote. 307 00:22:33,370 --> 00:22:36,610 >> Quote nagbibigay-daan sa isang gumagamit ay input ang pangalan ng isang tiyak na stock, 308 00:22:36,610 --> 00:22:41,940 at pagkatapos ay ibalik ang mga katangian ng stock na. 309 00:22:41,940 --> 00:22:48,410 Ano ang gugustuhin mong gawin dito ay magkaroon ng controller at ilang mga template. 310 00:22:48,410 --> 00:22:53,380 Sa kasong ito, kami ay pagpunta sa magkaroon ng controller na kung saan ay pagpunta sa gawin ang lahat ng pag-iisip para sa atin. 311 00:22:53,380 --> 00:23:01,210 Ito ay upang tumingin simbolo at pagkatapos ay pumasa sa mga halaga sa mga template na i-print. 312 00:23:01,210 --> 00:23:03,060 Kami ay pagpunta sa may 2 template dito. 313 00:23:03,060 --> 00:23:07,260 Kami ay pagpunta sa may 1 template na nagbibigay ng form na kung saan ang mga gumagamit ay pagpunta sa 314 00:23:07,260 --> 00:23:09,920 input ang pangalan ng stock - ang pangalan ng ibahagi. 315 00:23:09,920 --> 00:23:16,030 Pagkatapos din namin ay pagpunta sa gusto ng isa pang template na nagpapakita ng mga halagang iyon. 316 00:23:16,030 --> 00:23:27,450 Maaari mong tingnan sa pag-login para sa isang halimbawa ng kung paano ka magkaroon ng isang form na tumatanggap ng input, 317 00:23:27,450 --> 00:23:30,060 maliban dito, nais lamang namin ng 1 field. 318 00:23:30,060 --> 00:23:31,630 Hindi namin gusto ang isang username at password field. 319 00:23:31,630 --> 00:23:37,110 Gusto lang namin 1 field ng teksto na nagpapahintulot sa gumagamit na i-input ang pangalan ng isang tiyak na stock. 320 00:23:37,110 --> 00:23:40,110 Pagkatapos na gusto mong ipadala ang data na iyon - sa sandaling Tiningnan mo ang stock na - 321 00:23:40,110 --> 00:23:45,550 sa quote_form.php. 322 00:23:45,550 --> 00:23:50,780 Lookup ay bumalik sa simbolo ng stock, pangalan, at ng isang presyo. 323 00:23:50,780 --> 00:23:53,910 Yaong ay nilalaman sa loob ng isang nag-uugnay array. 324 00:23:53,910 --> 00:24:01,390 Hanapin ang lookup function sa loob ng functions.php para sa karagdagang impormasyon 325 00:24:01,390 --> 00:24:04,010 sa mga uri ng pagbalik ng mga. 326 00:24:04,010 --> 00:24:08,520 >> Magaling! Kaya pagkatapos ay sa wakas, makikita mo nais na ipakita ang impormasyon ng stock. 327 00:24:08,520 --> 00:24:14,110 Gugustuhin mong marahil ipakita - you'll nais upang ma-access ang mga variable. 328 00:24:14,110 --> 00:24:17,610 Sa sandaling mayroon ka ng mga presyo sa isang variable - 329 00:24:17,610 --> 00:24:20,860 pati na rin ang pangalan at simbolo - 330 00:24:20,860 --> 00:24:25,550 makikita mo nais na ipakita ang mga sa iyong pahina ng template. 331 00:24:25,550 --> 00:24:31,540 Na pahina ng template ay maaaring tinatawag na show_quote.php o isang bagay. 332 00:24:31,540 --> 00:24:39,660 Ang iyong pahina ng quote.php ay render palabas quote at pagkatapos ay pumasa sa lahat ng mga halaga. 333 00:24:39,660 --> 00:24:47,170 Pagkatapos sa iyong php pahina, aktwal mong i-print ang mga halaga sa HTML aspeto ng pahina. 334 00:24:47,170 --> 00:24:53,800 Mo lamang gamitin ang function na naka-print at pumasa sa presyo. 335 00:24:53,800 --> 00:24:57,990 Mayroong 2 mga paraan - maaari mong pagdugtungin ang mga ito na may tuldok ang operator, 336 00:24:57,990 --> 00:25:02,230 o gumamit ng isang placeholder. 337 00:25:07,580 --> 00:25:12,750 >> Ang mga gumagamit ay malaon pagpunta sa pagbili at pagbenta ng mga stock. 338 00:25:12,750 --> 00:25:18,450 Gusto naming upang payagan ang mga ito ng ilang mga paraan na makita ang lahat ng mga stock na kasalukuyang. 339 00:25:18,450 --> 00:25:21,350 Kami ay pagpunta sa tumawag na ang kanilang portfolio. 340 00:25:21,350 --> 00:25:26,180 Portfolio ay, baka para sa bawat gumagamit, naglalaman ng isang bungkos ng mga hilera 341 00:25:26,180 --> 00:25:31,760 naglilista ng mga uri ng magbahagi na mayroon sila at pagkatapos ay kung gaano karaming ng mga mayroon silang. 342 00:25:31,760 --> 00:25:36,500 Aming umiiral na talahanayan - ngayon mayroon kaming gumagamit ng table sa aming database. 343 00:25:36,500 --> 00:25:41,780 Na naglalaman ng username ng gumagamit pati na rin ang kanilang mga password at kung magkano ang cash mayroon silang. 344 00:25:41,780 --> 00:25:50,390 Walang tunay na paraan ng pag-iimbak ng lahat ng kanilang mga stock sa loob ng. 345 00:25:50,390 --> 00:25:58,010 Ito ay hindi tulad ng maaari naming ipasok ang bagong haligi para sa bawat stock. 346 00:25:58,010 --> 00:26:03,650 Iyon ay isang napaka, napaka-mahabang hilera dahil mayroon kaming isang walang-katapusang dami 347 00:26:03,650 --> 00:26:06,200 ng mga uri ng mga stock na sila ay maaaring magkaroon ng. 348 00:26:06,200 --> 00:26:09,150 Kaya, sa halip kung ano ang gagawin namin ay sa loob ng parehong database, 349 00:26:09,150 --> 00:26:15,000 makikita naming magkaroon ng isang talahanayan ng mga gumagamit, ngunit pagkatapos ay gagamitin din namin magkaroon ng isang portfolio table. 350 00:26:15,000 --> 00:26:18,430 Ang talahanayan ng portfolio ay tiyak na naka-link sa talahanayan ng mga gumagamit, 351 00:26:18,430 --> 00:26:24,600 ngunit sa halip ang istraktura ng talahanayan ng portfolio ay magkakaroon ng stock ng impormasyon, 352 00:26:24,600 --> 00:26:27,780 kung gaano karaming pagbabahagi ng na stock user ay, 353 00:26:27,780 --> 00:26:31,620 pati na rin ang partikular na id bilang isang gumagamit. 354 00:26:31,620 --> 00:26:34,620 Mayroon kang ang mga gumagamit ng talahanayan na may isang id pati na rin ang username, ang hash - 355 00:26:34,620 --> 00:26:40,130 na ang password, ang naka-encrypt na password - 356 00:26:40,130 --> 00:26:42,130 at pagkatapos ay ang halaga ng cash na mayroon silang. 357 00:26:42,130 --> 00:26:47,900 Ang numero ng id ay naka-link sa numero ng id mula sa portfolio. 358 00:26:47,900 --> 00:26:52,490 Portfolio ay lamang ang simbolo ng stock pati na rin ang pagbabahagi - 359 00:26:52,490 --> 00:26:55,410 ang bilang ng mga pagbabahagi ng na stock na ang user ay may. 360 00:26:55,410 --> 00:26:58,520 Sa portfolio na talahanayan ay mayroon kang isa lamang 361 00:26:58,520 --> 00:27:03,760 may nagmamay ari ang lahat ng pagbabahagi ng lahat ng mga gumagamit sa iyong site. 362 00:27:03,760 --> 00:27:10,550 Sa paglaon, upang tukuyin lamang pagbabahagi sa isang tiyak na user - lamang portfolio kanilang - 363 00:27:10,550 --> 00:27:15,360 nais mong makuha ang mga halaga mula sa talahanayan ng iyong portfolio na 364 00:27:15,360 --> 00:27:19,930 ang numero ng id ay partikular na gumagamit. 365 00:27:26,520 --> 00:27:34,890 >> Kapag ipakita ang portfolio, makikita mo gusto upang i-ulat ang bawat isa ng stock sa portfolio ng isang user. 366 00:27:34,890 --> 00:27:41,670 Gugustuhin mong i-ulat ang bilang ng mga pagbabahagi at ang kasalukuyang halaga ng mga pagbabahagi. 367 00:27:41,670 --> 00:27:45,950 Na ang kasalukuyang halaga ng mga pagbabahagi ay hindi naka-imbak sa table ng portfolio 368 00:27:45,950 --> 00:27:51,640 dahil na na nag-a-update - sa minimum - araw-araw sa pamamagitan ng Yahoo. 369 00:27:51,640 --> 00:27:58,550 Upang makakuha ng impormasyon na iyon, hindi mo maaaring sumangguni mula sa iyong SQL query. 370 00:27:58,550 --> 00:28:02,400 Ano ang function na nagbibigay na sa amin? Ano ang function ay makuha ang presyo? 371 00:28:02,400 --> 00:28:09,110 Iyon ay lookup, ito gamit lookup sa isang partikular na simbolo ay magbibigay sa iyo ng maraming impormasyon. 372 00:28:09,110 --> 00:28:13,710 Ito ay magbibigay sa iyo ng 3 piraso ng impormasyon - ang pangalan, simbolo, pati na rin ang presyo. 373 00:28:13,710 --> 00:28:17,490 Sandaling iyong paghahanap sa isang tiyak na simbolo, pagkatapos ay maaari mong makuha ang presyo, 374 00:28:17,490 --> 00:28:20,460 at pagkatapos ay maaari mong gamitin ang presyo na ipinapakita sa iyong portfolio. 375 00:28:20,460 --> 00:28:26,190 >> Portfolio ay dapat ipakita ang kasalukuyang balanse ng cash ng user. 376 00:28:26,190 --> 00:28:30,310 Patlang na naka-imbak sa loob ng talahanayan ng iyong mga user. 377 00:28:30,310 --> 00:28:33,400 Kaya pagkatapos alala kung paano talaga namin ay kinakailangang - 378 00:28:33,400 --> 00:28:36,850 nagkakaroon kami ng iba't ibang mga uri ng PHP file. 379 00:28:36,850 --> 00:28:40,160 Kami ay pagpunta sa magkaroon ng controller na talaga ang lahat ng mga pag-iisip para sa iyo. 380 00:28:40,160 --> 00:28:45,940 At pagkatapos ay mayroon kaming isang template kung saan ang template ang deal sa outputting data. 381 00:28:45,940 --> 00:28:50,790 Mayroon kang mag-isip ng kung ano ang variable controller ay kailangang gumawa ng. 382 00:28:50,790 --> 00:29:01,630 Kung kami ay pagharap sa isang portfolio na output ng bawat pangalan, simbolo, at magbahagi ng number, 383 00:29:01,630 --> 00:29:03,730 pati na rin ang kasalukuyang presyo ng stock, 384 00:29:03,730 --> 00:29:06,950 makikita mo nais na mahanap ang ilang mga paraan ng isa lamang pagpasa sa - 385 00:29:06,950 --> 00:29:12,070 maaari mong pumasa sa isang hanay ng mga halaga na tugma sa. 386 00:29:15,250 --> 00:29:24,360 >> Natin pumunta sa isang halimbawa ng kung paano mo maaaring makuha ang lahat ng stock 387 00:29:24,360 --> 00:29:26,210 na pag-aari sa pamamagitan ng isang partikular na gumagamit. 388 00:29:26,210 --> 00:29:31,400 Ito ay hindi pagharap - pa - sa mga presyo ng stock. 389 00:29:31,400 --> 00:29:33,520 Ano ito ay gawin ay magpatakbo ng isang query. 390 00:29:33,520 --> 00:29:37,070 Makuha ang simbolo pati na rin ang pagbabahagi mula sa - 391 00:29:37,070 --> 00:29:42,770 Ako pagtawag ng table na ito, ngunit sa kasong ito kung ano ang magiging? 392 00:29:42,770 --> 00:29:49,400 Ano ang pangalan ng table na kami ay pagharap sa na may simbolo at pagbabahagi 393 00:29:49,400 --> 00:29:52,280 para sa isang partikular na user? 394 00:29:52,280 --> 00:29:56,410 Ang alinman sa mga gumagamit o portfolio. 395 00:29:56,410 --> 00:29:57,820 Portfolio. 396 00:29:57,820 --> 00:30:03,220 Ano ito ay gawin query portfolio para sa mga simbolo at pagbabahagi 397 00:30:03,220 --> 00:30:04,920 para sa isang partikular na gumagamit. 398 00:30:04,920 --> 00:30:09,260 Dito, sinasabi ko, (piliin ang simbolo, pagbabahagi FROM tbl - 399 00:30:09,260 --> 00:30:12,280 ngunit sa halip ng talahanayan, ka upang palitan ang na may portfolio. 400 00:30:12,280 --> 00:30:15,220 'Saan' ay isa lamang ang aking kondisyon. 401 00:30:15,220 --> 00:30:21,050 Ako sinasabi gusto ko lang upang makakuha ng mga nag-uugnay array na tumutugma 402 00:30:21,050 --> 00:30:23,850  sa sumusunod na kondisyon na ito - katumbas ng id. 403 00:30:23,850 --> 00:30:27,600  Ako Pagkatapos ng paglalagay ng placeholder at session id. 404 00:30:27,600 --> 00:30:36,720 Ano ito ay gawin ay sabihin para sa bawat hilera sa hilera. 405 00:30:36,720 --> 00:30:40,940 Ito ay isang kapong baka na paraan sa halip na aktwal na kinakailangang mag-set up ng isang para sa loop 406 00:30:40,940 --> 00:30:47,450 na iterates sa lahat ng ini-index, pagkatapos ay sa PHP, maaari kang magkaroon ng para sa-bawat loop. 407 00:30:47,450 --> 00:30:53,520 >> Kung mayroon kang isang naibigay na array, pagkatapos ay maaari mong sabihin ako pagpunta upang tawagan ang bawat sunud-sunod na elemento - 408 00:30:53,520 --> 00:30:57,930 Ako pagpunta sa tumawag sa bawat elemento ang pangalang ito. 409 00:30:57,930 --> 00:31:02,780 Kaya, para sa bawat isa sa mga sangkap na ito, ako na tumawag sa kanila na ito, 410 00:31:02,780 --> 00:31:04,500 ang maaari kong gawin ito. 411 00:31:04,500 --> 00:31:10,370 Sa ito para sa bawat isa, mayroon ka ng mga hilera bilang iyong aktwal na array, at bawat hilera ka pagpunta sa tumawag ng hilera. 412 00:31:10,370 --> 00:31:12,420 Sa tuwing ito executes katawan, 413 00:31:12,420 --> 00:31:16,960 ito ay pumunta at ito ay i-update ang hilera sa susunod na sangkap sa mga hilera. 414 00:31:18,900 --> 00:31:25,260 >> Ngayon, sa mga tuntunin ng pagbili ng mga stock, 415 00:31:25,260 --> 00:31:29,500 kung ano ang gusto naming gawin ay makakuha ng stock na ang gumagamit ay nais na bumili 416 00:31:29,500 --> 00:31:35,300 at ang halaga ng pagbabahagi na ang gumagamit ay nais upang bumili, at pagkatapos - kung gusto nila - 417 00:31:35,300 --> 00:31:38,120 magdagdag ng na stock sa kanilang mga portfolio. 418 00:31:38,120 --> 00:31:40,310 Malinaw naman, kung sila ay pagbili ng isang bagay, at pagkatapos na upang bawasan ang 419 00:31:40,310 --> 00:31:43,520 ang halaga ng pera na mayroon silang, kaya na pagpunta upang bawasan ang kanilang cash. 420 00:31:43,520 --> 00:31:48,380 Kami ay pagpunta sa pagharap sa mga pag-update ng portfolio at pati na rin ng table ang mga gumagamit, 421 00:31:48,380 --> 00:31:50,300 na naglalaman ng cash. 422 00:31:50,300 --> 00:31:54,920 Ngunit una, kailangan mo upang makuha ang aktwal na stock at halaga ng pagbabahagi na gumagamit ang nais. 423 00:31:54,920 --> 00:32:00,010 Para sa, kakailanganin mo ng isang HTML form na humingi para sa simbolo ng stock 424 00:32:00,010 --> 00:32:03,360 na gusto mong bumili pati na rin ang bilang ng mga pagbabahagi. 425 00:32:03,360 --> 00:32:08,300 Pagkatapos ay makikita mo gusto mong idagdag. 426 00:32:08,300 --> 00:32:13,750 Gugustuhin mong pumili ng ilang mga halaga. 427 00:32:13,750 --> 00:32:19,670 Namin ang nawala sa pamamagitan ng ito nang kaunti na, ngunit kapag ikaw ay sinusubukan upang makakuha ng ilang mga hilera - 428 00:32:19,670 --> 00:32:22,020 mabawi ang ilang mga hilera mula sa talahanayan sa SQL, 429 00:32:22,020 --> 00:32:24,290 ito ay ang sumusunod na syntax. 430 00:32:24,290 --> 00:32:28,400 Mo na piliin, at pagkatapos ay kung tinukoy mo ang isang bituin, 431 00:32:28,400 --> 00:32:31,830 na makikita talaga ibalik ang buong, buong hilera para sa iyo. 432 00:32:31,830 --> 00:32:36,890 Pagkatapos muli, mayroon ka ng mga kundisyon kung saan, at pagkatapos ay tinukoy mo - 433 00:32:36,890 --> 00:32:39,990 Gusto ko lang username na katumbas mail-in, 434 00:32:39,990 --> 00:32:46,660 kaya ito lamang mabawi ang mga hilera sa mga gumagamit na tumutugma sa mail-in. 435 00:32:46,660 --> 00:32:52,860 >> Kapag ang isang gumagamit ay nais na magdagdag ng isang ibahagi sa isang portfolio, 436 00:32:52,860 --> 00:32:54,400 Kailangan mong suriin para sa isang ilang mga error. 437 00:32:54,400 --> 00:32:57,680 Nais mong tiyakin na ang gumagamit ay maaaring aktwal na bayaran ng stock, 438 00:32:57,680 --> 00:33:00,810 kaya makikita mo nais na suriin ang kanilang mga cash. 439 00:33:00,810 --> 00:33:05,810 Bago, ginamit namin bituin upang makuha ang isang buong hilera mula sa isang table SQL. 440 00:33:05,810 --> 00:33:08,930 Ngunit dito, maaari naming aktwal lamang tukuyin na gusto ko lang 1 halaga - 441 00:33:08,930 --> 00:33:10,080 Gusto ko lang cash. 442 00:33:10,080 --> 00:33:17,970 Kaya dito, ibalik ang cash para sa mga gumagamit na may id number 1. 443 00:33:17,970 --> 00:33:25,940 Kung ang isang gumagamit ay bumili ng isang tiyak na stock ngunit pagkatapos ay bumili ng higit pa na stock, 444 00:33:25,940 --> 00:33:30,440 pagkatapos ay sa iyong portfolio - hindi mo gusto isang hiwalay na linya, 445 00:33:30,440 --> 00:33:34,770 isa pang hilera na naglalaman na ang mga bagong transaksyon. 446 00:33:34,770 --> 00:33:37,950 Aktwal mong nais na i-update ang halaga. 447 00:33:37,950 --> 00:33:42,530 Ang lahat na ang pagbabago talaga ay ang halaga ng mga pagbabahagi na user na nagmamay-ari. 448 00:33:42,530 --> 00:33:47,730 Kung gagamitin mo ang insert sa query - kaya lang ito isingit sa iyong portfolio ang lahat ng mga halagang ito - 449 00:33:47,730 --> 00:33:51,710 numero ng id ng user pati na rin ang simbolo ng stock na sila ay pagbili 450 00:33:51,710 --> 00:33:57,750 at pagbabahagi, pagkatapos makikita mo din gusto upang tukuyin, well, kung nagpatakbo ako sa isang duplicate na key - 451 00:33:57,750 --> 00:34:00,750 sa kasong ito, ang mga dobleng key ay hindi lamang id ng user ngunit rin ang simbolo ng stock - 452 00:34:00,750 --> 00:34:08,340 dahil maaari ka lamang magkaroon ng - ang aming premise ay na maaari ka lamang magkaroon ng 1 hilera 453 00:34:08,340 --> 00:34:10,699  na tumutugma sa 1 tukoy na simbolo. 454 00:34:10,699 --> 00:34:13,659 Kaya, sa mga duplicate na key - kung nagpapatakbo ka sa isang banggaan doon - 455 00:34:13,659 --> 00:34:18,520 ka upang i-update ang pagbabahagi sa bagong halaga nito. 456 00:34:18,520 --> 00:34:23,290 Pagbabahagi katumbas ng anumang nagkaroon kami bago kasama ang bilang ng mga pagbabahagi na ang gumagamit ay pagbili. 457 00:34:27,790 --> 00:34:31,090 >> Ngayon na aming na-update ang talahanayan sa portfolio, 458 00:34:31,090 --> 00:34:34,730 Susubukan naming gusto upang i-update ang cash ng user. 459 00:34:34,730 --> 00:34:40,300 Na sa talahanayan ng mga gumagamit, kaya kami ay pagpunta sa pagbabawas ng ilang mga halaga mula sa cash. 460 00:34:40,300 --> 00:34:46,270 Siguro, ito na cash ay katumbas ng minus cash - at pagkatapos ay sa isang tiyak na halaga. 461 00:34:46,270 --> 00:34:50,560 Upang i-update ang cash, gagawin mo - 462 00:34:50,560 --> 00:34:55,699 kung Nais kong gumawa ng layo ng pera mula sa mail-in, pagkatapos Gusto ko patakbuhin ang query - 463 00:34:55,699 --> 00:35:00,220 'I-update ang mga gumagamit' at pagkatapos ay itakda ang haligi ng cash sa cash - 464 00:35:00,220 --> 00:35:07,300 >> Gusto ko alisin ang mga 9999 dolyar lamang kung ang username ay katumbas mail-in. 465 00:35:07,300 --> 00:35:12,020 Subalit, sa kasong ito, hindi namin nais ibawas 9999 partikular. 466 00:35:12,020 --> 00:35:17,610 Gusto naming upang tukuyin, well, gusto naming ibawas ang kasalukuyang presyo ng stock 467 00:35:17,610 --> 00:35:22,400 multiply sa pamamagitan ng bilang ng mga pagbabahagi na sila ay pagbili. 468 00:35:25,260 --> 00:35:29,910 >> Ngayon pinayagan namin ang mga ito upang makita ang lahat ng stock na mayroon sila, 469 00:35:29,910 --> 00:35:33,080 pati na rin bumili ng higit pang mga stock. 470 00:35:33,080 --> 00:35:37,430 Din kami dati pinapayagan ang mga ito upang tingnan ang kasalukuyang presyo ng stock. 471 00:35:37,430 --> 00:35:40,030 Narito nais naming upang payagan ang mga ito upang ibenta ang mga ito. 472 00:35:40,030 --> 00:35:42,160 Una gusto naming ipakita talaga - 473 00:35:42,160 --> 00:35:45,270 gusto naming upang payagan ang mga ito upang makita ang lahat ng stock na mayroon sila, 474 00:35:45,270 --> 00:35:53,170 kaya dito gusto namin upang ipakita ang lahat ng mga hilera mula sa portfolio. 475 00:35:53,170 --> 00:35:56,650 Kung pinili nila upang magbenta ng ilang mga stock, 476 00:35:56,650 --> 00:35:59,140 pagkatapos kami ay pagpunta sa ipagpalagay na gusto nila upang magbenta ng lahat ng ito. 477 00:35:59,140 --> 00:36:04,350 Sila ay hindi lamang upang magbenta ng 50% ng kanilang mga pagbabahagi, sila ay pagpunta sa ibenta ang 100% ng. 478 00:36:04,350 --> 00:36:08,630 Maaari lang namin tanggalin ang buong hilera mula sa portfolio. 479 00:36:08,630 --> 00:36:17,520 Maaari naming tanggalin ang pagbabahagi ng ibinigay na gumagamit ng ilang mga simbolo. 480 00:36:17,520 --> 00:36:21,410 Ang syntax para sa. 481 00:36:21,410 --> 00:36:22,710 >> Pagkatapos gusto naming i-update ang cash. 482 00:36:22,710 --> 00:36:30,930 Kami ay pagpunta sa ay pagdaragdag ng sa cash katumbas sa ang halaga ng pagbabahagi na ito ay nagbebenta 483 00:36:30,930 --> 00:36:34,640 multiply ng kasalukuyang presyo ng stock - 484 00:36:34,640 --> 00:36:38,610 hindi ang presyo kung saan sila bumili ito, ngunit sa halip ang presyo kung saan ang mga ito ay - 485 00:36:38,610 --> 00:36:40,500 kasalukuyang presyo kapag sila ay nagbebenta ng mga ito. 486 00:36:40,500 --> 00:36:43,660 Upang isangguni ang kasalukuyang presyo ng stock, 487 00:36:43,660 --> 00:36:49,120 ay gusto mong gamitin ang lookup, kung saan ay magbibigay sa iyo ang presyo ng stock 488 00:36:50,030 --> 00:36:52,650 sa kasalukuyang oras. 489 00:36:52,650 --> 00:36:55,930 >> Na namin ngayon ang natitira na may kasaysayan, 490 00:36:55,930 --> 00:37:00,170 kung saan nais mong payagan ang isang gumagamit upang subaybayan ng lahat ng kanilang mga transaksyon - 491 00:37:00,170 --> 00:37:03,040 nais upang makita kailanman ibinebenta nila ang isang bagay, kapag sila ay bumili ng isang stock. 492 00:37:03,040 --> 00:37:08,870 Gusto naming tukuyin ang oras na kung saan ang kanilang ginawa na pati na rin ang kung gaano karaming sila bumili 493 00:37:08,870 --> 00:37:11,650 at kung ano ang stock na ito ay. 494 00:37:11,650 --> 00:37:17,800 Kami ng anumang kasalukuyang, umiiral na istraktura na tumutukoy na? 495 00:37:17,800 --> 00:37:25,230 Well, mayroon kaming portfolio na nagpapakita ng bilang stock na ang isang user ay may 496 00:37:25,230 --> 00:37:26,470 para sa isang naibigay na. 497 00:37:26,470 --> 00:37:34,060 Ngunit kami ay pagbuo portfolio sa paraan na ito ina-update kapag bumili namin ang maramihang mga, 498 00:37:34,060 --> 00:37:40,190 kung saan ang kasaysayan ay dapat - kung bumili ka ng Apple, 10 pagbabahagi nito, at pagkatapos ay mamaya sa magbenta ng 5, 499 00:37:40,190 --> 00:37:44,040 gusto mo upang makita ang mga hiwalay bilang hiwalay na mga pagkilos, hiwalay na hilera. 500 00:37:44,040 --> 00:37:48,520 Sapagkat ang aksyon na-visualize na sa aming mga talahanayan ng portfolio 501 00:37:48,520 --> 00:37:52,540 ay lamang ng isang update sa partikular na hilera, 502 00:37:52,540 --> 00:37:55,740  kaya marahil namin ay pagpunta sa gusto ng isa pang talahanayan. 503 00:37:55,740 --> 00:38:00,460 Sa aming database, mayroon kaming talahanayan ng aming mga gumagamit, mayroon kaming aming portfolio talahanayan, 504 00:38:00,460 --> 00:38:04,090 at ngayon makikita namin marahil nais kasaysayan table. 505 00:38:04,090 --> 00:38:08,070 Na kasaysayan talahanayan ay maaaring subaybayan ng kasalukuyang petsa, 506 00:38:08,070 --> 00:38:12,800 pati na rin ang partikular na simbolo ng stock, pati na rin ang kung gaano karaming pagbabahagi, 507 00:38:12,800 --> 00:38:15,410 at pagkatapos ay kung ano ang pagkilos na ito ay - 508 00:38:15,410 --> 00:38:18,800 kung ikaw ay pagbili ng mga pagbabahagi o kung ikaw ay nagbebenta ng mga ito. 509 00:38:20,660 --> 00:38:25,720 >> Humarap sa petsa, may ilang mga paraan na maaari mong gawin ito. 510 00:38:25,720 --> 00:38:28,820 PHP ay isang paraan ng pinapanatili ang track ng petsa, kung saan maaari mong tingnan ang iyong sarili. 511 00:38:28,820 --> 00:38:33,990 Sa SQL maaari mo ring gamitin ang alinman sa ngayon o kasalukuyang timestamp. Iyon ay hanggang sa iyo. 512 00:38:33,990 --> 00:38:40,720 Tiyakin lamang na sa tuwing ang isang gumagamit ay bumibili o nagbebenta, makikita mo ina-update ang kanilang mga cash 513 00:38:40,720 --> 00:38:46,750 sa talahanayan ng mga gumagamit, ikaw ay nag-a-update ang mga hilera sa talahanayan ng mga portfolio, 514 00:38:46,750 --> 00:38:50,900 pagkatapos ay makikita mo rin ina-update ang kasaysayan, 515 00:38:50,900 --> 00:38:56,260 kaya pagpunta sa 3 magkakahiwalay na SQL query na makikita mo ang pagtawag doon. 516 00:38:58,640 --> 00:39:01,530 Mayroon kaming isang bungkos ng pag-andar ngayon. 517 00:39:01,530 --> 00:39:10,600 >> Lamang ng ilang mga paalala na sa iyong index file, makikita mo gustong i-link sa hindi bababa sa iyong - 518 00:39:10,600 --> 00:39:15,550 ngunit makikita mo gusto upang payagan ang isang gumagamit sa link sa buy.php pahina. 519 00:39:15,550 --> 00:39:23,560 Na pagpunta upang payagan ang isang user - buy.php ang controller, kaya na pagpunta sa alinman sa 520 00:39:23,560 --> 00:39:29,170 magpadala sa iyo sa - na na magpadala sa iyo sa form na nagbibigay-daan sa iyo upang tingnan ang mga bagay-bagay sa. 521 00:39:29,170 --> 00:39:34,420 Mayroon kaming kasaysayan. Namin ang pag-log out, pagkuha ng quote at pagkatapos ay nagbebenta. 522 00:39:34,420 --> 00:39:37,350 Iyon ang sa minimum kung ano ang gusto mong ipakita sa. 523 00:39:37,350 --> 00:39:43,640 Sa mga tuntunin ng portfolio, portfolio ay aktwal na ipinapakita sa pahina ng index. 524 00:39:43,640 --> 00:39:52,050 Kung pumunta kami sa index, dito namin makita na ito nagpapagana portfolio.php 525 00:39:52,050 --> 00:40:00,050 at pass sa nag-uugnay array - talaga ang pamagat ay katumbas ng portfolio. 526 00:40:00,050 --> 00:40:02,610 Kaya, ito ay ang controller. 527 00:40:02,610 --> 00:40:08,000 Kung pumunta kami sa template ng portfolio.php, 528 00:40:08,000 --> 00:40:18,060 pagkatapos ang lahat ng ito ay may - ay nagpapakita ng isa lamang ng isang larawan na nagsasabing, naku, ang site na ito ay kasalukuyang ginagawa. 529 00:40:18,060 --> 00:40:23,810 Sa paglaon, sa sandaling pumasa sa - you'll pagpasa sa talaga mas tiyak na impormasyon. 530 00:40:23,810 --> 00:40:27,400 Sa halip na ang pamagat lamang, makikita mo marahil ay pagpasa sa higit pang mga bagay. 531 00:40:27,400 --> 00:40:32,010 Sa sandaling mayroon ka ng mga halaga, pagkatapos portfolio.php maaaring humarap sa mga halagang iyon 532 00:40:32,010 --> 00:40:34,490 at pag-print out ang mga ito sa anumang uri ng pagkakasunod-sunod. 533 00:40:34,490 --> 00:40:41,660 >> Sandaling naipatupad ang lahat ng mga, kailangan mo ring ipatupad ang 1 pang tampok. 534 00:40:41,660 --> 00:40:44,890 Ito ay maaaring nagpapahintulot ng user na baguhin ang kanilang password, 535 00:40:44,890 --> 00:40:50,110 upang i-reset ang kanilang mga password kung nakalimutan mo ito - ito para sa pag-reset ng password, pagkatapos 536 00:40:50,110 --> 00:40:54,560 malamang din gusto upang i-edit magparehistro upang ito ay nagbibigay-daan sa kanila upang tukuyin ang isang email, 537 00:40:54,560 --> 00:40:57,910 kaya kung sila kalimutan ang kanilang password, pagkatapos ay maaari nilang makakuha na. 538 00:40:57,910 --> 00:41:02,870 Marahil maaari silang ipasok ang kanilang username, at pagkatapos ay isang email ang ipapadala sa kanila 539 00:41:02,870 --> 00:41:06,180 na may isang link upang i-reset ang kanilang mga password. 540 00:41:06,180 --> 00:41:10,980 Maaari kang magkaroon ng isang bagay na nagbibigay-daan sa mga gumagamit upang makakuha ng resibo 541 00:41:10,980 --> 00:41:12,380 sa tuwing sila ay bumili o magbenta ng isang bagay, 542 00:41:12,380 --> 00:41:19,910 at pagkatapos ay sa wakas, payagan ang mga ito upang magdagdag ng cash sa kanilang website. 543 00:41:19,910 --> 00:41:24,970 Lamang upang bumalik sa konsepto ng mga controllers at ang mga template ng kaunti. 544 00:41:24,970 --> 00:41:31,170 Magkakaroon ka ng isang bagay tulad ng isang - kaya magkakaroon ka ng controller dito. 545 00:41:31,170 --> 00:41:35,080 Sa ngayon, naghahanap kami sa login.php halimbawa. 546 00:41:35,080 --> 00:41:38,220 Kapag mayroon kami ng controller, isa lamang ito ay pagpunta sa tumagal ng 2 kaso. 547 00:41:38,220 --> 00:41:42,090 Kapag mayroon kami controllers, hindi namin sa piraso na ito na hindi namin uri rin ng pagharap sa 548 00:41:42,090 --> 00:41:43,880 kapag mayroon kaming mga form pati na rin. 549 00:41:43,880 --> 00:41:47,500 Controller ay isa lamang magkaroon ng hiwalay na mga pagkilos - 550 00:41:47,500 --> 00:41:53,880 kung ang isang form na Naisumite na ang, at pagkatapos ay dalawang kung ang user ay nanggagaling sa pahinang iyon 551 00:41:53,880 --> 00:41:56,870 sa unang pagkakataon at kailangang pa rin sa input ang form na iyon. 552 00:41:56,870 --> 00:42:02,820 >> Ako pagpunta sa tumalon sa kasong iyon unang bago pagpunta hanggang sa unang kaso ng pagkakaroon ng form. 553 00:42:02,820 --> 00:42:12,640 Dito sinasabi namin, kung ang form ay isinumite sa mga post ng paraan ng - 554 00:42:12,640 --> 00:42:13,580 huwag mag-alala tungkol na isang bit. 555 00:42:13,580 --> 00:42:19,780 Huwag mag-alala tungkol sa masyadong maraming ngunit maunawaan na talaga function na ito deal na may 556 00:42:19,780 --> 00:42:22,430 kung ang isang form na ay naisumite o hindi. 557 00:42:22,430 --> 00:42:25,640 Ang kundisyong ito ay totoo kung ang isang gumagamit ay nagsumite ng form. 558 00:42:25,640 --> 00:42:45,940 Kung hindi, pagkatapos kami ay pagpunta sa nais upang call na login_form.php ng ​​render, at pagkatapos ay pumasa sa pamagat. 559 00:42:45,940 --> 00:42:48,010 Pamagat na ito ay isa lamang na lumitaw sa header. 560 00:42:48,010 --> 00:42:54,990 Kung ano ang ginagawa ay isa lamang nagsasabing, okay - na rin, kung ang isang gumagamit ay napupunta sa login.php 561 00:42:54,990 --> 00:43:00,310 at hindi talagang naka-log in, pagkatapos Gusto kong ipadala ang mga ito sa mga pahina na may form na iyon 562 00:43:00,310 --> 00:43:03,160 na nagbibigay-daan sa kanila upang input ang username at ang password. 563 00:43:03,160 --> 00:43:07,590 Pagkatapos ko pumunta sa login_form, at pagkatapos na ay ang aktwal na form. 564 00:43:07,590 --> 00:43:13,750 Pagkatapos, sa sandaling na isinusumite ng user form na iyon, sila ay pagpunta sa isumite ito sa login.php 565 00:43:13,750 --> 00:43:15,840 may post ang paraan. 566 00:43:15,840 --> 00:43:21,560 Pagkatapos tunay ako pagpunta sa ipasok ang seksyon na ito ng aking kung pang tao loop. 567 00:43:21,560 --> 00:43:29,560 Pagkatapos ito ay in dito na harapin namin kasama ang mga halaga na ipinasok sa form. 568 00:43:29,560 --> 00:43:32,800 Ito ay dito na harapin namin sa mga. 569 00:43:32,800 --> 00:43:40,860 >> Pagkatapos sabay-sabay ka makitungo sa mga halagang iyon - kung ikaw ay pagharap sa - 570 00:43:40,860 --> 00:43:46,640 sabihin kami ay pagharap sa ang quote.php pahina kung saan ang isang tao ay maaari input ng stock na 571 00:43:46,640 --> 00:43:49,950 gusto nila upang tumingin up, at pagkatapos ay makita na display - 572 00:43:49,950 --> 00:43:52,850 na uri ng katulad dito. 573 00:43:52,850 --> 00:43:56,070 Narito mayroon kaming isang login form - you'd malamang na magkaroon ng isang quote form - 574 00:43:56,070 --> 00:44:00,290 ngunit pagkatapos ay sa sandaling ang gumagamit ay aktwal na nagsumite ng impormasyon na iyon, 575 00:44:00,290 --> 00:44:04,810 gugustuhin mong controller upang pumasa sa isa pang template 576 00:44:04,810 --> 00:44:07,430 na ipakita sa kanila na aktwal na impormasyon. 577 00:44:07,430 --> 00:44:11,250 Kaya pagkatapos karapatan sa paligid dito, pagkatapos bibigyan ka marahil - 578 00:44:11,250 --> 00:44:18,830 sa paligid ng dulo ng iyong kundisyon dito - ang kung ang pamamaraan ay katumbas ng post - 579 00:44:18,830 --> 00:44:22,520 pagkatapos ay marahil ay gusto mo upang mag-render ng isa pang pahina - ang palabas quote - 580 00:44:22,520 --> 00:44:28,040 na nagpapadala ka sa pahinang iyon - show_quote.php-- 581 00:44:28,040 --> 00:44:34,120 at pagkatapos ay sa file na iyon ay sumangguni sa mga halagang iyon. 582 00:44:34,120 --> 00:44:36,480 Ba na magkaroon ng kahulugan? 583 00:44:36,480 --> 00:44:40,390 >> Mayroon kaming isang controller na talaga deal na may 2 kaso - 584 00:44:40,390 --> 00:44:42,710 kung ipinasok mo na ang isang form sa o hindi. 585 00:44:42,710 --> 00:44:43,950 Kung hindi mo ipinasok ang form, 586 00:44:43,950 --> 00:44:47,300 pagkatapos ay pag-redirect ito sa form na iyon, na pagkatapos ay ilagay ka pabalik sa pahinang iyon. 587 00:44:47,300 --> 00:44:54,020 Pagkatapos, sa sandaling mayroon kang impormasyon sa controller, ang katawan na ay humarap sa na 588 00:44:54,020 --> 00:44:59,750 impormasyon kung kinakailangan - alinman hinahanap halaga ng stock, 589 00:44:59,750 --> 00:45:04,150 at pagkatapos ay sa sandaling ito ay tumingala sa mga halaga iyon at may mga ito sa isang mahusay na-format na array, 590 00:45:04,150 --> 00:45:08,180 pagkatapos makapasa na array sa pahina ng template 591 00:45:08,180 --> 00:45:10,330  na ang mga deal may outputting na impormasyon. 592 00:45:10,330 --> 00:45:14,680 >> Muli, dahil ito ay web, ito ay magiging masaya. 593 00:45:14,680 --> 00:45:20,310 Humihingi kami ng labas ng C kaya hindi namin ay limitado sa ASCII at ang output sa terminal, 594 00:45:20,310 --> 00:45:21,800 kaya magsaya na ito. 595 00:45:21,800 --> 00:45:24,920 Maaari mong gawin ito bilang visual hangga't gusto mo. 596 00:45:24,920 --> 00:45:31,860 Maaari mong payagan ang mga gumagamit sa input ang mga milyon-milyong dolyar sa isang pagkakataon, 597 00:45:31,860 --> 00:45:34,730 o limitahan ang mga ito at talagang ibig sabihin at payagan ang mga ito lamang magpasok ng 1 matipid sa isang pagkakataon 598 00:45:34,730 --> 00:45:36,330 o isang bagay tulad na. 599 00:45:36,330 --> 00:45:38,550 Talagang bang magsaya sa mga ito. 600 00:45:38,550 --> 00:45:47,030 >> PHP code ng kaunti simple na ito ng kaunti mas madali upang i-map ang iyong pseudocode 601 00:45:47,030 --> 00:45:50,070 sa aktwal na pagpapatupad. 602 00:45:50,070 --> 00:45:56,320 Kaya, tiyak na magkaroon ng kasiyahan na ito dahil ito ay talagang aming huling piraso sa CS50. 603 00:45:56,320 --> 00:46:01,150 Na iyon, ito ay walkthrough 7. 604 00:46:01,150 --> 00:46:04,640 Sa sandaling tapos ka na nanonood ng walkthrough at tapos iyong pset, 605 00:46:04,640 --> 00:46:09,590 ang mga ito ay din psets, at ngayon ay namin sa ang panghuling produkto - 606 00:46:09,590 --> 00:46:12,330 pagkatapos makuha namin sa pamamagitan ng pagsusulit 1. 607 00:46:12,330 --> 00:46:16,200 Pagkatapos sana ay maaari mong gamitin ang mga tool na iyong natutunan mula sa psets - 608 00:46:16,200 --> 00:46:21,980 hindi lamang ang syntax, ngunit higit pa sa abstract paniwala kung paano kumuha ng ilang - 609 00:46:21,980 --> 00:46:24,950 gusto, gusto kong gawin ito at pagkatapos ay aktwal na pagpapatupad na. 610 00:46:24,950 --> 00:46:28,740 Learning kung paano pagpakasakitan sa pamamagitan ng code sa syntax at pamamahagi. 611 00:46:28,740 --> 00:46:33,020 Pagbabasa ng code ng ibang tao, at pagkatapos ay pagbibigay-kahulugan na ang paggamit ng mga pre-umiiral na function. 612 00:46:33,020 --> 00:46:37,360 >> Kaya, good luck sa huling pset. 613 00:46:37,360 --> 00:46:39,930 Ng kasiyahan sa humantong ang mga walkthroughs. 614 00:46:39,930 --> 00:46:40,940 Umaasa ako na sila ay kapaki-pakinabang para sa iyo. 615 00:46:40,940 --> 00:46:46,560 Mga ito ay Walkthroughs, at Maraming salamat. 616 00:46:52,580 --> 00:46:56,200 [CS50.TV]