1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [PHP Mjete Zhvillimi] 2 00:00:03,000 --> 00:00:05,000 [Tommy MacWilliam] 3 00:00:05,000 --> 00:00:07,000 [Kjo është CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> Në këtë video, ne do të mësojnë në lidhje me duke përdorur PHP për zhvillimin e web. 5 00:00:11,000 --> 00:00:14,000 PHP është një gjuhë e shkruar që mund të përdoret për të zbatuar 6 00:00:14,000 --> 00:00:17,000 faqet e internetit në një server web. 7 00:00:17,000 --> 00:00:21,000 Një web server është në thelb një makinë të përkushtuar për të ofruar përmbajtje 8 00:00:21,000 --> 00:00:24,000 që mund të arrihen nëpërmjet internetit. 9 00:00:24,000 --> 00:00:30,000 Kur ju të lundruar në një faqe interneti si Facebook.com / home.php 10 00:00:30,000 --> 00:00:35,000 kodi në skedar të quajtur home.php e cila jeton në një web server Facebook diku 11 00:00:35,000 --> 00:00:38,000 do të ekzekutohet në atë server. 12 00:00:38,000 --> 00:00:41,000 Ky kod do të ngjarë të gjeneruar një dalje 13 00:00:41,000 --> 00:00:43,000 cila do ana të dërguar nga serveri 14 00:00:43,000 --> 00:00:45,000 në shfletuesin tuaj web. 15 00:00:45,000 --> 00:00:49,000 Ne do të jetë duke përdorur pajisjen CS50 si një web server. 16 00:00:49,000 --> 00:00:51,000 Makinë juaj ndoshta nuk do të jetë gati aq i fuqishëm sa makinat 17 00:00:51,000 --> 00:00:57,000 në një qendër të dhënave Facebook, por ju do të keni asnjë problem duke e përdorur atë për zhvillimin e web. 18 00:00:57,000 --> 00:01:05,000 >> Kur ne të lundruar në një URL si http://localhost/hello.php 19 00:01:05,000 --> 00:01:10,000 ne konfiguroni pajisjen me anë të një kërkese të quajtur Apache HTTP server 20 00:01:10,000 --> 00:01:19,000 për të kërkuar një file të quajtur hello.php brenda home / jharvard / vhosts / localhosts / html by default. 21 00:01:19,000 --> 00:01:23,000 Në qoftë se dosja ekziston atëherë Apache do të përdorni PHP përkthyes 22 00:01:23,000 --> 00:01:27,000 për të ekzekutuar kodin PHP në hello.php. 23 00:01:27,000 --> 00:01:31,000 Në qoftë se nuk ekziston atëherë Apache do të hedhin një gabim nuk u gjet 24 00:01:31,000 --> 00:01:36,000 apo një gabim 404, të cilat ju ndoshta keni parë duke shfletuar Web. 25 00:01:36,000 --> 00:01:40,000 >> Le të bëjmë një vështrim në hello.php. 26 00:01:40,000 --> 00:01:45,000 Ne mund të shohim këtu se hello.php gjeneron një linjë sinjal të prodhimit. 27 00:01:45,000 --> 00:01:51,000 Kur ne u hello.php në rreshtin e komandave me anë php hello.php 28 00:01:51,000 --> 00:01:54,000 se prodhimi është shtypur në terminalin. 29 00:01:54,000 --> 00:01:58,000 Tani, kur kemi hyrë në këtë skedë me anë të një URL në shfletuesin web 30 00:01:58,000 --> 00:02:01,000 prodhimin e saj do të dërgohet në shfletuesin web, 31 00:02:01,000 --> 00:02:09,000 kështu që shkon tek URL, http://localhost/hello.php, 32 00:02:09,000 --> 00:02:12,000 ne mund të shihni prodhimit në shfletuesin tonë të internetit. 33 00:02:12,000 --> 00:02:17,000 >> Le të provoni duke shtuar një tjetër printf në programin tonë botëror hello. 34 00:02:17,000 --> 00:02:23,000 Mirë, le të kthehen në shfletuesin web dhe të shohim atë që kemi. 35 00:02:23,000 --> 00:02:25,000 Interesante. 36 00:02:25,000 --> 00:02:28,000 Në vend se shtypjen një tjetër linjë në linjën e vet, si ju do të keni parë 37 00:02:28,000 --> 00:02:32,000 në terminal, kjo duket si ajo u smushed mbi të njëjtën linjë 38 00:02:32,000 --> 00:02:36,000 si printf tjetër, linja të reja kështu që ndoshta nuk punojnë në PHP. 39 00:02:36,000 --> 00:02:38,000 Jo fare. 40 00:02:38,000 --> 00:02:41,000 Mos harroni se HTML është përdorur zakonisht për të krijuar faqe web 41 00:02:41,000 --> 00:02:44,000 që mund të shfaqet nga shfletuesit web. 42 00:02:44,000 --> 00:02:49,000 Jo vetëm që është string përshëndetje nga php HTML jo të vlefshme, 43 00:02:49,000 --> 00:02:53,000 por të kujtojnë se ne nuk mund të përdorin karakterin \ n në HTML 44 00:02:53,000 --> 00:02:55,000 për të krijuar një pushim linjë. 45 00:02:55,000 --> 00:03:01,000 Në vend të thjesht kompjuteri output HTML të vlefshme të një le String-së. 46 00:03:01,000 --> 00:03:04,000 Duke përdorur paragrafi tags secili prej thirrjeve tona printf 47 00:03:04,000 --> 00:03:07,000 do të shfaqet në linjën e vet, 48 00:03:07,000 --> 00:03:11,000 kështu që tani kur vizitojnë duke treguar URL për valid.php 49 00:03:11,000 --> 00:03:17,000 http://localhost/valid.php 50 00:03:17,000 --> 00:03:19,000 ne shohim prodhimin që ne po kërkoni. 51 00:03:19,000 --> 00:03:22,000 >> Tani, në qoftë se ne e shohin burimin e kësaj faqeje 52 00:03:22,000 --> 00:03:25,000 ne mund të shohim se ne jemi tani në kërkim në HTML të vlefshme, 53 00:03:25,000 --> 00:03:28,000 të cilat ne krijuar nga PHP. 54 00:03:28,000 --> 00:03:31,000 Duke vënë të gjitha HTML tonë brenda thirrjeve printf 55 00:03:31,000 --> 00:03:34,000 po sigurisht do të merrni të vërtetë i bezdisshëm. 56 00:03:34,000 --> 00:03:38,000 Për fat të mirë ne lehtë mund të përzierje HTML dhe PHP 57 00:03:38,000 --> 00:03:41,000 në të njëjtën. dosjen php. 58 00:03:41,000 --> 00:03:47,000 Mos harroni, të gjitha të kodit tonë PHP duhet të jetë i mbyllur brenda 00:03:49,000 dhe?>. 60 00:03:49,000 --> 00:03:52,000 Çdo gjë që nuk është mbyllur brenda këtyre përndarësit 61 00:03:52,000 --> 00:03:55,000 thjesht do të dërgohen si prodhim në shfletuesin 62 00:03:55,000 --> 00:03:57,000 në vend se duke u ekzekutuar. 63 00:03:57,000 --> 00:04:01,000 Kjo do të thotë që ne mund të bëjmë diçka si kjo. 64 00:04:01,000 --> 00:04:05,000 Ne thjesht mund të shkruani HTML brenda. Dosjen tonë php 65 00:04:05,000 --> 00:04:11,000 dhe pastaj futur blloqe PHP kudo që ne do të donim disa kodin php për të ekzekutohet. 66 00:04:11,000 --> 00:04:15,000 Këtu ne define një ndryshore pak në krye të dosjes, 67 00:04:15,000 --> 00:04:19,000 dhe më pas ne të shtypura e tyre brenda HTML tonë. 68 00:04:19,000 --> 00:04:27,000 Tani në qoftë se ne të vizituar këtë URL, http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 ne mund të shohim PHP tonë vlerësuar brenda HTML tonë. 70 00:04:33,000 --> 00:04:36,000 >> Tani le të marrin një sy se si ne mund të kalojë të dhënat e 71 00:04:36,000 --> 00:04:39,000 në mesin e faqeve tona të ndryshme PHP. 72 00:04:39,000 --> 00:04:51,000 Në vend që të thoshte 73 00:04:51,000 --> 00:04:58,000 ne thjesht mund të themi 00:05:01,000 dhe?>. 75 00:05:01,000 --> 00:05:03,000 Le të marrë tani një sy se si ne mund të kalojë të dhënat e 76 00:05:03,000 --> 00:05:06,000 në mesin e faqeve tona të ndryshme PHP. 77 00:05:06,000 --> 00:05:11,000 Një mënyrë për të bërë këtë është të shifroj informacione në URL e një faqe. 78 00:05:11,000 --> 00:05:14,000 Kur shfletimit në Web, ju mund të keni vënë re se disa URLs 79 00:05:14,000 --> 00:05:20,000 përmbajnë një? pasuar nga një varg që përmban ampersands dhe shenja të barabarta. 80 00:05:20,000 --> 00:05:23,000 Kjo pjesë e URL është i njohur si varg pyetje, 81 00:05:23,000 --> 00:05:29,000 dhe kjo ju lejon të kalojë në mënyrë efektive argumentet për PHP shkrimin tuaj. 82 00:05:29,000 --> 00:05:34,000 String query përbëhet nga çifte kryesore me vlerë, vetëm si një tavolinë hash. 83 00:05:34,000 --> 00:05:38,000 Një shenjë e barabartë ndan një kyç dhe vlera e saj përkatëse 84 00:05:38,000 --> 00:05:41,000 ndërsa ampersands ndarë palë. 85 00:05:41,000 --> 00:06:05,000 Një URL që duket si http://localhost/get.php?foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 ka 2 palë vlerë kyç në varg pyetje. 87 00:06:09,000 --> 00:06:12,000 Foo kyç harta në bar vlerës, 88 00:06:12,000 --> 00:06:16,000 dhe baz çelësi harta në qux vlerës. 89 00:06:16,000 --> 00:06:23,000 Ne lehtë mund të hyni në këto palë kyçe vlerë duke përdorur një variabël të veçantë në PHP, 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET Është një koleksion associative 92 00:06:32,000 --> 00:06:36,000 që është e populluar automatikisht me të dhënat string query. 93 00:06:36,000 --> 00:06:46,000 Kjo do të thotë se duke pasur parasysh këtë URL $ _GET ["foo"] 94 00:06:46,000 --> 00:06:49,000 do të jetë e barabartë me bar string. 95 00:06:49,000 --> 00:06:56,000 >> Le të bëjmë një vështrim në get.php për të parë $ _GET në veprim. 96 00:06:56,000 --> 00:07:00,000 Këtu ne jemi duke përdorur një funksion të quajtur var_dump, 97 00:07:00,000 --> 00:07:03,000 i cili kur jepet një rrjet ose variabël tjetër 98 00:07:03,000 --> 00:07:05,000 do të shtypura it out për ne. 99 00:07:05,000 --> 00:07:12,000 Tani në qoftë se ne thjesht hyni në http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 atëherë ne do të shohim një rrjet bosh, sepse ne nuk kemi ofruar një varg pyetje. 101 00:07:17,000 --> 00:07:29,000 Nëse ne bëjmë të sigurojë një varg pyetje nëpërmjet http://localhost/get.php?foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 atëherë ne mund të shohim se $ _GET ndryshueshme do të përmbajë 103 00:07:34,000 --> 00:07:37,000 palë kyçe vlerë vargun pyetje-së. 104 00:07:37,000 --> 00:07:42,000 Por ajo që në qoftë se ne nuk duam të vënë të dhënat tona brenda URL e një faqe? 105 00:07:42,000 --> 00:07:46,000 Për shuma të mëdha të të dhënave, kjo mund të rezultojë në disa URLs mjaft të shëmtuar 106 00:07:46,000 --> 00:07:49,000 që do të bëjë me shkëlqim tonë duken website çalë. 107 00:07:49,000 --> 00:07:52,000 Ne vend të kësaj mund të vënë string query në trup 108 00:07:52,000 --> 00:07:57,000 e kërkesave HTTP në vend të së kërkesës URL. 109 00:07:57,000 --> 00:08:02,000 Atëherë ne mund të përdorni $ _POST ndryshore php-së 110 00:08:02,000 --> 00:08:05,000 për të hyrë palë kyçe vlerë. 111 00:08:05,000 --> 00:08:10,000 Një mënyrë për të bërë këtë është përmes një formë të HTML. 112 00:08:10,000 --> 00:08:13,000 Këtu kemi një formular të thjeshtë HTML. 113 00:08:13,000 --> 00:08:17,000 Vini re këtu se metoda atribut i kësaj forme është pas. 114 00:08:17,000 --> 00:08:21,000 Kjo tregon shfletuesit për të vënë palë kyçe vlerë formularin e 115 00:08:21,000 --> 00:08:25,000 në trupin e kërkesës sesa URL. 116 00:08:25,000 --> 00:08:28,000 >> Nëse ne do të përdorin vlera të merrni për këtë atribut 117 00:08:28,000 --> 00:08:32,000 pastaj palë kyçe vlerë formularin në vend do të shkojë në varg pyetje, 118 00:08:32,000 --> 00:08:36,000 kështu që ne mund të përdorni ato me anë të $ _GET përsëri. 119 00:08:36,000 --> 00:08:42,000 Atributi i veprimit i formularit tregon shfletuesit ku për të dërguar të dhënat. 120 00:08:42,000 --> 00:08:46,000 Këtu elemente 2 tonë input kanë atributet për emrin. 121 00:08:46,000 --> 00:08:51,000 Vlera e atributet për emrin do të shërbejnë si çelësat në të dhënat tona, 122 00:08:51,000 --> 00:08:56,000 dhe vlerat e inputeve tekst do të bëhet vlerat e atyre çelësat. 123 00:08:56,000 --> 00:08:59,000 Tani le të marrin një vështrim në post.php, 124 00:08:59,000 --> 00:09:03,000 fotografi që kjo formë është e nënshtruar. 125 00:09:03,000 --> 00:09:10,000 Ashtu siç bënim më parë, ne jemi thjesht duke shfaqur përmbajtjen e $ _POST variabël. 126 00:09:10,000 --> 00:09:18,000 >> Le të lundruar në formën me http://localhost/form.php. 127 00:09:18,000 --> 00:09:23,000 Tani kur ne të paraqesë një formë ne mund të shohim se të dhënat nga form.php 128 00:09:23,000 --> 00:09:30,000 është kaluar për post.php pa bashkëngjitur një varg pyetje në URL. 129 00:09:30,000 --> 00:09:35,000 Tani ne kemi parë 2 mënyrat e ndryshme të kaluar të dhënave në mes të faqeve PHP, 130 00:09:35,000 --> 00:09:37,000 merrni dhe pas. 131 00:09:37,000 --> 00:09:41,000 Në shembujt tanë, ne kemi përdorur 2 lloje të ndryshme të kërkesave HTTP. 132 00:09:41,000 --> 00:09:45,000 Si mund të presin, një kërkesë get është përdorur kur ne populluar 133 00:09:45,000 --> 00:09:51,000 $ _GET Nga URL, dhe një kërkesë pas është përdorur 134 00:09:51,000 --> 00:09:55,000 kur ne populluar $ _POST. 135 00:09:55,000 --> 00:09:59,000 Në hartimin Apps web kjo është një rregull të mirë të gishtit për të përdorur kërkesave të marrë 136 00:09:59,000 --> 00:10:03,000 kur app juaj do të lexoni të dhënat dhe kërkesat postare 137 00:10:03,000 --> 00:10:05,000 kur app juaj do të shkruar të dhëna. 138 00:10:05,000 --> 00:10:09,000 Për shembull, një pyetje kërkimi do të lexoni të dhënat nga app tuaj, 139 00:10:09,000 --> 00:10:12,000 kështu që një kërkesë get ka kuptim. 140 00:10:12,000 --> 00:10:17,000 Në anën tjetër, app juaj do të shkruajë të dhënat me anë të diçka si një formë e regjistrimit, 141 00:10:17,000 --> 00:10:22,000 kështu që një kërkesë e pas do të bëjë më shumë kuptim, dhe kjo është një pasqyrë të disa nga teknikat e 142 00:10:22,000 --> 00:10:26,000 ne do të jetë duke përdorur në CS50 për të krijuar faqet e internetit duke përdorur PHP. 143 00:10:26,000 --> 00:10:30,000 >> Emri im është Tommy, dhe kjo është CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]