1 00:00:00,000 --> 00:00:05,720 2 00:00:05,720 --> 00:00:07,620 >> Doug LLOYD: Jadi di kami video di PHP sintaks, 3 00:00:07,620 --> 00:00:10,480 kami berbicara banyak tentang bagaimana PHP dapat digunakan pada baris perintah 4 00:00:10,480 --> 00:00:13,620 untuk menjalankan program dengan cara yang kami cukup akrab dengan dari C. 5 00:00:13,620 --> 00:00:15,370 Tapi seperti yang saya juga disebutkan dalam video, PHP 6 00:00:15,370 --> 00:00:19,572 awalnya dikembangkan untuk mengimplementasikan pemrograman web, situs. 7 00:00:19,572 --> 00:00:21,780 Dan dalam video ini kami akan berbicara tentang bagaimana kita 8 00:00:21,780 --> 00:00:23,890 menggunakan PHP dalam konteks pengembangan 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 bahwa website yang dibangun dari satu set tag HTML 11 00:00:29,820 --> 00:00:32,850 bahwa semantik mendefinisikan struktur halaman web. 12 00:00:32,850 --> 00:00:35,910 Tapi website yang dibangun dengan murni HTML 13 00:00:35,910 --> 00:00:39,510 menderita sangat, Keterbatasan yang sangat serius. 14 00:00:39,510 --> 00:00:42,690 >> Dan untuk menggambarkan keterbatasan ini, mari kita pertimbangkan hal berikut. 15 00:00:42,690 --> 00:00:45,665 Jadi sekarang saya ingin membangun sebuah halaman web itu, setiap kali pengguna mengunjungi itu, 16 00:00:45,665 --> 00:00:49,760 itu memberi saya saat ini waktu di Cambridge, Mass., 17 00:00:49,760 --> 00:00:52,620 menampilkan ke menit terakhir. 18 00:00:52,620 --> 00:00:57,910 Jika saya membuat ini sekarang, Aku mungkin mengatakan sesuatu seperti ini. 19 00:00:57,910 --> 00:01:01,330 Waktu saat ini di Cambridge-- jadi saya memiliki Tag HTML, tag kepala, tag judul, 20 00:01:01,330 --> 00:01:04,610 tubuh tags-- saat ini Waktu di Cambridge adalah 14:08, 21 00:01:04,610 --> 00:01:06,690 waktu militer mencetak. 22 00:01:06,690 --> 00:01:11,390 >> Apa yang terjadi jika itu sekarang 02:09, 14:09? 23 00:01:11,390 --> 00:01:16,470 Baik sejauh ini, dengan HTML, saya harus masuk dan mengubahnya ke 14:09. 24 00:01:16,470 --> 00:01:19,390 Dan kemudian satu menit kemudian, Saya harus mengubahnya lagi. 25 00:01:19,390 --> 00:01:22,132 Dan kemudian satu menit kemudian, Saya harus mengubahnya lagi. 26 00:01:22,132 --> 00:01:24,590 Dan seperti yang Anda bayangkan, itu mungkin pekerjaan terburuk yang pernah. 27 00:01:24,590 --> 00:01:29,420 Anda webmaster untuk halaman web, dan setiap menit, 24 jam sehari, 28 00:01:29,420 --> 00:01:35,970 Anda perlu memperbarui waktu saat ini dengan manual membuka time.html dan mengubah 29 00:01:35,970 --> 00:01:41,750 Hanya saja potongan kode untuk mengatakan waktu saat ini dalam jam dan menit. 30 00:01:41,750 --> 00:01:45,850 Itu mungkin tidak sangat baik penggunaan sumber daya kami, 31 00:01:45,850 --> 00:01:48,880 baik manusia dan komputasi. 32 00:01:48,880 --> 00:01:51,297 >> Website yang semua HTML benar-benar statis. 33 00:01:51,297 --> 00:01:53,630 Satu-satunya cara Anda dapat memperbarui konten, seperti yang baru saja kita lihat, 34 00:01:53,630 --> 00:01:56,339 adalah untuk secara manual membuka sumber mereka file, mengedit, dan menyelamatkan mereka. 35 00:01:56,339 --> 00:01:58,088 Dan kemudian ketika pengguna refresh halaman, 36 00:01:58,088 --> 00:02:01,080 atau mengunjungi halaman untuk pertama waktu, mereka akan mendapatkan konten terbaru. 37 00:02:01,080 --> 00:02:03,970 Tapi hanya karena kita sudah manual mengeditnya. 38 00:02:03,970 --> 00:02:07,980 >> Jika kita mulai mencampur beberapa PHP di sana, kode kita bisa mendapatkan jauh lebih fleksibel. 39 00:02:07,980 --> 00:02:11,940 Dan kita bisa memiliki cara untuk halaman kami menjadi dinamis, atau memperbarui diri mereka sendiri, 40 00:02:11,940 --> 00:02:15,360 tanpa memerlukan miskin kami webmaster di contoh sebelumnya 41 00:02:15,360 --> 00:02:16,662 menjadi manual memperbarui hal-hal. 42 00:02:16,662 --> 00:02:17,870 Mereka dapat melakukannya secara otomatis. 43 00:02:17,870 --> 00:02:19,130 Kami tidak perlu campur tangan. 44 00:02:19,130 --> 00:02:20,410 Kita bisa tidur. 45 00:02:20,410 --> 00:02:24,850 Yang mungkin merupakan hal yang baik jika Anda melakukan banyak pemrograman web. 46 00:02:24,850 --> 00:02:28,360 >> Jadi dalam CS50 IDE, kami menjalankan web server yang disebut Apache. 47 00:02:28,360 --> 00:02:35,250 Hal ini sangat umum digunakan, terbuka sistem web server sumber. 48 00:02:35,250 --> 00:02:37,320 Sistem ini memiliki kapasitas untuk menafsirkan 49 00:02:37,320 --> 00:02:41,260 PHP, yang akan berguna jika Anda ingin melakukan pemrograman PHP. 50 00:02:41,260 --> 00:02:45,230 >> Dan di CS50 IDE, kita memiliki perintah untuk membuat ini sangat mudah dilakukan, 51 00:02:45,230 --> 00:02:47,280 apache50 mulai. 52 00:02:47,280 --> 00:02:49,445 Dan kemudian garis miring yang jalan, slash untuk, memangkas 53 00:02:49,445 --> 00:02:53,350 dir, itu hanya cara yang sangat umum menunjukkan apa yang telah Anda tentukan di sini 54 00:02:53,350 --> 00:02:56,510 adalah jalan untuk tertentu direktori yang Anda 55 00:02:56,510 --> 00:03:00,800 ingin menjadi akar situs, atau halaman root, 56 00:03:00,800 --> 00:03:05,430 atau folder yang server web Anda akan mulai untuk memeriksa file dan melayani 57 00:03:05,430 --> 00:03:07,850 mereka ke klien yang meminta mereka. 58 00:03:07,850 --> 00:03:12,110 Jadi mari kita mampir ke CS50 IDE, hanya untuk menunjukkan, benar-benar cepat, bagaimana ini bekerja. 59 00:03:12,110 --> 00:03:30,930 60 00:03:30,930 --> 00:03:36,240 >> Jadi di sini di CS50 IDE, aku di direktori yang disebut Minggu Nol Sembilan. 61 00:03:36,240 --> 00:03:38,890 Dan aku punya two-- saya harus dieksekusi perintah LS hanya 62 00:03:38,890 --> 00:03:41,910 di atas menunjukkan bahwa saya memiliki dua direktori di sini, PHP, 63 00:03:41,910 --> 00:03:46,410 yang merupakan set file yang saya gunakan di sintaks video yang PHP, dan kemudian PHP-web, 64 00:03:46,410 --> 00:03:49,380 yang merupakan set file yang saya ingin menggunakan dalam video ini. 65 00:03:49,380 --> 00:03:53,480 >> Dan saya ingin memulai contoh server web 66 00:03:53,480 --> 00:03:59,089 dengan isi dari folder PHP-web sebagai file sedang disajikan. 67 00:03:59,089 --> 00:04:00,130 Jadi apa yang akan saya lakukan? 68 00:04:00,130 --> 00:04:05,710 Aku akan mengetik ruang apache50 mulai, ruang PHP, dasbor web. 69 00:04:05,710 --> 00:04:08,100 Itu path ke direktori dari tempat saya saat ini berada. 70 00:04:08,100 --> 00:04:09,127 Lalu aku tekan Enter. 71 00:04:09,127 --> 00:04:10,960 Ini akan melakukan sedikit hal di sini. 72 00:04:10,960 --> 00:04:14,030 Dan kemudian itu akan berkata, Apache mulai berhasil. 73 00:04:14,030 --> 00:04:20,689 Situs Anda sekarang tersedia at-- dan kemudian ada URL untuk situs. 74 00:04:20,689 --> 00:04:21,730 Jadi apa yang akan saya lakukan? 75 00:04:21,730 --> 00:04:26,234 Aku akan cepat menyalin ini. 76 00:04:26,234 --> 00:04:28,900 Dan aku akan membuka up-- dan Saya akan tampilannya keluar sedikit di sini- 77 00:04:28,900 --> 00:04:31,570 Aku akan membuka tab baru di Chrome. 78 00:04:31,570 --> 00:04:34,320 Dan aku akan mengunjungi URL itu. 79 00:04:34,320 --> 00:04:35,299 >> Aku akan tekan Enter. 80 00:04:35,299 --> 00:04:36,090 Ini akan memuat. 81 00:04:36,090 --> 00:04:37,510 Dan aku akan tampilannya lagi. 82 00:04:37,510 --> 00:04:41,350 Dan kita bisa lihat di sini adalah isi direktori web PHP saya. 83 00:04:41,350 --> 00:04:45,290 >> Jadi sekarang apa yang terjadi pada dasarnya di sini adalah, misalnya saya CS50 IDE 84 00:04:45,290 --> 00:04:49,620 adalah melayani sampai file-file ini ke siapa saja yang meminta mereka. 85 00:04:49,620 --> 00:04:51,620 Dan selama video ini, kita akan mengurutkan dari 86 00:04:51,620 --> 00:04:55,400 lihatlah sekelompok ini file yang berbeda dalam konteks. 87 00:04:55,400 --> 00:04:57,614 >> Untuk menguji bahwa Apache Anda server bekerja, 88 00:04:57,614 --> 00:04:59,780 yang umumnya akan menjadi kasus di CS50 IDE, 89 00:04:59,780 --> 00:05:02,696 tetapi jika Anda melakukan ini lebih umum, dan Anda mulai membangun web Anda sendiri 90 00:05:02,696 --> 00:05:04,990 server, ada yang benar-benar semacam umum analog ke, 91 00:05:04,990 --> 00:05:08,500 "halo dunia," yang biasanya digunakan untuk pengembangan PHP web. 92 00:05:08,500 --> 00:05:12,855 Yang memiliki file yang terdiri dari hanya code-- ini 93 00:05:12,855 --> 00:05:18,247 pembatas PHP diatur dengan info PHP, kurung, titik koma di antara. 94 00:05:18,247 --> 00:05:20,580 Yang pada dasarnya merupakan khusus Fungsi PHP yang memberitahu Anda 95 00:05:20,580 --> 00:05:23,970 apa versi PHP yang Anda jalankan. 96 00:05:23,970 --> 00:05:26,850 >> Jadi dalam CS50 IDE, saya punya file yang tersedia hanya 97 00:05:26,850 --> 00:05:28,680 untuk menunjukkan apa ini akan terlihat seperti. 98 00:05:28,680 --> 00:05:32,860 Jadi aku melihat indeks saya dari contoh PHP saya. 99 00:05:32,860 --> 00:05:35,870 Saya misalnya Apache berjalan isi PHP-Web. 100 00:05:35,870 --> 00:05:39,290 Dan aku punya file di sini disebut info.php. 101 00:05:39,290 --> 00:05:41,164 >> Aku akan klik, zoom out. 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 mengatakan bahwa server Apache saya bekerja. 104 00:05:45,729 --> 00:05:48,270 Dan ini, tampaknya, versi PHP yang saya sedang menjalankan. 105 00:05:48,270 --> 00:05:51,590 Ini adalah analog saya untuk "hello world." 106 00:05:51,590 --> 00:05:53,070 >> Jadi saya tahu hal-hal yang operasional. 107 00:05:53,070 --> 00:05:54,150 Jadi kita baik untuk pergi. 108 00:05:54,150 --> 00:05:55,730 Kita bisa melanjutkan dari sini. 109 00:05:55,730 --> 00:05:57,790 >> Jadi mari kita kembali bahwa Misalnya waktu kita 110 00:05:57,790 --> 00:06:01,950 berbicara tentang dengan webmaster kami miskin yang harus memperbarui halaman terus-menerus. 111 00:06:01,950 --> 00:06:05,020 Ini mungkin untuk memperbaiki bagaimana Saya akan menerapkan hal-hal 112 00:06:05,020 --> 00:06:08,080 sehingga webmaster tidak harus terus mengupdate waktu. 113 00:06:08,080 --> 00:06:10,270 Hanya itu akan semacam terjadi secara otomatis. 114 00:06:10,270 --> 00:06:13,710 >> Menuruni bawah, HTML, itu sangat mirip, dengan satu pengecualian. 115 00:06:13,710 --> 00:06:16,720 Tapi di sini saya punya beberapa PHP di atas. 116 00:06:16,720 --> 00:06:19,940 Saya telah, tampaknya, yang disebut ini fungsi date_default_timezone_set. 117 00:06:19,940 --> 00:06:22,106 >> Dan kita tidak berbicara tentang semua fungsi-fungsi ini di CS50, 118 00:06:22,106 --> 00:06:24,670 karena PHP memiliki mungkin puluhan ribu. 119 00:06:24,670 --> 00:06:27,540 Yang mungkin sedikit berlebihan, tapi tidak mungkin. 120 00:06:27,540 --> 00:06:29,490 Itu punya banyak fungsi built in. 121 00:06:29,490 --> 00:06:33,290 Dan jadi ini adalah fungsi rupanya menetapkan zona waktu saya sebagai US / Timur, 122 00:06:33,290 --> 00:06:36,320 yang merupakan zona waktu yang aku Saat ini dalam membuat video ini. 123 00:06:36,320 --> 00:06:38,430 >> Lalu aku membuat panggilan ke fungsi yang disebut, tanggal. 124 00:06:38,430 --> 00:06:43,850 Dan, tampaknya, aku menyimpan HIS dari sesuatu yang disebut, waktu. 125 00:06:43,850 --> 00:06:45,320 Jadi apa yang terjadi di sini? 126 00:06:45,320 --> 00:06:48,040 >> Nah, pada dasarnya apa terjadi adalah, saya membuat panggilan 127 00:06:48,040 --> 00:06:51,650 beberapa server yang akan ceritakan apa waktu saat ini. 128 00:06:51,650 --> 00:06:56,150 Dan aku mengubahnya menjadi format jam, menit, detik. 129 00:06:56,150 --> 00:07:00,540 Dan alasan itu modal H adalah ini akan memberikan waktu 24 jam, tidak 12 130 00:07:00,540 --> 00:07:02,362 waktu jam, yang akan huruf kecil h. 131 00:07:02,362 --> 00:07:04,570 Dan aku hanya menyimpan yang dalam variabel yang disebut, waktu. 132 00:07:04,570 --> 00:07:07,028 Sehingga baris kedua dari PHP ada, panggilan ke fungsi, 133 00:07:07,028 --> 00:07:09,037 tanggal, hanya mendapatkan beberapa string, yang merupakan 134 00:07:09,037 --> 00:07:12,120 akan memberikan tanggal, dan waktu, dan sekelompok informasi lainnya. 135 00:07:12,120 --> 00:07:16,480 Dan argumen pertama di sana, yang HIS, hanya mengekstraksi bagian penting 136 00:07:16,480 --> 00:07:20,614 yang saya peduli untuk contoh ini, yang merupakan jam, menit, dan detik. 137 00:07:20,614 --> 00:07:22,030 Jadi itulah semua yang terjadi. 138 00:07:22,030 --> 00:07:23,562 Jadi saya menyimpan bahwa dalam variabel $ waktu. 139 00:07:23,562 --> 00:07:25,270 Dan kemudian turun di paling bawah sana, aku 140 00:07:25,270 --> 00:07:28,980 memiliki yang singkat untuk waktu saat mencetak. 141 00:07:28,980 --> 00:07:32,050 Jadi aku hanya akan mencetak apa waktu saat ini. 142 00:07:32,050 --> 00:07:37,220 >> Jadi mari kita lihat ini di CS50 IDE dan melihat bagaimana kami sekarang 143 00:07:37,220 --> 00:07:40,002 menyimpan webmaster yang banyak masalah. 144 00:07:40,002 --> 00:07:42,570 Baiklah, jadi di sinilah aku lagi kembali di direktori root 145 00:07:42,570 --> 00:07:45,040 dari contoh Apache saya. 146 00:07:45,040 --> 00:07:51,585 Dan aku punya file di sini disebut time.php. 147 00:07:51,585 --> 00:07:53,559 Aku hanya akan klik itu. 148 00:07:53,559 --> 00:07:55,850 Dan aku akan gulir ke atas, karena kita diperbesar cukup jauh. 149 00:07:55,850 --> 00:07:57,257 Waktu saat ini 14:20:34. 150 00:07:57,257 --> 00:07:59,090 Jadi aku melakukannya jam, menit, dan detik. 151 00:07:59,090 --> 00:08:01,910 Dan aku bisa me-refresh Halaman dan mendapatkan waktu baru. 152 00:08:01,910 --> 00:08:02,420 --41. 153 00:08:02,420 --> 00:08:07,240 Aku akan me-refresh halaman dan mendapatkan waktu baru, 44, 46, 47. 154 00:08:07,240 --> 00:08:10,490 >> Jadi, saya jelas tidak mengubah apa-apa sendiri. 155 00:08:10,490 --> 00:08:11,720 Saya disini menyegarkan halaman. 156 00:08:11,720 --> 00:08:13,711 Jadi saya tidak bisa kembali ke sana menyuntingnya. 157 00:08:13,711 --> 00:08:15,710 Dan saya berjanji, saya tidak memiliki sekutu 158 00:08:15,710 --> 00:08:18,230 yang mengedit file atas nama saya di samping. 159 00:08:18,230 --> 00:08:21,260 >> Aku hanya menggunakan fungsi PHP, waktu, untuk menghasilkan waktu bagi saya 160 00:08:21,260 --> 00:08:22,340 secara otomatis. 161 00:08:22,340 --> 00:08:24,800 Sehingga bahkan jika aku tertidur, dan server web saya berjalan, 162 00:08:24,800 --> 00:08:28,884 pengguna yang mengunjungi halaman masih akan mendapatkan waktu yang tepat saat ini. 163 00:08:28,884 --> 00:08:29,800 Jadi itu cukup bagus. 164 00:08:29,800 --> 00:08:33,609 Saya telah membuat situs saya lebih dinamis dengan tidak terlalu banyak kode PHP. 165 00:08:33,609 --> 00:08:36,650 Itu hanya dua baris kode dan kemudian sedikit pernyataan cetak. 166 00:08:36,650 --> 00:08:38,441 Dan sudah saya memiliki Situs jauh lebih dinamis 167 00:08:38,441 --> 00:08:42,750 Selain itu contoh pertama yang kita lihat pada awal video. 168 00:08:42,750 --> 00:08:46,660 >> Jadi, ingat dari video di sintaks PHP bahwa ketika interpreter PHP berjalan 169 00:08:46,660 --> 00:08:50,000 program kami, mengabaikan segala sesuatu itu bukan dalam pembatas PHP, 170 00:08:50,000 --> 00:08:51,500 meludahkannya. 171 00:08:51,500 --> 00:08:54,410 Dalam contoh itu, apa hal yang bahwa itu menyemburkan adalah HTML. 172 00:08:54,410 --> 00:08:58,080 Dan ini berarti saya dapat sekarang menyelingi HTML dan PHP bersama-sama. 173 00:08:58,080 --> 00:09:01,920 Karena penafsir hanya akan mengabaikan HTML dan harfiah output. 174 00:09:01,920 --> 00:09:04,140 Yang baik, kan? 175 00:09:04,140 --> 00:09:06,100 >> Karena mungkin, pada akhir hari, 176 00:09:06,100 --> 00:09:08,360 Saya ingin situs saya ke dibangun dari HTML. 177 00:09:08,360 --> 00:09:12,880 Sehingga browser web dapat menginterpretasikan itu, atau memahami HTML pada halaman 178 00:09:12,880 --> 00:09:17,270 dan membuat itu sebagai sesuatu yang kita benar-benar dapat memahami sebagai manusia. 179 00:09:17,270 --> 00:09:19,430 Dan saya hanya bisa menggunakan PHP untuk bagian-bagian dari situs saya 180 00:09:19,430 --> 00:09:23,390 memerlukan dinamisme, yang mengharuskan saya untuk memiliki hal-hal yang memperbarui terus-menerus. 181 00:09:23,390 --> 00:09:26,630 Informasi statis dapat tetap sama. 182 00:09:26,630 --> 00:09:27,540 >> OK, jadi itu baik-baik saja. 183 00:09:27,540 --> 00:09:28,540 Tapi mengapa saya melakukan ini? 184 00:09:28,540 --> 00:09:30,400 Mengapa saya mencampur HTML dan PHP? 185 00:09:30,400 --> 00:09:33,850 Aku hanya bisa mencetak semua HTML, menggunakan fungsi PHP cetak. 186 00:09:33,850 --> 00:09:35,870 Mengapa saya tidak melakukan hal itu? 187 00:09:35,870 --> 00:09:37,100 Pikirkan tentang hal ini untuk kedua. 188 00:09:37,100 --> 00:09:41,220 >> Mengapa, ketika aku hanya bisa mencetak out-- Saya bisa memiliki garis PHP yang hanya mengatakan, 189 00:09:41,220 --> 00:09:43,841 cetak tag HTML, print head. 190 00:09:43,841 --> 00:09:44,840 Mengapa saya tidak melakukan hal itu? 191 00:09:44,840 --> 00:09:48,230 Mengapa saya mencampur PHP dan HTML? 192 00:09:48,230 --> 00:09:50,080 >> Nah, jika Anda berpikir tentang hal itu untuk kedua. 193 00:09:50,080 --> 00:09:52,824 PHP, penafsir memiliki untuk menafsirkan apa yang dilihatnya. 194 00:09:52,824 --> 00:09:54,990 Dan itu akan memiliki untuk mengeksekusi baris kode. 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 judul terbuka. 198 00:09:58,969 --> 00:10:00,760 Ini akan harus mengeksekusi dan menafsirkan 199 00:10:00,760 --> 00:10:02,671 bahwa setiap langkah dari jalan. 200 00:10:02,671 --> 00:10:04,670 Mengapa tidak hanya membiarkan interpreter hanya mengabaikan 201 00:10:04,670 --> 00:10:06,878 hal itu tidak mengerti dan melakukannya secara otomatis? 202 00:10:06,878 --> 00:10:11,365 Ini akan menghemat banyak waktu untuk mencampur HTML dan PHP saya bersama-sama. 203 00:10:11,365 --> 00:10:16,220 >> Dan jadi itu sebabnya kita tidak hanya memiliki pembatas PHP terbuka 204 00:10:16,220 --> 00:10:19,450 dan kemudian hanya mencetak seluruh yang isi halaman kami sebagai salah satu raksasa PHP 205 00:10:19,450 --> 00:10:24,330 panggilan untuk fungsi, Print, dan kemudian dekat PHP pembatas dan kami sudah selesai. 206 00:10:24,330 --> 00:10:27,620 Jadi itu sebabnya kita mencampur mereka bersama-sama. 207 00:10:27,620 --> 00:10:32,345 >> Sejauh ini, kami belum melihat terlalu banyak perbedaan dari sintaks PHP umum. 208 00:10:32,345 --> 00:10:33,720 Sudah cukup sederhana. 209 00:10:33,720 --> 00:10:35,553 Kami sudah melihat tanda tanya, sama. 210 00:10:35,553 --> 00:10:39,012 Kami melihat beberapa fungsi panggilan baru, tapi tidak ada yang benar-benar mewah terjadi. 211 00:10:39,012 --> 00:10:40,720 Mari kita mungkin membuat hal-hal sedikit lebih menarik. 212 00:10:40,720 --> 00:10:44,360 Bagaimana jika kita ingin menyampaikan informasi antara file PHP yang berbeda, 213 00:10:44,360 --> 00:10:47,280 sehingga mungkin pengguna bisa mengirimkan informasi kepada saya. 214 00:10:47,280 --> 00:10:50,230 Dan kemudian aku bisa melakukan sesuatu dengan itu di halaman lain. 215 00:10:50,230 --> 00:10:52,990 >> Jadi PHP memiliki dukungan untuk sesuatu yang disebut Super global 216 00:10:52,990 --> 00:10:55,297 Variabel, yang terdengar cukup mengagumkan. 217 00:10:55,297 --> 00:10:57,130 Mereka benar-benar hanya array asosiatif raksasa 218 00:10:57,130 --> 00:10:59,900 yang membantu menerapkan ini fungsi lewat 219 00:10:59,900 --> 00:11:05,010 informasi antara file PHP yang yang ada di server web kami. 220 00:11:05,010 --> 00:11:07,760 >> Pertama super ini GLOBALS disebut $ _GET. 221 00:11:07,760 --> 00:11:10,140 Dan itu mungkin paling sederhana untuk memahami. 222 00:11:10,140 --> 00:11:12,430 Apa yang terjadi dengan $ _GET? 223 00:11:12,430 --> 00:11:16,240 Nah, pada dasarnya, pengguna adalah akan mengetik informasi 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 pun yang mereka ketik, dengan asumsi itu diformat dengan cara tertentu 226 00:11:21,460 --> 00:11:25,830 disebut query string, yang hanya satu set pasangan nilai kunci dipisahkan 227 00:11:25,830 --> 00:11:27,810 oleh ampersands. 228 00:11:27,810 --> 00:11:32,362 Mereka pasangan nilai kunci akan disimpan dalam $ _GET array asosiatif. 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 bekerja dengan array asosiatif sudah. 231 00:11:40,080 --> 00:11:44,090 Jadi di sini adalah contoh dari beberapa PHP, di mana mungkin aku 232 00:11:44,090 --> 00:11:50,180 penggalian semua pasangan nilai kunci bahwa pengguna disediakan dalam URL. 233 00:11:50,180 --> 00:11:51,970 Jadi saya memiliki pembatas PHP Terbuka saya. 234 00:11:51,970 --> 00:11:53,410 Saya memiliki loop foreach. 235 00:11:53,410 --> 00:11:57,410 Saya iterasi di Super Array global yang disebut $ _GET. 236 00:11:57,410 --> 00:12:00,160 >> Dan saya ingin dapat merujuk untuk kedua kunci dan nilai. 237 00:12:00,160 --> 00:12:02,410 Dan aku hanya mencetak mereka keluar, masing-masing pada rupanya 238 00:12:02,410 --> 00:12:03,780 tag ayat sendiri di sini. 239 00:12:03,780 --> 00:12:07,620 Saya mencetak beberapa HTML dan interpolasi nilai-nilai 240 00:12:07,620 --> 00:12:12,900 kunci dan nilai dalam pernyataan itu. 241 00:12:12,900 --> 00:12:16,980 >> Jadi mari kita lihat bagaimana ini akan benar-benar 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 GET benar-benar melakukan. 244 00:12:21,880 --> 00:12:23,610 Jadi aku kembali ke sini di akar web saya. 245 00:12:23,610 --> 00:12:25,318 Dan aku akan tampilannya dalam sedikit menunjukkan 246 00:12:25,318 --> 00:12:28,620 bahwa saya memiliki sebuah file yang bernama, get1.php. 247 00:12:28,620 --> 00:12:31,830 >> Jadi mari kita klik get1.php. 248 00:12:31,830 --> 00:12:36,600 Dan aku tidak melihat konten apapun. 249 00:12:36,600 --> 00:12:38,390 Itu aneh, kan? 250 00:12:38,390 --> 00:12:39,740 Nah, tidak benar-benar benar-benar. 251 00:12:39,740 --> 00:12:42,030 Karena saya tidak menyediakan apa pun di URL. 252 00:12:42,030 --> 00:12:46,270 Aku akan get1.php, tapi aku tidak menyediakan setiap pasangan nilai kunci 253 00:12:46,270 --> 00:12:47,450 sebagai bagian dari string kueri saya. 254 00:12:47,450 --> 00:12:50,510 Jadi mari kita menambahkan query string dan melihat apa file ini dapat melakukan. 255 00:12:50,510 --> 00:12:53,040 >> Untuk memulai query string Anda ketik tanda tanya. 256 00:12:53,040 --> 00:13:00,820 Lalu mungkin aku akan mengatakan nama = 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 terjadi. 259 00:13:04,080 --> 00:13:05,480 Aku masih di get1.php. 260 00:13:05,480 --> 00:13:08,445 Tapi sekarang aku sudah disediakan pasangan nilai kunci, dan aku 261 00:13:08,445 --> 00:13:14,940 mencetak mereka sendiri Nama paragraph--, tahun Doug--, 2015. 262 00:13:14,940 --> 00:13:17,970 Itulah kode kita hanya melihat pada slide saat yang lalu. 263 00:13:17,970 --> 00:13:22,290 >> Dan jika saya ingin mungkin menambah Pasangan nilai kunci, & class = CS50. 264 00:13:22,290 --> 00:13:25,325 265 00:13:25,325 --> 00:13:27,580 Sekarang saya memiliki nilai kunci lain Pasangan yang dicetak 266 00:13:27,580 --> 00:13:30,025 ketika aku kembali URL lagi. 267 00:13:30,025 --> 00:13:31,900 Sekarang mungkin ini bukan diformat sangat baik. 268 00:13:31,900 --> 00:13:33,660 Jadi saya memiliki versi lain get.php. 269 00:13:33,660 --> 00:13:36,350 Ini get2.php. 270 00:13:36,350 --> 00:13:39,070 >> Perbedaan ini satu adalah saya memiliki file CSS, 271 00:13:39,070 --> 00:13:41,690 dan format hal-hal yang sedikit lebih baik bagi saya. 272 00:13:41,690 --> 00:13:43,940 Hal ini mungkin bukan yang paling CSS indah di dunia. 273 00:13:43,940 --> 00:13:45,650 Tapi itu hanya cara lain untuk melakukannya. 274 00:13:45,650 --> 00:13:52,840 Jadi saya masih bisa mendapatkan akses variabel saya menggunakan $ _GET. 275 00:13:52,840 --> 00:13:56,610 Dan dalam hal ini, aku hanya jenis membuat CSS sedikit lebih mewah. 276 00:13:56,610 --> 00:13:58,360 Dan jika kita mampir ke IDE saya untuk kedua, 277 00:13:58,360 --> 00:14:06,870 Aku akan menunjukkan kepada Anda di web PHP saya direktori di 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 Rupanya aku menghubungkan dalam File CSS yang saya bicarakan. 280 00:14:13,220 --> 00:14:14,570 Aku membuka tag tabel. 281 00:14:14,570 --> 00:14:15,970 Dan kemudian inilah foreach loop saya. 282 00:14:15,970 --> 00:14:18,450 >> Di sini adalah bahwa, apa yang saya menunjukkan pada slide sebelumnya. 283 00:14:18,450 --> 00:14:21,007 Satu-satunya perbedaan adalah saya memiliki kunci ini dan nilai CSS 284 00:14:21,007 --> 00:14:22,340 styling bahwa aku menerapkan untuk itu. 285 00:14:22,340 --> 00:14:25,622 Tapi itu semua saya lakukan, adalah aku iterasi di $ _GET untuk mendapatkan semua 286 00:14:25,622 --> 00:14:26,580 dari pasangan nilai kunci. 287 00:14:26,580 --> 00:14:28,890 >> Dan aku mencetak mereka keluar sebagai meja. 288 00:14:28,890 --> 00:14:33,230 Dan, tampaknya, aku format kunci dalam satu cara, dengan td class = "kunci" <. 289 00:14:33,230 --> 00:14:40,057 Begitu rupanya yang berlaku untuk beberapa pemilih kelas dalam saya file CSS GET.CSS. 290 00:14:40,057 --> 00:14:42,890 Dan, tampaknya, aku mencetak nilai-nilai saya cara yang sama sekali berbeda. 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 yang dicetak dengan latar belakang biru, 293 00:14:47,710 --> 00:14:49,969 dan kunci kami dicetak dengan latar belakang kuning. 294 00:14:49,969 --> 00:14:52,010 Jadi itulah bagaimana saya mendapatkan mereka gaya yang berbeda. 295 00:14:52,010 --> 00:14:54,054 Karena saya menggunakan CSS kelas yang berbeda. 296 00:14:54,054 --> 00:14:55,470 Tapi itu cukup banyak itu untuk GET. 297 00:14:55,470 --> 00:14:58,380 Seperti Aku hanya penggalian informasi. 298 00:14:58,380 --> 00:15:01,000 Dan dalam hal ini, aku hanya mencetaknya ke layar. 299 00:15:01,000 --> 00:15:04,310 Aku mulai keluar dari URL, dan itulah yang GET lakukan bagi kita. 300 00:15:04,310 --> 00:15:06,470 >> Apakah Anda melihat kemungkinan masalah di sini meskipun? 301 00:15:06,470 --> 00:15:11,720 Mengapa kita mungkin tidak ingin menggunakan $ _GET? 302 00:15:11,720 --> 00:15:15,440 Bagaimana jika, mungkin, saya sedang membuat query ini? 303 00:15:15,440 --> 00:15:18,000 get3.php -to, yang saya tidak memiliki pada IDE saya. 304 00:15:18,000 --> 00:15:19,640 Ini hanya file hipotetis. 305 00:15:19,640 --> 00:15:22,187 Tapi perhatikan di sini bahwa ternyata lewat kata sandi di. 306 00:15:22,187 --> 00:15:23,770 Dan mungkin sandi saya adalah memalukan. 307 00:15:23,770 --> 00:15:28,070 Atau mungkin aku tidak ingin orang-orang tahu apa password saya adalah, benar. 308 00:15:28,070 --> 00:15:33,140 >> Jika saya lewat itu though-- jika saya menggunakan metode $ _GET, apa yang terjadi adalah, 309 00:15:33,140 --> 00:15:34,970 yang akan berada di URL. 310 00:15:34,970 --> 00:15:39,890 Sehingga beberapa pengguna mungkin berbahaya dapat melihat apa yang saya lakukan. 311 00:15:39,890 --> 00:15:42,040 Saya dapat melewati mereka informasi sensitif. 312 00:15:42,040 --> 00:15:43,310 Atau mungkin bahkan tidak pengguna berbahaya. 313 00:15:43,310 --> 00:15:45,790 Mungkin hanya teman Anda yang berdiri di atas bahu Anda. 314 00:15:45,790 --> 00:15:47,650 Dan sekarang mereka tahu password ke akun Facebook Anda. 315 00:15:47,650 --> 00:15:49,483 >> Dan mungkin mereka tidak akan melakukan apa-apa dengan itu. 316 00:15:49,483 --> 00:15:53,749 Tetapi jika Anda berada sandi disampaikan melalui $ _GET ke Facebook, 317 00:15:53,749 --> 00:15:55,290 sekarang mereka tahu password Facebook Anda. 318 00:15:55,290 --> 00:15:59,000 Karena itu ada di sana dalam URL ketika Anda telah melakukan mengirimkan informasi. 319 00:15:59,000 --> 00:16:01,887 >> Dan mungkin itu bukan yang terbaik cara untuk menyampaikan informasi sensitif. 320 00:16:01,887 --> 00:16:04,470 Ini adalah cara yang baik untuk menyampaikan informasi yang kita lakukan tidak terlalu 321 00:16:04,470 --> 00:16:05,886 peduli sebagai terlalu sensitif. 322 00:16:05,886 --> 00:16:09,347 Karena GET cukup cepat, relatif terhadap GLOBALS super lain 323 00:16:09,347 --> 00:16:10,430 kita akan berbicara tentang. 324 00:16:10,430 --> 00:16:13,330 Tapi mungkin bukan alat terbaik untuk informasi sensitif. 325 00:16:13,330 --> 00:16:15,990 >> Untuk itu kita mungkin ingin menggunakan sesuatu yang disebut $ _POST, 326 00:16:15,990 --> 00:16:18,560 yang lain Variabel super global. 327 00:16:18,560 --> 00:16:20,750 Ini array asosiatif lain. 328 00:16:20,750 --> 00:16:23,240 Sehingga bekerja cukup banyak persis sama dengan GET. 329 00:16:23,240 --> 00:16:26,850 Kecuali, bukannya penggalian informasi dari URL, 330 00:16:26,850 --> 00:16:29,870 itu melakukan sesuatu melalui header HTTP. 331 00:16:29,870 --> 00:16:32,080 Jadi ingat dari kami video pada HTTP, kita berbicara 332 00:16:32,080 --> 00:16:34,850 tentang bagaimana browser, server, dan klien berkomunikasi. 333 00:16:34,850 --> 00:16:38,070 Dan informasi dilewatkan kembali dan sebagainya di header HTTP. 334 00:16:38,070 --> 00:16:43,330 >> Dengan $ _POST, informasi biasanya dikirim melalui orang header HTTP. 335 00:16:43,330 --> 00:16:49,770 Dan kami akan paling sering melihat $ _POST di konteks mengirimkan formulir HTML. 336 00:16:49,770 --> 00:16:52,390 Anda masih dapat menggunakan bentuk HTML untuk menyerahkan hal yang dapat GET. 337 00:16:52,390 --> 00:16:56,120 Tapi mereka biasanya digunakan dalam konteks POST. 338 00:16:56,120 --> 00:17:00,280 >> Jadi di sini adalah contoh bentuk HTML. 339 00:17:00,280 --> 00:17:06,750 Sekarang kita telah melihat ini sebelumnya, tapi kami memiliki tidak melihat ini bagian, action = "post.php". 340 00:17:06,750 --> 00:17:10,756 Jadi ketika kita berbicara tentang bentuk dalam konteks HTML, saya memiliki tombol Submit. 341 00:17:10,756 --> 00:17:13,630 Dan jika Anda ingat, aku akan klik Submit dan kemudian halaman hanya refresh, 342 00:17:13,630 --> 00:17:14,660 tidak melakukan apa-apa. 343 00:17:14,660 --> 00:17:18,250 >> Dalam hal ini, saya mengirimkan apa pun yang saya ketik di formulir ini, 344 00:17:18,250 --> 00:17:20,750 ke sebuah file PHP bernama post.php. 345 00:17:20,750 --> 00:17:25,810 Dan, tampaknya, cara saya melakukan itu dalam bentuk ini menggunakan metode POST. 346 00:17:25,810 --> 00:17:29,040 Jadi setiap informasi yang saya ketik ke dalam formulir ini 347 00:17:29,040 --> 00:17:31,470 akan diserahkan melalui header HTTP. 348 00:17:31,470 --> 00:17:36,440 >> Ini akan dapat diakses di post.php, karena itulah aksi formulir saya. 349 00:17:36,440 --> 00:17:39,811 Ini akan dapat diakses dengan pergi ke $ _POST. 350 00:17:39,811 --> 00:17:42,310 Dan ternyata, cara yang saya dapat dapatkan di setiap elemen individu 351 00:17:42,310 --> 00:17:44,765 dengan array asosiatif adalah dengan atribut ini, 352 00:17:44,765 --> 00:17:48,130 Nama atribut tag masukan kami. 353 00:17:48,130 --> 00:17:53,540 >> Begitu rupanya bisa saya katakan $ _POST persegi kurung nama untuk mendapatkan apa pun pengguna 354 00:17:53,540 --> 00:17:55,440 diketik di bidang pertama. 355 00:17:55,440 --> 00:18:01,030 Dan $ _POST password, dari pw lebih, untuk mendapatkan apa pun pengguna mengetik 356 00:18:01,030 --> 00:18:03,650 di bidang kedua. 357 00:18:03,650 --> 00:18:06,414 >> Jadi mari kita lihat lebih ini di CS50 IDE. 358 00:18:06,414 --> 00:18:08,330 Jadi di sini kita, dan aku akan memperbesar untuk kedua. 359 00:18:08,330 --> 00:18:12,380 Dan kami memiliki sebuah file bernama 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 bagian paling atas di sini saya memiliki bentuk web yang sangat sederhana. 362 00:18:16,300 --> 00:18:18,750 Ini bentuk kita hanya melihat pada slide kedua lalu. 363 00:18:18,750 --> 00:18:25,610 >> Saya bisa mengetik, Doug, dan aku bisa ketik kata sandi, yang kita semua 364 00:18:25,610 --> 00:18:27,340 tahu adalah squadgoals. 365 00:18:27,340 --> 00:18:30,100 Dan aku akan memukul Submit. 366 00:18:30,100 --> 00:18:32,290 Dan ternyata, yang tunduk kepada post.php. 367 00:18:32,290 --> 00:18:33,810 Dan aku rupanya mencetak itu. 368 00:18:33,810 --> 00:18:36,490 Jadi aku menyingkirkan semua keamanan yang POST memberi saya dengan hanya mencetak 369 00:18:36,490 --> 00:18:37,720 username dan password. 370 00:18:37,720 --> 00:18:38,960 >> Nama pengguna adalah Doug. 371 00:18:38,960 --> 00:18:40,810 Password user adalah squadgoals. 372 00:18:40,810 --> 00:18:42,480 Bagaimana saya melakukan ini? 373 00:18:42,480 --> 00:18:44,800 Nah, mampir ke IDE lagi untuk kedua. 374 00:18:44,800 --> 00:18:51,340 Kami akan gulir ke bawah untuk mengambil lihat post.php, yang 375 00:18:51,340 --> 00:18:54,040 tindakan yang saya gunakan untuk mengirimkan 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 saya lakukan. 378 00:18:56,780 --> 00:19:01,370 Nama pengguna adalah, dan aku cetak keluar isi dari $ _POST "nama". 379 00:19:01,370 --> 00:19:04,660 Dan kemudian password user adalah $ _POST "password". 380 00:19:04,660 --> 00:19:08,920 Jadi saya diberi informasi yang dengan mengirimkan formulir HTML. 381 00:19:08,920 --> 00:19:13,790 Dan sekarang saya bisa ekstrak menggunakan $ _POST karena metode yang saya digunakan untuk mengirimkan 382 00:19:13,790 --> 00:19:17,470 data dengan bentuk yang adalah metode POST. 383 00:19:17,470 --> 00:19:20,640 >> Sekarang itu mungkin tidak jadi besar-aku akan 384 00:19:20,640 --> 00:19:24,510 untuk kembali untuk kedua untuk set di sini-kami 385 00:19:24,510 --> 00:19:30,120 itu mungkin tidak begitu besar jika saya mengirimkan informasi dengan POST, 386 00:19:30,120 --> 00:19:32,532 yang seolah-olah lebih aman. 387 00:19:32,532 --> 00:19:34,740 Ini mungkin tidak begitu besar jika saya melakukan itu dan kemudian 388 00:19:34,740 --> 00:19:36,470 mencetak password pengguna. 389 00:19:36,470 --> 00:19:38,540 Ini seharusnya menjadi lebih aman. 390 00:19:38,540 --> 00:19:40,870 >> OK, tapi itu tidak sepenuhnya aman. 391 00:19:40,870 --> 00:19:42,910 Dan dalam hal ini sedikit snippet di sini saya ingin 392 00:19:42,910 --> 00:19:46,410 hanya menarik perhatian Anda untuk beberapa masalah keamanan data, hanya sesuatu 393 00:19:46,410 --> 00:19:51,200 untuk berpikir tentang Anda sebagai bekerja atau menggunakan internet. 394 00:19:51,200 --> 00:19:53,890 Ini hanya sesuatu yang perlu dipertimbangkan. 395 00:19:53,890 --> 00:19:57,980 >> Saya mengatakan kepada Anda bahwa informasi adalah disampaikan melalui header HTTP 396 00:19:57,980 --> 00:19:59,724 ketika Anda menggunakan metode POST. 397 00:19:59,724 --> 00:20:01,390 Yang berarti mereka tidak sepenuhnya aman. 398 00:20:01,390 --> 00:20:05,610 Mereka sulit untuk menemukan daripada menggunakan metode GET, di mana 399 00:20:05,610 --> 00:20:06,882 itu tepat dalam URL. 400 00:20:06,882 --> 00:20:08,340 Tapi masih ada cara untuk menemukannya. 401 00:20:08,340 --> 00:20:10,423 Dan aku hanya ingin menunjukkan Anda ini sehingga Anda mungkin 402 00:20:10,423 --> 00:20:12,940 mulai berpikir tentang hal ini sebagai Anda bekerja, atau menggunakan 403 00:20:12,940 --> 00:20:14,560 website dan mengirimkan password, dan mungkin menggunakan 404 00:20:14,560 --> 00:20:16,518 password yang sama dalam banyak tempat yang berbeda. 405 00:20:16,518 --> 00:20:22,060 Tahu bahwa masih sebenarnya cukup mudah untuk mengetahui password seseorang. 406 00:20:22,060 --> 00:20:25,190 >> Dan jadi di sini, aku akan untuk pergi ke post2.html. 407 00:20:25,190 --> 00:20:28,850 Dan perbedaan dengan post2.html dan post2.php cukup halus. 408 00:20:28,850 --> 00:20:31,420 Perbedaannya hanya bahwa saya tidak mencetak 409 00:20:31,420 --> 00:20:33,520 password ketika saya mengirimkan formulir. 410 00:20:33,520 --> 00:20:35,260 >> Jadi saya akan mengetikkan, Doug. 411 00:20:35,260 --> 00:20:38,365 Dan aku akan mengetik di, squadgoals, bahkan 412 00:20:38,365 --> 00:20:40,770 meskipun kita tahu itu password. 413 00:20:40,770 --> 00:20:42,540 Sebelum saya menyampaikan membentuk meskipun, aku akan 414 00:20:42,540 --> 00:20:45,864 untuk membuka Developer Tools, hanya untuk menunjukkan apa yang akan terjadi di sini. 415 00:20:45,864 --> 00:20:47,530 Jadi di Chrome, aku hanya akan memukul 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 pengembang di sisi kanan. 418 00:20:57,230 --> 00:20:59,480 Saya belum menyerahkan formulir belum. 419 00:20:59,480 --> 00:21:02,680 Sekarang aku akan memukul Kirim pada formulir saya. 420 00:21:02,680 --> 00:21:05,370 Dan rupanya, aku 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 Aku akan klik itu. 423 00:21:10,040 --> 00:21:13,802 >> Kemudian di sini, aku akan klik pada Header. 424 00:21:13,802 --> 00:21:15,410 Ada banyak hal yang terjadi di sini. 425 00:21:15,410 --> 00:21:21,310 Tetapi jika saya gulir ke bawah ke yang sangat bawah, pemberitahuan hak there-- kalender saya 426 00:21:21,310 --> 00:21:25,180 telah diblokir untuk hak second-- ada di sudut paling bawah, 427 00:21:25,180 --> 00:21:27,386 name-- Doug, squadgoals pw--. 428 00:21:27,386 --> 00:21:30,010 Jadi meskipun saya menggunakan POST Metode, yang lebih aman, 429 00:21:30,010 --> 00:21:33,570 hanya akan menyadari bahwa ketika Anda melakukannya, Anda masih transmisi informasi 430 00:21:33,570 --> 00:21:34,430 melalui HTTP. 431 00:21:34,430 --> 00:21:36,770 Dan masih bisa ditemukan oleh musuh. 432 00:21:36,770 --> 00:21:39,270 Ini hanya sesuatu yang kita akan harus berhadapan dengan benar. 433 00:21:39,270 --> 00:21:41,980 Mungkin ada beberapa cara untuk mengenkripsi kami password sebelum kami mengirim 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 >> Tapi hanya akan menyadari bahwa POST metode memiliki keterbatasan juga. 436 00:21:47,010 --> 00:21:49,801 Ini merupakan perbaikan atas GET di hal menjadi segera terlihat. 437 00:21:49,801 --> 00:21:51,280 Tapi itu tidak memperbaiki lengkap. 438 00:21:51,280 --> 00:21:53,280 Jadi di sini adalah contoh cepat di latihan di rumah 439 00:21:53,280 --> 00:21:56,350 yang dapat Anda gunakan untuk mendapatkan beberapa berlatih bekerja dengan PHP. 440 00:21:56,350 --> 00:21:58,300 Buat pasangan berikut halaman web. 441 00:21:58,300 --> 00:22:00,960 Pertama hanya harus sangat sederhana membentuk dengan satu bidang dan Kirim 442 00:22:00,960 --> 00:22:01,460 tombol. 443 00:22:01,460 --> 00:22:04,070 Jadi sangat mirip dengan apa yang kita hanya melakukan dengan post.html. 444 00:22:04,070 --> 00:22:07,450 >> Dan kemudian yang kedua file yang harus membuat 445 00:22:07,450 --> 00:22:11,687 adalah file, file PHP, yang mengharapkan masukan, melalui POST, 446 00:22:11,687 --> 00:22:14,770 dan berdasarkan apa yang pengguna mengetik, yang Anda dapat mengasumsikan akan integer. 447 00:22:14,770 --> 00:22:16,160 Anda tidak perlu melakukan apapun pengecekan error atau sejenisnya. 448 00:22:16,160 --> 00:22:18,284 Anda dapat mengasumsikan pengguna akan ketik nilai integer, 449 00:22:18,284 --> 00:22:22,230 atau sesuatu seperti ditafsirkan oleh PHP sebagai integer, dalam bentuk itu. 450 00:22:22,230 --> 00:22:24,790 Anda hanya ingin membuat n dengan meja n perkalian. 451 00:22:24,790 --> 00:22:28,480 >> Jadi jika pengguna mengajukan 10, kami ingin memiliki tabel 10 dengan 10 perkalian. 452 00:22:28,480 --> 00:22:31,832 Jika pengguna mengajukan 12, kita ingin meja 12 dengan 12 perkalian. 453 00:22:31,832 --> 00:22:33,790 Hanya sehingga Anda dapat melihat apa yang kita mengemudi di sini, 454 00:22:33,790 --> 00:22:36,040 kita akan melihat pada file ini di IDE saya. 455 00:22:36,040 --> 00:22:38,080 >> Jadi di sini di IDE, saya punya 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 Yang saya ingin lakukan adalah mengirimkan nilai. 459 00:22:46,020 --> 00:22:47,590 Ketik 10, memukul Submit. 460 00:22:47,590 --> 00:22:51,190 Dan rupanya, mult_table.php, yang kita bisa melihat di bagian atas ada di URL, 461 00:22:51,190 --> 00:22:53,970 Aku sedang membuat 10 10 tabel perkalian. 462 00:22:53,970 --> 00:22:59,365 >> Jika saya ketik 15 dan tekan Submit, sekarang saya memiliki tabel 15 dengan 15 perkalian. 463 00:22:59,365 --> 00:23:02,240 Aku, tentu saja, tidak akan menunjukkan Anda isi mult_table.php, 464 00:23:02,240 --> 00:23:04,781 karena yang akan mengambil kesenangan keluar dari ini di rumah latihan. 465 00:23:04,781 --> 00:23:07,480 Tapi itu cara yang bagus untuk mendapatkan beberapa berlatih bekerja dengan loop PHP 466 00:23:07,480 --> 00:23:10,889 dan POST, sangat sederhana, mudah-mudahan stres contoh gratis, hanya 467 00:23:10,889 --> 00:23:12,180 untuk melakukan sedikit latihan. 468 00:23:12,180 --> 00:23:16,540 Dan aku punya sedikit CSS terjadi di sini untuk membuat tabel individu saya 469 00:23:16,540 --> 00:23:19,710 sel hanya jenis pop off sedikit dan terlihat sedikit lebih 470 00:23:19,710 --> 00:23:22,205 seperti tabel perkalian, sebagai lawan hanya teks saja 471 00:23:22,205 --> 00:23:23,261 jenis duduk di sana. 472 00:23:23,261 --> 00:23:26,260 Super global yang terakhir kita akan berbicara tentang dalam video ini adalah sesuatu yang disebut 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 dari sesuatu 475 00:23:29,930 --> 00:23:31,700 kami akan mempertimbangkan global. 476 00:23:31,700 --> 00:23:33,189 Ini array lain. 477 00:23:33,189 --> 00:23:34,480 Ini array asosiatif lain. 478 00:23:34,480 --> 00:23:40,580 Tapi itu dapat diakses melalui setiap File PHP yang ada pada sistem kami. 479 00:23:40,580 --> 00:23:43,410 >> Kami tidak harus menyerahkan informasi satu halaman pada satu waktu 480 00:23:43,410 --> 00:23:45,400 seperti yang kita lakukan dengan GET dan POST dengan. 481 00:23:45,400 --> 00:23:46,380 Itu selalu ada. 482 00:23:46,380 --> 00:23:50,040 Dan ini sangat bagus untuk halaman di mana Anda login, misalnya, 483 00:23:50,040 --> 00:23:53,120 dan Anda ingin informasi login Anda untuk bertahan dari halaman ke halaman ke halaman. 484 00:23:53,120 --> 00:23:58,180 >> Anda bisa memulai sesi dan kemudian menggunakan $ _SESSION untuk menyimpan hal-hal seperti 485 00:23:58,180 --> 00:24:02,320 nama pengguna, atau pengguna Informasi ID, dan sebagainya. 486 00:24:02,320 --> 00:24:07,600 Dan informasi yang akan tetap berada di $ _SESSION Sampai Anda menghancurkan sesi 487 00:24:07,600 --> 00:24:09,550 sedikit nanti. 488 00:24:09,550 --> 00:24:12,375 >> Menulis website dinamis dengan PHP membuat mereka jauh lebih baik. 489 00:24:12,375 --> 00:24:14,250 Situs Anda menjadi sangat dinamis, dan Anda tidak 490 00:24:14,250 --> 00:24:17,670 harus melakukan terlalu banyak lebih dari apa yang Anda dinyatakan akan dilakukan hanya 491 00:24:17,670 --> 00:24:18,920 melakukannya dengan HTML. 492 00:24:18,920 --> 00:24:21,630 Tapi itu membutuhkan latihan, banyak latihan. 493 00:24:21,630 --> 00:24:26,897 >> Anda sudah tahu bagaimana bekerja dengan C, dan melompat ke PHP tidak terlalu rumit. 494 00:24:26,897 --> 00:24:28,730 Apa mungkin sedikit sedikit rumit bekerja 495 00:24:28,730 --> 00:24:33,180 dengan ini ide baru dari GET dan POST, dan mungkin pencampuran HTML dan PHP Anda 496 00:24:33,180 --> 00:24:34,220 bersama. 497 00:24:34,220 --> 00:24:37,570 Tetapi juga menyadari bahwa internet adalah gudang besar informasi. 498 00:24:37,570 --> 00:24:41,670 Dan dokumentasi PHP tersedia di banyak tempat, tapi mungkin yang paling 499 00:24:41,670 --> 00:24:43,354 kanonis di php.net. 500 00:24:43,354 --> 00:24:45,520 Dan Anda dapat menemukan di sana, banyak fungsi yang berbeda, 501 00:24:45,520 --> 00:24:48,330 dan menggunakan kasus, dan contoh pada contoh, pada contoh. 502 00:24:48,330 --> 00:24:51,340 Di mana jika Anda ingin mencoba dan angka bagaimana melakukan sesuatu, kemungkinan besar, 503 00:24:51,340 --> 00:24:52,964 seseorang yang mungkin dilakukan sebelum Anda. 504 00:24:52,964 --> 00:24:55,840 Dan Anda dapat menggunakannya sebagai inspirasi untuk melaksanakan apa pun 505 00:24:55,840 --> 00:24:58,230 itu Anda mencoba untuk menerapkan juga. 506 00:24:58,230 --> 00:24:59,230 >> Aku Doug Lloyd. 507 00:24:59,230 --> 00:25:01,210 Ini adalah CS50. 508 00:25:01,210 --> 00:25:02,608