1 00:00:00,000 --> 00:00:10,393 >> [MUSIK BERMAIN] 2 00:00:10,393 --> 00:00:11,037 3 00:00:11,037 --> 00:00:12,120 DAVID J. MALAN: Baiklah. 4 00:00:12,120 --> 00:00:12,830 Selamat kembali. 5 00:00:12,830 --> 00:00:13,890 Ini adalah CS50. 6 00:00:13,890 --> 00:00:15,570 Ini adalah akhir minggu ke-8. 7 00:00:15,570 --> 00:00:18,360 Dan seperti yang anda tahu, kita mempunyai cukup jam kerja biasa dalam beberapa 8 00:00:18,360 --> 00:00:21,090 satu ruang makan, termasuk Annenberg. 9 00:00:21,090 --> 00:00:23,860 Dan beberapa pasukan sila mengambil beberapa foto yang akhir-akhir ini. 10 00:00:23,860 --> 00:00:26,230 Dan untuk menghormati Halloween, kami pikir kami akan 11 00:00:26,230 --> 00:00:30,160 berkongsi satu yang agak menangkap kami oleh kejutan di sini di Annenberg Hall tepat 12 00:00:30,160 --> 00:00:31,490 malam. 13 00:00:31,490 --> 00:00:36,300 Yakub rakan sekelas anda berpose untuk foto ini, tetapi lebih lucu 14 00:00:36,300 --> 00:00:39,760 itu di Facebook, yang berikutnya perbualan yang berlaku selepas itu. 15 00:00:39,760 --> 00:00:43,020 >> Jawatan pertamanya sebagai tindak balas pada foto beliau ini. 16 00:00:43,020 --> 00:00:46,740 Beberapa minit kemudian, beliau mengambil keputusan untuk satu sehingga dirinya dengan hal ini. 17 00:00:46,740 --> 00:00:53,800 Ia pergi kemudian pergi ke ini, dan kemudian, lebih lucu 18 00:00:53,800 --> 00:00:55,320 adalah ketika ibunya menimpali. 19 00:00:55,320 --> 00:00:59,240 20 00:00:59,240 --> 00:01:01,800 Dan kemudian akhirnya, ia seolah-olah ini adalah hanya 21 00:01:01,800 --> 00:01:04,860 tipu muslihat yang indah untuk bermain bahawa yang sedang berlaku. 22 00:01:04,860 --> 00:01:07,080 >> Jadi, jika anda ingin untuk melihat Yakub dan lain-lain, 23 00:01:07,080 --> 00:01:10,880 di antara mereka Cynthia Meng, siapa yang di belakang tabir kakitangan zon CS50, 24 00:01:10,880 --> 00:01:13,970 menuju ke URL ini dan bermain di sini. 25 00:01:13,970 --> 00:01:18,810 Jadi tanpa berlengah-lengah lagi, hari ini kita terus ini melihat pengaturcaraan web, 26 00:01:18,810 --> 00:01:21,810 dan penciptaan sebenar program yang tidak berjalan di baris arahan anda, 27 00:01:21,810 --> 00:01:24,080 tetapi bukan berjalan dalam browser. 28 00:01:24,080 --> 00:01:26,320 >> Agaknya sekarang, atau sangat tidak lama lagi, anda akan 29 00:01:26,320 --> 00:01:30,200 berada di tengah-tengah melaksanakan pelayan web anda sendiri, yang 30 00:01:30,200 --> 00:01:31,700 adalah berbeza daripada pengaturcaraan web. 31 00:01:31,700 --> 00:01:36,210 Pelayan web dalam pset6 adalah tentang perisian yang tahu menulis bagaimana untuk mengambil 32 00:01:36,210 --> 00:01:39,300 Permintaan HTTP dari browser, atau bahkan dari anda, manusia, 33 00:01:39,300 --> 00:01:42,340 dengan program yang dikenali sebagai Telnet, dan kemudian bertindak balas kepada permintaan tersebut sama ada 34 00:01:42,340 --> 00:01:48,600 dengan menyemburkan fail HTML, atau jpeg, gif atau, atau bahkan file .php. 35 00:01:48,600 --> 00:01:52,490 >> Tetapi dengan web server, ia bukan sepatutnya hanya membuka fail PHP, 36 00:01:52,490 --> 00:01:55,260 sesuatu yang berakhir dengan php, dan kemudian memuntahkan isinya. 37 00:01:55,260 --> 00:01:58,440 Ia seharusnya dilakukan apa yang perlu fail yang pertama? 38 00:01:58,440 --> 00:01:59,390 Jadi untuk bercakap. 39 00:01:59,390 --> 00:02:04,060 Tidak compile, kita berkata pada hari Isnin, tetapi rather-- Jadi, menafsirkannya. 40 00:02:04,060 --> 00:02:08,070 >> PHP adalah bahasa yang diterjemahkan, dan sebagainya salah satu ciri-ciri utama dalam web anda 41 00:02:08,070 --> 00:02:11,550 pelayan, meskipun dilaksanakan oleh kami, adalah kemampuan untuk pelayan web anda 42 00:02:11,550 --> 00:02:12,490 untuk melihat, oh. 43 00:02:12,490 --> 00:02:14,580 Fail ini berakhir di .php. 44 00:02:14,580 --> 00:02:17,970 Biarkan saya tidak hanya menghantar kepada pengguna seperti itu kandungan statik, 45 00:02:17,970 --> 00:02:20,970 tetapi biarlah saya membaca baris demi line, kiri ke kanan, dan menafsirkannya. 46 00:02:20,970 --> 00:02:23,030 >> Dan untuk berbuat demikian, bahawa anda lelaki akan dasarnya 47 00:02:23,030 --> 00:02:26,520 menyepak bola ke program dalam perkakas, dan pada banyak sistem komputer, 48 00:02:26,520 --> 00:02:27,500 hanya disebut PHP. 49 00:02:27,500 --> 00:02:30,579 Itu adalah nama PHP penerjemah bahasa sendiri. 50 00:02:30,579 --> 00:02:33,120 Jadi, bagian yang kita melaksanakan untuk anda, dan apa yang ditinggalkan untuk anda, 51 00:02:33,120 --> 00:02:35,240 akhirnya, adalah angka keping, di antaranya 52 00:02:35,240 --> 00:02:37,960 sedang melaksanakan sokongan untuk kandungan statik. 53 00:02:37,960 --> 00:02:40,180 >> Tetapi sekarang, dan dengan permasalahan yang tujuh, anda 54 00:02:40,180 --> 00:02:43,660 akan mula peralihan kepada benar-benar menulis kod PHP 55 00:02:43,660 --> 00:02:45,970 yang akan ditafsirkan dalam berbicara dengan back end 56 00:02:45,970 --> 00:02:47,960 pangkalan data yang menyimpan maklumat. 57 00:02:47,960 --> 00:02:51,020 Jadi mari kita lebih memahami pertama beberapa superglobals ini 58 00:02:51,020 --> 00:02:53,720 dan betapa banyak kuasa anda keluar dari kotak percuma 59 00:02:53,720 --> 00:02:55,250 dengan bahasa seperti PHP. 60 00:02:55,250 --> 00:02:57,350 Hal-hal yang tidak perlu untuk melaksanakan sendiri. 61 00:02:57,350 --> 00:03:01,700 >> Jadi, kita lihat pada hari Isnin $ _GET, yang superglobal a, 62 00:03:01,700 --> 00:03:05,496 yang hanya bercakap bagi PHP global pembolehubah anda boleh mengakses mana-mana sahaja. 63 00:03:05,496 --> 00:03:06,620 Dan apa yang di dalam dari $ _GET? 64 00:03:06,620 --> 00:03:09,930 65 00:03:09,930 --> 00:03:12,110 Apa yang di dalam ini superglobal yang kita lihat? 66 00:03:12,110 --> 00:03:15,900 67 00:03:15,900 --> 00:03:19,020 Sesungguhnya statistik pada kurangnya satu orang yang tahu. 68 00:03:19,020 --> 00:03:21,590 Apa yang di dalam dari $ _GET? 69 00:03:21,590 --> 00:03:22,426 Ya? 70 00:03:22,426 --> 00:03:24,130 >> PENONTON: Ini pembolehubah anda masukkan ke dalam tali query. 71 00:03:24,130 --> 00:03:24,530 >> DAVID J. MALAN: Perfect. 72 00:03:24,530 --> 00:03:26,488 Ini satu variabel yang dimasukkan ke dalam rentetan pertanyaan. 73 00:03:26,488 --> 00:03:29,910 Jadi, dalam contoh kita yang lebih tua dari reimplementing Google apabila kami terpaksa 74 00:03:29,910 --> 00:03:34,130 URL, dan kemudian tanda tanya, yang menandakan permulaan HTTP 75 00:03:34,130 --> 00:03:37,950 parameter, maka kita mempunyai q sama sesuatu, seperti q sama dengan kucing, 76 00:03:37,950 --> 00:03:41,500 apa yang secara automatik akan masuk ke dalam yang $ _GET super global untuk anda, 77 00:03:41,500 --> 00:03:47,430 kerana PHP, adalah kunci dari Q, dan nilai itu pada kucing. 78 00:03:47,430 --> 00:03:51,250 >> Dengan kata lain, $ _GET dan semua perkara-perkara ini adalah array bersekutu, 79 00:03:51,250 --> 00:03:54,530 jadual hash sejenis itu, yang menyimpan kunci dan nilai-nilai. 80 00:03:54,530 --> 00:03:57,980 Sekarang, kembali pset5, hash jadual anda mungkin telah dilaksanakan, 81 00:03:57,980 --> 00:04:00,220 atau cuba anda mungkin telah dilaksanakan, benar-benar 82 00:04:00,220 --> 00:04:04,010 secara efektif asosiatif sebuah array, struktur data 83 00:04:04,010 --> 00:04:07,220 di mana anda boleh mengaitkan kunci dengan nilai-nilai. 84 00:04:07,220 --> 00:04:09,690 >> Tetapi dalam pset5, nilai-nilai yang remeh. 85 00:04:09,690 --> 00:04:12,430 Nilai pada dasarnya benar atau salah. 86 00:04:12,430 --> 00:04:13,900 Apakah perkataan di dalam kamus? 87 00:04:13,900 --> 00:04:18,279 Jadi, apabila anda hash kata seperti epal untuk melihat apakah epal ada di dalam kamus, 88 00:04:18,279 --> 00:04:21,820 fungsi cek anda mungkin kembali benar atau salah. 89 00:04:21,820 --> 00:04:24,120 Jadi, itu berkesan nilai kita sudah kembali. 90 00:04:24,120 --> 00:04:26,456 >> Tetapi kita lihat pada hari Isnin secara ringkas, anda boleh pasti 91 00:04:26,456 --> 00:04:28,830 mengaitkan lebih menarik nilai-nilai daripada hanya benar atau salah 92 00:04:28,830 --> 00:04:30,790 dengan kunci, seperti epal. 93 00:04:30,790 --> 00:04:33,909 Anda benar-benar boleh mengembalikan tali sewenang-wenang, dan memang, 94 00:04:33,909 --> 00:04:36,200 itulah yang $ _GET dan ini pembolehubah lain membiarkan anda lakukan. 95 00:04:36,200 --> 00:04:40,595 >> Jadi $ _POST adalah sama di hadapan Allah, tetapi jika anda menyerahkan borang melalui pos, 96 00:04:40,595 --> 00:04:44,490 kaedah HTTP yang berbeza itu digunakan untuk perkara-perkara seperti kad kredit, 97 00:04:44,490 --> 00:04:48,410 dan maklumat peribadi, dan juga maklumat binari seperti foto, 98 00:04:48,410 --> 00:04:51,840 perkara-perkara berakhir dalam $ _POST. 99 00:04:51,840 --> 00:04:53,770 Dan sebenarnya untuk fail seperti JPEG dan yang lainnya, 100 00:04:53,770 --> 00:04:58,290 bahkan ada lain yang bukan di sini dipanggil $ _FILES juga. 101 00:04:58,290 --> 00:05:01,280 >> Jadi, server kita tidak akan kekal di atas juga banyak, tetapi ia memberikan anda akses 102 00:05:01,280 --> 00:05:04,860 untuk menyusun butiran tingkat yang lebih rendah kira-kira pelayan itu sendiri yang anda gunakan. 103 00:05:04,860 --> 00:05:07,430 Cookie sesi, walaupun, kita secara efektif akan melihat sekarang. 104 00:05:07,430 --> 00:05:10,940 Yang terakhir adalah apa yang kita gunakan untuk melaksanakan gagasan troli membeli-belah. 105 00:05:10,940 --> 00:05:14,480 A satu super mudah, tetapi penarikan balik bahawa kita mempunyai contoh ini di sini, 106 00:05:14,480 --> 00:05:17,640 mengira berapa kali anda telah melawat halaman ini sebelumnya. 107 00:05:17,640 --> 00:05:20,850 >> Tetapi hari ini, bukan hanya melihat kesan ini, mari kita membuka 108 00:05:20,850 --> 00:05:22,640 Inspektor Chrome, yang anda boleh biasanya 109 00:05:22,640 --> 00:05:25,740 lakukan dengan klik-kanan atau Control klik di mana-mana laman web, 110 00:05:25,740 --> 00:05:27,250 dan kemudian pilih memeriksa elemen. 111 00:05:27,250 --> 00:05:31,600 Atau anda boleh pergi melalui menu yang kami terangkan di dalam spec pset6 ini. 112 00:05:31,600 --> 00:05:35,020 Dan saya akan ke tab Rangkaian di sini, dan mari kita menonton seketika 113 00:05:35,020 --> 00:05:37,590 trafik HTTP itu akan bolak-balik. 114 00:05:37,590 --> 00:05:40,929 >> Terlebih dahulu saya pergi ke depan dan cache jelas Chrome. 115 00:05:40,929 --> 00:05:43,470 Jadi sebahagian daripada anda mungkin tidak asing lagi dengan teknik ini sudah, 116 00:05:43,470 --> 00:05:45,790 dan kami akan menggunakannya untuk tujuan debugging sini. 117 00:05:45,790 --> 00:05:48,890 118 00:05:48,890 --> 00:05:50,890 Sekarang kita sebagai komputer saintis akan memulakan 119 00:05:50,890 --> 00:05:53,920 melakukan hal ini untuk debugging tujuan, di mana 120 00:05:53,920 --> 00:05:55,910 kami akan mengosongkan cache, biasanya, supaya kita 121 00:05:55,910 --> 00:05:57,670 dapat membuang perkara-perkara yang dipanggil kuki. 122 00:05:57,670 --> 00:06:01,700 Jadi anda mungkin umumnya biasa dengan apa cookie, atau sekurang-kurangnya 123 00:06:01,700 --> 00:06:04,370 yang mereka ada, tetapi apa yang pemahaman anda daripada mereka, 124 00:06:04,370 --> 00:06:06,920 hanya sebagai pengguna komputer, apa yang cookie? 125 00:06:06,920 --> 00:06:09,490 126 00:06:09,490 --> 00:06:09,990 Yeah. 127 00:06:09,990 --> 00:06:14,391 >> PENONTON: Ini sedikit daripada- baik, tidak sedikit dalam istilah sains komputer. 128 00:06:14,391 --> 00:06:18,303 Ini adalah sepotong data yang yang laman web menghantar kepada anda agar 129 00:06:18,303 --> 00:06:20,209 dapat merakam statistik anda. 130 00:06:20,209 --> 00:06:21,250 DAVID J. MALAN: OK, baik. 131 00:06:21,250 --> 00:06:24,980 Jadi itu adalah sepotong data yang yang pelayan, meletakkan ke komputer anda, 132 00:06:24,980 --> 00:06:28,840 dan mari kita umum bahkan lebih dari itu, kunci value-- baik, 133 00:06:28,840 --> 00:06:30,064 yang semakin lebih tepat. 134 00:06:30,064 --> 00:06:31,980 Ini adalah bagian dari maklumat, sekeping data, 135 00:06:31,980 --> 00:06:34,430 bahawa pelayan mampu untuk meletakkan pada komputer anda 136 00:06:34,430 --> 00:06:38,592 dan sangat sering, server tidak ini untuk ingat siapa anda. 137 00:06:38,592 --> 00:06:40,300 Jadi misalnya, kemungkinan adalah anda mungkin 138 00:06:40,300 --> 00:06:42,982 log masuk ke dalam laman web seperti Facebook, atau Gmail, atau lain-lain sebelum ini, 139 00:06:42,982 --> 00:06:44,940 dan log in dengan anda nama pengguna dan kata laluan, 140 00:06:44,940 --> 00:06:49,000 dan kemudian setelah itu, untuk beberapa jumlah minit atau jam atau hari, 141 00:06:49,000 --> 00:06:52,970 server ingat bahawa anda, sebenarnya, login. 142 00:06:52,970 --> 00:06:54,600 Sekarang, bagaimana yang benar-benar berlaku? 143 00:06:54,600 --> 00:06:58,630 Kerana anda pasti tidak mengetik ulang nama pengguna dan kata laluan anda setiap kali 144 00:06:58,630 --> 00:07:00,760 anda menavigasi ke halaman yang berbeza di Facebook. 145 00:07:00,760 --> 00:07:02,570 Jadi ternyata yang cookies adalah jawabannya. 146 00:07:02,570 --> 00:07:05,360 >> Cookie boleh anda fikirkan sebagai, semacam suka, tangan digital 147 00:07:05,360 --> 00:07:09,200 setem yang anda mungkin akan mendapat di sebuah hiburan taman atau kelab yang pada dasarnya 148 00:07:09,200 --> 00:07:11,740 menandakan anda telah berada di sini sebelum ini, dan anda telah pun 149 00:07:11,740 --> 00:07:16,070 ditunjukkan ID anda ke penjaga pintu, untuk misalnya, dan bahawa kelab atau taman 150 00:07:16,070 --> 00:07:19,050 sekarang hendaklah menganggap bahawa anda telah disahkan sudah. 151 00:07:19,050 --> 00:07:21,270 Anda telah pun dikenal pasti olehnya. 152 00:07:21,270 --> 00:07:24,740 >> Maka dengan itu dalam fikiran, mari kita membuka kaunter di sini. 153 00:07:24,740 --> 00:07:27,220 Biar saya pergi ke hadapan, saya hanya melakukan, dan jelas semua cookies saya. 154 00:07:27,220 --> 00:07:29,970 Dan sekarang apa yang saya akan lakukan ialah tahan Shift, hanya sebagai tambahan, 155 00:07:29,970 --> 00:07:31,740 dan secara paksa memuat semula halaman. 156 00:07:31,740 --> 00:07:34,170 Shift pastikan apa-apa yang akan di-cache. 157 00:07:34,170 --> 00:07:36,850 Dan inilah permintaan yang pergi bolak-balik. 158 00:07:36,850 --> 00:07:41,560 Jadi di sini kita mempunyai satu permintaan, dan biarkan saya mengezum masuk di sini, dan banyak ini 159 00:07:41,560 --> 00:07:44,710 adalah butiran semacam tidak menarik untuk sekarang bahawa browser memiliki secara automatik 160 00:07:44,710 --> 00:07:47,800 dihantar, tetapi mari kita klik Lihat Sumber melihat header mentah. 161 00:07:47,800 --> 00:07:51,700 >> Dan jika anda telah menyelam ke dalam pset6 sudah, Anda pasti akan mengenali hal-hal 162 00:07:51,700 --> 00:07:54,990 seperti ini, dan mungkin beberapa dari garis-garis lain di sini, 163 00:07:54,990 --> 00:07:59,040 tetapi apa yang lebih menarik untuk hari ini jika saya tatal ke bawah, tidak dengan permintaan 164 00:07:59,040 --> 00:08:02,870 tetapi sambutan yang dipanggil, baris ini mungkin kelihatan biasa. 165 00:08:02,870 --> 00:08:04,977 Itu satu perkara yang baik apabila anda melihat 200 OK. 166 00:08:04,977 --> 00:08:07,060 Rupa-rupanya ini adalah tarikh dan masa pada pelayan 167 00:08:07,060 --> 00:08:08,268 dan ada banyak hal. 168 00:08:08,268 --> 00:08:09,290 Oh, ini menarik. 169 00:08:09,290 --> 00:08:13,430 >> Rupa-rupanya, apabila anda menggunakan PHP, sekurang-kurangnya dalam server ini, 170 00:08:13,430 --> 00:08:16,360 pelayan tersebut mengeluarkan apa versi PHP anda gunakan. 171 00:08:16,360 --> 00:08:18,962 Yang, sebenarnya, untuk keselamatan tujuan, bukan satu perkara yang baik. 172 00:08:18,962 --> 00:08:21,170 Tetapi, kami akan kembali kepada yang suatu masa yang lain mungkin. 173 00:08:21,170 --> 00:08:25,740 Tetapi sekarang ini adalah garis berair hari ini, dan kami melihat secara ringkas beberapa, 174 00:08:25,740 --> 00:08:29,240 Saya rasa dengan Facebook apabila kita mencucuk sekitar Inspektor yang pada masa itu, 175 00:08:29,240 --> 00:08:33,380 set Cookie adalah apa yang menanam potongan yang sedikit maklumat 176 00:08:33,380 --> 00:08:34,890 ke komputer anda. 177 00:08:34,890 --> 00:08:37,490 >> Ini adalah HTTP header yang berkesan 178 00:08:37,490 --> 00:08:39,970 memberitahu browser anda, Chrome, IE, apa pun, 179 00:08:39,970 --> 00:08:44,480 hey kedai browser pada pengguna ini cakera keras, RAM atau pengguna, 180 00:08:44,480 --> 00:08:49,680 utama yang dipanggil PHPSESSID, yang merupakan notasi singkat untuk ID sesi, 181 00:08:49,680 --> 00:08:53,670 dan memberikan nilai 0vlk8t, dot, dot, dot. 182 00:08:53,670 --> 00:08:56,480 A pseudo yang sangat panjang string abjad angka rawak. 183 00:08:56,480 --> 00:08:59,480 Ia hanya beberapa benar-benar besar, tetapi ia dikodkan dengan huruf dan angka 184 00:08:59,480 --> 00:09:03,550 sehingga saiz ia boleh bahkan lebih besar daripada nombor semata-mata. 185 00:09:03,550 --> 00:09:06,947 Dan kemudian, dengan cara itu, jalan = /, yang hanya bererti bahawa kuki ini harus 186 00:09:06,947 --> 00:09:08,780 yang berkaitan dengan keseluruhan laman web ini, 187 00:09:08,780 --> 00:09:11,150 bukan hanya tertentu Laman segala-galanya. 188 00:09:11,150 --> 00:09:12,930 Jadi ini adalah bahawa cap tangan maya. 189 00:09:12,930 --> 00:09:16,330 Seolah-olah pelayan, Facebook, atau dalam kes kami perkakas, 190 00:09:16,330 --> 00:09:21,140 mempunyai 0vlk8t-benar ditulis dan lain-lain, di tangan anda. 191 00:09:21,140 --> 00:09:24,360 Perhatikan apa yang pelayan itu, tidak melakukan ini ia tidak 192 00:09:24,360 --> 00:09:27,730 menyimpan nama pengguna saya, sudah tentu tidak menyimpan kata laluan saya. 193 00:09:27,730 --> 00:09:31,710 >> Sebaliknya, ia kelihatan menyimpan maklumat pseudo rawak 194 00:09:31,710 --> 00:09:35,010 sehingga tidak ada orang boleh meneka apa cap tangan saya. 195 00:09:35,010 --> 00:09:37,590 Di sebelah pelayan, Sementara itu, pelayan 196 00:09:37,590 --> 00:09:40,370 akan ingat, mungkin dalam pangkalan data atau sesuatu, 197 00:09:40,370 --> 00:09:46,490 bahawa pengguna, yang pada masa akan datang membentangkan suatu cap tangan 0vlk8t, dot, 198 00:09:46,490 --> 00:09:51,440 dot, dot, harus dikaitkan dengan ini kart membeli-belah tertentu, jadi untuk bercakap. 199 00:09:51,440 --> 00:09:55,060 Dalam erti kata lain, jika saya sekarang pergi kembali ke sini dan muat semula laman ini, 200 00:09:55,060 --> 00:09:58,020 bagaimana server tahu yang saya lawati satu masa? 201 00:09:58,020 --> 00:10:01,730 >> Atau jika saya melakukannya lagi, bagaimana pelayan tahu yang saya kunjungi itu dua kali? 202 00:10:01,730 --> 00:10:04,680 Nah jika saya pergi ke ini permintaan yang paling baru-baru ini, yang 203 00:10:04,680 --> 00:10:09,150 kini ketiga yang saya telah dihantar secara total, melihat permintaan saya sekarang. 204 00:10:09,150 --> 00:10:11,300 Masih ini meminta di sini, sama 205 00:10:11,300 --> 00:10:15,040 seperti sebelum ini, masih ada sejumlah besar barang yang kami telah mengabaikan seperti sebelumnya, 206 00:10:15,040 --> 00:10:19,350 tetapi kepala yang terakhir, ini masa, kerana saya sudah pernah ke sini, 207 00:10:19,350 --> 00:10:21,980 ialah kenyataan yang ini cap tangan maya. 208 00:10:21,980 --> 00:10:28,957 >> Mana talian ini di sini, tidak menetapkan cookie tetapi cookie kolon PHPSESSI = 0vlk8t, 209 00:10:28,957 --> 00:10:32,040 itu hanya browser saya automatik pembentangan ini cap tangan sehingga 210 00:10:32,040 --> 00:10:37,910 kini pelayan, segera setelah ia menyadari, aduh, ini adalah pengguna 0vlk8t dot, dot, dot, 211 00:10:37,910 --> 00:10:42,010 Saya kini boleh ingat yang dia adalah dan reassociate dengan pengguna tersebut apa sahaja 212 00:10:42,010 --> 00:10:46,450 maklumat yang saya mahu, dan semua maklumat yang dapat disimpan oleh anda, 213 00:10:46,450 --> 00:10:50,130 pengaturcara, dalam $ _SESSION. 214 00:10:50,130 --> 00:10:57,170 >> Jadi untuk menjadi jelas, jika saya membuka nyata cepat dalam gedit bahawa fail yang sebenarnya, counter.php, 215 00:10:57,170 --> 00:11:02,340 di dalam direktori awam tuan rumah tempatan saya seperti sebelum ini, perhatian bahawa, memang, 216 00:11:02,340 --> 00:11:06,860 Saya akhirnya menyimpan dalam $ _SESSION Kutipan tanda kutip "kaunter," 217 00:11:06,860 --> 00:11:10,110 nilai kaunter yang lalu Saya dapat dari ayat-ayat ini di sini bahawa kita 218 00:11:10,110 --> 00:11:13,010 melihat pada masa lalu ditambah satu. 219 00:11:13,010 --> 00:11:14,980 Jadi di bawah hood, itu sahaja cookie. 220 00:11:14,980 --> 00:11:17,563 Ia hanya jenis digital cap tangan akan bolak-balik, 221 00:11:17,563 --> 00:11:20,450 dan terus terang jika anda membuka Chrome Inspektor pada mana-mana laman web 222 00:11:20,450 --> 00:11:22,580 anda melawat hari ini, dengan super kebarangkalian tinggi, 223 00:11:22,580 --> 00:11:25,450 Anda akan melihat mungkin satu, kuki mungkin setengah lusin 224 00:11:25,450 --> 00:11:26,650 yang diingat oleh anda. 225 00:11:26,650 --> 00:11:29,500 >> Dan lebih buruk lagi, jika orang-orang laman web yang anda kunjungi 226 00:11:29,500 --> 00:11:32,640 semua mempunyai iklan, yang sudah pasti perkara biasa hari ini, 227 00:11:32,640 --> 00:11:36,100 dan jika orang-orang iklan yang datang dari beberapa pihak pusat, seseorang 228 00:11:36,100 --> 00:11:39,000 seperti Google AdWords atau kerana mereka memanggil salah satu daripada produk-produk mereka 229 00:11:39,000 --> 00:11:42,880 atau lain-lain vendor seperti yang menjual iklan, yang menarik, 230 00:11:42,880 --> 00:11:46,510 dan terus terang apa yang sedikit membimbangkan, kira-kira bagaimana HTTP bekerja, 231 00:11:46,510 --> 00:11:50,855 adalah bahawa jika anda mempunyai iklan terbenam di Facebook.com, dan Google.com, 232 00:11:50,855 --> 00:11:54,240 dan Harvard.edu, apa-apa jumlah dari laman web, jadi ia seperti 233 00:11:54,240 --> 00:11:58,130 bahawa ada orang tengah yang sedang menjalani up iklan untuk ketiga-tiga laman web tersebut, 234 00:11:58,130 --> 00:12:02,110 ternyata bahawa cookies adalah untuk sebuah domain. 235 00:12:02,110 --> 00:12:05,910 >> Jadi jika anda mempunyai iklan yang datang dari syarikat yang sama di laman web yang berbeza, 236 00:12:05,910 --> 00:12:11,140 syarikat yang berkesan boleh mengesan orang yang anda di semua laman-laman web. 237 00:12:11,140 --> 00:12:13,140 Harvard mungkin tidak tahu Anda kunjungi Facebook. 238 00:12:13,140 --> 00:12:15,306 Facebook mungkin tidak tahu dan anda melawat Harvard. 239 00:12:15,306 --> 00:12:18,160 Tetapi apa sahaja perkhidmatan iklan mereka gunakan jika domain yang 240 00:12:18,160 --> 00:12:21,710 yang terdapat di dalam kedua-dua Harvard.edu web halaman dan laman web Facebook.com, 241 00:12:21,710 --> 00:12:26,850 orang tengah ini pasti tahu siapa anda kerana kuki ini dikongsi 242 00:12:26,850 --> 00:12:30,910 di, atau lebih kepada, bahawa apa yang dipanggil orang tengah. 243 00:12:30,910 --> 00:12:33,820 >> Oleh itu, kita akan kembali kepada ini di implikasi keselamatan itu, 244 00:12:33,820 --> 00:12:37,170 tapi ada banyak maklumat disimpan mengenai anda bila-bila masa anda 245 00:12:37,170 --> 00:12:40,120 melawat paling mana-mana halaman web pada internet dan ia benar-benar 246 00:12:40,120 --> 00:12:42,877 mengurangkan mekanisme ini sangat mudah. 247 00:12:42,877 --> 00:12:44,710 Apa yang berlaku, maka, jika Anda super paranoid 248 00:12:44,710 --> 00:12:48,190 dan anda membuat keputusan untuk pergi ke Chrome atau IE atau apa pun dan mematikan kuki anda? 249 00:12:48,190 --> 00:12:49,365 Apa yang berlaku? 250 00:12:49,365 --> 00:12:50,790 Ya? 251 00:12:50,790 --> 00:12:53,170 Anda really-- anda telah melakukan hak ini? 252 00:12:53,170 --> 00:12:54,350 OK. 253 00:12:54,350 --> 00:12:55,994 Tidak, pergi ke depan. 254 00:12:55,994 --> 00:12:59,645 >> PENONTON: laman web tertentu yang tidak mempunyai fungsi tanpa itu seperti Facebook. 255 00:12:59,645 --> 00:13:00,520 DAVID J. MALAN: Ya! 256 00:13:00,520 --> 00:13:02,311 Laman web begitu yakin hanya akan berhenti kerja. 257 00:13:02,311 --> 00:13:05,520 Dan dalam kebanyakan laman web hari ini yang pada dasarnya bergantung pada kuki, 258 00:13:05,520 --> 00:13:08,360 terutamanya jika mereka mempunyai anda log masuk dalam, mereka hanya akan pecah. 259 00:13:08,360 --> 00:13:10,360 Kerana mempertimbangkan alternatif, laman web yang 260 00:13:10,360 --> 00:13:14,480 tidak memiliki cara untuk mengingat siapa anda, dan oleh pelayar web anda tidak 261 00:13:14,480 --> 00:13:16,949 mewakili dengan setiap HTTP permintaan cap tangan ini, 262 00:13:16,949 --> 00:13:18,740 berkesan laman web seperti sedang berjalan Facebook 263 00:13:18,740 --> 00:13:22,050 harus meminta Anda untuk login setiap kali darn 264 00:13:22,050 --> 00:13:26,200 anda menukar halaman, atau klik link, yang pasti bukan pengguna sangat baik 265 00:13:26,200 --> 00:13:26,920 pengalaman. 266 00:13:26,920 --> 00:13:30,020 >> Sehingga ada juga, adalah antara perdagangan off. 267 00:13:30,020 --> 00:13:34,140 Jadi tanpa berlengah-lengah lagi, mari kita saja bahwa dengan pengaturcaraan web, 268 00:13:34,140 --> 00:13:37,630 dalam bahasa seperti PHP, anda boleh ingat maklumat seperti itu dalam permasalahan yang 269 00:13:37,630 --> 00:13:41,550 tujuh apabila anda melaksanakan sendiri Laman web E * Trade-seperti dengan mana untuk membeli 270 00:13:41,550 --> 00:13:45,710 dan menjual saham, anda akan ingat apa yang pengguna telah dibeli dan dijual 271 00:13:45,710 --> 00:13:49,110 dan yang dia adalah melalui sesi ini. 272 00:13:49,110 --> 00:13:51,110 Tetapi kita akan memerlukan cara yang lebih menarik daripada e-mel 273 00:13:51,110 --> 00:13:52,640 untuk mula memelihara maklumat sekitar. 274 00:13:52,640 --> 00:13:53,140 Betul? 275 00:13:53,140 --> 00:13:56,780 >> Pada hari Isnin, kita berbincang mengenai Frosh IM dan bagaimana dalam versi salah satu laman web itu, 276 00:13:56,780 --> 00:14:00,250 tahun yang lalu, semua yang kita lakukan adalah email Proctor siapa 277 00:14:00,250 --> 00:14:04,250 yang bertanggungjawab bagi sukan intramural program, nama, dan jantina, 278 00:14:04,250 --> 00:14:07,330 dan sama ada atau tidak mereka kapten, dan asrama dari seseorang yang 279 00:14:07,330 --> 00:14:10,136 mendaftar untuk sukan intramural. 280 00:14:10,136 --> 00:14:13,010 Jadi ia bukan yang buruk, tetapi dia kemudian terpaksa troll melalui e-mel mereka, 281 00:14:13,010 --> 00:14:16,010 membuat spreadsheet atau sesuatu seperti itu, untuk menjaga segala sesuatu yang dianjurkan. 282 00:14:16,010 --> 00:14:19,750 Jadi pasti kita sebagai programmer dapat melakukan ini untuk pengawas itu. 283 00:14:19,750 --> 00:14:22,970 Dan jadi masukkan di SQL, Structured Query Language, 284 00:14:22,970 --> 00:14:26,050 yang akan kelihatan cantik yang berbeza untuk kedua-dua C dan PHP, 285 00:14:26,050 --> 00:14:30,990 dan anda akan menyelam di banyak lagi tangan pada PHP dan permasalahan yang tujuh tetapi juga SQL, 286 00:14:30,990 --> 00:14:35,310 atau SQL, ini adalah bahasa yang anda gunakan untuk bercakap dengan database. 287 00:14:35,310 --> 00:14:36,480 >> Tetapi apa yang database? 288 00:14:36,480 --> 00:14:38,440 Baik anda memikirkan pangkalan data, sekurang-kurangnya buat masa ini, 289 00:14:38,440 --> 00:14:41,750 sebagai hanya menjadi seperti fail Excel, atau jika anda seorang pengguna Mac nombor fail, 290 00:14:41,750 --> 00:14:44,400 atau jika anda seorang Google Apps pengguna spreadsheet Google, 291 00:14:44,400 --> 00:14:49,120 itu berkesan pangkalan data, atau benar-benar khusus pangkalan data hubungan. 292 00:14:49,120 --> 00:14:53,070 Satu pangkalan data hubungan adalah hanya sesuatu yang mempunyai baris dan kolom, 293 00:14:53,070 --> 00:14:56,440 dan anda boleh menyimpan apa-apa jenis maklumat dalam baris atau lajur. 294 00:14:56,440 --> 00:15:00,480 >> Tetapi apa yang baik tentang SQL, dan tentang database sebenarnya, bukan hanya 295 00:15:00,480 --> 00:15:04,910 spreadsheet atau spreadsheet Google, adalah bahawa anda boleh menggunakan bahasa yang 296 00:15:04,910 --> 00:15:09,000 untuk benar-benar melaksanakan pertanyaan kepada memasukkan data, untuk menghapus data, 297 00:15:09,000 --> 00:15:11,620 untuk mencari data, bahkan yang paling penting, dan anda 298 00:15:11,620 --> 00:15:16,110 tidak perlu menggunakannya cukup secara manual seperti yang mungkin biasanya Google 299 00:15:16,110 --> 00:15:17,690 spreadsheet seperti ini. 300 00:15:17,690 --> 00:15:22,217 >> Jadi dalam SQL, ada sekumpulan pernyataan keping atau asas 301 00:15:22,217 --> 00:15:23,300 fungsi terbina dalam. 302 00:15:23,300 --> 00:15:26,450 Ada banyak lagi dari ini, tetapi anda boleh pergi jarak yang besar 303 00:15:26,450 --> 00:15:28,620 hanya dengan mengetahui bahawa bahasa ini disebut 304 00:15:28,620 --> 00:15:30,840 SQL mempunyai sekurang-kurangnya empat kenyataan anda boleh memanfaatkan. 305 00:15:30,840 --> 00:15:34,420 >> Padam, untuk menghapus data, Masukkan, untuk menambah baris, 306 00:15:34,420 --> 00:15:37,340 Update, untuk mengubah baris, dan Memilih, 307 00:15:37,340 --> 00:15:39,860 untuk mendapatkan kembali baris dan itu memang apa SQL tidak. 308 00:15:39,860 --> 00:15:43,810 Ia beroperasi sepenuhnya pada baris sehingga bahawa apabila anda memasukkan, atau mengeluarkan, 309 00:15:43,810 --> 00:15:47,470 atau update, atau pilih apa yang anda kembali sebagai satu set hasil yang dipanggil, 310 00:15:47,470 --> 00:15:49,690 seperti pelbagai baris. 311 00:15:49,690 --> 00:15:51,700 Sekelompok baris dari jadual. 312 00:15:51,700 --> 00:15:54,050 >> Jadi kembali pada hari itu, dan sehingga ke hari ini, 313 00:15:54,050 --> 00:15:56,560 Anda boleh berinteraksi dengan pangkalan data menggunakan baris perintah, 314 00:15:56,560 --> 00:15:59,691 tetapi ia tidak terutamanya menyenangkan untuk digunakan tetingkap gaya hitam dan putih ini 315 00:15:59,691 --> 00:16:02,190 dan benar-benar melaksanakan perintah dan melihat-pangkalan data anda. 316 00:16:02,190 --> 00:16:06,054 Antara muka pengguna grafik, atau GUI, adalah lebih lebih lebih baik, boleh dikatakan, 317 00:16:06,054 --> 00:16:08,970 dan sebagainya alat yang kami cadangkan dan diprapasang untuk anda pada alat 318 00:16:08,970 --> 00:16:10,580 dipanggil phpMyAdmin. 319 00:16:10,580 --> 00:16:14,060 Ia adalah satu jumlah kebetulan bahawa nama benda ini mempunyai PHP di dalamnya, 320 00:16:14,060 --> 00:16:17,430 itu hanya bererti bahawa orang-orang yang menulis program ini sendiri 321 00:16:17,430 --> 00:16:18,670 menulis dalam PHP. 322 00:16:18,670 --> 00:16:23,740 >> Tapi itu akhirnya tentang mentadbir pelayan pangkalan data, seperti pelayan MYSQL 323 00:16:23,740 --> 00:16:26,589 bahawa anda mungkin mempunyai, kerana anda lakukan, dalam perkakas CS50 ini. 324 00:16:26,589 --> 00:16:29,130 Jadi ada lebih terperinci di sini daripada kita perlu mengambil berat tentang hari ini, 325 00:16:29,130 --> 00:16:33,280 tetapi apa yang penting adalah bahawa di sebelah kiri sebelah adalah senarai pangkalan data 326 00:16:33,280 --> 00:16:36,040 yang ada pada komputer anda, perkakas CS50 anda, 327 00:16:36,040 --> 00:16:40,090 atau datang projek akhir yang anda mungkin terhadap pihak ketiga, syarikat 328 00:16:40,090 --> 00:16:43,415 laman web atau web server, yang Anda mungkin akan membayar untuk ruang. 329 00:16:43,415 --> 00:16:45,290 Maka pada sebelah kiri adalah pangkalan data, satu daripadanya 330 00:16:45,290 --> 00:16:48,750 adalah pset7 yang saya pinjam dari depan minggu Serangga, dan kemudian di atas 331 00:16:48,750 --> 00:16:51,570 ada melihat ada sekumpulan tab, satu daripadanya 332 00:16:51,570 --> 00:16:55,150 adalah pangkalan data, SQL, status, pengguna, eksport dan sebagainya. 333 00:16:55,150 --> 00:16:56,900 Jadi, anda boleh pergi yang lama cara hanya dengan mewujudkan 334 00:16:56,900 --> 00:16:59,770 bahawa sebahagian besar daripada antara muka pengguna adalah dalam ruang sebelah kiri bahagian atas 335 00:16:59,770 --> 00:17:02,650 dan di atas yang betul di sana. 336 00:17:02,650 --> 00:17:04,980 Jadi apa yang boleh kita benar-benar buat dengan ini? 337 00:17:04,980 --> 00:17:08,609 Nah, mari kita mulai menciptakan sedikit maklumat seperti berikut. 338 00:17:08,609 --> 00:17:11,760 >> Katakan berikut ini adalah kes itu, seperti yang akan hanya dalam beberapa hari, 339 00:17:11,760 --> 00:17:14,440 Anda ingin melaksanakan laman web, yang dipanggil CS50 Kewangan, 340 00:17:14,440 --> 00:17:17,328 dan laman web ini membenarkan anda membeli tanda kutip mengutip dan menjual saham. 341 00:17:17,328 --> 00:17:19,619 Dan ia akan memikirkan harga saham-saham, 342 00:17:19,619 --> 00:17:22,380 akhirnya seperti yang anda akan lihat, dengan bercakap dengan Yahoo Kewangan. 343 00:17:22,380 --> 00:17:26,250 Yang, hebat, mempunyai perkhidmatan percuma di mana anda boleh lulus dalam ticker saham 344 00:17:26,250 --> 00:17:29,830 seperti GOOG untuk Google, dan akan memberikan kembali saham saat ini Google 345 00:17:29,830 --> 00:17:32,250 harga dalam masa lalu beberapa minit sekurang-kurangnya. 346 00:17:32,250 --> 00:17:35,080 >> Jadi, anda akan menggunakannya, pada akhirnya, berpura-pura untuk pengguna 347 00:17:35,080 --> 00:17:37,750 untuk membeli dan menjual sebenarnya saham dengan menggunakan wang maya, 348 00:17:37,750 --> 00:17:39,750 tetapi perkara yang pertama pengguna akan melihat 349 00:17:39,750 --> 00:17:43,850 adalah skrin log masuk ini yang meminta mereka untuk nama pengguna dan kata laluan mereka. 350 00:17:43,850 --> 00:17:46,540 Dan sebagainya, salah satu yang pertama cabaran untuk anda dalam pset7 351 00:17:46,540 --> 00:17:50,460 akan menjadi untuk melaksanakan hujung belakang pangkalan data, hamparan jika anda akan, 352 00:17:50,460 --> 00:17:53,369 yang akan menyimpan pengguna nama dan kata laluan 353 00:17:53,369 --> 00:17:56,660 dan akhirnya apa saham mereka sendiri, dan berapa banyak dan berapa banyak wang tunai yang mereka ada, 354 00:17:56,660 --> 00:18:00,110 begitu banyak hal yang lain dalam meja lain, atau kertas kerja. 355 00:18:00,110 --> 00:18:05,020 >> Jadi mari kita lihat bagaimana ini mungkin kelihatan pada pandangan pertama. 356 00:18:05,020 --> 00:18:06,980 Saya akan kembali ke perkakas dan saya 357 00:18:06,980 --> 00:18:14,102 akan pergi ke URL ini di sini phpMyAdmin localhost / phpmyadmin 358 00:18:14,102 --> 00:18:16,060 dan anda akan melihat bahawa ia membawaku ke antara muka 359 00:18:16,060 --> 00:18:18,520 persis seperti yang kita lihat di tembakan skrin, dan di sini saya 360 00:18:18,520 --> 00:18:21,560 mempunyai pangkalan data tambahan dipanggil kuliah untuk hari ini 361 00:18:21,560 --> 00:18:24,280 dan biarkan aku pergi ke depan pertama dan klik pada pset7. 362 00:18:24,280 --> 00:18:27,940 >> Saya seolah-olah mempunyai beberapa pilihan, satu untuk baru, untuk membuat jadual baru, 363 00:18:27,940 --> 00:18:30,770 dan pautan kepada pengguna, yang adalah jadual saya sudah buat. 364 00:18:30,770 --> 00:18:31,790 Jadi apa meja? 365 00:18:31,790 --> 00:18:33,740 Jadi, jika anda menggunakan Excel sebelum ini, dan jika anda mempunyai 366 00:18:33,740 --> 00:18:37,110 nombor digunakan atau Google Spreadsheet, anda membuka tingkap 367 00:18:37,110 --> 00:18:39,350 dan anda mendapatkan sejumlah besar baris dan lajur, 368 00:18:39,350 --> 00:18:43,120 tetapi kemudian anda biasanya mempunyai lembaran kerja sepanjang bahagian bawah, atau tab berasingan. 369 00:18:43,120 --> 00:18:46,140 Anda boleh memikirkan setiap lembaran kerja sebagai meja 370 00:18:46,140 --> 00:18:51,150 jadi pangkalan data itu, akhirnya, adalah gabungan satu atau lebih jadual, satu 371 00:18:51,150 --> 00:18:54,064 atau lebih lembaran kerja, dalam dunia spreadsheet biasa. 372 00:18:54,064 --> 00:18:55,980 Jadi, saya pergi ke depan dan klik pada lembaran kerja ini 373 00:18:55,980 --> 00:18:59,420 yang saya premade, yang disebut pengguna, a.k.a. 374 00:18:59,420 --> 00:19:00,700 Jadual pangkalan data. 375 00:19:00,700 --> 00:19:04,130 Dan jika saya tatal ke bawah di sini, biarkan aku zum keluar sedikit, 376 00:19:04,130 --> 00:19:08,479 ini adalah apa yang phpMyAdmin memberitahu kita adalah di dalam jadual ini sekarang. 377 00:19:08,479 --> 00:19:11,020 Ini agak mengelirukan pada mulanya pandangan kerana UI bukan 378 00:19:11,020 --> 00:19:15,140 perkara yang tercantik di dunia, tetapi apa yang menarik ialah bahagian ini di sini. 379 00:19:15,140 --> 00:19:17,970 ID, nama pengguna dan hash. 380 00:19:17,970 --> 00:19:20,510 >> Terlebih dahulu, dan anda akan tangan ini dalam permasalahan yang tujuh, 381 00:19:20,510 --> 00:19:25,050 kami memberi anda fail yang mengandungi super jadual pangkalan data yang kecil, yang dipinjam sebenarnya 382 00:19:25,050 --> 00:19:27,070 dari edisi penggodam dari permasalahan yang dua, 383 00:19:27,070 --> 00:19:29,480 yang di dalamnya terdapat enam baris. 384 00:19:29,480 --> 00:19:32,720 Satu untuk Belinda semua jalan ke satu untuk Zamyla, 385 00:19:32,720 --> 00:19:35,980 dan perhatikan di sebelah kiri orang-orang nama pengguna adalah ID yang unik seperti satu, 386 00:19:35,980 --> 00:19:39,410 dua, tiga, empat, lima, enam, bilangan bulat, dan kemudian ke kanan adalah hash. 387 00:19:39,410 --> 00:19:42,780 >> Dan jika, kemungkinan besar, anda tidak melakukan masalah edisi penggodam menetapkan dua, 388 00:19:42,780 --> 00:19:46,560 tetapi hash adalah seperti disulitkan kata laluan dengan beberapa kaveat. 389 00:19:46,560 --> 00:19:49,470 Dan sebagainya, apa yang anda lihat di sini adalah versi dienkripsi kesemua enam 390 00:19:49,470 --> 00:19:52,950 kata laluan kami dari masalah ditetapkan hacker edisi dua itu. 391 00:19:52,950 --> 00:19:56,500 Sekarang ke kiri adalah hanya beberapa perkara GUI, mengedit baris ini, menyalin baris ini, 392 00:19:56,500 --> 00:19:57,630 memotong baris ini. 393 00:19:57,630 --> 00:19:59,840 >> Namun yang menarik sekarang adalah sebagai berikut. 394 00:19:59,840 --> 00:20:03,810 Saya benar-benar boleh mula bereksperimen dengan jadual ini. 395 00:20:03,810 --> 00:20:07,330 Jadi jika saya pergi dan klik SQL tab, saya mendapat kotak teks ini besar. 396 00:20:07,330 --> 00:20:10,190 Dan ini bukan bagaimana kita akan melakukannya ketika benar-benar menulis kod. 397 00:20:10,190 --> 00:20:12,700 Untuk menjadi jelas, phpMyAdmin hanyalah alat itu 398 00:20:12,700 --> 00:20:16,450 akan membiarkan kita melihat-pangkalan data dan biarlah kami bereksperimen dengan pertanyaan. 399 00:20:16,450 --> 00:20:19,430 >> Jadi misalnya, kira Saya betul-betul melaksanakan ini. 400 00:20:19,430 --> 00:20:22,820 Pilih, yang merupakan salah satu dari orang-orang kata kunci yang saya nyatakan sebelum ini, bintang, 401 00:20:22,820 --> 00:20:25,900 yang mewakili semua ruangan dalam jadual. 402 00:20:25,900 --> 00:20:26,820 Dari apa yang jadual? 403 00:20:26,820 --> 00:20:27,990 Nah, pengguna. 404 00:20:27,990 --> 00:20:29,950 Dan notis ada ini konvensyen aneh di SQL 405 00:20:29,950 --> 00:20:32,140 di mana anda benar-benar menggunakan kembali kutu, biasanya, 406 00:20:32,140 --> 00:20:35,940 sebut harga tidak tunggal dan kutipan tidak double apabila anda bercakap tentang jadual nama, 407 00:20:35,940 --> 00:20:38,990 sehingga kutipan belakang adalah perkara yang di tangan kiri atas papan kekunci yang paling 408 00:20:38,990 --> 00:20:39,720 mungkin. 409 00:20:39,720 --> 00:20:41,850 >> Jadi, saya pergi ke depan sekarang dan hanya meninggalkan itu sahaja 410 00:20:41,850 --> 00:20:46,020 dan tatal ke bawah dan klik Go, dan kami benar-benar akan melihat perkara yang sama. 411 00:20:46,020 --> 00:20:52,410 Kita baru sahaja dilaksanakan query SQL mengatakan pilih bintang semua 412 00:20:52,410 --> 00:20:55,610 dari meja dipanggil pengguna, dan apa yang Anda dapatkan adalah ini. 413 00:20:55,610 --> 00:20:58,400 Pada akhirnya, kita akan dapat melakukan perkara yang sama dalam kod, 414 00:20:58,400 --> 00:21:02,109 tetapi buat masa ini semua saya mahu lakukan adalah melihatnya dalam pelayar saya. 415 00:21:02,109 --> 00:21:03,900 Nah mari kita melakukan sesuatu sedikit berbeza. 416 00:21:03,900 --> 00:21:08,330 Mari kita kembali ke tab SQL, dan mari kita hanya mengatakan bahawa apa? 417 00:21:08,330 --> 00:21:11,520 Zamyla telah kehilangan semua nya wang, dan oleh itu 418 00:21:11,520 --> 00:21:13,190 masa bagi kita untuk memadam sebagai pengguna. 419 00:21:13,190 --> 00:21:14,630 Dia tidak lagi log masuk. 420 00:21:14,630 --> 00:21:18,870 >> Jadi, saya akan mengatakan memadam from-- baik, mengekalkan permodalan 421 00:21:18,870 --> 00:21:23,080 untuk konsistensi, menghapus daripada pengguna di mana. 422 00:21:23,080 --> 00:21:25,430 Dan sebagainya, kita boleh mempunyai ini predikat, atau ini 423 00:21:25,430 --> 00:21:31,180 kelayakan, pada akhir kenyataan saya di mana dan bagaimana saya boleh memadam Zamyla? 424 00:21:31,180 --> 00:21:34,190 Dengan nama Zamyla beliau, sehingga lajur, salah satu kolom 425 00:21:34,190 --> 00:21:37,950 dinamakan, jadi di mana nama = "Zamyla". 426 00:21:37,950 --> 00:21:40,000 Dan di sini saya menggunakan dua sebut harga atau sebut harga tunggal, 427 00:21:40,000 --> 00:21:42,958 Anda hanya menggunakan belakang kutu apabila berbicara tentang nama-nama, misalnya, 428 00:21:42,958 --> 00:21:45,130 jadual atau medan. 429 00:21:45,130 --> 00:21:47,440 Dan biarkan aku klik Buka di sini. 430 00:21:47,440 --> 00:21:50,400 Dan kini, laman web tersebut menjadi sedikit tegang. 431 00:21:50,400 --> 00:21:53,620 >> Atau, adakah anda benar-benar ingin melaksanakan memadam daripada pengguna di mana nama sama Zamyla? 432 00:21:53,620 --> 00:21:54,680 Ya. 433 00:21:54,680 --> 00:22:01,900 Jadi sekarang, jika kita kembali ke meja saya oleh pengguna mengklik, melihat bahwa Hm. 434 00:22:01,900 --> 00:22:02,530 Saya melakukan kesalahan. 435 00:22:02,530 --> 00:22:04,070 Dan sebenarnya, aku agak diklik pergi begitu cepat 436 00:22:04,070 --> 00:22:06,195 Anda bahkan tidak melihat mesej ralat merah, mungkin. 437 00:22:06,195 --> 00:22:07,649 Apa yang saya lakukan salah? 438 00:22:07,649 --> 00:22:09,690 PENONTON: Anda tidak perlu untuk mengambil kesempatan namanya. 439 00:22:09,690 --> 00:22:11,260 DAVID J. MALAN: Ya saya dipermodalkan namanya, 440 00:22:11,260 --> 00:22:13,770 tetapi beliau sebenarnya saya Nama pengguna membuat beberapa kesilapan, kan? 441 00:22:13,770 --> 00:22:16,720 Satu, beliau adalah nama pengguna zamyla, huruf kecil Z, 442 00:22:16,720 --> 00:22:20,140 dan nama lajur adalah nama pengguna, bukan nama, jadi mari kita melakukan ini lagi. 443 00:22:20,140 --> 00:22:25,750 Biar saya pergi ke depan dan memotong daripada pengguna di mana 444 00:22:25,750 --> 00:22:28,990 nama pengguna sama dengan kutipan tanda kutip "Zamyla". 445 00:22:28,990 --> 00:22:29,490 -Baik saja? 446 00:22:29,490 --> 00:22:32,600 Jadi ini kelihatan sedikit lebih baik, mari saya pergi tatal ke bawah dan klik Buka. 447 00:22:32,600 --> 00:22:34,730 Ia masih akan menjerit pada saya untuk memastikan. 448 00:22:34,730 --> 00:22:37,500 Saya klik Ya, dan sekarang kita melihat, terus terang ini berlaku, benar-benar 449 00:22:37,500 --> 00:22:39,870 cepat, kurang daripada satu kedua tentu, ini 450 00:22:39,870 --> 00:22:41,720 betul-betul pertanyaan yang tidak perlu lagi dilaksanakan. 451 00:22:41,720 --> 00:22:45,617 Untuk mengesahkan, biarlah saya pengguna klik dan memang sekarang Zamyla hilang. 452 00:22:45,617 --> 00:22:46,700 Sekarang mari kita melakukan yang sebaliknya. 453 00:22:46,700 --> 00:22:49,320 Katakan Gabe mahu mendaftar untuk laman web ini. 454 00:22:49,320 --> 00:22:52,825 Apa pertanyaan SQL, apa perintah saya boleh menaip untuk menambah Gabe? 455 00:22:52,825 --> 00:22:54,200 Nah itu cukup mudah. 456 00:22:54,200 --> 00:22:58,260 Masukkan ke pengguna, dan sekarang mendapat sedikit samar. 457 00:22:58,260 --> 00:23:03,190 Saya perlu menentukan, ke server, apa bidang saya hendak berikan. 458 00:23:03,190 --> 00:23:06,630 Saya tidak peduli apa yang ID Gabe jumlah adalah, jadi saya akan melangkau itu. 459 00:23:06,630 --> 00:23:11,360 Saya bukan akan mengatakan nama pengguna, hash, dan kemudian 460 00:23:11,360 --> 00:23:14,960 nilai-nilai saya mahu meletakkan ada akan menjadi Gabe. 461 00:23:14,960 --> 00:23:16,800 Dan kemudian hash, saya tidak tahu. 462 00:23:16,800 --> 00:23:19,900 Jadi buat masa ini, saya akan meninggalkan yang sebagai besar yang perlu dilakukan. 463 00:23:19,900 --> 00:23:21,650 Kami akan kembali ke bahwa dalam masalah yang telah ditetapkan 464 00:23:21,650 --> 00:23:23,390 spec bagaimana anda benar-benar melakukannya. 465 00:23:23,390 --> 00:23:24,630 >> Jadi melihat, sekali lagi, sintaks. 466 00:23:24,630 --> 00:23:28,430 Masukkan ke dalam nama table, maka senarai kurung dari ladang, 467 00:23:28,430 --> 00:23:30,980 lajur, anda mahu menambah nilai-nilai, dan kemudian hanya 468 00:23:30,980 --> 00:23:34,495 pesanan yang sama persis kiri ke kanan dari nilai yang anda mahu tambah, 469 00:23:34,495 --> 00:23:36,870 dan ia hanya membungkus kerana teks yang agak panjang. 470 00:23:36,870 --> 00:23:38,520 Jadi sekarang biarlah saya klik Buka. 471 00:23:38,520 --> 00:23:39,830 Satu baris dimasukkan. 472 00:23:39,830 --> 00:23:43,020 Dan jika saya kembali ke pengguna, yang menarik 473 00:23:43,020 --> 00:23:48,960 adalah bahwa tidak hanya Gabe kini dalam pangkalan data, apa yang nampaknya ID? 474 00:23:48,960 --> 00:23:49,820 >> Baik itu tujuh. 475 00:23:49,820 --> 00:23:51,479 Mengapa tujuh apabila saya tidak menambahkannya? 476 00:23:51,479 --> 00:23:54,020 Jadi, ini juga adalah salah satu penginapan mendapatkan database. 477 00:23:54,020 --> 00:23:55,750 Banyak dibina dalam fungsi. 478 00:23:55,750 --> 00:23:57,950 Ia ternyata bahawa apabila dibuat jadual ini, 479 00:23:57,950 --> 00:24:01,390 Saya dipratatarajahkan itu secara automatik menetapkan ID dalam apa-apa cara yang 480 00:24:01,390 --> 00:24:02,480 yang akan bertambah. 481 00:24:02,480 --> 00:24:05,470 Jadi jika anda pernah menjulurkan sekitar, dan memandang ID Facebook apa yang anda 482 00:24:05,470 --> 00:24:09,292 jumlah adalah, hari ini ia tidak benar-benar apa-apa yang perlu dilakukan, tetapi Facebook sebagai API, 483 00:24:09,292 --> 00:24:11,750 Antara Muka Pengaturcaraan Aplikasi, di mana anda boleh mendapatkan kembali 484 00:24:11,750 --> 00:24:14,430 sejumlah besar data mengenai diri sendiri, tentang kawan-kawan anda, 485 00:24:14,430 --> 00:24:15,347 dan sambungan anda. 486 00:24:15,347 --> 00:24:17,430 Dan apa yang digunakan untuk menjadi baik yang sejuk dan kembali pada hari, 487 00:24:17,430 --> 00:24:19,510 adalah untuk mencari apa yang anda Facebook adalah nombor ID. 488 00:24:19,510 --> 00:24:22,390 Mark Zuckerberg, misalnya, adalah tiga 489 00:24:22,390 --> 00:24:23,890 kerana dia adalah penulis laman web ini. 490 00:24:23,890 --> 00:24:27,610 Dan seperti cerita pergi, dia menciptakan dua akaun ujian, pengguna pertama dan kedua, 491 00:24:27,610 --> 00:24:28,690 yang kemudian dihapuskan. 492 00:24:28,690 --> 00:24:32,780 Dan sebagainya, Zuck, seperti username di Facebook, adalah nombor ID tiga, 493 00:24:32,780 --> 00:24:36,110 dan kita semua mempunyai jumlah yang jauh yang lebih besar daripada tiga hari ini. 494 00:24:36,110 --> 00:24:37,980 Malah, pada satu masa nanti Facebook berpindah 495 00:24:37,980 --> 00:24:42,410 dari bahkan menggunakan int, yang adalah nilai 32-bit, untuk menggunakan 496 00:24:42,410 --> 00:24:44,480 langkah seterusnya ke atas, dasarnya yang lama lama jadi 497 00:24:44,480 --> 00:24:47,150 bahawa mereka boleh menampung mungkin pengguna mendaftar. 498 00:24:47,150 --> 00:24:49,420 Jadi fakta yang menyenangkan sejarah sedikit. 499 00:24:49,420 --> 00:24:51,660 >> Jadi itu hanya sintaks asas dengan yang 500 00:24:51,660 --> 00:24:54,470 kita mungkin melaksanakan beberapa pertanyaan, tetapi kita benar-benar dapat 501 00:24:54,470 --> 00:24:56,744 melakukan banyak perkara-perkara yang lebih dengan SQL. 502 00:24:56,744 --> 00:24:58,910 Dan anda akan melihat, pada akhirnya, dalam masalah yang ditetapkan tujuh 503 00:24:58,910 --> 00:25:01,034 bahawa anda perlu membuat beberapa keputusan reka bentuk, 504 00:25:01,034 --> 00:25:03,290 di antara mereka akan menjadi apa jenis data untuk digunakan. 505 00:25:03,290 --> 00:25:08,240 Jadi sama seperti dalam C, ada data jenis dalam pangkalan data, seperti MySQL, 506 00:25:08,240 --> 00:25:12,640 dan jenis data yang anda perlu memilih dari termasuk bidang-bidang ini di sini. 507 00:25:12,640 --> 00:25:17,287 Char, varchar, Int, int besar, perpuluhan dan masa kini, dan lain-lain lagi. 508 00:25:17,287 --> 00:25:18,370 Jadi mari kita benar-benar melakukan ini. 509 00:25:18,370 --> 00:25:21,060 Mari kita berpura-pura bahawa kita tidak tangan anda meja pengguna ini 510 00:25:21,060 --> 00:25:25,080 dan biarkan aku pergi ke depan dan membuat, untuk diri saya sendiri, dalam kuliah database-- 511 00:25:25,080 --> 00:25:31,000 benar-benar membiarkan saya pergi ke depan dan memadam meja saya ada di sini sudah 512 00:25:31,000 --> 00:25:32,940 supaya kita benar-benar boleh membuat ini. 513 00:25:32,940 --> 00:25:33,550 Alamak. 514 00:25:33,550 --> 00:25:35,970 Saya akan turun ini meja, dan sekarang aku 515 00:25:35,970 --> 00:25:38,337 akan pergi lagi ke kuliah pangkalan data di sini, 516 00:25:38,337 --> 00:25:40,420 Saya akan membuat tabel disebut pengguna dan mari kita 517 00:25:40,420 --> 00:25:43,010 hanya melakukan tiga lajur awalnya dan klik Buka. 518 00:25:43,010 --> 00:25:44,990 >> Sekarang, untuk sebahagian besar, sekali lagi, ini hanyalah 519 00:25:44,990 --> 00:25:48,570 menggunakan alat ini grafis yang disebut phpMyAdmin, dan apa yang kita lakukan sekarang 520 00:25:48,570 --> 00:25:49,600 mewujudkan meja. 521 00:25:49,600 --> 00:25:53,170 Jadi ini adalah seperti fail, Baru, dan mewujudkan fail Excel baru. 522 00:25:53,170 --> 00:25:55,440 Jadi itu meminta saya beberapa soalan, dari kiri ke kanan, 523 00:25:55,440 --> 00:25:58,620 apa nama kolom pertama, dan kemudian nama ruang kedua, 524 00:25:58,620 --> 00:25:59,560 dan nama ketiga. 525 00:25:59,560 --> 00:26:00,518 Jadi mari kita mencipta ini. 526 00:26:00,518 --> 00:26:05,460 ID, dan kemudian nama pengguna adalah satu, dan kemudian hash merupakan satu lagi. 527 00:26:05,460 --> 00:26:08,970 Jadi apa yang harus jenis data sekarang untuk bidang seperti ID? 528 00:26:08,970 --> 00:26:14,470 >> Berikut adalah keseluruhan senarai jenis data disediakan untuk anda dalam pangkalan data, 529 00:26:14,470 --> 00:26:16,070 dan untuk saat ini mari kita pergi dengan int. 530 00:26:16,070 --> 00:26:18,160 Nilai 32-bit, saya tidak berfikir secara realistik saya 531 00:26:18,160 --> 00:26:21,484 akan mempunyai lebih daripada 4 bilion pengguna di dalam akaun saya, dalam perkhidmatan saya, 532 00:26:21,484 --> 00:26:23,650 jadi saya akan terus bergerak kepada soalan yang berikutnya. 533 00:26:23,650 --> 00:26:25,490 Saya tidak akan menentukan panjang atau nilai-nilai, 534 00:26:25,490 --> 00:26:28,540 ia tidak berlaku di sini untuk int an, per se. 535 00:26:28,540 --> 00:26:30,740 Dan sekarang saya boleh menentukan, nampaknya, lalai 536 00:26:30,740 --> 00:26:33,970 nilai, yang saya tidak akan menentukan. 537 00:26:33,970 --> 00:26:36,050 Pemeriksaan A, saya tidak tahu apa itu. 538 00:26:36,050 --> 00:26:37,290 Atribut. 539 00:26:37,290 --> 00:26:39,455 Sekarang kita sebenarnya mempunyai keputusan reka bentuk. 540 00:26:39,455 --> 00:26:42,580 Jadi ada beberapa bidang di sini, tidak semua yang berlaku, tetapi tidak ditandatangani 541 00:26:42,580 --> 00:26:43,380 hanya bermaksud apa? 542 00:26:43,380 --> 00:26:45,400 Itu int mesti? 543 00:26:45,400 --> 00:26:46,210 Hanya bukan negatif. 544 00:26:46,210 --> 00:26:48,090 Jadi ia perlu 0 ke atas. 545 00:26:48,090 --> 00:26:51,120 Tidak, saya tidak akan memeriksa kerana Saya mahu setiap pengguna untuk mempunyai ID, 546 00:26:51,120 --> 00:26:52,470 ia tidak boleh batal. 547 00:26:52,470 --> 00:26:55,949 Dan kemudian, kita dapat lebih banyak lagi keputusan reka bentuk yang menarik seperti ini. 548 00:26:55,949 --> 00:26:58,990 Kami akan kembali ke ini dalam sekejap, tetapi apa yang satu lagi ciri pangkalan data 549 00:26:58,990 --> 00:27:04,200 adalah, adalah bahawa anda boleh memberitahu pelayan pangkalan data yang pergi ke depan 550 00:27:04,200 --> 00:27:07,100 dan mengoptimumkan diri anda, anda RAM dan ruang cakera keras anda, 551 00:27:07,100 --> 00:27:11,770 supaya memilih, dan sisipan, dan menghapus, dan kemas kini benar-benar cepat. 552 00:27:11,770 --> 00:27:13,250 Kontras ini dengan pset5. 553 00:27:13,250 --> 00:27:16,259 >> Jika anda ingin mencari sesuatu dalam jadual hash anda, yang 554 00:27:16,259 --> 00:27:18,300 Anda anggap sebagai pangkalan data, yang terpaksa melakukan semua 555 00:27:18,300 --> 00:27:21,500 berfungsi untuk membuat jadual hash anda dengan cepat. 556 00:27:21,500 --> 00:27:22,840 Ia seperti, jelas, anda. 557 00:27:22,840 --> 00:27:23,060 Betul? 558 00:27:23,060 --> 00:27:26,080 Anda harus dimasukkan ke dalam semua baik masa memperhalusi perkara, mendapatkan fungsi hash 559 00:27:26,080 --> 00:27:27,820 benar, mencari tahu bagaimana banyak baldi untuk memiliki. 560 00:27:27,820 --> 00:27:29,611 >> Tetapi apa yang baik, sekali lagi, tentang database adalah 561 00:27:29,611 --> 00:27:31,762 Anda hanya menyepak bola semua ini kepada orang lain 562 00:27:31,762 --> 00:27:33,720 yang berpikir ini melalui untuk anda, dan apa yang 563 00:27:33,720 --> 00:27:37,170 Saya akan katakan di sini di bawah Indeks ialah bidang ID saya 564 00:27:37,170 --> 00:27:41,149 akan menjadi jalan utama mengenal pasti pengguna dalam pangkalan data ini. 565 00:27:41,149 --> 00:27:42,940 Saya tidak akan berfikir dari Zamyla sebagai Zamyla, 566 00:27:42,940 --> 00:27:45,800 Saya akan memikirkan sebagai nombor 6. 567 00:27:45,800 --> 00:27:49,814 >> Mengapa, mungkin, lebih baik intuitif untuk memikirkan dan model 568 00:27:49,814 --> 00:27:52,480 setiap baris individu anda dengan menggunakan beberapa bukan sesuatu 569 00:27:52,480 --> 00:27:56,480 seperti string, seperti yang Zamyla atau Gabe atau tali lagi masih? 570 00:27:56,480 --> 00:27:57,444 Ya? 571 00:27:57,444 --> 00:28:00,117 >> PENONTON: Satu ID unik? 572 00:28:00,117 --> 00:28:01,200 DAVID J. MALAN: Katakanlah lagi? 573 00:28:01,200 --> 00:28:02,283 PENONTON: Satu ID unik? 574 00:28:02,283 --> 00:28:04,400 DAVID J. MALAN: Satu ID unik, tetapi suppose-- 575 00:28:04,400 --> 00:28:06,320 mengikut mana-mana pada umumnya dengan nama pengguna, kira 576 00:28:06,320 --> 00:28:10,110 Saya juga berkata terdapat hanya boleh menjadi salah satu Zamyla di dunia, dan hanya satu Gabe. 577 00:28:10,110 --> 00:28:13,730 Saya boleh mengenakan keunikan kekangan pada tali, juga, jika saya mahu. 578 00:28:13,730 --> 00:28:15,550 Jadi bukan pikiran yang buruk. 579 00:28:15,550 --> 00:28:16,500 >> PENONTON: Lebih selamat. 580 00:28:16,500 --> 00:28:17,874 >> DAVID J. MALAN: Lebih selamat, mengapa? 581 00:28:17,874 --> 00:28:20,705 PENONTON: Anda tidak boleh memberitahu yang mana, seperti dalam pengguna. 582 00:28:20,705 --> 00:28:22,580 DAVID J. MALAN: OK, anda tidak boleh memberitahu mana pengguna 583 00:28:22,580 --> 00:28:24,380 adalah yang jadi ada aspek privasi kepadanya, 584 00:28:24,380 --> 00:28:27,810 terutama jika ID mungkin yang terdapat dalam URL. 585 00:28:27,810 --> 00:28:29,960 Jadi pasti, yang bisa jenis pekerjaan juga. 586 00:28:29,960 --> 00:28:30,640 Pemikiran yang lain? 587 00:28:30,640 --> 00:28:31,383 Ya? 588 00:28:31,383 --> 00:28:34,316 >> PENONTON: Lebih mudah untuk melakukan operasi pada int. 589 00:28:34,316 --> 00:28:35,940 DAVID J. MALAN: Itu kicker sebenar. 590 00:28:35,940 --> 00:28:38,850 Ia hanya lebih efisien, atau lebih mudah untuk komputer, 591 00:28:38,850 --> 00:28:40,431 untuk melakukan operasi pada integer. 592 00:28:40,431 --> 00:28:40,930 Betul? 593 00:28:40,930 --> 00:28:43,905 Int dijamin 32-bit, manakala Zamyla 594 00:28:43,905 --> 00:28:47,660 adalah watak-watak beberapa lama, Gabriel adalah beberapa karakter, 595 00:28:47,660 --> 00:28:51,930 Davenport adalah benar-benar panjang, dan sebagainya itu tidak terlalu cekap dalam penggunaan 596 00:28:51,930 --> 00:28:55,860 tali untuk membandingkan nilai-nilai dan melihat untuk bidang, dan bidang kemas kini, 597 00:28:55,860 --> 00:28:57,790 jika anda boleh pergi dengan hanya satu integer. 598 00:28:57,790 --> 00:28:59,090 Hanya 32 bit. 599 00:28:59,090 --> 00:29:02,570 Jadi nama pengguna, juga, dengan cara ini, tidak perlu menjadi unik, 600 00:29:02,570 --> 00:29:05,040 walaupun mereka mungkin harus yang berkenaan, dan juga dengan cara ini juga 601 00:29:05,040 --> 00:29:07,520 pengguna boleh dibenarkan menukar nama pengguna masing-masing. 602 00:29:07,520 --> 00:29:10,810 >> Sekarang, mari kita meninggalkan ini sebagai cara utama untuk mengenal pasti pengguna. 603 00:29:10,810 --> 00:29:13,510 Ini memberitahu pangkalan data pergi ke depan dan mengoptimumkan diri 604 00:29:13,510 --> 00:29:17,065 supaya up raut ID super cepat. 605 00:29:17,065 --> 00:29:19,620 AI, mengerikan bernama, hanya bermakna Auto Kenaikan, 606 00:29:19,620 --> 00:29:21,500 dan ini adalah cek kotak kita perlu memeriksa 607 00:29:21,500 --> 00:29:24,614 untuk menentukan bahawa bidang ID untuk secara automatik dikemaskini untuk saya, 608 00:29:24,614 --> 00:29:26,530 dan kemudian saya akan tatal ke kanan di sini 609 00:29:26,530 --> 00:29:29,279 dan terus terang saya tidak benar-benar berminat dalam mana-mana lebih bidang ini. 610 00:29:29,279 --> 00:29:30,630 Sudah tentu tidak hari ini. 611 00:29:30,630 --> 00:29:33,770 >> Jadi, saya akan kembali ke sini, di lajur pertama, di mana 612 00:29:33,770 --> 00:29:35,830 Saya perlu memasukkan nama pengguna dan goreng, dan mari kita 613 00:29:35,830 --> 00:29:38,080 pada fokus kurangnya pada yang kedua sekarang. 614 00:29:38,080 --> 00:29:41,498 Int mungkin bukan panggilan yang betul, jadi apa yang masuk akal lebih mungkin? 615 00:29:41,498 --> 00:29:42,741 >> PENONTON: Teks. 616 00:29:42,741 --> 00:29:43,824 DAVID J. MALAN: Katakanlah lagi? 617 00:29:43,824 --> 00:29:44,710 PENONTON: Teks. 618 00:29:44,710 --> 00:29:44,980 DAVID J. MALAN: Teks? 619 00:29:44,980 --> 00:29:45,590 OK, saya mendengar teks. 620 00:29:45,590 --> 00:29:46,090 Apa lagi? 621 00:29:46,090 --> 00:29:50,520 622 00:29:50,520 --> 00:29:53,860 Kami semacam memiliki banyak pilihan yang teks di alam. 623 00:29:53,860 --> 00:29:55,990 Oleh itu, apabila, dan mengapa, lakukan anda menggunakan beberapa? 624 00:29:55,990 --> 00:29:59,560 Baik arang, bertentangan dengan apa yang anda mungkin berfikir, bukan satu karakter. 625 00:29:59,560 --> 00:30:01,550 Ia adalah satu jumlah tertentu aksara. 626 00:30:01,550 --> 00:30:04,600 Jadi, jika kita tahu bahawa semua nama pengguna harus seperti lapan aksara, 627 00:30:04,600 --> 00:30:08,490 seperti yang digunakan untuk menjadi biasa di lebih tua sistem komputer, saya boleh mengatakan char 628 00:30:08,490 --> 00:30:09,830 dan kemudian saya boleh mengatakan 8 di sini. 629 00:30:09,830 --> 00:30:12,930 Saat itulah ruang ketiga menjadi yang berlaku semasa membuat meja. 630 00:30:12,930 --> 00:30:15,450 >> Tetapi itu agak menjengkelkan kerana beberapa orang mungkin 631 00:30:15,450 --> 00:30:17,660 ingin mempunyai nama pengguna yang lebih lama daripada lapan aksara, 632 00:30:17,660 --> 00:30:19,743 sesetengah orang mungkin mahu mempunyai nama pengguna yang lebih pendek, 633 00:30:19,743 --> 00:30:22,210 jadi mengapa melakukan sendiri ke nombor tertentu? 634 00:30:22,210 --> 00:30:24,710 Mengapa tidak mempunyai variabel beberapa aksara dan hanya 635 00:30:24,710 --> 00:30:28,580 mengatakan bahawa panjang maksimum nama adalah, saya tidak tahu, seperti 64 aksara. 636 00:30:28,580 --> 00:30:31,780 Saya tidak boleh berfikir apa-apa kawan-kawan yang mempunyai nama lebih dari 64 aksara, 637 00:30:31,780 --> 00:30:34,810 dan bahkan jika itu terlalu singkat anda boleh pasti benjolan itu sewenang-wenangnya. 638 00:30:34,810 --> 00:30:37,330 >> Jadi varchar dijadikan pemboleh ubah beberapa karakter. 639 00:30:37,330 --> 00:30:41,010 Teks tidak adalah naluri yang tidak baik, dan terus terang semacam itu tidak apa yang dikatakan, 640 00:30:41,010 --> 00:30:45,460 tetapi medan teks boleh seperti 65,000 bait sekurang-kurangnya. 641 00:30:45,460 --> 00:30:50,790 Itu mungkin pembunuhan besar-besaran untuk lapangan, dan pada kenyataannya, yup, 65.535. 642 00:30:50,790 --> 00:30:53,740 Itu mungkin pembunuhan besar-besaran untuk nama, jadi kita akan tetap, biasanya, 643 00:30:53,740 --> 00:30:56,910 dengan varchars untuk teks lapangan dan hash juga. 644 00:30:56,910 --> 00:30:59,990 Hash, ternyata, kita boleh melakukan varchar juga atau sesuatu seperti itu, 645 00:30:59,990 --> 00:31:03,080 tetapi kita tidak akan memberi tumpuan hari ini di kriptografi ada dan nombor-nombor 646 00:31:03,080 --> 00:31:05,210 bahawa kita mungkin sebenarnya akan digunakan untuk panjangnya. 647 00:31:05,210 --> 00:31:07,430 >> Tetapi saya tatal ke bawah ke kanan. 648 00:31:07,430 --> 00:31:11,280 Anda hanya boleh mempunyai satu indeks utama untuk meja, 649 00:31:11,280 --> 00:31:16,380 tetapi saya ingin memohon mana-mana, sekarang, kepada nama pengguna, anda akan berkata? 650 00:31:16,380 --> 00:31:21,980 Apakah yang perlu username didasarkan pada kabur pemahaman tentang keempat-empat pilihan? 651 00:31:21,980 --> 00:31:23,340 Hanya dengan nama-nama mereka? 652 00:31:23,340 --> 00:31:24,140 >> PENONTON: unik. 653 00:31:24,140 --> 00:31:25,100 >> DAVID J. MALAN: Jadi, yang penting 654 00:31:25,100 --> 00:31:28,190 Jadi ternyata yang tidak sanggup Anda memberitahu pangkalan data, terlebih dahulu, 655 00:31:28,190 --> 00:31:30,380 ini adalah cara yang utama mengenal pasti bidang. 656 00:31:30,380 --> 00:31:32,990 Anda juga boleh katakan ini adalah akan menjadi satu bidang yang unik. 657 00:31:32,990 --> 00:31:34,700 Ia tidak akan menjadi perkara yang aku mengandalkan, 658 00:31:34,700 --> 00:31:38,490 tetapi saya ingin database untuk pada dasarnya memiliki bahawa jika keadaan, jadi 659 00:31:38,490 --> 00:31:42,340 bahawa jika saya pernah cuba untuk mendaftar dua pengguna dengan nama yang sama, 660 00:31:42,340 --> 00:31:44,360 daripada pangkalan data yang rata tidak akan membiarkan saya. 661 00:31:44,360 --> 00:31:47,490 Saya mungkin mempunyai beberapa kod tambahan dalam PHP yang menghalang lebih banyak, 662 00:31:47,490 --> 00:31:50,640 tetapi pangkalan data juga dapat memastikan yang yang tidak pernah akan terjadi. 663 00:31:50,640 --> 00:31:53,370 >> Sekarang, sebagai samping, terutama karena Anda berfikir tentang projek akhir, 664 00:31:53,370 --> 00:31:57,030 ingat itu indeks dan penuh teks sebenarnya cukup berguna. 665 00:31:57,030 --> 00:32:01,080 Jika anda mempunyai pangkalan data yang lebih besar, tidak dengan puluhan, tetapi dengan beratus-ratus atau beribu-ribu 666 00:32:01,080 --> 00:32:05,270 atau bahkan berjuta-juta ladang, anda boleh juga memberitahu pangkalan data terlebih dahulu 667 00:32:05,270 --> 00:32:07,980 ini adalah bidang yang saya akan untuk mencari di banyak. 668 00:32:07,980 --> 00:32:10,520 Mungkin nama pengguna nya, mungkin itu bio, jika anda 669 00:32:10,520 --> 00:32:13,750 membuat laman web Facebook seperti yang mempunyai perenggan yang pengguna itu dibenarkan 670 00:32:13,750 --> 00:32:16,799 untuk menyelamatkan, dan jika anda mahu memberitahu pangkalan data terlebih dahulu 671 00:32:16,799 --> 00:32:20,090 Saya akan mencari di bidang ini banyak, tetapi ia tidak semestinya unik, 672 00:32:20,090 --> 00:32:22,800 anda boleh menentukan membuat saya indeks. 673 00:32:22,800 --> 00:32:27,990 Atau, anda boleh mengatakan juga membolehkan saya untuk melakukan semacam carian sewenang-wenang seperti Perintah 674 00:32:27,990 --> 00:32:30,420 atau Control M, seperti anda mungkin di Word Processor, 675 00:32:30,420 --> 00:32:34,184 supaya anda boleh melihat string sewenang-wenangnya atau substrings dalam bidang ini. 676 00:32:34,184 --> 00:32:36,600 Dengan kata lain, kita sudah ke titik pada semester 677 00:32:36,600 --> 00:32:40,720 di mana anda tidak perlu bimbang tentang bagaimana untuk melaksanakan perkara-perkara yang efisien. 678 00:32:40,720 --> 00:32:44,540 Anda hanya perlu tahu tentang apa yang keputusan reka bentuk untuk membuat supaya anda 679 00:32:44,540 --> 00:32:48,470 menggunakan alat-alat yang tepat untuk perdagangan dalam rangka untuk meningkatkan ciri- 680 00:32:48,470 --> 00:32:50,380 bahawa orang lain telah dibina untuk anda. 681 00:32:50,380 --> 00:32:54,240 Jadi untuk recap, utama harus hanya mempunyai satu, anda hanya boleh mempunyai satu, 682 00:32:54,240 --> 00:32:59,630 dan ia adalah perkara yang anda sedang melakukan untuk gunakan untuk mengenal pasti bidang yang unik. 683 00:32:59,630 --> 00:33:02,710 Unik hanya sama di hadapan Allah, tetapi Anda mungkin hanya kadang-kadang menggunakannya, 684 00:33:02,710 --> 00:33:04,530 tetapi anda ingin database untuk mengenakan ia. 685 00:33:04,530 --> 00:33:08,050 Indeks hanya berarti preemptively mempercepat pekerjaan pada masa akan datang 686 00:33:08,050 --> 00:33:10,230 supaya saya dapat mencari perkara dalam bidang ini. 687 00:33:10,230 --> 00:33:13,700 Dan kemudian teks lengkap umumnya untuk paragraf, atau esei, atau badan-badan besar 688 00:33:13,700 --> 00:33:16,270 teks di mana anda juga mungkin ingin memiliki 689 00:33:16,270 --> 00:33:19,420 kad liar seperti setara bintang. 690 00:33:19,420 --> 00:33:19,920 Betul. 691 00:33:19,920 --> 00:33:22,580 >> Jadi yang agak banyak untuk semua sekali gus. 692 00:33:22,580 --> 00:33:25,220 Mari kita lihat apakah kita tidak boleh menyaring beberapa ciri-ciri ini 693 00:33:25,220 --> 00:33:29,540 dan kemudian membina sesuatu agak mudah, tetapi berkuasa. 694 00:33:29,540 --> 00:33:31,380 Jadi di antara yang lain keputusan reka bentuk anda 695 00:33:31,380 --> 00:33:34,005 akhirnya akan mempunyai yang bersama-sama garis mesin penyimpanan. 696 00:33:34,005 --> 00:33:37,370 Dan saya hanya masyhurkan ini pada menjangkakan projek akhir, 697 00:33:37,370 --> 00:33:42,020 dan antisipasi mari say-- tidak mari kita lakukan ini. 698 00:33:42,020 --> 00:33:43,820 Mari kita membina ini sedikit permohonan pertama. 699 00:33:43,820 --> 00:33:48,070 Saya akan masuk ke terminal saya tingkap, dan di sini bukan 700 00:33:48,070 --> 00:33:52,500 hanya counter.php, yang kita sekarang akan untuk menghapuskan sebagai tidak lagi erat, 701 00:33:52,500 --> 00:33:54,570 tetapi kami mempunyai sejumlah besar direktori dan ini 702 00:33:54,570 --> 00:33:58,080 akan menjadi hampir sama dalam semangat apa yang anda akan melihat dalam permasalahan yang tujuh. 703 00:33:58,080 --> 00:34:00,980 >> Oleh itu, kita mempunyai tiga direktori termasuk awam dan template, yang 704 00:34:00,980 --> 00:34:05,040 betul-betul di mana kita berhenti pada Isnin dengan MVC paradigma seluruh kami. 705 00:34:05,040 --> 00:34:09,290 Dan untuk rekap, di khalayak ramai akan pergi mana-mana fail yang saya mahu pengguna untuk benar-benar 706 00:34:09,290 --> 00:34:12,969 v dapat melawat di browser mereka melalui URL. 707 00:34:12,969 --> 00:34:13,502 Template. 708 00:34:13,502 --> 00:34:14,710 Apa yang kita masukkan ke dalam template? 709 00:34:14,710 --> 00:34:17,070 Apakah jenis barangan? 710 00:34:17,070 --> 00:34:21,659 Tidak banyak tetapi pasangan fail sekurang-kurangnya pada hari Isnin. 711 00:34:21,659 --> 00:34:22,619 Yeah. 712 00:34:22,619 --> 00:34:23,100 >> PENONTON: Header dan Footer? 713 00:34:23,100 --> 00:34:24,516 >> DAVID J. MALAN: Header dan Footer. 714 00:34:24,516 --> 00:34:26,679 Oleh itu, kita mempunyai sesuatu yang serupa pada hari ini juga. 715 00:34:26,679 --> 00:34:30,330 Kami telah mendapat lebih beberapa fail tetapi Footer saya lihat, Header saya lihat, 716 00:34:30,330 --> 00:34:31,909 dan kemudian sekelompok fail lain. 717 00:34:31,909 --> 00:34:35,482 Jadi, ini adalah setara dari pandangan V MVC, yang, 718 00:34:35,482 --> 00:34:37,690 lagi, akan menjadi sedikit lebih yang jelas dalam permasalahan yang tujuh, 719 00:34:37,690 --> 00:34:40,380 tetapi ini hanyalah sebuah folder Saya meletakkan banyak estetika saya. 720 00:34:40,380 --> 00:34:42,840 Banyak HTML saya, banyak bentuk saya. 721 00:34:42,840 --> 00:34:46,899 Sementara itu, termasuk, adalah satu lagi direktori yang mempunyai ketiga-tiga fail 722 00:34:46,899 --> 00:34:48,440 dan mari kita cepat melihat ini. 723 00:34:48,440 --> 00:34:51,699 >> Saya akan pergi ke depan dan membuka config.php. 724 00:34:51,699 --> 00:34:54,610 Ternyata, banyak seperti sebelum ini dalam jangka masa, 725 00:34:54,610 --> 00:34:57,850 Anda tajam termasuk CS50 dot h dengan pset7. 726 00:34:57,850 --> 00:35:00,780 Dalam contoh hari ini, anda akan untuk melakukan hal yang sama dengan yang 727 00:35:00,780 --> 00:35:03,600 dengan pernyataan memerlukan yang berkesan 728 00:35:03,600 --> 00:35:05,340 termasuk ini beberapa baris. 729 00:35:05,340 --> 00:35:08,225 Jadi untuk menjadi jelas, ini adalah fail yang dipanggil config.php. 730 00:35:08,225 --> 00:35:09,350 Dan perhatikan apa yang dilakukannya. 731 00:35:09,350 --> 00:35:11,970 Ia nampaknya melakukan sesuatu samar, menghidupkan mesej ralat 732 00:35:11,970 --> 00:35:13,680 supaya anda boleh melihat mereka dalam pelayar. 733 00:35:13,680 --> 00:35:15,860 Ini, maka, nampaknya memerlukan dua fail lain 734 00:35:15,860 --> 00:35:19,530 jadi ini adalah seperti #include di C, dan kemudian yang satu ini kita lihat, 735 00:35:19,530 --> 00:35:22,720 dan kami telah mengandalkan, ini ternyata pada bahawa keranjang belanja seperti fungsi. 736 00:35:22,720 --> 00:35:25,610 >> Ini bermakna wasiat Cookie dihantar kembali dan sebagainya. 737 00:35:25,610 --> 00:35:27,290 Jadi mengapa ini menarik? 738 00:35:27,290 --> 00:35:32,460 Nah, jika kita kembali ke ini direktori dan membuka, misalnya, 739 00:35:32,460 --> 00:35:33,741 constance.php. 740 00:35:33,741 --> 00:35:38,840 Perhatikan bahawa PHP yang pemalar sokongan, ia tidak cukup seperti #define di C. 741 00:35:38,840 --> 00:35:41,290 Sebaliknya, anda secara literal mengatakan yang ditetapkan, dan notis 742 00:35:41,290 --> 00:35:44,110 yang saya telah disimpan terlebih dahulu empat konstan dalam fail ini. 743 00:35:44,110 --> 00:35:47,020 Satu untuk pangkalan data hari ini, untuk kata laluan saya, untuk nama pengguna saya, 744 00:35:47,020 --> 00:35:48,690 dan untuk nama pelayan. 745 00:35:48,690 --> 00:35:51,644 Jadi ini benar-benar akan menjadi cukup yang sama di dalam permasalahan yang tujuh. 746 00:35:51,644 --> 00:35:54,560 Dan akhir sekali, dan ini adalah di mana saya akan mendapatkan beberapa fungsi bagus 747 00:35:54,560 --> 00:35:59,000 dari staf, functions.php adalah sekumpulan kode kami telah menulis, 748 00:35:59,000 --> 00:36:01,040 dan saya mengambil sesuatu dari barang ini dari permasalahan yang tujuh 749 00:36:01,040 --> 00:36:05,920 untuk hari ini, yang melakukan banyak hal dan mari kita melihat salah seorang daripada mereka 750 00:36:05,920 --> 00:36:07,270 khususnya. 751 00:36:07,270 --> 00:36:09,720 Fungsi ini di sini, pertanyaan, akan menjadi 752 00:36:09,720 --> 00:36:13,600 fungsi PHP yang kita panggil dalam rangka melaksanakan SQL. 753 00:36:13,600 --> 00:36:16,070 Sesaat yang lalu kami yang menggunakan phpMyAdmin, tapi itu hanya 754 00:36:16,070 --> 00:36:18,720 untuk jenis tujuan pembelajaran dan tujuan diagnostik 755 00:36:18,720 --> 00:36:20,494 dan melupakan set pangkalan data anda. 756 00:36:20,494 --> 00:36:22,660 Apabila anda benar-benar menggunakan anda pangkalan data, anda, manusia, 757 00:36:22,660 --> 00:36:24,100 jelas tidak akan yang akan menarik ke atas web 758 00:36:24,100 --> 00:36:25,740 halaman setiap kali seseorang mendaftar. 759 00:36:25,740 --> 00:36:29,870 Anda akan menulis kod yang menyisipkan dan menghapuskan pengguna apabila diminta, 760 00:36:29,870 --> 00:36:32,490 dan kami akan melakukan hal ini melalui fungsi query. 761 00:36:32,490 --> 00:36:35,360 Jika sekarang saya tatal ke bawah, ada akan menjadi beberapa ciri-ciri. 762 00:36:35,360 --> 00:36:37,170 Redirect akan menjadi fungsi kita menulis 763 00:36:37,170 --> 00:36:40,160 untuk anda yang membolehkan anda untuk menghantar pengguna ke URL yang lain, 764 00:36:40,160 --> 00:36:43,780 dan membuat adalah fungsi, yang seperti yang kita lihat pada hari Isnin, yang benar-benar membuat 765 00:36:43,780 --> 00:36:48,000 templat, tetapi lebih kepada ini dalam bentuk kaki pset7 sendiri melalui. 766 00:36:48,000 --> 00:36:50,500 Buat masa ini, mari kita pergi ke depan dan melakukan hal ini. 767 00:36:50,500 --> 00:36:54,860 >> Biar saya pergi ke dalam jadual kuliah saya dan melihat bahawa pada masa apa-apa 768 00:36:54,860 --> 00:36:59,640 di sini dulu, dan biarkan aku juga pergi ke dalam direktori awam saya, di mana 769 00:36:59,640 --> 00:37:02,780 hanya ada satu file, index.php. 770 00:37:02,780 --> 00:37:06,920 Fail ini muncul menjadi super mudah pada masa ini, ia kelihatan seperti ini. 771 00:37:06,920 --> 00:37:09,110 Sangat banyak seperti bagaimana kita tinggalkan pada Isnin. 772 00:37:09,110 --> 00:37:11,945 Saya memerlukan fail ini, config.php, yang dalam 773 00:37:11,945 --> 00:37:15,160 adalah termasuk direktori, yang adalah di dot dot, ibu bapa saya, 774 00:37:15,160 --> 00:37:17,650 dan kemudian ia hanya menjadikan fail ini. 775 00:37:17,650 --> 00:37:18,960 Jadi apa fail ini? 776 00:37:18,960 --> 00:37:24,700 >> Mari kita buka dengan template yang saya form.php, dan kita akan melihat ini. 777 00:37:24,700 --> 00:37:28,500 Super mudah, rupanya borang ini adalah akan mengirimkan oleh $ _GET atau $ _POST. 778 00:37:28,500 --> 00:37:29,320 Cepat check kewarasan. 779 00:37:29,320 --> 00:37:33,760 780 00:37:33,760 --> 00:37:35,690 Secara harfiah visual mencari fail. 781 00:37:35,690 --> 00:37:36,610 Kaedah sama pos. 782 00:37:36,610 --> 00:37:39,280 Jadi ia tidak akan menggunakan URL, seperti Google tidak, ia akan menyusun petak 783 00:37:39,280 --> 00:37:41,030 maklumat yang di belakang tabir dan ia 784 00:37:41,030 --> 00:37:43,580 akan tunduk kepada file bernama register.php, 785 00:37:43,580 --> 00:37:45,660 dan itulah fail kita belum ditulis 786 00:37:45,660 --> 00:37:47,610 tetapi apa yang ini akan kelihatan seperti adalah ini. 787 00:37:47,610 --> 00:37:52,670 >> Jika saya pergi ke halaman yang berasingan ini apa localhost / index.php kelihatan seperti. 788 00:37:52,670 --> 00:37:56,930 Dan sekali lagi, pelayan ini hanya asumsi index.php. 789 00:37:56,930 --> 00:37:57,910 Enter. 790 00:37:57,910 --> 00:37:59,870 Supaya di mana kami di, dan apa yang saya ingin lakukan 791 00:37:59,870 --> 00:38:02,450 adalah dapat mengetik perkara seperti Daud, dan kemudian 792 00:38:02,450 --> 00:38:08,050 nombor telefon saya, yang akan berkata 617-555-1212 untuk saat ini, daftar 793 00:38:08,050 --> 00:38:09,910 dan sekarang login.php tidak dijumpai. 794 00:38:09,910 --> 00:38:11,440 Jadi saya perlu melaksanakan hal ini. 795 00:38:11,440 --> 00:38:13,320 Jadi mari kita cepat cambuk sesuatu seperti sehingga ini. 796 00:38:13,320 --> 00:38:18,640 Biar saya pergi ke dalam direktori awam saya dan melakukan gedit dari register.php, 797 00:38:18,640 --> 00:38:22,300 dan sekarang saya akan pergi ke depan dan memulakan mod PHP, seperti yang kami lakukan pada hari Isnin, 798 00:38:22,300 --> 00:38:25,430 dan tag dekat PHP, dan mari kita lakukan beberapa perkara. 799 00:38:25,430 --> 00:38:28,336 >> Jadi satu, saya tahu, dari setelah menulis bentuk itu, 800 00:38:28,336 --> 00:38:29,960 yang saya mahu untuk memeriksa perkara-perkara berikut. 801 00:38:29,960 --> 00:38:35,670 Jika ia adalah kosong, apa pun pengguna ditaip masuk ke medan nama, kemudian 802 00:38:35,670 --> 00:38:39,860 Saya akan mengatakan sesuatu seperti meminta maaf tiada nama. 803 00:38:39,860 --> 00:38:42,380 Minta maaf, sementara itu, tidak terbina dalam PHP hal, 804 00:38:42,380 --> 00:38:45,970 itu fungsi kita menulis functions.php untuk pset7 805 00:38:45,970 --> 00:38:47,940 supaya anda mempunyai akses kepadanya. 806 00:38:47,940 --> 00:38:53,830 Lain jika bidang yang lain kosong, nombor, maka saya 807 00:38:53,830 --> 00:38:58,370 akan minta maaf kepada pengguna dan berkata jumlah yang hilang. 808 00:38:58,370 --> 00:38:59,320 Simpan fail ini. 809 00:38:59,320 --> 00:39:02,640 >> Sekarang mari kita kembali ke browser saya, kembali ke forum cuba lagi. 810 00:39:02,640 --> 00:39:04,070 Mendaftar. 811 00:39:04,070 --> 00:39:05,090 OK. 812 00:39:05,090 --> 00:39:06,730 Tiada apa yang berlaku, yang baik. 813 00:39:06,730 --> 00:39:08,120 Saya tidak mendapat mesej ralat. 814 00:39:08,120 --> 00:39:11,651 Tetapi jika sebaliknya, mari kita menambah nilai ini halaman, dan tidak memberikan apa-apa. 815 00:39:11,651 --> 00:39:12,150 Sialan. 816 00:39:12,150 --> 00:39:15,350 817 00:39:15,350 --> 00:39:17,140 Melakukan itu. 818 00:39:17,140 --> 00:39:18,810 Mendaftar. 819 00:39:18,810 --> 00:39:20,350 Apa yang saya lakukan salah? 820 00:39:20,350 --> 00:39:24,860 Jika kosong, nama $ _POST. 821 00:39:24,860 --> 00:39:26,350 Katakanlah lagi? 822 00:39:26,350 --> 00:39:27,670 >> Oh, sudah tentu. 823 00:39:27,670 --> 00:39:30,919 Saya terlupa bahagian yang paling penting, yang adalah memerlukan ("../ includes / config.php."). 824 00:39:30,919 --> 00:39:34,210 825 00:39:34,210 --> 00:39:36,460 Saya perlu mempunyai akses ke memohon maaf fungsi, yang 826 00:39:36,460 --> 00:39:37,770 Sebab tidak ada yang terjadi. 827 00:39:37,770 --> 00:39:39,460 Fungsi ini tidak benar-benar wujud. 828 00:39:39,460 --> 00:39:40,640 Jadi mari kita cuba ini lagi. 829 00:39:40,640 --> 00:39:42,350 Mari kita kembali halaman tersebut, klik Daftar. 830 00:39:42,350 --> 00:39:43,060 OK. 831 00:39:43,060 --> 00:39:43,770 Ada itu. 832 00:39:43,770 --> 00:39:45,700 Jadi, keluaran kami lihat di sini adalah hasil 833 00:39:45,700 --> 00:39:47,685 memanggil meminta maaf satu fungsi, super mudah, 834 00:39:47,685 --> 00:39:50,060 dan ia hanya mencetak apa sahaja Saya memberikan sebagai hujah. 835 00:39:50,060 --> 00:39:51,370 >> Baiklah, jadi mari kita bekerja sama. 836 00:39:51,370 --> 00:39:54,240 Mari kita memberikan nama saya seperti Daud, daftar, 837 00:39:54,240 --> 00:39:56,890 hilang nombor OK mari kita memperuntukkan bahawa, juga. 838 00:39:56,890 --> 00:39:58,650 617-555-1212. 839 00:39:58,650 --> 00:39:59,250 Mendaftar. 840 00:39:59,250 --> 00:39:59,750 OK. 841 00:39:59,750 --> 00:40:02,760 Jadi semuanya baik-baik sekarang, hanya tidak menarik sedang berlaku. 842 00:40:02,760 --> 00:40:06,000 Jadi sekarang mari kita membuat sesuatu yang lebih menarik berlaku seperti ini. 843 00:40:06,000 --> 00:40:09,980 Biar saya pergi ke phpMyAdmin, dan mari kita sebenarnya buat jadual yang dipanggil pengguna, 844 00:40:09,980 --> 00:40:12,330 Saya akan memberikan tiga tiang, dan saya akan dengan cepat 845 00:40:12,330 --> 00:40:16,250 mewujudkan ID, dan kemudian nama, dan kemudian nombor, 846 00:40:16,250 --> 00:40:18,832 dan medan ID saya akan meninggalkan int an. 847 00:40:18,832 --> 00:40:20,790 Medan nama saya akan untuk meninggalkan varchar, 848 00:40:20,790 --> 00:40:23,257 dan kami akan mengatakan 64, agak sewenang-wenangnya. 849 00:40:23,257 --> 00:40:25,090 Bilangan aku akan untuk membuat, anda tahu apa? 850 00:40:25,090 --> 00:40:27,350 Kami akan ke menyokong nombor Amerika Syarikat di sini, 851 00:40:27,350 --> 00:40:31,510 jadi saya akan melakukan sesuatu seperti char dan kemudian 10 aksara 852 00:40:31,510 --> 00:40:34,540 maksimum untuk kod kawasan dan kemudian tujuh digit. 853 00:40:34,540 --> 00:40:37,870 Dan kemudian di sini, saya akan menentukan kenaikan otomatis bidang ini, 854 00:40:37,870 --> 00:40:40,550 membuat ini kunci utama, dan Saya akan pergi ke depan dan tidak 855 00:40:40,550 --> 00:40:42,240 memeriksa mana-mana kotak yang lain. 856 00:40:42,240 --> 00:40:48,030 >> Oleh itu, apabila saya kini akhirnya klik Simpan, dan saya kembali ke meja pengguna saya, 857 00:40:48,030 --> 00:40:52,270 ini adalah apa yang ia kelihatan seperti jika saya sekarang klik struktur Tab Baharu. 858 00:40:52,270 --> 00:40:54,550 Jadi perkara ini, yang jelas, hanya cara phpMyAdmin ini 859 00:40:54,550 --> 00:40:58,570 mengatakan jadual pangkalan data anda mempunyai ID, nama, dan nombor yang 860 00:40:58,570 --> 00:41:02,040 dengan orang-orang konfigurasi tertentu dan kami akan mengabaikan sisa ladang 861 00:41:02,040 --> 00:41:03,140 ada buat masa ini. 862 00:41:03,140 --> 00:41:04,810 >> Jadi sekarang apa yang saya mahu lakukan? 863 00:41:04,810 --> 00:41:09,060 Jadi jika saya pergi sekarang ke dalam akaun saya kod sumber, jika semuanya berjalan dengan lancar 864 00:41:09,060 --> 00:41:11,190 Saya ingin menjalankan pertanyaan berikut. 865 00:41:11,190 --> 00:41:14,970 Masukkan ke dalam, dan saya boleh hanya mengatakan pengguna saya tidak ketat 866 00:41:14,970 --> 00:41:18,620 perlu kembali orang-kutu jika ia bukan kata yang berbahaya seperti pengguna. 867 00:41:18,620 --> 00:41:22,810 Saya akan menyebut nama, nombor, dan kemudian di sini saya 868 00:41:22,810 --> 00:41:24,960 tidak akan kode keras angka dari nilai-nilai lagi. 869 00:41:24,960 --> 00:41:26,760 Saya akan meletakkan dua tanda tanya. 870 00:41:26,760 --> 00:41:29,320 Dan ini adalah konvensyen dalam pelbagai bahasa 871 00:41:29,320 --> 00:41:31,730 dimana jika anda mahu mempunyai sebuah tempat untuk rentetan 872 00:41:31,730 --> 00:41:34,105 Anda akan menggunakan soalan tanda, atas sebab-sebab kita akan 873 00:41:34,105 --> 00:41:36,370 kembali untuk berbual tentang keselamatan, dan di sini 874 00:41:36,370 --> 00:41:39,420 Saya akan lulus pada mereka dua bidang menyiarkan nama, 875 00:41:39,420 --> 00:41:44,850 dan kemudian posting nombor, dan sekarang menyimpan fail. 876 00:41:44,850 --> 00:41:47,090 >> Dan sekarang saya akan turun di sini adalah super 877 00:41:47,090 --> 00:41:55,690 hanya mengatakan rendersuccess.php, yang akan menjadi template lain. 878 00:41:55,690 --> 00:41:57,380 Saya akan membuat benar-benar cepat. 879 00:41:57,380 --> 00:42:06,270 Geditsuccess.php dan saya hanya akan mengatakan kejayaan H1 dalam fail itu. 880 00:42:06,270 --> 00:42:06,990 Baik. 881 00:42:06,990 --> 00:42:11,312 Jadi sekarang, mari kita kembali kepada pelayar, di mana saya lawati sebelum ini. 882 00:42:11,312 --> 00:42:14,270 Mari kita pergi ke depan dan mengesahkan bahawa saya menulis David, saya menulis di nombor telefon, 883 00:42:14,270 --> 00:42:15,390 mendaftar. 884 00:42:15,390 --> 00:42:16,100 Sialan. 885 00:42:16,100 --> 00:42:17,420 Apa yang saya lakukan salah? 886 00:42:17,420 --> 00:42:20,850 Jadi, saya melihat kesalahan di sini, anda mempunyai kesalahan dalam sintaks SQL anda. 887 00:42:20,850 --> 00:42:24,900 Biar saya melompat kembali ke gedit, mari saya kembali ke login.php, 888 00:42:24,900 --> 00:42:28,830 dan apa yang saya meninggalkan bahawa adalah penting masa yang lalu? 889 00:42:28,830 --> 00:42:29,722 Saya mau ini. 890 00:42:29,722 --> 00:42:32,930 Adakah anda ingin tahu bahawa selain daripada mempunyai perasan sebelum ini, tetapi saya perlu ini. 891 00:42:32,930 --> 00:42:35,596 >> Jadi sekarang mari kita kembali, dan ini sangat membantu untuk melihat dalam pelayar 892 00:42:35,596 --> 00:42:37,680 dan sebab itu di config.php kita meludahkan kesalahan. 893 00:42:37,680 --> 00:42:41,770 Mari kita pergi ke depan dan mengambil kembali, klik Teruskan, kejayaan. 894 00:42:41,770 --> 00:42:47,060 Jadi sekarang biarlah saya pergi ke saya pangkalan data di sini dan klik pada Pengguna, 895 00:42:47,060 --> 00:42:51,680 dan semak imbas, dan perhatikan saya sekarang mempunyai Daud dalam pangkalan data saya di sini. 896 00:42:51,680 --> 00:42:55,810 Sekarang teknikal laman web ini adalah belum di internet awam, 897 00:42:55,810 --> 00:42:57,890 jadi saya tidak boleh mempunyai lain orang dalam meletakkan di sini, 898 00:42:57,890 --> 00:43:01,120 tetapi jika saya kini mahu, untuk Contohnya, menghantar saya mesej teks. 899 00:43:01,120 --> 00:43:03,920 Marilah kita pergi risiko di sini dan melihat apakah ini benar-benar bekerja. 900 00:43:03,920 --> 00:43:07,331 Saya akan pergi ke depan dan memadam baris ini 901 00:43:07,331 --> 00:43:09,080 dan kami akan mengaburkan ini dalam video kemudian 902 00:43:09,080 --> 00:43:11,900 jadi kami tidak mempunyai seluruh internet menghantar mesej saya, 903 00:43:11,900 --> 00:43:17,270 dan kami kini akan pergi ke pelayar dan kami akan pergi ke kuliah 904 00:43:17,270 --> 00:43:22,040 dan kami akan menaip berbeza jumlah di sini, daftar, kejayaan. 905 00:43:22,040 --> 00:43:25,550 >> Jadi sekarang, nombor saya sendiri yang mungkin dalam pangkalan data, dan sekarang bahagian yang menyeronokkan. 906 00:43:25,550 --> 00:43:28,774 Mari kita benar-benar menggunakan PHP untuk melakukan sesuatu pemrograman, 907 00:43:28,774 --> 00:43:30,940 sama ada dari perintah talian atau dari tempat lain, 908 00:43:30,940 --> 00:43:32,773 dan buat masa ini saya cuma akan tetap sederhana 909 00:43:32,773 --> 00:43:36,230 dan aku akan pergi ke dalam akaun saya direktori di sini dan melakukan hal berikut. 910 00:43:36,230 --> 00:43:44,920 Skrip gedit katakan, kita akan menyebutnya teks, #! / user / bin / plates PHP, 911 00:43:44,920 --> 00:43:46,700 seperti yang kita lihat masa lalu. 912 00:43:46,700 --> 00:43:47,950 PHP. 913 00:43:47,950 --> 00:43:55,055 >> Sekarang saya akan memang membutuhkan termasuk config.php, 914 00:43:55,055 --> 00:43:57,360 walaupun kekuatan ini mendorong sedikit kesalahan. 915 00:43:57,360 --> 00:44:03,960 Dan sekarang aku akan pergi ke depan dan berkata baris, pertanyaan, pilih bintang daripada pengguna, 916 00:44:03,960 --> 00:44:08,149 dan sekarang di sini saya akan melakukan teknik yang dari waktu terakhir untuk setiap baris sebagai baris. 917 00:44:08,149 --> 00:44:09,690 Dan saya akan melakukan sesuatu yang sederhana. 918 00:44:09,690 --> 00:44:19,090 Printf katakanlah Nama ini, dan nombor adalah ini, garis miring terbalik n. 919 00:44:19,090 --> 00:44:23,320 Dan sekarang saya akan lulus berturut-turut mengutip nama tanda kutip, 920 00:44:23,320 --> 00:44:28,140 dan bilangan baris kutipan tanda kutip, dan sekarang mari kita pergi ke depan 921 00:44:28,140 --> 00:44:31,430 dan tetingkap terminal saya chmod a + x ini untuk membuat 922 00:44:31,430 --> 00:44:33,970 skrip ini dipanggil laku teks. 923 00:44:33,970 --> 00:44:36,080 Dan sekarang mari kita jalankan teks. 924 00:44:36,080 --> 00:44:37,590 >> OK, jadi kemajuan. 925 00:44:37,590 --> 00:44:39,960 Sehingga Aku sekarang bertulis perintah naskah baris, 926 00:44:39,960 --> 00:44:43,300 dalam bahasa yang dikenali sebagai PHP, bahawa, kerana itu memerlukan line, 927 00:44:43,300 --> 00:44:46,380 mempunyai akses kepada semua konfigurasi yang pemalar yang saya ditetapkan. 928 00:44:46,380 --> 00:44:48,177 Nama pangkalan data dan lain-lain. 929 00:44:48,177 --> 00:44:50,260 Malah, hanya untuk menjadi jelas bahawa ini bukan suatu kebetulan, 930 00:44:50,260 --> 00:44:54,730 biarlah saya pergi ke depan dan mendaftar, benar-benar cepat, orang lain seperti Rob 931 00:44:54,730 --> 00:44:58,890 dan akan memberinya bilangan 555-1212. 932 00:44:58,890 --> 00:45:01,557 >> Dan kini, jika saya menjalankan skrip sekali lagi, perhatikan kuasa 933 00:45:01,557 --> 00:45:03,140 dari apa yang kami lakukan dengan database. 934 00:45:03,140 --> 00:45:07,680 Sekarang saya telah melihat langsung apa yang Dua baris yang dalam pangkalan data saya. 935 00:45:07,680 --> 00:45:10,699 Jadi sekarang mari kita cuba untuk melakukan sesuatu bahkan lebih bagus dalam, 936 00:45:10,699 --> 00:45:12,740 dan ini adalah bahagian yang kita sudah tidak diuji terlebih dahulu, 937 00:45:12,740 --> 00:45:15,910 maka kali terakhir saya melakukan ini perkara yang pergi teruk serba salah, 938 00:45:15,910 --> 00:45:17,120 kita mempunyai video yang bermaksud sedemikian. 939 00:45:17,120 --> 00:45:18,286 >> Sebenarnya, ya, lucu samping. 940 00:45:18,286 --> 00:45:20,480 Jadi masa yang lalu, dalam kuliah seperti dua tahun yang lalu, 941 00:45:20,480 --> 00:45:23,230 kami membuat keputusan, saya membuat keputusan, untuk menjadi semua ini akan menjadi satu idea yang hebat 942 00:45:23,230 --> 00:45:28,150 untuk secara dinamik menghasilkan e-mel dalam kelas, dengan menggunakan CS50 pangkalan data keseluruhan 943 00:45:28,150 --> 00:45:33,390 pelajar yang telah memberi kami nombor mereka dan operator telefon mereka yang anda 944 00:45:33,390 --> 00:45:36,290 mungkin ingat dari pset0, bagaimana untuk alasan, ternyata 945 00:45:36,290 --> 00:45:40,650 Saya mempunyai minor bug dalam program saya dan melakukan beberapa kesilapan pada tahun 2012, saya fikir. 946 00:45:40,650 --> 00:45:43,997 >> Di mana, satu aku untuk loop yang melakukan hal semacam ini, 947 00:45:43,997 --> 00:45:46,580 iterasi pangkalan data, mendapat nama dari pangkalan data, 948 00:45:46,580 --> 00:45:49,940 nama dari database, dan kemudian pada setiap lelaran gelung bahawa saya menghantar e-mel. 949 00:45:49,940 --> 00:45:54,130 Tapi bukannya menghantar satu e-mel, saya menerima satu email lelaran pertama, 950 00:45:54,130 --> 00:45:58,200 dan dua email yang lelaran kedua, dihantar tiga email yang lelaran kedua, yang 951 00:45:58,200 --> 00:46:01,230 kerana anda mungkin ingat dari kami perbincangan notasi asimptot 952 00:46:01,230 --> 00:46:06,400 O ini besar tidak baik, seperti n kuasa dua adalah berapa banyak mesej yang saya dihantar, 953 00:46:06,400 --> 00:46:08,560 tetapi ia tidak bahkan email ia adalah mesej teks. 954 00:46:08,560 --> 00:46:12,070 >> Dan seperti yang anda tahu, kehadirannya tidak adalah super tinggi menjelang akhir semester 955 00:46:12,070 --> 00:46:15,360 dan saya fikir ia akan menjadi lucu di masa untuk mengatakan, "Mengapa tidak kelas anda?" 956 00:46:15,360 --> 00:46:17,880 Dalam teks mesej saya dihantar kepada seluruh kelas, 957 00:46:17,880 --> 00:46:22,140 dan ia adalah lucu untuk suka 50% daripada kelas, tetapi 50% itu, beberapa di antaranya 958 00:46:22,140 --> 00:46:26,102 panik, saya dihantar luar biasa nota manis minta maaf 959 00:46:26,102 --> 00:46:28,560 kepada kakitangan untuk meminta maaf setelah ketinggalan kuliah hanya 960 00:46:28,560 --> 00:46:29,530 ini sekali, kan? 961 00:46:29,530 --> 00:46:32,790 962 00:46:32,790 --> 00:46:34,030 >> Sehingga akan teruk serba salah. 963 00:46:34,030 --> 00:46:37,030 Jadi dengan semangat ini, mari kita cuba ini lagi tetapi hanya dengan nombor saya. 964 00:46:37,030 --> 00:46:41,940 Terlebih dahulu, functions.php, Saya telah menulis fungsi ini di sini. 965 00:46:41,940 --> 00:46:44,250 Ia dipanggil teks, dan ia mengambil masa dalam tiga hujah. 966 00:46:44,250 --> 00:46:46,360 Beberapa, pembawa, dan mesej. 967 00:46:46,360 --> 00:46:50,390 >> Saya menggunakan pernyataan switch, yang hebat PHP mengambil tali, bukan sahaja 968 00:46:50,390 --> 00:46:53,350 bilangan bulat, dan saya tidak melaksanakan semua sokongan untuk ini lagi, 969 00:46:53,350 --> 00:46:55,370 Aku baru saja melakukan AT & T dan Verizon. 970 00:46:55,370 --> 00:46:57,610 Sebab ternyata yang dengan pembawa ini 971 00:46:57,610 --> 00:47:00,570 mereka mempunyai e-mel ke SMS gateway, di mana anda boleh benar-benar 972 00:47:00,570 --> 00:47:05,529 menghantar e-mel kepada alamat seperti nombor telefon di vtext.com 973 00:47:05,529 --> 00:47:08,070 dan jika pengguna tidak disekat mesej-mesej, ia akan pergi melalui 974 00:47:08,070 --> 00:47:09,340 adalah mesej teks. 975 00:47:09,340 --> 00:47:13,270 >> Sekarang untuk melakukan hal ini, saya akan perlu menambah satu bidang yang sangat cepat untuk pangkalan data saya. 976 00:47:13,270 --> 00:47:15,470 Saya akan pergi ke struktur saya, dan saya 977 00:47:15,470 --> 00:47:21,880 akan pergi ke depan dan menambah lapangan di hujung meja. 978 00:47:21,880 --> 00:47:25,227 Mari kita klik Go, dan saya akan memanggil syarikat penerbangan ini 979 00:47:25,227 --> 00:47:27,310 dan buat masa ini saya akan pergi ke meninggalkan ini sebagai teks bar, 980 00:47:27,310 --> 00:47:29,320 tetapi kita boleh menjadi lebih menarik pada masa akan datang. 981 00:47:29,320 --> 00:47:31,961 Saya akan pergi dengan cepat ke meja saya, dan saya 982 00:47:31,961 --> 00:47:34,210 akan menyingkirkan dari Rob, kerana itulah beberapa palsu, 983 00:47:34,210 --> 00:47:38,540 Saya akan pergi ke edit di sini dan saya akan berubah operator saya secara manual 984 00:47:38,540 --> 00:47:43,410 menjadi Verizon, yang adalah, dan kini di sini. 985 00:47:43,410 --> 00:47:44,980 >> Mari kita buat cek kewarasan cepat. 986 00:47:44,980 --> 00:47:52,730 Mari kita membuka naskah teks kami, yang kelihatan seperti ini, syarikat penerbangan adalah% s. 987 00:47:52,730 --> 00:47:58,230 Kami sedang melakukan kesalahan lebih banyak memeriksa daripada yang saya lakukan pada tahun 2012, syarikat penerbangan. 988 00:47:58,230 --> 00:48:01,160 Dan sekarang, saya akan pergi ke depan dan kembali menjalankan skrip. 989 00:48:01,160 --> 00:48:01,660 OK. 990 00:48:01,660 --> 00:48:06,100 Carrier adalah Verizon, yang bermaksud sekarang mudah-mudahan saya boleh melakukan hal ini. 991 00:48:06,100 --> 00:48:08,360 Benar tahun ini, mudah-mudahan, di sini kita pergi. 992 00:48:08,360 --> 00:48:12,200 >> Jadi dalam ini untuk gelung, saya akan tidak hanya memiliki printf ini, 993 00:48:12,200 --> 00:48:15,990 Saya juga akan memanggil teks dan penggunaan fungsi recall ini 994 00:48:15,990 --> 00:48:19,670 adalah ia mengambil nombor, yang pembawa, dan mesej. 995 00:48:19,670 --> 00:48:23,310 Jadi mari kita lihat, jumlah yang akan menjadi barisan kutipan tanda kutip "nombor," 996 00:48:23,310 --> 00:48:31,660 baris kutipan tanda kutip "pengangkut," dan yang terakhir adalah pesan. 997 00:48:31,660 --> 00:48:36,250 Jangan mengacaukan tahun ini, titik koma. 998 00:48:36,250 --> 00:48:36,780 >> OK. 999 00:48:36,780 --> 00:48:38,280 Semoga. 1000 00:48:38,280 --> 00:48:39,970 Mari kita lihat apakah ini bekerja. 1001 00:48:39,970 --> 00:48:41,720 Baiklah, jadi. 1002 00:48:41,720 --> 00:48:43,000 Di sini kita pergi. 1003 00:48:43,000 --> 00:48:47,380 Mari kita membuka kunci telefon, silakan berdoa, sialan. 1004 00:48:47,380 --> 00:48:50,300 Boleh- ubah Undefined oh tunggu, tunggu, tunggu, sangat cepat. 1005 00:48:50,300 --> 00:48:51,340 Sangat cepat, cepat nyata. 1006 00:48:51,340 --> 00:48:53,380 Ini benar-benar berbaloi. 1007 00:48:53,380 --> 00:48:57,710 Biar saya ambil, biar saya ambil, uh-oh. 1008 00:48:57,710 --> 00:48:59,965 Matur nuwun, teks mempunyai mulai dari orang lain. 1009 00:48:59,965 --> 00:49:04,770 1010 00:49:04,770 --> 00:49:11,650 Biar saya pergi ke hadapan dan membuka nyata cepat, dropbox.php / mel di sini. 1011 00:49:11,650 --> 00:49:12,660 Siap sedia. 1012 00:49:12,660 --> 00:49:14,455 Benar-benar layak. 1013 00:49:14,455 --> 00:49:17,430 Muat turun. 1014 00:49:17,430 --> 00:49:18,560 OK, sumber src8m. 1015 00:49:18,560 --> 00:49:19,700 OK. 1016 00:49:19,700 --> 00:49:21,380 >> Perlu satu baris lebih lanjut di sini. 1017 00:49:21,380 --> 00:49:24,530 Oh ada itu, itu di Frosh IM, itu dalam daftar pada tiga. 1018 00:49:24,530 --> 00:49:28,820 Oh hello, Margo, matur nuwun kanthi sanget. 1019 00:49:28,820 --> 00:49:31,130 OK, dan saya hilang talian ini di sini. 1020 00:49:31,130 --> 00:49:33,010 Jadi, saya cepat ambil baris kode ini, 1021 00:49:33,010 --> 00:49:36,200 yang merangkumi mel atau perpustakaan bahawa saya benar-benar ingin untuk digunakan, 1022 00:49:36,200 --> 00:49:38,300 Saya akan cepat kembali ke dalam fungsi, 1023 00:49:38,300 --> 00:49:42,337 Saya akan pergi ke bahagian atas ini file dan memerlukan fail ini juga, 1024 00:49:42,337 --> 00:49:45,420 dan sekarang saya akan benar-benar menyeberang saya jari ketika saya kembali kepada perintah 1025 00:49:45,420 --> 00:49:49,530 naskah baris, yang ada dalam diri Direktori tuan rumah tempatan hari ini. 1026 00:49:49,530 --> 00:49:50,610 Teks berjalan. 1027 00:49:50,610 --> 00:49:52,720 Enter. 1028 00:49:52,720 --> 00:49:53,220 Mail. 1029 00:49:53,220 --> 00:49:53,719 Siap sedia. 1030 00:49:53,719 --> 00:49:58,850 1031 00:49:58,850 --> 00:49:59,600 Siap sedia. 1032 00:49:59,600 --> 00:50:01,680 Mail. 1033 00:50:01,680 --> 00:50:02,290 Oh, OK. 1034 00:50:02,290 --> 00:50:03,870 Di sini kita pergi. 1035 00:50:03,870 --> 00:50:06,880 >> Mail mendapat PHP mailer baru. 1036 00:50:06,880 --> 00:50:09,970 Adakah saya melakukan ini? 1037 00:50:09,970 --> 00:50:11,067 Sialan. 1038 00:50:11,067 --> 00:50:12,150 Supaya- oh, tunggu, tunggu, tunggu. 1039 00:50:12,150 --> 00:50:12,649 Stand by. 1040 00:50:12,649 --> 00:50:15,820 1041 00:50:15,820 --> 00:50:18,630 Saya berjanji, ini adalah akan menjadi begitu berharga. 1042 00:50:18,630 --> 00:50:20,340 Alamat. 1043 00:50:20,340 --> 00:50:24,390 Ini adalah mengapa saya tidak membuat contoh di depan kelas. 1044 00:50:24,390 --> 00:50:26,350 Ugh. 1045 00:50:26,350 --> 00:50:27,910 Para penerima berikut gagal. 1046 00:50:27,910 --> 00:50:31,500 1047 00:50:31,500 --> 00:50:33,040 Mari kita cuba satu hal. 1048 00:50:33,040 --> 00:50:40,660 SMTP diatur dari, tambah alamat, alamat memang itu. 1049 00:50:40,660 --> 00:50:43,980 Mari kita cuba bahagian ini lalu di alamat. 1050 00:50:43,980 --> 00:50:47,210 Ah, saya benar-benar sedih sekarang. 1051 00:50:47,210 --> 00:50:47,854 Matur nuwun. 1052 00:50:47,854 --> 00:50:50,270 Tetapi saya benar-benar menghargai semua teks-teks anda telah dihantar. 1053 00:50:50,270 --> 00:50:53,130 1054 00:50:53,130 --> 00:50:56,320 Anda telah mendapat Daud ini. 1055 00:50:56,320 --> 00:50:59,310 Kau meniup. 1056 00:50:59,310 --> 00:51:01,720 Mari kita meninggalkannya di sana dan kami akan memperbaikinya pada Isnin. 1057 00:51:01,720 --> 00:51:04,290 Jumpa. 1058 00:51:04,290 --> 00:51:08,090 >> Daven Farnham: Dan kini Deep Pemikiran oleh Daven Farnham. 1059 00:51:08,090 --> 00:51:11,340 1060 00:51:11,340 --> 00:51:17,590 Jika pohon binari jatuh di hutan dan tiada orang menjawab kepada C itu-- [tertawa]. 1061 00:51:17,590 --> 00:51:18,998