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 [Dan huwa CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> F'dan il-video, aħna ser jitgħallmu dwar l-użu PHP għall-iżvilupp web. 5 00:00:11,000 --> 00:00:14,000 PHP hija lingwa scripting li jistgħu jintużaw biex jiġu implimentati 6 00:00:14,000 --> 00:00:17,000 websajts fuq web server. 7 00:00:17,000 --> 00:00:21,000 A web server huwa essenzjalment magna ddedikata biex tipprovdi kontenut 8 00:00:21,000 --> 00:00:24,000 li jistgħu jiġu aċċessati permezz tal-internet. 9 00:00:24,000 --> 00:00:30,000 Meta inti jinnaviga għal paġna web bħal Facebook.com / home.php 10 00:00:30,000 --> 00:00:35,000 il-kodiċi fil-fajl imsejjaħ home.php li jgħix fuq web server Facebook x'imkien 11 00:00:35,000 --> 00:00:38,000 għandhom jitwettqu fuq dak server. 12 00:00:38,000 --> 00:00:41,000 Dan il-kodiċi x'aktarx se jiġġeneraw xi output 13 00:00:41,000 --> 00:00:43,000 li mbagħad jintbagħtu mis-server 14 00:00:43,000 --> 00:00:45,000 għall-web browser tiegħek. 15 00:00:45,000 --> 00:00:49,000 Aħna ser tkun qed tuża l-appliance CS50 bħala web server. 16 00:00:49,000 --> 00:00:51,000 Magna tiegħek probabbilment mhux se jkun kważi bħala qawwi l-magni 17 00:00:51,000 --> 00:00:57,000 fil-Facebook data center, iżda inti ser ikollok ebda problema jużawh għall-iżvilupp web. 18 00:00:57,000 --> 00:01:05,000 >> Meta aħna jinnavigaw URL bħal http://localhost/hello.php 19 00:01:05,000 --> 00:01:10,000 aħna kkonfigurat l-apparat permezz ta 'applikazzjoni imsejjaħ il-server Apache HTTP 20 00:01:10,000 --> 00:01:19,000 biex tfittex fajl imsejjaħ hello.php ġewwa tad-dar / jharvard / vhosts / localhosts / html b'kontumaċja. 21 00:01:19,000 --> 00:01:23,000 Jekk jeżisti dan il-fajl mbagħad Apache ser tuża l-interpretu PHP 22 00:01:23,000 --> 00:01:27,000 biex tesegwixxi l-kodiċi PHP fil hello.php. 23 00:01:27,000 --> 00:01:31,000 Jekk dan il-fajl ma teżistix allura Apache se tarmi żball ma sabet 24 00:01:31,000 --> 00:01:36,000 jew 404 żball, li inti ħadthom probabbilment jidhru filwaqt browsing il-Web. 25 00:01:36,000 --> 00:01:40,000 >> Ejja tagħti ħarsa lejn hello.php. 26 00:01:40,000 --> 00:01:45,000 Nistgħu naraw hawnhekk li hello.php jiġġenera linja tas-sinjal tal-output. 27 00:01:45,000 --> 00:01:51,000 Meta aħna dam hello.php fil-linja tal-kmand permezz hello.php PHP 28 00:01:51,000 --> 00:01:54,000 li l-produzzjoni kienet stampata l-terminal. 29 00:01:54,000 --> 00:01:58,000 Issa, meta aħna jkollhom aċċess dan il-fajl permezz ta 'URL fil-web browser 30 00:01:58,000 --> 00:02:01,000 output tiegħu jintbagħat lill-web browser, 31 00:02:01,000 --> 00:02:09,000 hekk intestatura għall-URL, http://localhost/hello.php, 32 00:02:09,000 --> 00:02:12,000 nistgħu naraw l-output fil-web browser tagħna. 33 00:02:12,000 --> 00:02:17,000 >> Ejja tipprova żżid printf ieħor għall-programm tagħna dinja bonjour. 34 00:02:17,000 --> 00:02:23,000 Okay, ejja ras lura lill-web browser u ara dak li għandna. 35 00:02:23,000 --> 00:02:25,000 Interessanti. 36 00:02:25,000 --> 00:02:28,000 Pjuttost milli istampar linja oħra fuq il-linja tagħha stess, kif inti raw 37 00:02:28,000 --> 00:02:32,000 fil-terminal, jidher qisu ltqajna smushed fuq l-istess linja 38 00:02:32,000 --> 00:02:36,000 bħala l-printf oħra, linji hekk forsi ġodda ma jaħdmux fil-PHP. 39 00:02:36,000 --> 00:02:38,000 Mhux pjuttost. 40 00:02:38,000 --> 00:02:41,000 Ftakar li HTML tipikament jintuża biex toħloq paġni tal-web 41 00:02:41,000 --> 00:02:44,000 li tista 'tintwera mill web browsers. 42 00:02:44,000 --> 00:02:49,000 Mhux biss huwa l-sekwenza bonjour minn PHP HTML mhix valida, 43 00:02:49,000 --> 00:02:53,000 iżda tfakkar li aħna ma tistax tuża l-karattru \ n HTML 44 00:02:53,000 --> 00:02:55,000 biex jinħoloq break linja. 45 00:02:55,000 --> 00:03:01,000 Minflok sempliċiment outputting output valida HTML a let string ta. 46 00:03:01,000 --> 00:03:04,000 Bl-użu paragrafu tags kull waħda ta 'sejħiet printf tagħna 47 00:03:04,000 --> 00:03:07,000 se jintwerew fuq il-linja tagħha stess, 48 00:03:07,000 --> 00:03:11,000 hekk issa meta aħna żur il tipponta URL li valid.php 49 00:03:11,000 --> 00:03:17,000 http://localhost/valid.php 50 00:03:17,000 --> 00:03:19,000 naraw l-output li aħna qed tfittex. 51 00:03:19,000 --> 00:03:22,000 >> Issa, jekk aħna ħsieb is-sors ta 'din il-paġna 52 00:03:22,000 --> 00:03:25,000 nistgħu naraw li aħna issa qed tħares lejn HTML validu, 53 00:03:25,000 --> 00:03:28,000 li ħloqna mill PHP. 54 00:03:28,000 --> 00:03:31,000 Tqegħid kollha ta HTML tagħna ġewwa sejħiet printf 55 00:03:31,000 --> 00:03:34,000 huwa naturalment se jiksbu verament annoying. 56 00:03:34,000 --> 00:03:38,000 Fortunatament nistgħu faċilment jitħalltu HTML u PHP 57 00:03:38,000 --> 00:03:41,000 fl-istess fajl PHP.. 58 00:03:41,000 --> 00:03:47,000 Ftakar, kollha tal-kodiċi PHP tagħna għandu jkun magħluq ġewwa 00:03:49,000 u?>. 60 00:03:49,000 --> 00:03:52,000 Dak kollu li mhuwiex magħluq ġo dawn delimiters 61 00:03:52,000 --> 00:03:55,000 sempliċiment se jintbagħtu bħala output lill-browser 62 00:03:55,000 --> 00:03:57,000 aktar milli jkunu esegwiti. 63 00:03:57,000 --> 00:04:01,000 Dan ifisser li nistgħu nagħmlu xi ħaġa bħal din. 64 00:04:01,000 --> 00:04:05,000 Nistgħu sempliċement jiktbu HTML ġewwa ta '. Fajl PHP tagħna 65 00:04:05,000 --> 00:04:11,000 u mbagħad daħħal blokki PHP fejn aħna tixtieq xi kodiċi PHP jiġu eżegwiti. 66 00:04:11,000 --> 00:04:15,000 Hawnhekk aħna jiddefinixxu ftit varjabbli fil-quċċata tal-fajl, 67 00:04:15,000 --> 00:04:19,000 u wara aħna tipprintjahom ġewwa tal HTML tagħna. 68 00:04:19,000 --> 00:04:27,000 Issa jekk aħna żjara dan il-URL, http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 nistgħu naraw PHP evalwati tagħna ġewwa tal HTML tagħna. 70 00:04:33,000 --> 00:04:36,000 >> Issa ejja tagħti ħarsa lejn kif nistgħu jgħaddu data 71 00:04:36,000 --> 00:04:39,000 fost paġni tagħna PHP varji. 72 00:04:39,000 --> 00:04:51,000 Pjuttost milli qal 73 00:04:51,000 --> 00:04:58,000 nistgħu sempliċement jgħidu 00:05:01,000 u?>. 75 00:05:01,000 --> 00:05:03,000 Ejja issa tagħti ħarsa lejn kif nistgħu jgħaddu data 76 00:05:03,000 --> 00:05:06,000 fost paġni tagħna PHP varji. 77 00:05:06,000 --> 00:05:11,000 Mod wieħed nistgħu nagħmlu dan huwa li encode informazzjoni fil-URL ta 'paġna. 78 00:05:11,000 --> 00:05:14,000 Meta browsing il-Web, inti jista 'jkollok ndunat li xi URLs 79 00:05:14,000 --> 00:05:20,000 fihom? segwit minn sensiela fih ampersands u sinjali ugwali. 80 00:05:20,000 --> 00:05:23,000 Din il-parti tal-URL huwa magħruf bħala l-sekwenza mistoqsija, 81 00:05:23,000 --> 00:05:29,000 u dan jippermetti li inti tgħaddi b'mod effettiv argumenti sabiex iskrittura PHP tiegħek. 82 00:05:29,000 --> 00:05:34,000 L-sekwenza mistoqsija tikkonsisti pari ewlenin ta 'valur, bħad tabella hash. 83 00:05:34,000 --> 00:05:38,000 Sinjal ugwali jifred ewlieni u l-valur korrispondenti 84 00:05:38,000 --> 00:05:41,000 filwaqt ampersands pari separati. 85 00:05:41,000 --> 00:06:05,000 A URL li qisu http://localhost/get.php?foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 għandu 2 pari valur ewlenin fil-sekwenza mistoqsija. 87 00:06:09,000 --> 00:06:12,000 Il foo ċavetta mapep għall-bar-valur, 88 00:06:12,000 --> 00:06:16,000 u l baz muftieħ mapep għall-QUX valur. 89 00:06:16,000 --> 00:06:23,000 Nistgħu faċilment aċċess dawn il-pari b'valur ewlenin li jużaw varjabbli speċjali PHP, 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET Huwa firxa assoċjattiva 92 00:06:32,000 --> 00:06:36,000 li huwa awtomatikament popolati data string query. 93 00:06:36,000 --> 00:06:46,000 Dan ifisser li minħabba dan il-URL $ _GET ["foo"] 94 00:06:46,000 --> 00:06:49,000 se jkun ugwali għall-bar string. 95 00:06:49,000 --> 00:06:56,000 >> Ejja tagħti ħarsa lejn get.php biex tara $ _GET fl-azzjoni. 96 00:06:56,000 --> 00:07:00,000 Hawnhekk aħna qed tuża funzjoni msejħa var_dump, 97 00:07:00,000 --> 00:07:03,000 li meta tingħata l-firxa jew varjabbli oħra 98 00:07:03,000 --> 00:07:05,000 se print it out għalina. 99 00:07:05,000 --> 00:07:12,000 Issa jekk aħna sempliċiment aċċess http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 allura aħna ser tara l-firxa vojta għaliex aħna ma pprovdewx string query. 101 00:07:17,000 --> 00:07:29,000 Jekk aħna ma jipprovdu string query via http://localhost/get.php?foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 allura nistgħu naraw li l-varjabbli $ _GET se jkun fih 103 00:07:34,000 --> 00:07:37,000 pari valur ewlenin tal-string query'S. 104 00:07:37,000 --> 00:07:42,000 Imma dak jekk aħna ma jridux jitqiegħdu data tagħna ġewwa l-URL tal-paġna? 105 00:07:42,000 --> 00:07:46,000 Għal ammonti kbar ta 'data, dan jista' jirriżulta f'xi URLs pretty ikrah 106 00:07:46,000 --> 00:07:49,000 li ser jagħmlu tleqq ħarsa website lame tagħna. 107 00:07:49,000 --> 00:07:52,000 Nistgħu minflok tpoġġi l-string query fil-ġisem 108 00:07:52,000 --> 00:07:57,000 tat-talbiet HTTP minflok URL it-talba tal. 109 00:07:57,000 --> 00:08:02,000 Imbagħad nistgħu nużaw $ _POST varjabbli PHP 110 00:08:02,000 --> 00:08:05,000 għall-aċċess għall-pari b'valur ewlenin. 111 00:08:05,000 --> 00:08:10,000 Mod wieħed biex dan isir huwa permezz ta 'formola HTML. 112 00:08:10,000 --> 00:08:13,000 Hawnhekk għandna formola HTML sempliċi. 113 00:08:13,000 --> 00:08:17,000 Avviż hawnhekk li l-metodu attribut ta 'din il-formola hija post. 114 00:08:17,000 --> 00:08:21,000 Dan jirrakkonta l-browser li tqiegħed pari valur ewlenin fil-formola 115 00:08:21,000 --> 00:08:25,000 fil-korp tat-talba minflok l-URL. 116 00:08:25,000 --> 00:08:28,000 >> Jekk konna li jużaw il-valur tikseb għal dan l-attribut 117 00:08:28,000 --> 00:08:32,000 imbagħad pari valur ewlenin fil-formola kieku minflok tmur fis-sekwenza mistoqsija, 118 00:08:32,000 --> 00:08:36,000 hekk nistgħu jkollhom aċċess għalihom permezz $ _GET ġdid. 119 00:08:36,000 --> 00:08:42,000 L-attribut azzjoni tal-formola jirrakkonta l-browser fejn jibgħat l-informazzjoni. 120 00:08:42,000 --> 00:08:46,000 Hawnhekk elementi input 2 tagħna jkollhom attributi isem. 121 00:08:46,000 --> 00:08:51,000 Il-valur ta 'l-attributi isem se jservu bħala ċwievet f'dejta tagħna, 122 00:08:51,000 --> 00:08:56,000 u l-valuri ta 'l-inputs test se jsiru valuri ta' dawk il-keys. 123 00:08:56,000 --> 00:08:59,000 Issa ejja tagħti ħarsa lejn post.php, 124 00:08:59,000 --> 00:09:03,000 il-file li din il-formola sottomissjoni lill. 125 00:09:03,000 --> 00:09:10,000 Eżatt bħal għamilna qabel, aħna qed sempliċement juri l-kontenut tal-varjabbli $ _POST. 126 00:09:10,000 --> 00:09:18,000 >> Ejja jinnaviga-formola bl http://localhost/form.php. 127 00:09:18,000 --> 00:09:23,000 Issa meta aħna jippreżentaw il-formola nistgħu naraw li d-data mill form.php 128 00:09:23,000 --> 00:09:30,000 jiġi mgħoddi lis post.php mingħajr jpoġġu string query għall-URL. 129 00:09:30,000 --> 00:09:35,000 Issa Rajna 2 modi differenti li jgħaddu data bejn paġni PHP, 130 00:09:35,000 --> 00:09:37,000 jiksbu u post. 131 00:09:37,000 --> 00:09:41,000 Fl-eżempji tagħna, użajna 2 tipi differenti ta 'talbiet HTTP. 132 00:09:41,000 --> 00:09:45,000 Kif inti tista 'tistenna, talba get kien użat meta aħna popolati 133 00:09:45,000 --> 00:09:51,000 $ _GET Mill-URL, u talba post intuża 134 00:09:51,000 --> 00:09:55,000 meta aħna popolati $ _POST. 135 00:09:55,000 --> 00:09:59,000 Fit-tfassil apps web tiegħek huwa istat tajjeb ta 'thumb għall-użu talbiet nikseb- 136 00:09:59,000 --> 00:10:03,000 meta app tiegħek ser jinqara biss data, u t-talbiet post 137 00:10:03,000 --> 00:10:05,000 meta app tiegħek se jikteb data. 138 00:10:05,000 --> 00:10:09,000 Per eżempju, tfittxija query se jaqra data mill app tiegħek, 139 00:10:09,000 --> 00:10:12,000 hekk talba get jagħmel sens. 140 00:10:12,000 --> 00:10:17,000 Min-naħa l-oħra, app tiegħek se jikteb data via xi ħaġa bħal formola ta 'reġistrazzjoni, 141 00:10:17,000 --> 00:10:22,000 hekk talba post jagħmel aktar sens, u li l-ħarsa ġenerali ta 'wħud mill-tekniki 142 00:10:22,000 --> 00:10:26,000 aħna ser tkun qed tuża fil CS50 biex joħolqu websajts jużaw PHP. 143 00:10:26,000 --> 00:10:30,000 >> Jisimni Tommy, u dan huwa CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]