1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [PHP Web Development] 2 00:00:03,000 --> 00:00:05,000 [Tommy MacWilliam] 3 00:00:05,000 --> 00:00:07,000 [Ito ay CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> Sa video na ito, makikita malaman natin ang tungkol gamit ang PHP para sa web development. 5 00:00:11,000 --> 00:00:14,000 PHP ay isang scripting wika na maaaring magamit upang ipatupad 6 00:00:14,000 --> 00:00:17,000 mga website sa isang web server. 7 00:00:17,000 --> 00:00:21,000 Ang isang web server ay mahalagang isang machine nakatuon sa pagbibigay ng nilalaman 8 00:00:21,000 --> 00:00:24,000 na maaaring ma-access sa pamamagitan ng internet. 9 00:00:24,000 --> 00:00:30,000 Kapag nag-navigate ka sa isang web page tulad ng Facebook.com / home.php 10 00:00:30,000 --> 00:00:35,000 ang code sa file na tinatawag na home.php na nakatira sa isang web server Facebook sa isang lugar 11 00:00:35,000 --> 00:00:38,000 ay pinaandar sa server na iyon. 12 00:00:38,000 --> 00:00:41,000 Ang code na ito ay malamang na bumuo ng ilang mga output 13 00:00:41,000 --> 00:00:43,000 ay na kung saan ay siya namang ipinadala mula sa server 14 00:00:43,000 --> 00:00:45,000 sa iyong web browser. 15 00:00:45,000 --> 00:00:49,000 Susubukan naming ginagamit ang CS50 appliance bilang isang web server. 16 00:00:49,000 --> 00:00:51,000 Ang iyong machine marahil ay hindi halos bilang malakas na bilang ng mga makina 17 00:00:51,000 --> 00:00:57,000 sa isang data center ng Facebook, ngunit magkakaroon ka ng walang problema na gamitin ito para sa web development. 18 00:00:57,000 --> 00:01:05,000 >> Kapag mag-navigate kami sa isang URL tulad ng http://localhost/hello.php 19 00:01:05,000 --> 00:01:10,000 i-configure namin ang appliance sa pamamagitan ng isang application na tinatawag na ang Apache HTTP server 20 00:01:10,000 --> 00:01:19,000 upang tumingin para sa isang file na tinatawag na hello.php sa loob ng bahay / jharvard / vhosts / localhosts / html sa pamamagitan ng default. 21 00:01:19,000 --> 00:01:23,000 Kung umiiral ang file na pagkatapos Apache ay gagamit ng interpreter PHP 22 00:01:23,000 --> 00:01:27,000 upang isakatuparan ang code na PHP sa hello.php. 23 00:01:27,000 --> 00:01:31,000 Kung file na hindi umiiral pagkatapos ay Apache ay magtapon ng isang Hindi natagpuan ang error 24 00:01:31,000 --> 00:01:36,000 o ng isang 404 error, na marahil iyong nakita mo habang nagba-browse sa Web. 25 00:01:36,000 --> 00:01:40,000 >> Hayaan ang kumuha ng isang pagtingin sa hello.php. 26 00:01:40,000 --> 00:01:45,000 Maaari naming makita dito na bumubuo hello.php isang line signal ng output. 27 00:01:45,000 --> 00:01:51,000 Kapag nagpatakbo hello.php namin sa command line sa pamamagitan ng php hello.php 28 00:01:51,000 --> 00:01:54,000 na output ay naka-print sa terminal. 29 00:01:54,000 --> 00:01:58,000 Ngayon, kapag ina-access namin ang file na ito sa pamamagitan ng isang URL sa web browser 30 00:01:58,000 --> 00:02:01,000 output nito ay ipapadala sa mga web browser, 31 00:02:01,000 --> 00:02:09,000 kaya heading sa URL, http://localhost/hello.php, 32 00:02:09,000 --> 00:02:12,000 maaari naming makita ang output sa aming web browser. 33 00:02:12,000 --> 00:02:17,000 >> Subukan ang pagdaragdag ng isa pang printf sa aming kumusta programa mundo Hayaan. 34 00:02:17,000 --> 00:02:23,000 Okay, ni magtungo ang pabalik sa web browser at makita kung ano ang mayroon kaming ipaalam. 35 00:02:23,000 --> 00:02:25,000 Kawili-wili. 36 00:02:25,000 --> 00:02:28,000 Kaysa sa pag-print ng isa pang linya sa sarili nitong linya, tulad ng kung paano mo nakita 37 00:02:28,000 --> 00:02:32,000 sa terminal, mukhang ito Nakakuha smushed papunta sa parehong linya 38 00:02:32,000 --> 00:02:36,000 tulad sa iba printf, kaya siguro mga bagong linya ay hindi gumagana sa PHP. 39 00:02:36,000 --> 00:02:38,000 Hindi masyadong. 40 00:02:38,000 --> 00:02:41,000 Tandaan na HTML ay karaniwang ginagamit upang lumikha ng mga pahina ng web 41 00:02:41,000 --> 00:02:44,000 na maaaring maipakita ng mga web browser. 42 00:02:44,000 --> 00:02:49,000 Hindi lamang ay ang string halo mula sa php hindi wastong HTML, 43 00:02:49,000 --> 00:02:53,000 ngunit isipin na hindi namin maaaring gamitin ang \ n character sa HTML 44 00:02:53,000 --> 00:02:55,000 upang lumikha ng isang line break. 45 00:02:55,000 --> 00:03:01,000 Sa halip na lamang outputting output wastong HTML isang string let ni. 46 00:03:01,000 --> 00:03:04,000 Sa pamamagitan ng paggamit ng talata na mga tag sa bawat isa sa aming mga printf tawag 47 00:03:04,000 --> 00:03:07,000 Ipapakita sa sarili nitong linya, 48 00:03:07,000 --> 00:03:11,000 kaya ngayon kapag binisita namin ang URL pagturo sa valid.php 49 00:03:11,000 --> 00:03:17,000 http://localhost/valid.php 50 00:03:17,000 --> 00:03:19,000 makikita natin ang output na kaming naghahanap ng para sa. 51 00:03:19,000 --> 00:03:22,000 >> Ngayon, kung makita namin ang pinagmulan ng pahinang ito 52 00:03:22,000 --> 00:03:25,000 maaari naming makita na ngayon kaming naghahanap sa wastong HTML, 53 00:03:25,000 --> 00:03:28,000 na aming nilikha mula sa PHP. 54 00:03:28,000 --> 00:03:31,000 Ilagay ang lahat ng aming HTML sa loob printf tawag 55 00:03:31,000 --> 00:03:34,000 ay siyempre pagpunta upang makakuha ng talagang nakakainis. 56 00:03:34,000 --> 00:03:38,000 Sa kabutihang-palad madali namin paghaluin ang HTML at PHP 57 00:03:38,000 --> 00:03:41,000 sa parehong php file.. 58 00:03:41,000 --> 00:03:47,000 Tandaan, ang lahat ng aming mga code na PHP ay dapat na nakapaloob sa loob ng 00:03:49,000 at?>. 60 00:03:49,000 --> 00:03:52,000 Anumang bagay na ay hindi nakapaloob sa loob ng mga delimiter 61 00:03:52,000 --> 00:03:55,000 ay simpleng ipapadala bilang output sa browser 62 00:03:55,000 --> 00:03:57,000 sa halip na pinaandar. 63 00:03:57,000 --> 00:04:01,000 Iyon ay nangangahulugang maaari naming gawin ang isang bagay na katulad nito. 64 00:04:01,000 --> 00:04:05,000 Maaari lang namin isulat ang HTML sa loob ng aming php file. 65 00:04:05,000 --> 00:04:11,000 at pagkatapos ay ipasok ang mga bloke ng PHP kung saan man nais naming ilang php code upang ipatupad. 66 00:04:11,000 --> 00:04:15,000 Narito tinutukoy namin ang ilang variable sa tuktok ng file, 67 00:04:15,000 --> 00:04:19,000 at mas bago i-print namin ang mga ito out sa loob ng aming HTML. 68 00:04:19,000 --> 00:04:27,000 Ngayon kung bisitahin namin ang URL na ito, http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 maaari naming tingnan ang aming nasuri PHP sa loob ng aming HTML. 70 00:04:33,000 --> 00:04:36,000 >> Ngayon tumagal ng isang pagtingin sa kung paano namin maaaring pumasa data ipaalam 71 00:04:36,000 --> 00:04:39,000 kasama ng aming iba't ibang mga pahina ng PHP. 72 00:04:39,000 --> 00:04:51,000 Sa halip na sinasabi 73 00:04:51,000 --> 00:04:58,000 maaari naming lamang sabihin 00:05:01,000 at?>. 75 00:05:01,000 --> 00:05:03,000 Sabihin ngayon bistahan kung paano namin maaaring pumasa data 76 00:05:03,000 --> 00:05:06,000 kasama ng aming iba't ibang mga pahina ng PHP. 77 00:05:06,000 --> 00:05:11,000 Ang isang paraan na maaari naming gawin iyon ay upang i-encode na impormasyon sa URL ng isang pahina. 78 00:05:11,000 --> 00:05:14,000 Kapag nagba-browse sa Web, maaari kang napansin na ang ilang mga URL 79 00:05:14,000 --> 00:05:20,000 naglalaman ng isang? sinusundan ng isang string na naglalaman ng mga ampersand at pantay-pantay ang mga karatula. 80 00:05:20,000 --> 00:05:23,000 Ang bahagi ng URL ay kilala bilang ang query string, 81 00:05:23,000 --> 00:05:29,000 at ito ay nagpapahintulot sa iyo epektibo upang pumasa sa mga argumento sa iyong script PHP. 82 00:05:29,000 --> 00:05:34,000 Ang string ng query ay binubuo ng mga pangunahing halaga ng mga pareho, tulad ng isang hash table. 83 00:05:34,000 --> 00:05:38,000 Ang isang pantay na pag-sign naghihiwalay sa isang susi at ang mga katumbas na halaga 84 00:05:38,000 --> 00:05:41,000 habang ampersand paghiwalayin ang mga pares. 85 00:05:41,000 --> 00:06:05,000 Ang isang URL na kamukha http://localhost/get.php?foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 May 2 pangunahing mga pares ng halaga sa query string. 87 00:06:09,000 --> 00:06:12,000 Ang pangunahing foo maps sa halaga bar, 88 00:06:12,000 --> 00:06:16,000 at ang mga key baz maps sa halaga qux. 89 00:06:16,000 --> 00:06:23,000 Maaari naming i-access nang madali ang mga pangunahing mga pares ng halaga gamit ang isang espesyal na variable sa PHP, 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET Ay isang nag-uugnay array 92 00:06:32,000 --> 00:06:36,000 na awtomatikong populated na may mga data sa query string. 93 00:06:36,000 --> 00:06:46,000 Iyon ay nangangahulugan na ang naibigay na ang URL na ito $ _GET ["foo"] 94 00:06:46,000 --> 00:06:49,000 ay magiging katumbas ng string bar. 95 00:06:49,000 --> 00:06:56,000 >> Hayaan ang kumuha ng isang pagtingin sa get.php upang makita ang $ _GET sa pagkilos. 96 00:06:56,000 --> 00:07:00,000 Narito na aming ginagamit ng isang function na tinatawag na var_dump, 97 00:07:00,000 --> 00:07:03,000 kung saan kapag ibinigay na isang array o iba pang mga variable 98 00:07:03,000 --> 00:07:05,000 ay i-print ito para sa amin. 99 00:07:05,000 --> 00:07:12,000 Ngayon kung ma-access namin lamang http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 pagkatapos ay gagamitin namin makita ang isang walang laman na array dahil hindi pa namin na ibinigay ng isang query string. 101 00:07:17,000 --> 00:07:29,000 Kung gagawin namin magbigay ng isang string ng query sa pamamagitan ng http://localhost/get.php?foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 pagkatapos ay maaari naming makita na ang $ _GET variable ay naglalaman ng 103 00:07:34,000 --> 00:07:37,000 key halaga ng mga pareho ang string ng query. 104 00:07:37,000 --> 00:07:42,000 Ngunit paano kung hindi namin nais na ilagay ang aming data sa loob ng URL ng isang pahina? 105 00:07:42,000 --> 00:07:46,000 Para sa malalaking halaga ng data, ito ay maaaring magresulta sa ilang mga medyo pangit URL 106 00:07:46,000 --> 00:07:49,000 na pagpunta sa gumawa ng aming mga makintab hitsura website pilay. 107 00:07:49,000 --> 00:07:52,000 Sa halip namin maaaring ilagay sa query string sa katawan 108 00:07:52,000 --> 00:07:57,000 ng mga kahilingan ng HTTP sa halip na URL ang kahilingan ni. 109 00:07:57,000 --> 00:08:02,000 Pagkatapos ay maaari naming gamitin $ _POST variable na PHP ni 110 00:08:02,000 --> 00:08:05,000 upang ma-access ang key na mga pares ng halaga. 111 00:08:05,000 --> 00:08:10,000 Ang isang paraan upang gawin ito ay sa pamamagitan ng isang HTML form. 112 00:08:10,000 --> 00:08:13,000 Narito mayroon kaming isang simpleng form ng HTML. 113 00:08:13,000 --> 00:08:17,000 Pansinin dito na ang mga pamamaraan na katangian ng ang form na ito ay post. 114 00:08:17,000 --> 00:08:21,000 Sinasabihan nito ang browser upang ilagay ang key ng mga pares ng halaga sa form ng 115 00:08:21,000 --> 00:08:25,000 sa nilalaman ng mga kahilingan sa halip na sa URL. 116 00:08:25,000 --> 00:08:28,000 >> Kung kami ay upang gamitin ang halagang iyong nakukuha para sa katangiang ito 117 00:08:28,000 --> 00:08:32,000 pagkatapos key pares halaga ang form ng gusto pumunta sa query string sa halip, 118 00:08:32,000 --> 00:08:36,000 kaya maaari kaming access ang mga ito sa pamamagitan ng $ _GET muli. 119 00:08:36,000 --> 00:08:42,000 Ang aksyon na katangian ng ang form na nagsasabi ng browser kung saan upang ipadala ang data. 120 00:08:42,000 --> 00:08:46,000 Narito ang aming 2-input na mga elemento ay may mga katangian ng pangalan. 121 00:08:46,000 --> 00:08:51,000 Ang halaga ng mga katangian pangalan ay maglingkod bilang mga pindutan sa aming mga data, 122 00:08:51,000 --> 00:08:56,000 at ang mga halaga ng input ng teksto ay magiging halaga ng mga pindutang iyon. 123 00:08:56,000 --> 00:08:59,000 Ngayon ipaalam sa tumagal ng isang pagtingin sa post.php, 124 00:08:59,000 --> 00:09:03,000 ang file na ang form na ito ay pagsusumite sa. 125 00:09:03,000 --> 00:09:10,000 Tulad ng ginawa namin bago, i-namin ay nagpapalabas ang mga nilalaman ng $ _POST variable. 126 00:09:10,000 --> 00:09:18,000 >> Ni mag-navigate sa form na may http://localhost/form.php Hayaan. 127 00:09:18,000 --> 00:09:23,000 Ngayon kapag isinumite namin ang form na maaari naming makita na ang data mula sa form.php 128 00:09:23,000 --> 00:09:30,000 Lumipas na post.php walang appending isang string ng query sa URL. 129 00:09:30,000 --> 00:09:35,000 Ngayon nakakita kami ng 2 iba't-ibang paraan ng pagpasa ng data sa pagitan ng mga pahina ng PHP, 130 00:09:35,000 --> 00:09:37,000 makakuha ng at i-post. 131 00:09:37,000 --> 00:09:41,000 Sa aming halimbawa, ginamit namin 2 iba't ibang mga uri ng mga kahilingan ng HTTP. 132 00:09:41,000 --> 00:09:45,000 Tulad ng maaaring mong asahan, isang kahilingan get ay ginagamit kapag kami populated 133 00:09:45,000 --> 00:09:51,000 $ _GET Mula sa URL, at isang kahilingan sa post na ito ay ginamit 134 00:09:51,000 --> 00:09:55,000 kapag populated na kami ng $ _POST. 135 00:09:55,000 --> 00:09:59,000 Sa pagdidisenyo ng iyong web apps ito, isang magandang pamantayan upang gamitin ang mga kahilingan get 136 00:09:59,000 --> 00:10:03,000 kapag ang iyong app ay read-only na data, at mga kahilingan sa post na ito 137 00:10:03,000 --> 00:10:05,000 kapag ang iyong app ay isulat ang data. 138 00:10:05,000 --> 00:10:09,000 Halimbawa, ang isang query sa paghahanap ay basahin ang data mula sa iyong app, 139 00:10:09,000 --> 00:10:12,000 kaya saysay ang isang kahilingan get. 140 00:10:12,000 --> 00:10:17,000 Sa kabilang banda, ang iyong app ay isulat ang data sa pamamagitan ng isang bagay tulad ng isang registration form, 141 00:10:17,000 --> 00:10:22,000 kaya isang kahilingan sa post na gagawing higit pakiramdam, at iyon ang isang pangkalahatang-ideya ng ilan sa mga diskarte 142 00:10:22,000 --> 00:10:26,000 Makikita ginagamit namin sa CS50 upang lumikha ng mga website gamit ang PHP. 143 00:10:26,000 --> 00:10:30,000 >> Ang pangalan ko ay Tommy, at ito ay CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]