1 00:00:00,000 --> 00:00:05,720 2 00:00:05,720 --> 00:00:07,620 >> DOUG LLOYD: Jadi dalam kita video pada PHP sintaks, 3 00:00:07,620 --> 00:00:10,480 kita bercakap banyak tentang bagaimana PHP boleh digunakan pada baris arahan 4 00:00:10,480 --> 00:00:13,620 untuk menjalankan program dengan cara yang kami cukup biasa dengan dari C. 5 00:00:13,620 --> 00:00:15,370 Tetapi seperti yang saya juga menyebut kerana video, PHP 6 00:00:15,370 --> 00:00:19,572 pada mulanya dibangunkan untuk melaksanakan pengaturcaraan web, laman web. 7 00:00:19,572 --> 00:00:21,780 Dan sebagainya dalam video ini kami akan bercakap tentang bagaimana kita 8 00:00:21,780 --> 00:00:23,890 menggunakan PHP dalam konteks pembangunan web. 9 00:00:23,890 --> 00:00:26,360 >> Kita tahu, sudah, dari video kami pada HTML, 10 00:00:26,360 --> 00:00:29,820 bahawa laman web yang dibina daripada satu set tag HTML 11 00:00:29,820 --> 00:00:32,850 bahawa semantik menentukan struktur laman web. 12 00:00:32,850 --> 00:00:35,910 Tetapi laman web yang dibina dengan tulen HTML 13 00:00:35,910 --> 00:00:39,510 mengalami yang sangat, batasan yang sangat serius. 14 00:00:39,510 --> 00:00:42,690 >> Dan untuk menggambarkan had ini, mari kita mempertimbangkan berikut. 15 00:00:42,690 --> 00:00:45,665 Jadi sekarang saya mahu untuk membina laman web itu, apabila pengguna lawatan itu, 16 00:00:45,665 --> 00:00:49,760 ia memberikan saya semasa masa di Cambridge, Mass., 17 00:00:49,760 --> 00:00:52,620 memaparkan ia ke minit terkini. 18 00:00:52,620 --> 00:00:57,910 Jika saya telah membuat hak ini sekarang, Saya mungkin berkata sesuatu seperti ini. 19 00:00:57,910 --> 00:01:01,330 Masa semasa di Cambridge-- jadi saya perlu Tag, tag kepala, tag tajuk, 20 00:01:01,330 --> 00:01:04,610 badan tags-- semasa masa di Cambridge adalah 14:08, 21 00:01:04,610 --> 00:01:06,690 mencetak masa tentera. 22 00:01:06,690 --> 00:01:11,390 >> Apakah yang akan berlaku jika ia kini 02:09, 14:09? 23 00:01:11,390 --> 00:01:16,470 Baik setakat ini, dengan HTML, saya mempunyai untuk masuk dan menukar kepada 14:09. 24 00:01:16,470 --> 00:01:19,390 Dan kemudian satu minit kemudian, Saya perlu menukar sekali lagi. 25 00:01:19,390 --> 00:01:22,132 Dan kemudian satu minit kemudian, Saya perlu menukar sekali lagi. 26 00:01:22,132 --> 00:01:24,590 Dan seperti yang anda boleh bayangkan, itu mungkin kerja yang paling teruk pernah. 27 00:01:24,590 --> 00:01:29,420 Anda webmaster untuk laman web, dan setiap minit, 24 jam sehari, 28 00:01:29,420 --> 00:01:35,970 anda perlu mengemas kini masa semasa oleh secara manual membuka time.html dan menukar 29 00:01:35,970 --> 00:01:41,750 hanya itu coretan kod untuk mengatakan masa semasa dalam jam dan minit. 30 00:01:41,750 --> 00:01:45,850 Itu mungkin tidak yang sangat baik menggunakan sumber, 31 00:01:45,850 --> 00:01:48,880 kedua-dua manusia dan pengiraan. 32 00:01:48,880 --> 00:01:51,297 >> Laman web yang semua HTML benar-benar statik. 33 00:01:51,297 --> 00:01:53,630 Satu-satunya cara anda boleh mengemas kini kandungan, seperti yang kita telah lihat, 34 00:01:53,630 --> 00:01:56,339 adalah untuk membuka secara manual sumber mereka fail, mengedit, dan menyelamatkan mereka. 35 00:01:56,339 --> 00:01:58,088 Dan kemudian apabila pengguna menyegarkan halaman, 36 00:01:58,088 --> 00:02:01,080 atau melawat halaman tersebut untuk pertama masa, mereka akan mendapat kandungan terbaru. 37 00:02:01,080 --> 00:02:03,970 Tetapi hanya kerana kita ada manual menyuntingnya. 38 00:02:03,970 --> 00:02:07,980 >> Jika kita bermula untuk campuran beberapa PHP di sana, kod kami boleh mendapatkan banyak yang lebih fleksibel. 39 00:02:07,980 --> 00:02:11,940 Dan kita boleh mempunyai cara untuk halaman kami menjadi dinamik, atau mengemas kini diri mereka sendiri, 40 00:02:11,940 --> 00:02:15,360 tanpa memerlukan miskin kami webmaster dalam contoh sebelum ini 41 00:02:15,360 --> 00:02:16,662 menjadi manual mengemaskini sesuatu. 42 00:02:16,662 --> 00:02:17,870 Mereka boleh melakukannya secara automatik. 43 00:02:17,870 --> 00:02:19,130 Kami tidak perlu campur tangan. 44 00:02:19,130 --> 00:02:20,410 Kita boleh mendapatkan beberapa tidur. 45 00:02:20,410 --> 00:02:24,850 Yang mungkin satu perkara yang baik jika yang anda lakukan banyak pengaturcaraan web. 46 00:02:24,850 --> 00:02:28,360 >> Jadi dalam CS50 IDE, kami menjalankan pelayan web dipanggil Apache. 47 00:02:28,360 --> 00:02:35,250 Ia adalah sangat biasa digunakan, sumber terbuka sistem pelayan web. 48 00:02:35,250 --> 00:02:37,320 Sistem ini mempunyai keupayaan untuk mentafsir 49 00:02:37,320 --> 00:02:41,260 PHP, yang akan menjadi berguna jika anda mahu melakukan apa-apa pengaturcaraan PHP. 50 00:02:41,260 --> 00:02:45,230 >> Dan dalam CS50 IDE, kita mempunyai arahan yang untuk membuat ini sangat mudah untuk dilakukan, 51 00:02:45,230 --> 00:02:47,280 apache50 bermula. 52 00:02:47,280 --> 00:02:49,445 Dan kemudian palang yang jalan, slash ke, slash 53 00:02:49,445 --> 00:02:53,350 dir, itu hanya satu cara yang benar-benar biasa menunjukkan apa yang telah dinyatakan di sini 54 00:02:53,350 --> 00:02:56,510 adalah laluan kepada sesuatu direktori yang anda 55 00:02:56,510 --> 00:03:00,800 mahu menjadi akar lokasi, atau halaman akar, 56 00:03:00,800 --> 00:03:05,430 atau folder dari mana pelayan web anda akan mula memeriksa fail dan berkhidmat 57 00:03:05,430 --> 00:03:07,850 mereka kepada pelanggan yang meminta mereka. 58 00:03:07,850 --> 00:03:12,110 Jadi mari kita pop ke CS50 IDE, hanya untuk menunjukkan kepada anda, benar-benar cepat, bagaimana ini berfungsi. 59 00:03:12,110 --> 00:03:30,930 60 00:03:30,930 --> 00:03:36,240 >> Jadi di sini dalam CS50 IDE, saya dalam satu direktori dipanggil Minggu Zero Nine. 61 00:03:36,240 --> 00:03:38,890 Dan saya mempunyai two-- Saya mempunyai menyempurnakan suatu perintah LS hanya 62 00:03:38,890 --> 00:03:41,910 di atas menunjukkan bahawa saya mempunyai dua direktori di sini, PHP, 63 00:03:41,910 --> 00:03:46,410 yang merupakan set fail yang saya digunakan dalam video sintaks PHP, dan kemudian PHP-laman web 64 00:03:46,410 --> 00:03:49,380 yang merupakan set fail yang saya ingin menggunakan dalam video ini. 65 00:03:49,380 --> 00:03:53,480 >> Dan saya ingin memulakan contoh pelayan web 66 00:03:53,480 --> 00:03:59,089 dengan kandungan folder PHP-web kerana fail-fail tersebut disampaikan ke atas. 67 00:03:59,089 --> 00:04:00,130 Jadi apa yang saya akan lakukan? 68 00:04:00,130 --> 00:04:05,710 Saya akan menaip ruang apache50 mula, PHP ruang, dash web. 69 00:04:05,710 --> 00:04:08,100 Itulah laluan ke direktori dari mana saya kini am. 70 00:04:08,100 --> 00:04:09,127 Kemudian aku tekan Enter. 71 00:04:09,127 --> 00:04:10,960 Ia akan melakukan sedikit sedikit barangan di sini. 72 00:04:10,960 --> 00:04:14,030 Dan kemudian ia akan berkata, Apache bermula dengan jayanya. 73 00:04:14,030 --> 00:04:20,689 Laman web anda adalah kini boleh didapati at-- dan kemudian ada URL untuk laman web ini. 74 00:04:20,689 --> 00:04:21,730 Jadi apa yang saya akan lakukan? 75 00:04:21,730 --> 00:04:26,234 Saya akan cepat menyalin ini. 76 00:04:26,234 --> 00:04:28,900 Dan saya akan membuka up-- dan Saya akan zum keluar sedikit sini-- 77 00:04:28,900 --> 00:04:31,570 Saya akan membuka tab baru dalam Chrome. 78 00:04:31,570 --> 00:04:34,320 Dan saya akan melawat URL tersebut. 79 00:04:34,320 --> 00:04:35,299 >> Saya akan tekan Enter. 80 00:04:35,299 --> 00:04:36,090 Ia akan memuatkan. 81 00:04:36,090 --> 00:04:37,510 Dan saya akan zum keluar lagi. 82 00:04:37,510 --> 00:04:41,350 Dan kita boleh lihat di sini adalah yang kandungan direktori web PHP saya. 83 00:04:41,350 --> 00:04:45,290 >> Jadi sekarang apa yang pada asasnya berlaku di sini ialah, contoh saya CS50 IDE 84 00:04:45,290 --> 00:04:49,620 berkhidmat sehingga fail-fail ke sesiapa yang meminta mereka. 85 00:04:49,620 --> 00:04:51,620 Dan sepanjang video ini, kami akan menyusun daripada 86 00:04:51,620 --> 00:04:55,400 kita lihat pada sekumpulan ini fail yang berbeza dalam konteks. 87 00:04:55,400 --> 00:04:57,614 >> Untuk menguji bahawa Apache anda pelayan sedang bekerja, 88 00:04:57,614 --> 00:04:59,780 yang biasanya akan menjadi kes dalam CS50 IDE, 89 00:04:59,780 --> 00:05:02,696 tetapi jika anda melakukan ini lebih umum, dan anda mula membina web anda sendiri 90 00:05:02,696 --> 00:05:04,990 pelayan, ada benar-benar jenis biasa analog kepada, 91 00:05:04,990 --> 00:05:08,500 "Dunia hello," yang biasanya digunakan untuk pembangunan PHP web. 92 00:05:08,500 --> 00:05:12,855 Iaitu untuk mempunyai fail yang yang terdiri daripada hanya code-- ini 93 00:05:12,855 --> 00:05:18,247 sebuah pemisah PHP ditetapkan dengan PHP info, kurungan, koma bertitik di antara. 94 00:05:18,247 --> 00:05:20,580 Yang pada dasarnya yang istimewa PHP fungsi yang memberitahu anda 95 00:05:20,580 --> 00:05:23,970 apakah versi PHP anda jalankan. 96 00:05:23,970 --> 00:05:26,850 >> Jadi dalam CS50 IDE, saya mempunyai fail yang didapati hanya 97 00:05:26,850 --> 00:05:28,680 untuk menunjukkan kepada anda apa ini akan kelihatan seperti. 98 00:05:28,680 --> 00:05:32,860 Jadi, saya melihat indeks saya daripada contoh PHP saya. 99 00:05:32,860 --> 00:05:35,870 Contoh Apache saya berjalan kandungan PHP-Web. 100 00:05:35,870 --> 00:05:39,290 Dan saya mempunyai fail yang di sini dipanggil info.php. 101 00:05:39,290 --> 00:05:41,164 >> Saya akan klik, zum keluar. 102 00:05:41,164 --> 00:05:43,080 Ini adalah apa yang anda akan untuk melihat, cukup banyak. 103 00:05:43,080 --> 00:05:45,729 Ini hanya memberitahu saya bahawa server Apache saya bekerja. 104 00:05:45,729 --> 00:05:48,270 Dan ini adalah, nampaknya, versi PHP yang saya berjalan. 105 00:05:48,270 --> 00:05:51,590 Ini adalah analog saya untuk "hello dunia." 106 00:05:51,590 --> 00:05:53,070 >> Jadi saya tahu perkara-perkara yang operasi. 107 00:05:53,070 --> 00:05:54,150 Oleh itu, kita baik untuk pergi. 108 00:05:54,150 --> 00:05:55,730 Kita boleh meneruskan dari sini. 109 00:05:55,730 --> 00:05:57,790 >> Jadi mari kita melihat semula yang contoh masa kita 110 00:05:57,790 --> 00:06:01,950 bercakap mengenai dengan webmaster miskin kami yang terpaksa mengemas kini halaman sentiasa. 111 00:06:01,950 --> 00:06:05,020 Ini mungkin menjadi satu penyelesaian untuk bagaimana Saya akan melaksanakan perkara-perkara 112 00:06:05,020 --> 00:06:08,080 supaya webmaster tidak perlu terus mengemas kini masa. 113 00:06:08,080 --> 00:06:10,270 Ia akan hanya jenis berlaku secara automatik. 114 00:06:10,270 --> 00:06:13,710 >> Ke bawah di bawah, HTML, ia agak sama, dengan satu pengecualian. 115 00:06:13,710 --> 00:06:16,720 Tetapi di sini saya telah mendapat beberapa PHP di bahagian atas. 116 00:06:16,720 --> 00:06:19,940 Saya, nampaknya, dipanggil ini fungsi date_default_timezone_set. 117 00:06:19,940 --> 00:06:22,106 >> Dan kita tidak bercakap mengenai semua fungsi-fungsi ini dalam CS50, 118 00:06:22,106 --> 00:06:24,670 kerana PHP mempunyai mungkin puluhan ribu. 119 00:06:24,670 --> 00:06:27,540 Yang mungkin menjadi sedikit yang keterlaluan, tetapi ia tidak mungkin. 120 00:06:27,540 --> 00:06:29,490 Ia mempunyai banyak fungsi-fungsi terbina dalam. 121 00:06:29,490 --> 00:06:33,290 Dan sebagainya ini adalah fungsi yang pada zahirnya menetapkan zon masa saya sebagai US / Timur, 122 00:06:33,290 --> 00:06:36,320 yang merupakan zon masa di mana saya kini dalam membuat video ini. 123 00:06:36,320 --> 00:06:38,430 >> Kemudian saya membuat panggilan kepada fungsi dipanggil, setakat ini. 124 00:06:38,430 --> 00:06:43,850 Dan, nampaknya, saya menyimpan HIS sesuatu yang dinamakan, masa. 125 00:06:43,850 --> 00:06:45,320 Jadi apa yang berlaku di sini? 126 00:06:45,320 --> 00:06:48,040 >> Nah, pada dasarnya apa yang berlaku ialah, saya membuat panggilan 127 00:06:48,040 --> 00:06:51,650 kepada beberapa pelayan yang akan beritahu saya apa masa yang masa ini. 128 00:06:51,650 --> 00:06:56,150 Dan saya ditukarkan kepada format yang jam, minit, saat. 129 00:06:56,150 --> 00:07:00,540 Dan sebab itu modal H adalah ini yang akan memberi saya masa 24 jam, bukan 12 130 00:07:00,540 --> 00:07:02,362 masa jam, yang akan menjadi huruf kecil h. 131 00:07:02,362 --> 00:07:04,570 Dan saya hanya menyimpan yang dalam pembolehubah yang dipanggil, masa. 132 00:07:04,570 --> 00:07:07,028 Supaya baris kedua PHP sana, panggilan ke majlis itu, 133 00:07:07,028 --> 00:07:09,037 Setakat ini, hanya mendapat beberapa rentetan, iaitu 134 00:07:09,037 --> 00:07:12,120 akan memberikan saya tarikh, dan masa, dan mempunyai banyak maklumat lain. 135 00:07:12,120 --> 00:07:16,480 Dan hujah pertama di sana, bahawa NYA, hanya mengeluarkan bahagian yang penting 136 00:07:16,480 --> 00:07:20,614 yang saya sayang untuk contoh ini, yang merupakan jam, minit, dan kedua. 137 00:07:20,614 --> 00:07:22,030 Jadi itu sahaja yang yang berlaku. 138 00:07:22,030 --> 00:07:23,562 Jadi saya menyimpan bahawa dalam $ masa yang berubah-ubah. 139 00:07:23,562 --> 00:07:25,270 Dan kemudian turun di sangat bawah di sana, saya 140 00:07:25,270 --> 00:07:28,980 mempunyai bahawa singkatan untuk mencetak masa semasa. 141 00:07:28,980 --> 00:07:32,050 Jadi saya hanya akan mencetak apa masa semasa. 142 00:07:32,050 --> 00:07:37,220 >> Jadi mari kita lihat ini dalam IDE CS50 dan melihat bagaimana kami kini 143 00:07:37,220 --> 00:07:40,002 penjimatan webmaster yang banyak masalah. 144 00:07:40,002 --> 00:07:42,570 Baiklah, jadi di sini saya lagi kembali pada direktori akar 145 00:07:42,570 --> 00:07:45,040 Contoh yang Apache saya. 146 00:07:45,040 --> 00:07:51,585 Dan saya mempunyai fail yang di sini dipanggil time.php. 147 00:07:51,585 --> 00:07:53,559 Saya hanya akan klik pada itu. 148 00:07:53,559 --> 00:07:55,850 Dan saya akan tatal ke atas, kerana kita dizum dalam cantik ini. 149 00:07:55,850 --> 00:07:57,257 Masa sekarang ialah 14:20:34. 150 00:07:57,257 --> 00:07:59,090 Jadi, saya melakukannya jam, minit, dan saat. 151 00:07:59,090 --> 00:08:01,910 Dan saya boleh menyegarkan halaman dan mendapatkan masa baru. 152 00:08:01,910 --> 00:08:02,420 --41. 153 00:08:02,420 --> 00:08:07,240 Saya akan muat semula halaman ini dan mendapatkan masa baru, 44, 46, 47. 154 00:08:07,240 --> 00:08:10,490 >> Jadi, saya jelas tidak mengubah apa-apa diri saya sendiri. 155 00:08:10,490 --> 00:08:11,720 Saya di sini semula halaman. 156 00:08:11,720 --> 00:08:13,711 Jadi saya tidak boleh kembali ke sana menyuntingnya. 157 00:08:13,711 --> 00:08:15,710 Dan saya berjanji kepada anda, saya tidak mempunyai apa-apa menentang kebenaran 158 00:08:15,710 --> 00:08:18,230 yang mengedit fail bagi pihak saya di sebelah. 159 00:08:18,230 --> 00:08:21,260 >> Saya hanya menggunakan fungsi PHP, masa, untuk menjana masa untuk saya 160 00:08:21,260 --> 00:08:22,340 secara automatik. 161 00:08:22,340 --> 00:08:24,800 Supaya walaupun jika saya tidur, dan pelayan web saya sedang berjalan, 162 00:08:24,800 --> 00:08:28,884 pengguna yang melawat laman tersebut masih akan mendapatkan tepat masa semasa. 163 00:08:28,884 --> 00:08:29,800 Jadi, itu cukup baik. 164 00:08:29,800 --> 00:08:33,609 Saya telah membuat laman saya lebih dinamik dengan kod PHP tidak terlalu banyak. 165 00:08:33,609 --> 00:08:36,650 Ia hanya dua baris kod dan kemudian sedikit kenyataan cetak. 166 00:08:36,650 --> 00:08:38,441 Dan sudah saya mempunyai Laman web yang lebih dinamik 167 00:08:38,441 --> 00:08:42,750 daripada itu contoh pertama kita lihat pada awal video. 168 00:08:42,750 --> 00:08:46,660 >> Jadi, ingat dari video pada PHP sintaks bahawa apabila jurubahasa PHP berjalan 169 00:08:46,660 --> 00:08:50,000 program kami, ia mengabaikan segala-galanya itu bukan di dalam pembatas PHP, 170 00:08:50,000 --> 00:08:51,500 meludah keluar. 171 00:08:51,500 --> 00:08:54,410 Dalam contoh itu, apa perkara yang bahawa ia telah meludah keluar HTML. 172 00:08:54,410 --> 00:08:58,080 Dan ini bermakna saya boleh sekarang diselang seli HTML dan PHP bersama-sama. 173 00:08:58,080 --> 00:09:01,920 Kerana jurubahasa akan hanya mengabaikan HTML dan benar-benar outputnya. 174 00:09:01,920 --> 00:09:04,140 Yang baik, bukan? 175 00:09:04,140 --> 00:09:06,100 >> Kerana mungkin, pada akhir hari, 176 00:09:06,100 --> 00:09:08,360 Saya mahu laman web saya untuk dibina HTML. 177 00:09:08,360 --> 00:09:12,880 Supaya mana-mana pelayar web boleh mentafsir , atau memahami HTML pada halaman 178 00:09:12,880 --> 00:09:17,270 dan menjadikannya sebagai sesuatu yang kita benar-benar dapat memahami sebagai manusia. 179 00:09:17,270 --> 00:09:19,430 Dan saya hanya boleh menggunakan PHP untuk bahagian-bahagian laman saya 180 00:09:19,430 --> 00:09:23,390 yang memerlukan dinamisme, yang memerlukan saya mempunyai perkara-perkara yang mengemas kini sentiasa. 181 00:09:23,390 --> 00:09:26,630 Maklumat yang statik boleh tinggal yang sama. 182 00:09:26,630 --> 00:09:27,540 >> OK, jadi itulah denda. 183 00:09:27,540 --> 00:09:28,540 Tetapi mengapa saya akan lakukan ini? 184 00:09:28,540 --> 00:09:30,400 Mengapa saya akan bercampur HTML dan PHP? 185 00:09:30,400 --> 00:09:33,850 Saya hanya boleh mencetak semua HTML, menggunakan fungsi PHP cetak. 186 00:09:33,850 --> 00:09:35,870 Kenapa saya tidak berbuat demikian? 187 00:09:35,870 --> 00:09:37,100 Fikirkanlah untuk kali kedua. 188 00:09:37,100 --> 00:09:41,220 >> Mengapa, apabila saya hanya boleh mencetak out-- Saya boleh mempunyai baris PHP yang hanya berkata, 189 00:09:41,220 --> 00:09:43,841 cetak HTML tag, kepala cetak. 190 00:09:43,841 --> 00:09:44,840 Kenapa saya tidak berbuat demikian? 191 00:09:44,840 --> 00:09:48,230 Kenapa saya mencampurkan PHP dan HTML? 192 00:09:48,230 --> 00:09:50,080 >> Nah, jika anda berfikir mengenainya untuk kali kedua. 193 00:09:50,080 --> 00:09:52,824 PHP, jurubahasa mempunyai untuk mentafsir apa yang ia lihat. 194 00:09:52,824 --> 00:09:54,990 Dan maka ia akan mempunyai untuk melaksanakan baris kod. 195 00:09:54,990 --> 00:09:56,450 Cetak HTML. 196 00:09:56,450 --> 00:09:57,700 Mencetak tag kepala terbuka. 197 00:09:57,700 --> 00:09:58,969 Mencetak tag tajuk terbuka. 198 00:09:58,969 --> 00:10:00,760 Ia akan perlu melaksanakan dan mentafsir 199 00:10:00,760 --> 00:10:02,671 bahawa setiap langkah dari jalan. 200 00:10:02,671 --> 00:10:04,670 Mengapa tidak hanya membiarkan jurubahasa hanya menyembunyikan 201 00:10:04,670 --> 00:10:06,878 perkara yang ia tidak memahami dan melakukannya secara automatik? 202 00:10:06,878 --> 00:10:11,365 Ia akan menyelamatkan saya banyak masa untuk bergaul HTML saya dan PHP saya bersama-sama. 203 00:10:11,365 --> 00:10:16,220 >> Dan itulah sebabnya mengapa kita tidak hanya perlu terbuka PHP pembatas 204 00:10:16,220 --> 00:10:19,450 dan kemudian hanya mencetak keseluruhan kandungan laman kami sebagai salah PHP gergasi 205 00:10:19,450 --> 00:10:24,330 panggilan kepada fungsi, Cetak, dan kemudian berhampiran PHP pembatas dan kami selesai. 206 00:10:24,330 --> 00:10:27,620 Jadi itulah sebabnya kita campuran mereka bersama-sama. 207 00:10:27,620 --> 00:10:32,345 >> Setakat ini, kami tidak melihat terlalu banyak perbezaan dari umum PHP sintaks. 208 00:10:32,345 --> 00:10:33,720 Ia adalah agak mudah. 209 00:10:33,720 --> 00:10:35,553 Kami telah melihat tanda tanya, sama. 210 00:10:35,553 --> 00:10:39,012 Kami melihat beberapa panggilan fungsi baru, tetapi tiada apa yang benar-benar mewah berlaku. 211 00:10:39,012 --> 00:10:40,720 Mari kita mungkin membuat perkara sedikit pelamun. 212 00:10:40,720 --> 00:10:44,360 Bagaimana jika kita mahu memberikan maklumat antara fail PHP yang berbeza, 213 00:10:44,360 --> 00:10:47,280 supaya mungkin pengguna boleh mengemukakan maklumat kepada saya. 214 00:10:47,280 --> 00:10:50,230 Dan kemudian saya boleh melakukan sesuatu dengan pada laman lain. 215 00:10:50,230 --> 00:10:52,990 >> Jadi PHP mempunyai sokongan untuk sesuatu yang dinamakan Super Global 216 00:10:52,990 --> 00:10:55,297 Pembolehubah, yang berbunyi cukup menggerunkan. 217 00:10:55,297 --> 00:10:57,130 Mereka benar-benar hanya array bersekutu gergasi 218 00:10:57,130 --> 00:10:59,900 yang membantu melaksanakan ini fungsi yang berlalu 219 00:10:59,900 --> 00:11:05,010 maklumat antara PHP fail yang yang sedia ada pada pelayan web kami. 220 00:11:05,010 --> 00:11:07,760 >> Pertama super ini globals dipanggil $ _GET. 221 00:11:07,760 --> 00:11:10,140 Dan ia mungkin paling mudah untuk difahami. 222 00:11:10,140 --> 00:11:12,430 Apa yang berlaku dengan $ _GET? 223 00:11:12,430 --> 00:11:16,240 Nah, pada dasarnya, pengguna adalah akan menaip maklumat tambahan 224 00:11:16,240 --> 00:11:18,390 pada akhir URL kami. 225 00:11:18,390 --> 00:11:21,460 Dan apa sahaja yang mereka menaip, dengan andaian ia diformat dengan cara yang tertentu 226 00:11:21,460 --> 00:11:25,830 dipanggil rentetan pertanyaan, yang hanya satu set pasangan nilai utama dipisahkan 227 00:11:25,830 --> 00:11:27,810 oleh ampersands. 228 00:11:27,810 --> 00:11:32,362 Mereka pasangan nilai utama adalah disimpan dalam $ _GET pelbagai bersekutu. 229 00:11:32,362 --> 00:11:34,070 Dan dari video kami di PHP sintaks, kita tahu 230 00:11:34,070 --> 00:11:40,080 bagaimana untuk bekerja dengan array bersekutu sudah. 231 00:11:40,080 --> 00:11:44,090 Jadi di sini adalah satu contoh beberapa PHP, mana mungkin saya 232 00:11:44,090 --> 00:11:50,180 mengekstrak semua pasangan nilai utama untuk setiap pengguna yang dibekalkan dalam URL. 233 00:11:50,180 --> 00:11:51,970 Jadi saya perlu Terbuka PHP pembatas saya. 234 00:11:51,970 --> 00:11:53,410 Saya mempunyai gelung foreach. 235 00:11:53,410 --> 00:11:57,410 Saya iterating seluruh Super Array global dipanggil $ _GET. 236 00:11:57,410 --> 00:12:00,160 >> Dan saya mahu dapat untuk merujuk kepada kedua-dua utama dan nilai. 237 00:12:00,160 --> 00:12:02,410 Dan saya hanya mencetak mereka keluar, masing-masing satu di nampaknya 238 00:12:02,410 --> 00:12:03,780 tag perenggan sendiri di sini. 239 00:12:03,780 --> 00:12:07,620 Saya mencetak beberapa HTML dan interpolasi nilai 240 00:12:07,620 --> 00:12:12,900 kunci dan nilai ke dalam kenyataan itu. 241 00:12:12,900 --> 00:12:16,980 >> Oleh itu, mari kita lihat bagaimana ini sebenarnya akan bekerja pada IDE kami. 242 00:12:16,980 --> 00:12:18,980 Dan mungkin ini akan membantu menggambarkan sedikit 243 00:12:18,980 --> 00:12:21,880 apa DAPATKAN sebenarnya lakukan. 244 00:12:21,880 --> 00:12:23,610 Jadi saya kembali ke sini dalam akar web saya. 245 00:12:23,610 --> 00:12:25,318 Dan saya akan zum dalam sedikit untuk menunjukkan kepada anda 246 00:12:25,318 --> 00:12:28,620 bahawa saya mempunyai fail yang dipanggil, get1.php. 247 00:12:28,620 --> 00:12:31,830 >> Jadi mari kita klik pada get1.php. 248 00:12:31,830 --> 00:12:36,600 Dan saya tidak melihat apa-apa kandungan. 249 00:12:36,600 --> 00:12:38,390 Itu yang pelik, bukan? 250 00:12:38,390 --> 00:12:39,740 Well, tidak benar-benar sebenarnya. 251 00:12:39,740 --> 00:12:42,030 Kerana saya tidak membekalkan apa-apa dalam URL. 252 00:12:42,030 --> 00:12:46,270 Saya akan get1.php, tetapi saya tidak membekalkan apa-apa pasangan nilai utama 253 00:12:46,270 --> 00:12:47,450 sebagai sebahagian daripada rentetan pertanyaan saya. 254 00:12:47,450 --> 00:12:50,510 Jadi mari kita menambah rentetan pertanyaan dan ketahui fail ini boleh lakukan. 255 00:12:50,510 --> 00:12:53,040 >> Untuk memulakan rentetan pertanyaan anda hanya menaip tanda tanya. 256 00:12:53,040 --> 00:13:00,820 Maka mungkin saya akan mengatakan name = Doug & tahun = 2015. 257 00:13:00,820 --> 00:13:02,914 Dan kemudian saya akan tekan Enter. 258 00:13:02,914 --> 00:13:04,080 Sekarang perhatikan apa yang berlaku. 259 00:13:04,080 --> 00:13:05,480 Saya masih dalam get1.php. 260 00:13:05,480 --> 00:13:08,445 Tetapi sekarang saya telah dibekalkan pasangan nilai utama, dan saya 261 00:13:08,445 --> 00:13:14,940 mencetak mereka keluar sendiri nama paragraph--, tahun Doug--, 2015. 262 00:13:14,940 --> 00:13:17,970 Itulah kod yang kami hanya melihat pada slaid sebentar tadi. 263 00:13:17,970 --> 00:13:22,290 >> Dan jika saya ingin menambah satu lagi mungkin pasangan nilai utama, & class = CS50. 264 00:13:22,290 --> 00:13:25,325 265 00:13:25,325 --> 00:13:27,580 Sekarang saya mempunyai satu lagi nilai utama pasangan yang yang dicetak 266 00:13:27,580 --> 00:13:30,025 apabila saya melihat semula URL yang lagi. 267 00:13:30,025 --> 00:13:31,900 Sekarang mungkin ini tidak diformat betul-betul juga. 268 00:13:31,900 --> 00:13:33,660 Jadi saya mempunyai satu lagi versi get.php. 269 00:13:33,660 --> 00:13:36,350 Ia get2.php. 270 00:13:36,350 --> 00:13:39,070 >> Perbezaan dalam ini satu adalah saya mempunyai fail CSS, 271 00:13:39,070 --> 00:13:41,690 dan ia format perkara-perkara yang sedikit lebih baik untuk saya. 272 00:13:41,690 --> 00:13:43,940 Ia mungkin bukan yang paling CSS indah di dunia. 273 00:13:43,940 --> 00:13:45,650 Tetapi ia hanya satu lagi cara untuk melakukannya. 274 00:13:45,650 --> 00:13:52,840 Oleh itu, saya masih boleh mendapatkan akses kepada pembolehubah saya menggunakan $ _GET. 275 00:13:52,840 --> 00:13:56,610 Dan dalam kes ini, saya hanya jenis membuat CSS lebih sedikit mewah. 276 00:13:56,610 --> 00:13:58,360 Dan jika kita pop ke IDE saya untuk kali kedua, 277 00:13:58,360 --> 00:14:06,870 Saya akan menunjukkan kepada anda dalam PHP web saya direktori sini, get2.php. 278 00:14:06,870 --> 00:14:10,010 Kami akan membukanya, beberapa HTML di sini. 279 00:14:10,010 --> 00:14:13,220 Rupa-rupanya saya menghubungkan kerana Fail CSS saya bercakap tentang. 280 00:14:13,220 --> 00:14:14,570 Saya membuka tag jadual. 281 00:14:14,570 --> 00:14:15,970 Dan kemudian di sini adalah gelung foreach saya. 282 00:14:15,970 --> 00:14:18,450 >> Di sini ialah, apa yang saya menunjukkan pada slaid sebelum ini. 283 00:14:18,450 --> 00:14:21,007 Satu-satunya perbezaan adalah saya mempunyai kunci ini dan nilai CSS 284 00:14:21,007 --> 00:14:22,340 gaya yang saya memohon kepadanya. 285 00:14:22,340 --> 00:14:25,622 Tetapi itu sahaja yang saya lakukan, adalah saya iterating seluruh $ _GET untuk mendapatkan semua 286 00:14:25,622 --> 00:14:26,580 pasangan nilai utama. 287 00:14:26,580 --> 00:14:28,890 >> Dan saya mencetak mereka keluar kerana meja. 288 00:14:28,890 --> 00:14:33,230 Dan, nampaknya, saya memformat kekunci dalam satu cara, dengan 00:14:40,057 Jadi nampaknya yang boleh digunakan untuk beberapa pemilih kelas GET.CSS fail CSS saya. 290 00:14:40,057 --> 00:14:42,890 Dan, nampaknya, saya mencetak nilai-nilai saya cara yang sama sekali berbeza. 291 00:14:42,890 --> 00:14:45,530 Yang cukup banyak apa yang kita lihat di sini, di mana 292 00:14:45,530 --> 00:14:47,710 nilai-nilai kita telah dicetak dengan latar belakang biru, 293 00:14:47,710 --> 00:14:49,969 dan kunci kami telah dicetak dengan latar belakang kuning. 294 00:14:49,969 --> 00:14:52,010 Jadi itulah bagaimana saya mendapat gaya-gaya yang berbeza. 295 00:14:52,010 --> 00:14:54,054 Kerana saya menggunakan kelas CSS berbeza. 296 00:14:54,054 --> 00:14:55,470 Tetapi itu cukup banyak selama GET. 297 00:14:55,470 --> 00:14:58,380 Suka saya hanya mengeluarkan maklumat. 298 00:14:58,380 --> 00:15:01,000 Dan dalam kes ini, saya hanya mencetaknya ke skrin. 299 00:15:01,000 --> 00:15:04,310 Saya mendapat ia keluar dari URL, dan itulah yang GET tidak untuk kita. 300 00:15:04,310 --> 00:15:06,470 >> Adakah anda melihat kemungkinan masalah di sini walaupun? 301 00:15:06,470 --> 00:15:11,720 Mengapa kami mungkin tidak mahu menggunakan $ _GET? 302 00:15:11,720 --> 00:15:15,440 Bagaimana jika, mungkin, saya telah membuat pertanyaan ini? 303 00:15:15,440 --> 00:15:18,000 get3.php --to, yang saya tidak ada di IDE saya. 304 00:15:18,000 --> 00:15:19,640 Ia hanya satu fail yang dibayangkan. 305 00:15:19,640 --> 00:15:22,187 Tetapi perhatikan di sini bahawa nampaknya lulus kata laluan saya masuk. 306 00:15:22,187 --> 00:15:23,770 Dan mungkin kata laluan saya memalukan. 307 00:15:23,770 --> 00:15:28,070 Atau mungkin saya tidak mahu orang tahu apa kata saya ialah, betul. 308 00:15:28,070 --> 00:15:33,140 >> Jika saya lulus though-- jika saya menggunakan kaedah $ _GET, apa yang berlaku adalah, 309 00:15:33,140 --> 00:15:34,970 yang akan berada di dalam URL. 310 00:15:34,970 --> 00:15:39,890 Jadi beberapa pengguna yang berniat jahat mungkin dapat melihat apa yang saya lakukan. 311 00:15:39,890 --> 00:15:42,040 Saya boleh lulus mereka maklumat sensitif. 312 00:15:42,040 --> 00:15:43,310 Atau mungkin ia tidak walaupun pengguna yang berniat jahat. 313 00:15:43,310 --> 00:15:45,790 Mungkin ia hanya rakan anda yang berdiri di atas bahu anda. 314 00:15:45,790 --> 00:15:47,650 Dan kini mereka tahu kata laluan ke akaun Facebook anda. 315 00:15:47,650 --> 00:15:49,483 >> Dan mungkin mereka tidak akan berbuat apa-apa dengannya. 316 00:15:49,483 --> 00:15:53,749 Tetapi jika kata laluan anda adalah dikemukakan melalui $ _GET ke Facebook, 317 00:15:53,749 --> 00:15:55,290 kini mereka tahu kata laluan Facebook anda. 318 00:15:55,290 --> 00:15:59,000 Kerana ia di sana di URL yang apabila anda telah melakukan mengemukakan maklumat. 319 00:15:59,000 --> 00:16:01,887 >> Dan jadi mungkin itu bukan yang terbaik cara untuk memberikan maklumat sensitif. 320 00:16:01,887 --> 00:16:04,470 Ia adalah satu cara yang baik untuk memberikan maklumat bahawa kita tidak terutamanya 321 00:16:04,470 --> 00:16:05,886 mengambil berat tentang sebagai terlalu sensitif. 322 00:16:05,886 --> 00:16:09,347 Kerana GET agak cepat, relatif kepada globals super yang lain 323 00:16:09,347 --> 00:16:10,430 kita akan bercakap tentang. 324 00:16:10,430 --> 00:16:13,330 Tetapi mungkin tidak alat yang terbaik untuk maklumat sensitif. 325 00:16:13,330 --> 00:16:15,990 >> Untuk itu, kita mungkin mahu menggunakan sesuatu yang dinamakan $ _POST, 326 00:16:15,990 --> 00:16:18,560 yang merupakan satu lagi ubah Super Global. 327 00:16:18,560 --> 00:16:20,750 Ia adalah satu lagi pelbagai bersekutu. 328 00:16:20,750 --> 00:16:23,240 Jadi ia berfungsi cukup banyak sama seperti GET. 329 00:16:23,240 --> 00:16:26,850 Kecuali, bukannya mengeluarkan maklumat dari URL, 330 00:16:26,850 --> 00:16:29,870 ia sesuatu melalui header HTTP. 331 00:16:29,870 --> 00:16:32,080 Jadi ingat dari kami video pada HTTP, kita bercakap 332 00:16:32,080 --> 00:16:34,850 tentang bagaimana pelayar, pelayan, dan pelanggan berkomunikasi. 333 00:16:34,850 --> 00:16:38,070 Dan maklumat diluluskan kembali dan sebagainya dalam pengepala HTTP. 334 00:16:38,070 --> 00:16:43,330 >> Dengan $ _POST, maklumat biasanya dihantar melalui mereka header HTTP. 335 00:16:43,330 --> 00:16:49,770 Dan kita paling biasa akan melihat $ _POST dalam konteks mengemukakan borang HTML. 336 00:16:49,770 --> 00:16:52,390 Anda masih boleh menggunakan bentuk HTML mengemukakan perkara yang GET. 337 00:16:52,390 --> 00:16:56,120 Tetapi mereka biasanya digunakan dalam konteks POST. 338 00:16:56,120 --> 00:17:00,280 >> Jadi di sini adalah satu contoh bentuk HTML. 339 00:17:00,280 --> 00:17:06,750 Sekarang kita telah melihat ini sebelum ini, tetapi kita perlu tidak melihat bahagian ini, tindakan = "post.php". 340 00:17:06,750 --> 00:17:10,756 Oleh itu, apabila kita bercakap tentang bentuk-bentuk dalam konteks HTML, saya mempunyai butang Submit. 341 00:17:10,756 --> 00:17:13,630 Dan jika anda masih ingat, saya klik Hantar dan kemudian halaman hanya segar, 342 00:17:13,630 --> 00:17:14,660 tidak berbuat apa-apa. 343 00:17:14,660 --> 00:17:18,250 >> Dalam kes ini, saya mengemukakan apa yang saya taip di borang ini, 344 00:17:18,250 --> 00:17:20,750 kepada fail PHP dipanggil post.php. 345 00:17:20,750 --> 00:17:25,810 Dan, nampaknya, cara yang saya lakukan yang dalam borang ini menggunakan kaedah POST. 346 00:17:25,810 --> 00:17:29,040 Jadi semua maklumat yang saya taip ke dalam borang ini 347 00:17:29,040 --> 00:17:31,470 akan diserahkan melalui tajuk HTTP. 348 00:17:31,470 --> 00:17:36,440 >> Ia akan boleh diakses dalam post.php, kerana itulah tindakan bentuk saya. 349 00:17:36,440 --> 00:17:39,811 Ia akan boleh diakses dengan pergi ke $ _POST. 350 00:17:39,811 --> 00:17:42,310 Dan nampaknya, cara saya boleh mendapatkan di setiap elemen individu 351 00:17:42,310 --> 00:17:44,765 dengan itu pelbagai bersekutu adalah dengan sifat ini, 352 00:17:44,765 --> 00:17:48,130 atribut Name tag input kami. 353 00:17:48,130 --> 00:17:53,540 >> Jadi nampaknya saya boleh katakan $ _POST persegi kurungan menamakan untuk mendapatkan apa pengguna 354 00:17:53,540 --> 00:17:55,440 ditaip dalam bidang pertama. 355 00:17:55,440 --> 00:18:01,030 Dan $ _POST kata laluan, di pw sebaliknya, untuk mendapatkan pada apa pengguna ditaip 356 00:18:01,030 --> 00:18:03,650 dalam bidang yang kedua. 357 00:18:03,650 --> 00:18:06,414 >> Oleh itu, mari kita lihat pada lebih ini dalam CS50 IDE. 358 00:18:06,414 --> 00:18:08,330 Jadi di sini kita, dan saya akan zum masuk untuk kali kedua. 359 00:18:08,330 --> 00:18:12,380 Dan kita mempunyai fail yang dipanggil post.html. 360 00:18:12,380 --> 00:18:13,690 Saya klik pada post.html. 361 00:18:13,690 --> 00:18:16,300 Di bahagian paling atas di sini saya mempunyai borang web sangat mudah. 362 00:18:16,300 --> 00:18:18,750 Ia adalah bentuk yang kita hanya melihat pada slaid kedua yang lalu. 363 00:18:18,750 --> 00:18:25,610 >> Saya boleh menaip, Doug, dan saya boleh menaip kata laluan kepada saya, yang kita semua 364 00:18:25,610 --> 00:18:27,340 tahu ialah squadgoals. 365 00:18:27,340 --> 00:18:30,100 Dan saya akan melanda Hantar. 366 00:18:30,100 --> 00:18:32,290 Dan nampaknya, yang mengemukakan kepada post.php. 367 00:18:32,290 --> 00:18:33,810 Dan saya nampaknya percetakan itu. 368 00:18:33,810 --> 00:18:36,490 Jadi, saya menghapuskan semua keselamatan yang POST memberikan saya dengan hanya mencetak 369 00:18:36,490 --> 00:18:37,720 nama pengguna dan kata laluan. 370 00:18:37,720 --> 00:18:38,960 >> Nama pengguna adalah Doug. 371 00:18:38,960 --> 00:18:40,810 Kata laluan pengguna adalah squadgoals. 372 00:18:40,810 --> 00:18:42,480 Bagaimana saya lakukan ini? 373 00:18:42,480 --> 00:18:44,800 Nah, pop ke IDE lagi untuk kali kedua. 374 00:18:44,800 --> 00:18:51,340 Kami akan tatal ke bawah untuk mengambil lihat post.php, yang 375 00:18:51,340 --> 00:18:54,040 tindakan yang saya digunakan untuk mengemukakan di sini. 376 00:18:54,040 --> 00:18:55,739 Itu adalah tindakan bentuk HTML saya. 377 00:18:55,739 --> 00:18:56,780 Dan itu semua yang saya lakukan. 378 00:18:56,780 --> 00:19:01,370 Nama pengguna ini, dan saya percetakan daripada kandungan $ _POST "nama". 379 00:19:01,370 --> 00:19:04,660 Dan kemudian kata laluan pengguna adalah $ _POST "password". 380 00:19:04,660 --> 00:19:08,920 Jadi saya telah diberi maklumat yang dengan menghantar borang HTML. 381 00:19:08,920 --> 00:19:13,790 Dan saya kini boleh ekstrak menggunakan $ _POST kerana kaedah yang saya digunakan untuk menghantar 382 00:19:13,790 --> 00:19:17,470 data borang itu adalah kaedah POST. 383 00:19:17,470 --> 00:19:20,640 >> Sekarang ia mungkin tidak supaya great-- saya akan 384 00:19:20,640 --> 00:19:24,510 kembali untuk kali kedua untuk sini-- set kami 385 00:19:24,510 --> 00:19:30,120 ia mungkin tidak begitu besar jika saya mengemukakan maklumat dengan POST, 386 00:19:30,120 --> 00:19:32,532 yang kononnya lebih selamat. 387 00:19:32,532 --> 00:19:34,740 Ia mungkin tidak begitu besar jika saya melakukan itu dan kemudian 388 00:19:34,740 --> 00:19:36,470 mencetak kata laluan pengguna. 389 00:19:36,470 --> 00:19:38,540 Ia sepatutnya menjadi lebih selamat. 390 00:19:38,540 --> 00:19:40,870 >> OK, tetapi ia tidak begitu selamat. 391 00:19:40,870 --> 00:19:42,910 Jadi dengan ini sedikit snippet di sini saya ingin 392 00:19:42,910 --> 00:19:46,410 hanya menarik perhatian anda kepada beberapa masalah keselamatan data, hanya sesuatu 393 00:19:46,410 --> 00:19:51,200 untuk berfikir tentang kerana anda bekerja atau menggunakan internet. 394 00:19:51,200 --> 00:19:53,890 Ini hanyalah sesuatu yang perlu dipertimbangkan. 395 00:19:53,890 --> 00:19:57,980 >> Saya memberitahu anda bahawa maklumat dikemukakan melalui header HTTP 396 00:19:57,980 --> 00:19:59,724 apabila anda menggunakan kaedah POST. 397 00:19:59,724 --> 00:20:01,390 Yang bermakna mereka tidak sepenuhnya selamat. 398 00:20:01,390 --> 00:20:05,610 Mereka sukar untuk mencari daripada menggunakan kaedah GET, di mana 399 00:20:05,610 --> 00:20:06,882 ia hanya betul dalam URL. 400 00:20:06,882 --> 00:20:08,340 Tetapi masih ada satu cara untuk menemuinya. 401 00:20:08,340 --> 00:20:10,423 Dan saya hanya mahu menunjukkan anda ini supaya anda mungkin 402 00:20:10,423 --> 00:20:12,940 mula berfikir tentang ini seperti yang anda sedang bekerja, atau menggunakan 403 00:20:12,940 --> 00:20:14,560 laman web dan mengemukakan kata laluan, dan mungkin menggunakan 404 00:20:14,560 --> 00:20:16,518 kata laluan yang sama dalam banyak tempat-tempat yang berbeza. 405 00:20:16,518 --> 00:20:22,060 Tahu bahawa adalah masih sebenarnya cukup mudah untuk mengetahui kata seseorang. 406 00:20:22,060 --> 00:20:25,190 >> Dan sebagainya di sini, saya akan untuk pergi ke post2.html. 407 00:20:25,190 --> 00:20:28,850 Dan perbezaan dengan post2.html dan post2.php adalah cukup halus. 408 00:20:28,850 --> 00:20:31,420 Perbezaannya ialah hanya bahawa saya tidak mencetak 409 00:20:31,420 --> 00:20:33,520 kata laluan apabila saya mengemukakan borang. 410 00:20:33,520 --> 00:20:35,260 >> Jadi, saya akan menaip, Doug. 411 00:20:35,260 --> 00:20:38,365 Dan saya akan menaip dalam, squadgoals, walaupun 412 00:20:38,365 --> 00:20:40,770 walaupun kita tahu bahawa kata laluan. 413 00:20:40,770 --> 00:20:42,540 Sebelum saya mengemukakan Borang walaupun, saya akan 414 00:20:42,540 --> 00:20:45,864 untuk membuka Alat Pembangun, hanya untuk menunjukkan kepada anda apa yang akan berlaku di sini. 415 00:20:45,864 --> 00:20:47,530 Jadi dalam Chrome, saya hanya akan melanda F12. 416 00:20:47,530 --> 00:20:54,120 417 00:20:54,120 --> 00:20:57,230 Dan itu akan membuka saya Alat Pembangun di sebelah tangan kanan. 418 00:20:57,230 --> 00:20:59,480 Saya masih belum mengemukakan borang lagi. 419 00:20:59,480 --> 00:21:02,680 Sekarang saya akan untuk memukul Hantar borang saya. 420 00:21:02,680 --> 00:21:05,370 Dan nampaknya, saya membuat panggilan untuk, atau saya membuat permintaan 421 00:21:05,370 --> 00:21:07,620 untuk post2.php, yang masuk akal. 422 00:21:07,620 --> 00:21:10,040 Saya akan klik pada itu. 423 00:21:10,040 --> 00:21:13,802 >> Maka di sini, saya akan klik pada Tajuk. 424 00:21:13,802 --> 00:21:15,410 Ada banyak perkara yang berlaku di sini. 425 00:21:15,410 --> 00:21:21,310 Tetapi jika saya tatal ke bawah untuk yang bawah, notis there-- hak kalendar saya 426 00:21:21,310 --> 00:21:25,180 telah menyekatnya untuk hak second-- terdapat di sudut yang bawah, 427 00:21:25,180 --> 00:21:27,386 name-- Doug, squadgoals pw--. 428 00:21:27,386 --> 00:21:30,010 Jadi, walaupun saya menggunakan POST kaedah, yang lebih selamat, 429 00:21:30,010 --> 00:21:33,570 anda perlu ingat bahawa apabila anda berbuat demikian, anda masih menghantar maklumat 430 00:21:33,570 --> 00:21:34,430 melalui HTTP. 431 00:21:34,430 --> 00:21:36,770 Dan ia masih boleh menjadi ditemui oleh musuh. 432 00:21:36,770 --> 00:21:39,270 Ia hanya sesuatu yang kita akan perlu berurusan dengan benar-benar. 433 00:21:39,270 --> 00:21:41,980 Mungkin ada beberapa cara untuk menyulitkan kami kata laluan sebelum kami menghantar mereka, 434 00:21:41,980 --> 00:21:44,410 yang akan menjadi lebih baik, yang saya tidak lakukan di sini. 435 00:21:44,410 --> 00:21:47,010 >> Tetapi anda perlu ingat bahawa POST kaedah mempunyai batasan juga. 436 00:21:47,010 --> 00:21:49,801 Ia merupakan satu peningkatan berbanding GET dalam syarat-syarat yang segera kelihatan. 437 00:21:49,801 --> 00:21:51,280 Tetapi ia bukan satu penyelesaian yang lengkap. 438 00:21:51,280 --> 00:21:53,280 Jadi di sini adalah satu contoh cepat pada senaman di rumah 439 00:21:53,280 --> 00:21:56,350 yang boleh anda gunakan untuk mendapatkan beberapa mengamalkan bekerja dengan PHP. 440 00:21:56,350 --> 00:21:58,300 Mencipta pasangan berikut halaman web. 441 00:21:58,300 --> 00:22:00,960 Pertama hanya perlu menjadi sangat mudah membentuk dengan medan tunggal dan Hantar 442 00:22:00,960 --> 00:22:01,460 butang. 443 00:22:01,460 --> 00:22:04,070 Jadi hampir sama dengan apa yang kita hanya melakukan dengan post.html. 444 00:22:04,070 --> 00:22:07,450 >> Dan kemudian yang kedua memfailkan anda perlu membuat 445 00:22:07,450 --> 00:22:11,687 adalah fail, fail PHP, yang menjangkakan input, melalui POST, 446 00:22:11,687 --> 00:22:14,770 dan berdasarkan apa pengguna ditaip, yang anda boleh menganggap akan integer. 447 00:22:14,770 --> 00:22:16,160 Anda tidak perlu melakukan apa-apa semakan ralat atau sebagainya. 448 00:22:16,160 --> 00:22:18,284 Anda boleh menganggap pengguna akan menaip nilai integer, 449 00:22:18,284 --> 00:22:22,230 atau sesuatu seperti yang ditafsirkan oleh PHP sebagai integer, ke dalam borang itu. 450 00:22:22,230 --> 00:22:24,790 Anda hanya mahu mewujudkan n oleh jadual n pendaraban. 451 00:22:24,790 --> 00:22:28,480 >> Jadi, jika pengguna menghantar 10, kita mahu mempunyai jadual 10 oleh 10 pendaraban. 452 00:22:28,480 --> 00:22:31,832 Jika pengguna mengemukakan 12, kita mahu meja 12 12 pendaraban. 453 00:22:31,832 --> 00:22:33,790 Hanya supaya anda boleh melihat apa yang kita sedang memandu di sini, 454 00:22:33,790 --> 00:22:36,040 kami akan mengambil lihat fail ini dalam IDE saya. 455 00:22:36,040 --> 00:22:38,080 >> Jadi di sini dalam IDE, saya mempunyai mult_form.html. 456 00:22:38,080 --> 00:22:41,370 457 00:22:41,370 --> 00:22:43,100 Saya akan klik. 458 00:22:43,100 --> 00:22:46,020 Apa yang saya mahu lakukan adalah mengemukakan nilai. 459 00:22:46,020 --> 00:22:47,590 Taip 10, memukul Hantar. 460 00:22:47,590 --> 00:22:51,190 Dan nampaknya, mult_table.php, yang kita dapat lihat pada bahagian atas terdapat dalam URL, 461 00:22:51,190 --> 00:22:53,970 Saya mewujudkan 10 oleh 10 jadual pendaraban. 462 00:22:53,970 --> 00:22:59,365 >> Saya menaip 15 dan tekan Submit, sekarang saya mempunyai jadual 15 sebanyak 15 pendaraban. 463 00:22:59,365 --> 00:23:02,240 Saya, sudah tentu, tidak akan menunjukkan anda kandungan mult_table.php, 464 00:23:02,240 --> 00:23:04,781 kerana itu akan mengambil keseronokan daripada ini pada senaman di rumah. 465 00:23:04,781 --> 00:23:07,480 Tetapi ia adalah satu cara yang baik untuk mendapatkan beberapa mengamalkan bekerja dengan gelung PHP 466 00:23:07,480 --> 00:23:10,889 dan POST, sangat mudah, mudah-mudahan contoh percuma tekanan, hanya 467 00:23:10,889 --> 00:23:12,180 untuk melakukan sedikit amalan. 468 00:23:12,180 --> 00:23:16,540 Dan saya telah mendapat sedikit CSS berlaku di sini untuk untuk membuat jadual individu saya 469 00:23:16,540 --> 00:23:19,710 sel-sel hanya jenis pop off sedikit dan kelihatan lebih sedikit 470 00:23:19,710 --> 00:23:22,205 seperti jadual pendaraban, berbanding hanya teks sahaja 471 00:23:22,205 --> 00:23:23,261 jenis duduk di sana. 472 00:23:23,261 --> 00:23:26,260 Yang terakhir super global kita akan bercakap tentang dalam video ini adalah sesuatu yang dinamakan 473 00:23:26,260 --> 00:23:27,597 $ _SESSION. 474 00:23:27,597 --> 00:23:29,930 Dan mungkin ini sebenarnya contoh terbaik sesuatu 475 00:23:29,930 --> 00:23:31,700 kita akan mempertimbangkan global. 476 00:23:31,700 --> 00:23:33,189 Ia adalah lokasi lain. 477 00:23:33,189 --> 00:23:34,480 Ia adalah satu lagi pelbagai bersekutu. 478 00:23:34,480 --> 00:23:40,580 Tetapi ia boleh diakses melalui setiap File PHP yang wujud pada sistem kami. 479 00:23:40,580 --> 00:23:43,410 >> Kami tidak perlu mengemukakan maklumat satu halaman pada satu masa 480 00:23:43,410 --> 00:23:45,400 seperti yang kita lakukan dengan GET dan dengan POST. 481 00:23:45,400 --> 00:23:46,380 Ia sentiasa ada. 482 00:23:46,380 --> 00:23:50,040 Dan sebagainya ini adalah besar untuk halaman di mana anda log masuk, sebagai contoh, 483 00:23:50,040 --> 00:23:53,120 dan anda mahu maklumat log masuk anda berterusan dari halaman ke halaman ke halaman. 484 00:23:53,120 --> 00:23:58,180 >> Anda hanya boleh memulakan sesi dan kemudian menggunakan $ _SESSION menyimpan perkara-perkara seperti 485 00:23:58,180 --> 00:24:02,320 Nama pengguna atau pengguna ini Maklumat ID, dan sebagainya. 486 00:24:02,320 --> 00:24:07,600 Dan maklumat yang akan kekal dalam $ _SESSION Sehingga anda memusnahkan sesi 487 00:24:07,600 --> 00:24:09,550 sedikit kemudian. 488 00:24:09,550 --> 00:24:12,375 >> Penulisan laman web dinamik dengan PHP menjadikan mereka lebih baik. 489 00:24:12,375 --> 00:24:14,250 Laman web anda menjadi sangat dinamik, dan anda tidak 490 00:24:14,250 --> 00:24:17,670 perlu melakukan terlalu banyak lebih daripada apa yang anda sebaliknya akan dilakukan hanya 491 00:24:17,670 --> 00:24:18,920 melakukannya dengan HTML. 492 00:24:18,920 --> 00:24:21,630 Tetapi ia memerlukan amalan, banyak amalan. 493 00:24:21,630 --> 00:24:26,897 >> Anda sudah tahu bagaimana untuk bekerja dengan C, dan sebagainya melompat untuk PHP tidak terlalu rumit. 494 00:24:26,897 --> 00:24:28,730 Apa yang mungkin sedikit sedikit rumit berfungsi 495 00:24:28,730 --> 00:24:33,180 dengan idea baru ini GET dan POST, dan mungkin mencampurkan HTML anda dan PHP anda 496 00:24:33,180 --> 00:24:34,220 bersama-sama. 497 00:24:34,220 --> 00:24:37,570 Tetapi juga sedar bahawa internet adalah repositori maklumat yang luas. 498 00:24:37,570 --> 00:24:41,670 Dan dokumentasi PHP-kanak boleh didapati di banyak tempat, tetapi mungkin yang paling 499 00:24:41,670 --> 00:24:43,354 canonically di php.net. 500 00:24:43,354 --> 00:24:45,520 Dan anda boleh mencari di sana, banyak fungsi yang berbeza, 501 00:24:45,520 --> 00:24:48,330 dan menggunakan kes, dan contoh apabila contoh, apabila contoh. 502 00:24:48,330 --> 00:24:51,340 Di mana jika anda ingin mencuba dan angka bagaimana untuk melakukan sesuatu, kemungkinan adalah, 503 00:24:51,340 --> 00:24:52,964 seseorang itu mungkin dilakukan sebelum anda. 504 00:24:52,964 --> 00:24:55,840 Dan anda boleh menggunakannya sebagai inspirasi untuk melaksanakan apa sahaja 505 00:24:55,840 --> 00:24:58,230 sahaja yang anda cuba untuk melaksanakan juga. 506 00:24:58,230 --> 00:24:59,230 >> Saya Doug Lloyd. 507 00:24:59,230 --> 00:25:01,210 Ini adalah CS50. 508 00:25:01,210 --> 00:25:02,608