1 00:00:00,000 --> 00:00:05,040 2 00:00:05,040 --> 00:00:08,440 >> SAM LEVATICH: Selamat datang ke bahagian untuk minggu ini. 3 00:00:08,440 --> 00:00:10,040 Saya tidak Andi. 4 00:00:10,040 --> 00:00:14,590 Andi telah jatuh sakit hari ini, dan saya telah semacam dipanggil saat akhir 5 00:00:14,590 --> 00:00:15,700 untuk mengambil alih. 6 00:00:15,700 --> 00:00:20,920 Ia adalah musim selesema, jadi pastikan bahawa anda tinggal bersih, mencuci tangan anda, 7 00:00:20,920 --> 00:00:24,800 dan makan sihat supaya anda juga, tidak terlantar. 8 00:00:24,800 --> 00:00:26,870 >> Tetapi tanpa lagi ado, mari kita bermula. 9 00:00:26,870 --> 00:00:29,970 Hari ini, kita akan bercakap mengenai PHP sedikit bit-- bagaimana 10 00:00:29,970 --> 00:00:33,900 PHP berkaitan dengan HTML, bagaimana ia berkaitan dengan CSS, dan beberapa web 11 00:00:33,900 --> 00:00:36,100 bahan yang anda lakukan tugasan terakhir. 12 00:00:36,100 --> 00:00:37,930 Kita akan bercakap sedikit sedikit mengenai SQL 13 00:00:37,930 --> 00:00:41,360 dan bagaimana anda boleh bekerja dengan pangkalan data, yang merupakan komponen yang cukup penting dalam P 14 00:00:41,360 --> 00:00:43,650 menetapkan 8-- P menetapkan 7. 15 00:00:43,650 --> 00:00:44,480 P menetapkan 7. 16 00:00:44,480 --> 00:00:48,400 >> Dan kemudian kita akan bercakap sedikit sedikit tentang bagaimana pandangan pengawal bekerja 17 00:00:48,400 --> 00:00:54,640 dan mengapa itu adalah satu falsafah di sebalik beberapa laman web moden dan reka bentuk yang berbeza. 18 00:00:54,640 --> 00:00:58,760 Cukup banyak banyak jenis aplikasi dan aplikasi yang anda mungkin menghantar 19 00:00:58,760 --> 00:01:01,120 menggunakan model ini, pandangan rangka kerja pengawal, 20 00:01:01,120 --> 00:01:02,890 bahawa anda akan menggunakan dalam P menetapkan 7, jadi saya akan 21 00:01:02,890 --> 00:01:05,220 bercakap sedikit tentang mengapa yang yang menjadi 22 00:01:05,220 --> 00:01:07,970 popular, mengapa ia adalah penting dan baik. 23 00:01:07,970 --> 00:01:12,052 Dan kemudian saya akhirnya akan bergerak ke beberapa tips tentang menangani P menetapkan 7. 24 00:01:12,052 --> 00:01:13,760 Dan jika kita mempunyai masa ditinggalkan pada akhirnya, 25 00:01:13,760 --> 00:01:17,320 kita benar-benar boleh melakukan beberapa berusaha ke arah itu bersama-sama. 26 00:01:17,320 --> 00:01:20,380 >> Jadi, PHP. 27 00:01:20,380 --> 00:01:23,790 Malah, anda mungkin perasan this-- yang anda tidak benar-benar perlu menyelam ke dalam kitab itu 28 00:01:23,790 --> 00:01:27,880 tetapi P menetapkan 6 mempunyai beberapa PHP kod yang sedang berlaku. 29 00:01:27,880 --> 00:01:34,710 Dan kerana PHP adalah C-suka bahasa, PHP, tidak seperti HTML dan CSS, 30 00:01:34,710 --> 00:01:39,030 adalah bahasa pengaturcaraan, sedangkan HTML dan CSS statik. 31 00:01:39,030 --> 00:01:44,050 Mereka bahasa markup yang berkaitan dengan gaya dan susun atur visual. 32 00:01:44,050 --> 00:01:46,230 PHP adalah perjanjian sebenar. 33 00:01:46,230 --> 00:01:51,590 >> PHP mempunyai gelung, ia mempunyai syarat-syarat-- semua barangan yang menyeronokkan tentang C. 34 00:01:51,590 --> 00:01:56,190 Ia mempunyai beberapa perkara yang sedikit sedikit lebih baik daripada C, yang kita akan lihat, 35 00:01:56,190 --> 00:01:59,760 tetapi saya fikir cara yang paling mudah untuk bercakap tentang PHP adalah hanya untuk menyelam dalam. 36 00:01:59,760 --> 00:02:04,087 Oleh itu, saya akan pergi ke kanan ke dalam IDE pada ketika ini. 37 00:02:04,087 --> 00:02:06,170 Perkara pertama yang kita akan lakukan adalah benar-benar melihat 38 00:02:06,170 --> 00:02:10,169 sedikit di beberapa Kod PHP yang di P menetapkan 6. 39 00:02:10,169 --> 00:02:13,600 Jadi cara yang kita lakukan bahawa- sebelum ini, cara yang kita sedang berlari 40 00:02:13,600 --> 00:02:18,550 pelayan untuk perkakas adalah bahawa kita perlu type-- 41 00:02:18,550 --> 00:02:21,750 sama ada menggunakan pelaksanaan anda atau pelaksanaan kakitangan 42 00:02:21,750 --> 00:02:27,059 daripada server.c dengan pergi ke dalam direktori dan berjalan server.c dengan sama ada 43 00:02:27,059 --> 00:02:30,100 arguments-- jadi hanya memanggilnya pada tuan rumah tempatan, yang adalah apa yang anda mungkin 44 00:02:30,100 --> 00:02:31,849 melakukan sebahagian besar time-- yang dan kemudian memberi makan 45 00:02:31,849 --> 00:02:35,380 yang directory-- dengan untuk digunakan sebagai akar 46 00:02:35,380 --> 00:02:38,310 di mana laman web itu akan menjadi berlari, pada asasnya. 47 00:02:38,310 --> 00:02:42,180 >> Minggu ini untuk P menetapkan 7, kerana besar sebagai kod kami untuk server.c 48 00:02:42,180 --> 00:02:47,580 adalah, ada orang-orang yang sudah menulis perkara-perkara halus lebih di CS50 49 00:02:47,580 --> 00:02:49,630 yang mempunyai sedikit fungsi lanjut, 50 00:02:49,630 --> 00:02:52,920 program pelayan itu mampu berurusan dengan lebih sedikit 51 00:02:52,920 --> 00:02:56,350 kerumitan yang kita akan lihat di dalam kedua-dua P menetapkan 7 dan P menetapkan 8. 52 00:02:56,350 --> 00:03:01,410 Dan cara yang anda memulakan yang pelayan adalah dengan hanya menaip "apache50." 53 00:03:01,410 --> 00:03:03,960 >> Dan sebelum anda melakukan apa-apa, anda ingin memastikan 54 00:03:03,960 --> 00:03:06,070 yang Apache 50 tidak sudah berjalan kerana ia adalah 55 00:03:06,070 --> 00:03:08,130 pada mesin saya, yang saya lakukan untuk menguji. 56 00:03:08,130 --> 00:03:10,320 Dan anda berbuat demikian dengan menghubungi apache50. 57 00:03:10,320 --> 00:03:14,070 Berhenti, dan anda akan melihat bahawa ia berhenti pelayan web, jika anda boleh melihat di sana 58 00:03:14,070 --> 00:03:16,340 di bahagian bawah tetingkap terminal. 59 00:03:16,340 --> 00:03:21,090 Dan kemudian hanya untuk memulakan, kami akan memanggil, "apache50 bermula." 60 00:03:21,090 --> 00:03:23,150 Dan kemudian kita akan untuk memberi makan direktori. 61 00:03:23,150 --> 00:03:26,950 >> Sekarang, kerana kita mahu melihat di beberapa P menetapkan 6 kod 62 00:03:26,950 --> 00:03:32,850 bahawa kita telah dilaksanakan, saya benar-benar disalin sedikit P 63 00:03:32,850 --> 00:03:37,090 menetapkan 6 kod ke dalam folder saya sendiri, yang anda boleh lihat di sebelah kiri sana. 64 00:03:37,090 --> 00:03:40,170 Ia dipanggil "SECTION8" dalam huruf besar 65 00:03:40,170 --> 00:03:44,510 kerana saya hanya begitu teruja menjadi penstriman langsung hari ini. 66 00:03:44,510 --> 00:03:47,330 >> Jadi, jika kita menjalankan ini, ia perlu semua bekerja cukup berkesan. 67 00:03:47,330 --> 00:03:52,350 Ia mengatakan, OK, laman web kami kini ada di alamat IDE, 68 00:03:52,350 --> 00:03:57,710 pada dasarnya, yang adalah apa yang anda gunakan betul-betul kerana ia adalah pada P menetapkan 7-- P menetapkan 6. 69 00:03:57,710 --> 00:04:00,899 Semua indeks saya adalah satu indeks hari ini. 70 00:04:00,899 --> 00:04:02,940 Oleh itu, kita boleh pergi ke yang alamat, jika anda akan ingat, 71 00:04:02,940 --> 00:04:05,710 dengan hanya klik ini sedikit butang di bahagian atas kanan. 72 00:04:05,710 --> 00:04:14,200 >> Dan anda akan ingat kod ini, yang berlaku apabila anda pergi ke hello.php. 73 00:04:14,200 --> 00:04:18,000 Dan apa kod yang direka untuk lakukan adalah apabila anda taip pada nama 74 00:04:18,000 --> 00:04:20,550 sini-- jika anda mengatakan Sam kerana itulah name-- saya 75 00:04:20,550 --> 00:04:23,620 dan saya klik Say Hello, apabila kami pergi ke halaman seterusnya, 76 00:04:23,620 --> 00:04:25,270 nama yang sepatutnya dipaparkan. 77 00:04:25,270 --> 00:04:28,550 Ia akan berkata, "Hello, Sam" atau "Hello," apa sahaja nama yang anda 78 00:04:28,550 --> 00:04:32,470 masukkan ke dalamnya walaupun kita pergi ke laman web yang baru. 79 00:04:32,470 --> 00:04:36,610 >> Dan ini adalah jenis perkara PHP boleh lakukan untuk anda. 80 00:04:36,610 --> 00:04:42,840 PHP mampu lulus data antara dua laman web. 81 00:04:42,840 --> 00:04:44,390 Ini adalah halaman yang sama sekali berbeza. 82 00:04:44,390 --> 00:04:46,990 Anda akan melihat tajuk adalah "hello" di sini. 83 00:04:46,990 --> 00:04:49,080 Sebenarnya, mereka mempunyai tajuk yang sama, tetapi saya 84 00:04:49,080 --> 00:04:52,560 janji mereka adalah web yang berbeza muka surat jika kita melihat sumber itu. 85 00:04:52,560 --> 00:04:55,890 Dan anda boleh lulus data itu dimasukkan dalam medan teks ini, 86 00:04:55,890 --> 00:04:59,830 anda menyerahkannya ke depan halaman yang yang dipanggil, 87 00:04:59,830 --> 00:05:02,490 dan kemudian data yang mampu berada di sana dalam bentuk sekarang. 88 00:05:02,490 --> 00:05:04,810 >> Kita tidak lagi dilaksanakan ini diri kita sendiri, yang 89 00:05:04,810 --> 00:05:08,710 adalah apa yang kita akan lakukan sekarang untuk semacam mendapatkan rasa untuk bagaimana PHP berfungsi, 90 00:05:08,710 --> 00:05:15,070 tetapi idea utama adalah bahawa anda boleh PHP-- semacam memikirkan ia seperti fungsi. 91 00:05:15,070 --> 00:05:18,570 Sesuatu yang PHP boleh membiarkan anda lakukan adalah ia boleh mengambil parameter 92 00:05:18,570 --> 00:05:24,710 bahawa input anda ke dalam halaman HTML melalui penggunaan PHP dan bentuk, 93 00:05:24,710 --> 00:05:29,960 dan ia boleh lulus mereka sebagai parameter ke halaman seterusnya bahawa ia memuatkan sehingga. 94 00:05:29,960 --> 00:05:35,110 >> Dalam kes ini, kami memuatkan sehingga ini halaman dengan "Bertanya khabar" butang. 95 00:05:35,110 --> 00:05:38,960 Tetapi buat masa ini, saya sebenarnya dipadam beberapa kod yang 96 00:05:38,960 --> 00:05:44,850 dalam hello.php yang sedang berjalan yang sebenarnya memaparkan "hello, 97 00:05:44,850 --> 00:05:49,680 dunia "atau" hello, Sam "atau "hello," apa sahaja input adil. 98 00:05:49,680 --> 00:05:53,620 Jadi untuk sekarang, kami akan berbuat demikian, pada asasnya. 99 00:05:53,620 --> 00:05:56,570 Kami akan mencipta itu dan juga menambah fungsi lebih sedikit, 100 00:05:56,570 --> 00:06:00,210 melakukan sedikit lebih dengannya, lihat apa PHP adalah benar-benar mampu. 101 00:06:00,210 --> 00:06:04,870 >> Jadi pertama, mari kita bercakap tentang fail ini, hello.php. 102 00:06:04,870 --> 00:06:07,440 Jadi, jika kita zum dalam sedikit bit-- dan kini saya 103 00:06:07,440 --> 00:06:10,520 semacam cuba untuk menatal semua cara around-- ada kita pergi. 104 00:06:10,520 --> 00:06:14,220 Anda akan melihat ia dipanggil hello.php, tetapi sintaks daripadanya 105 00:06:14,220 --> 00:06:16,880 kelihatan seperti fail HTML. 106 00:06:16,880 --> 00:06:20,380 Ini adalah kerana PHP sebenar dalam fail ini 107 00:06:20,380 --> 00:06:25,220 adalah semua terperangkap di antara kedua- soalan blok tanda-tanda sisipan. 108 00:06:25,220 --> 00:06:28,610 Segala-galanya di sini dianggap kod PHP. 109 00:06:28,610 --> 00:06:32,040 >> Dan anda akan melihat bahawa apabila saya komen, 110 00:06:32,040 --> 00:06:35,320 anda akan melihat yang biasa dua ke hadapan garis condong. 111 00:06:35,320 --> 00:06:38,440 Dan jika anda akan ingat, dalam HTML, saya menaip komen, 112 00:06:38,440 --> 00:06:42,540 ia kelihatan lebih dekat dengan ini, yang merupakan satu komen dalam HTML. 113 00:06:42,540 --> 00:06:46,570 Jadi benar-benar segala-galanya di antara kedua-dua tanda kurung sudut 114 00:06:46,570 --> 00:06:50,060 kini kod PHP, yang digambarkan dalam fakta 115 00:06:50,060 --> 00:06:53,270 bahawa simbol ini komen sedikit bertukar menjadi komen. 116 00:06:53,270 --> 00:06:58,420 >> Jadi setiap kali anda menulis kod PHP, walaupun jika tidak ada kod HTML luarnya, 117 00:06:58,420 --> 00:07:02,720 ia sentiasa akan menjadi disertakan dalam kurungan sudut 118 00:07:02,720 --> 00:07:04,080 dengan tanda tanya. 119 00:07:04,080 --> 00:07:08,260 Anda boleh jenis berfikir tentang kitab itu bagaimana semua kod yang berlari dalam program C anda 120 00:07:08,260 --> 00:07:13,950 telah disertakan dalam int utama, tidak sah, kerinting, akhir kenyataan kerinting. 121 00:07:13,950 --> 00:07:17,100 Dan anda akan melihat pendakap kerinting dalam PHP, juga, tetapi ini adalah jenis 122 00:07:17,100 --> 00:07:20,490 seperti kaedah utama PHP. 123 00:07:20,490 --> 00:07:25,630 >> Jadi sekarang, bagaimana kita berbuat apa-apa dalam PHP? 124 00:07:25,630 --> 00:07:29,190 Sekarang, PHP adalah pengaturcaraan bahasa yang sangat C-suka, 125 00:07:29,190 --> 00:07:30,970 tetapi ia beroperasi di web. 126 00:07:30,970 --> 00:07:33,270 Jadi satu perkara yang anda akan immediately-- satu 127 00:07:33,270 --> 00:07:38,130 satu perkara pertama yang anda benar-benar lakukan dengan C telah anda dicetak barangan keluar, kan? 128 00:07:38,130 --> 00:07:42,290 Jadi, dalam C kami melakukannya dengan fungsi printf. 129 00:07:42,290 --> 00:07:46,430 Kami berikan rentetan, mungkin dengan barisan baru, 130 00:07:46,430 --> 00:07:49,850 dan kemudian kita ditamatkan dengan koma bernoktah. 131 00:07:49,850 --> 00:07:53,790 >> Jadi cara yang kita akan berbuat demikian dalam PHP-- kerana ia tidak cukup printf. 132 00:07:53,790 --> 00:07:55,940 Ia sedikit sintaks yang berbeza. 133 00:07:55,940 --> 00:08:02,580 Cara yang kita cetak perkara keluar dalam PHP adalah kita katakan, "echo hello" 134 00:08:02,580 --> 00:08:04,180 atau "echo" mana-mana perkataan. 135 00:08:04,180 --> 00:08:09,830 Dan yang mempunyai kesan daripada perbuatan printf dengan tali, "hello." 136 00:08:09,830 --> 00:08:11,990 Dan ia menambah satu barisan baru kepadanya. 137 00:08:11,990 --> 00:08:16,000 >> Jadi mari kita sekarang membuat sure-- Saya akan zum keluar lagi sedikit bit-- 138 00:08:16,000 --> 00:08:18,250 mari kita memastikan bahawa kod yang bekerja 139 00:08:18,250 --> 00:08:21,030 kerana mungkin sangat juga menjadi bug dalam kod ini 140 00:08:21,030 --> 00:08:22,880 bahawa kita akan mempunyai untuk menangani. 141 00:08:22,880 --> 00:08:25,860 Jadi pelayan sedang berjalan. 142 00:08:25,860 --> 00:08:30,630 Jadi, jika kita tinjau kembali turun ke bawah, yup, pelayan masih berjalan. 143 00:08:30,630 --> 00:08:34,510 Jadi, jika kita hanya memanfaatkan ini sedikit hak sini-- 144 00:08:34,510 --> 00:08:37,620 welcome-- kita harus get-- besar. 145 00:08:37,620 --> 00:08:39,930 >> Kita masih mempunyai biasa "Bertanya khabar" dialog, 146 00:08:39,930 --> 00:08:45,750 tetapi apabila saya menaip "hi," kita akan melihat bahawa teks "hello" sememangnya 147 00:08:45,750 --> 00:08:50,080 dicetak, yang betul-betul seperti yang kita harapkan kerana echo dalam PHP 148 00:08:50,080 --> 00:08:53,190 adalah sama seperti kenyataan printf. 149 00:08:53,190 --> 00:09:01,410 Jadi kembali kepada kod, bagaimana dalam P menetapkan 6 lakukan kod pengedaran anda disediakan 150 00:09:01,410 --> 00:09:05,920 membuat ia supaya PHP akan output perkara yang anda 151 00:09:05,920 --> 00:09:07,920 ditaip pada skrin yang lama? 152 00:09:07,920 --> 00:09:10,350 >> Dan untuk jenis memeriksa mengapa ini berlaku, kami 153 00:09:10,350 --> 00:09:15,510 akan pergi ke index.html, yang adalah fail asal, fail yang 154 00:09:15,510 --> 00:09:18,710 muncul pada skrin ini dengan "Bertanya khabar" butang. 155 00:09:18,710 --> 00:09:20,950 Anda perasan bahawa ada semua perkara yang klasik 156 00:09:20,950 --> 00:09:26,910 kami telah menentukan pengalaman HTML seperti kerana perkara-perkara ini, tag dilampirkan 157 00:09:26,910 --> 00:09:31,080 dalam kurungan sudut, seperti PHP tetapi tanpa tanda soal, 158 00:09:31,080 --> 00:09:34,650 yang menunjukkan satu perkara yang istimewa ke HTML. 159 00:09:34,650 --> 00:09:36,895 Kami mempunyai tajuk, iaitu "hello." 160 00:09:36,895 --> 00:09:41,010 Dan anda akan melihat bahawa seperti yang kita lihat, tajuk adalah "hello" dalam kedua-dua kes. 161 00:09:41,010 --> 00:09:43,260 Mari kita mengubah satu ini untuk "mengatakan" hanya jadi kami 162 00:09:43,260 --> 00:09:48,170 boleh membezakan diri kita di mana kita berada. 163 00:09:48,170 --> 00:09:49,600 >> Tetapi kita telah mendapat badan. 164 00:09:49,600 --> 00:09:52,690 Dan kemudian bit menarik, bit yang muncul dalam HTML, 165 00:09:52,690 --> 00:09:54,530 adalah unsur borang ini. 166 00:09:54,530 --> 00:09:56,370 Dan dengan itu kita telah mendapat borang. 167 00:09:56,370 --> 00:09:58,330 Dan ini adalah kunci. 168 00:09:58,330 --> 00:10:00,530 Ini adalah bagaimana kita bekerja dengan PHP. 169 00:10:00,530 --> 00:10:05,790 Parameter tindakan bentuk mengatakan bahawa hello.php 170 00:10:05,790 --> 00:10:09,310 adalah apa yang kita akan menghantar nilai dalam borang ini untuk. 171 00:10:09,310 --> 00:10:13,830 Ini adalah di mana kita lulus parameter, jadi untuk bercakap. 172 00:10:13,830 --> 00:10:18,680 >> Anda akan melihat perkara yang lain di sini adalah bahawa kaedah ini adalah "mendapatkan." 173 00:10:18,680 --> 00:10:24,450 Terdapat dua utama kaedah yang akan 174 00:10:24,450 --> 00:10:28,750 menjadi menggunakan PHP untuk lulus data antara laman web websites--, 175 00:10:28,750 --> 00:10:30,500 rather-- dalam tugasan ini. 176 00:10:30,500 --> 00:10:34,070 Dan orang-orang kaedah adalah "mendapatkan" dan "pos." 177 00:10:34,070 --> 00:10:37,010 Terdapat beberapa halus perbezaan antara get dan pasca 178 00:10:37,010 --> 00:10:40,520 bahawa kita akan mendapatkan into-- kita akan "mendapatkan" ke dalam, jika anda akan. 179 00:10:40,520 --> 00:10:44,030 >> Tetapi bagi semua maksud dan tujuan, mendapatkan dan jawatan 180 00:10:44,030 --> 00:10:47,120 kedua-duanya hanya cara-cara yang anda lulus parameter 181 00:10:47,120 --> 00:10:49,500 dengan hukuman yang sedikit berbeza. 182 00:10:49,500 --> 00:10:53,500 Buat masa ini, kita akan menggunakan mendapatkan kerana mendapatkan adalah apa yang telah digunakan pada asalnya 183 00:10:53,500 --> 00:10:57,340 dalam fail PHP P menetapkan 6. 184 00:10:57,340 --> 00:11:00,850 Dan sebenarnya, jika kita masuk dan melihat sebelum kita telah mengedit apa-apa lagi, 185 00:11:00,850 --> 00:11:03,090 Saya akan mengatakan hi supaya- apa nama anda? 186 00:11:03,090 --> 00:11:03,812 >> PENONTON: Elliot. 187 00:11:03,812 --> 00:11:04,770 SAM LEVATICH: Oh, Astaga. 188 00:11:04,770 --> 00:11:05,600 Saya tidak tahu bagaimana untuk mengeja itu. 189 00:11:05,600 --> 00:11:06,766 Bolehkah anda mengeja untuk saya? 190 00:11:06,766 --> 00:11:08,710 PENONTON: E-L-L-I-O-T. 191 00:11:08,710 --> 00:11:09,720 >> SAM LEVATICH: I-O-T? 192 00:11:09,720 --> 00:11:10,440 >> PENONTON: Ya. 193 00:11:10,440 --> 00:11:10,960 >> SAM LEVATICH: Perfect. 194 00:11:10,960 --> 00:11:11,210 OKAY. 195 00:11:11,210 --> 00:11:12,751 Saya rasa saya tidak tahu bagaimana untuk mengeja itu. 196 00:11:12,751 --> 00:11:13,510 Maaf tentang itu. 197 00:11:13,510 --> 00:11:16,560 Tetapi jika kita mengatakan "Bertanya khabar," ia bukan ia tidak akan muncul pada skrin 198 00:11:16,560 --> 00:11:18,476 lagi kerana kita diubahsuai kod sedikit. 199 00:11:18,476 --> 00:11:21,290 Tetapi jika kita "Bertanya khabar" - OK, jadi "hello" ada di sini. 200 00:11:21,290 --> 00:11:24,137 Tetapi jika kita mengambil lebih dekat melihat URL itu sendiri, 201 00:11:24,137 --> 00:11:26,220 kita akan melihat bahawa ia berakhir nama dengan hello.php? = Elliot. 202 00:11:26,220 --> 00:11:30,980 203 00:11:30,980 --> 00:11:37,180 >> Jadi, ini adalah satu cara berkomunikasi ke laman web seterusnya 204 00:11:37,180 --> 00:11:39,240 parameter yang kami telah berlalu. 205 00:11:39,240 --> 00:11:40,870 Kami berkata name = Elliot. 206 00:11:40,870 --> 00:11:46,290 Dan itu akhirnya bagaimana P menetapkan 6 diakses pembolehubah yang kami diluluskan pada 207 00:11:46,290 --> 00:11:47,520 melalui borang. 208 00:11:47,520 --> 00:11:51,470 Dan ini adalah sesuatu yang khusus kepada permintaan dapatkan. 209 00:11:51,470 --> 00:11:57,480 Permintaan get menjadikan parameter terkenal dalam URL laman web. 210 00:11:57,480 --> 00:12:01,190 >> Dan anda akan ingat juga, dalam P menetapkan 6 anda 211 00:12:01,190 --> 00:12:04,450 terpaksa menulis fungsi yang diuruskan dengan hakikat 212 00:12:04,450 --> 00:12:09,700 bahawa rentetan pertanyaan ini boleh wujud selepas fail. 213 00:12:09,700 --> 00:12:14,684 Mungkin ada tanda tanya diikuti oleh pada dasarnya apa-apa bilangan aksara. 214 00:12:14,684 --> 00:12:16,350 Dan itu betul-betul apa yang berlaku di sini. 215 00:12:16,350 --> 00:12:21,280 Dan sebab anda terpaksa menghuraikan bahawa dalam pelaksanaan anda server.c di P 216 00:12:21,280 --> 00:12:27,570 menetapkan 6 adalah supaya anda boleh memberitahu kod PHP yang menamakan = Elliot. 217 00:12:27,570 --> 00:12:30,460 Anda diperlukan untuk dapat menghuraikan bahawa daripada URL yang 218 00:12:30,460 --> 00:12:35,900 supaya fail PHP yang berkenaan tahu apa yang ia hadapi. 219 00:12:35,900 --> 00:12:39,350 >> Jadi mudah-mudahan ini memberi motivasi untuk server.c 220 00:12:39,350 --> 00:12:43,900 sekarang bahawa kita sedang bergerak di luar C ke dalam PHP. 221 00:12:43,900 --> 00:12:48,240 Jadi mari kita benar-benar memberi tumpuan kepada mengakses perkara melalui permintaan get sekarang 222 00:12:48,240 --> 00:12:48,880 pada ketika ini. 223 00:12:48,880 --> 00:12:50,157 Saya akan menyimpan ini. 224 00:12:50,157 --> 00:12:51,240 Kami tidak mengubah apa-apa. 225 00:12:51,240 --> 00:12:56,080 Ia kelihatan seperti kami mempunyai medan input. 226 00:12:56,080 --> 00:12:58,550 >> Kami menetapkan beberapa sifat, seperti yang dapat kita lakukan HTML. 227 00:12:58,550 --> 00:12:59,550 Ini adalah perkara yang mudah. 228 00:12:59,550 --> 00:13:00,580 Kita tidak memerlukan ini. 229 00:13:00,580 --> 00:13:03,750 Tetapi kami mempunyai auto-lengkap di luar, yang pada asasnya says-- yang anda tahu, 230 00:13:03,750 --> 00:13:05,710 apabila anda menaip perkara ke dalam web, kadang-kadang 231 00:13:05,710 --> 00:13:07,355 ia cuba untuk mengisi bahawa dalam untuk anda. 232 00:13:07,355 --> 00:13:08,230 Jadi ia adalah satu perkara yang baik. 233 00:13:08,230 --> 00:13:11,700 Kami mahu mematikannya untuk tujuan ini. 234 00:13:11,700 --> 00:13:13,970 Mereka itu adalah satu keputusan CS50. 235 00:13:13,970 --> 00:13:15,640 Oleh itu, kita boleh memadam bahawa jika kita mahu. 236 00:13:15,640 --> 00:13:19,510 >> Autofocus hanya melekat kursor dalam bentuk hak pada mulanya. 237 00:13:19,510 --> 00:13:21,060 Sekali lagi, tidak terlalu penting. 238 00:13:21,060 --> 00:13:26,220 >> Tetapi nama = "nama" - ia sedikit rumit kerana ia adalah nama dan nama. 239 00:13:26,220 --> 00:13:28,730 Tetapi kita boleh telah berubah ini kepada sesuatu yang lain. 240 00:13:28,730 --> 00:13:30,563 Dan sebenarnya, itu apa yang kita akan lakukan sekarang. 241 00:13:30,563 --> 00:13:34,830 Kami akan berkata "orang" yang adalah jenis seperti nama 242 00:13:34,830 --> 00:13:36,790 jika seseorang itu ditakrifkan oleh nama mereka. 243 00:13:36,790 --> 00:13:41,480 >> Jadi mari kita menutup ini, membuka semula sebuah laman web kami 244 00:13:41,480 --> 00:13:46,110 kerana pelayan kami masih berjalan Apache 50, dan kami akan berkata, hello, di sini adalah 245 00:13:46,110 --> 00:13:47,200 Elliot lagi. 246 00:13:47,200 --> 00:13:48,460 Kenapa tidak? 247 00:13:48,460 --> 00:13:49,220 Hello. 248 00:13:49,220 --> 00:13:52,880 Dan jika kita pergi di sini, kita akan melihat ketika itu dan bukannya name = Elliot, 249 00:13:52,880 --> 00:13:55,200 ia berkata orang = Elliot. 250 00:13:55,200 --> 00:14:00,060 Dan itu hasil langsung daripada hakikat bahawa kita hanya menukar namanya = "orang." 251 00:14:00,060 --> 00:14:06,840 >> Jadi dalam unsur input bentuk HTML, medan nama 252 00:14:06,840 --> 00:14:10,590 adalah pengecam untuk parameter yang yang berlalu. 253 00:14:10,590 --> 00:14:14,250 Ia seperti jika anda membuat satu majlis "add" yang berlaku dalam dua integer 254 00:14:14,250 --> 00:14:16,670 dan anda berkata int dan int b. 255 00:14:16,670 --> 00:14:22,680 Yang akan menjadi nama, dan jika anda mahu bentuk yang lain, yang 256 00:14:22,680 --> 00:14:27,800 yang boleh kita lakukan hanya dengan menyalin dan menampal, maka kita akan mempunyai nama b. 257 00:14:27,800 --> 00:14:31,030 >> Jadi sekarang kita akan mempunyai dua parameter yang sedang melalui 258 00:14:31,030 --> 00:14:36,970 dapat website-- seterusnya halaman web yang akan datang, hello.php. 259 00:14:36,970 --> 00:14:39,770 Dan kita sebenarnya boleh melihat yang sekali lagi jika kita mahu. 260 00:14:39,770 --> 00:14:44,830 Ini adalah cara yang paling mudah untuk menangani Kod web dalam IDE, pada asasnya. 261 00:14:44,830 --> 00:14:47,940 Anda memulakan pelayan, mendapatkannya berjalan, dan kemudian setiap kali anda 262 00:14:47,940 --> 00:14:50,649 membuat beberapa perubahan, hanya dekat fail yang hanya untuk selamat. 263 00:14:50,649 --> 00:14:52,440 Menekan butang belakang adalah sedikit rumit 264 00:14:52,440 --> 00:14:55,800 kerana ia mungkin memuatkan awal versi, bukan yang terkini. 265 00:14:55,800 --> 00:14:59,200 >> Dan kemudian anda hanya klik anda butang sekali lagi, pop up-- betul oh, 266 00:14:59,200 --> 00:15:00,510 dan kini terdapat dua bentuk. 267 00:15:00,510 --> 00:15:10,440 Dan jadi jika kita menaip satu perkara ke dalam setiap one-- "jason Hirshhorn," untuk instance-- 268 00:15:10,440 --> 00:15:11,590 kita bertanya khabar. 269 00:15:11,590 --> 00:15:12,840 Kita melihat ke parameter kami. 270 00:15:12,840 --> 00:15:18,910 Ia kelihatan seperti kami ada, kerana dijangka, a = jason dan b = Hirshhorn, 271 00:15:18,910 --> 00:15:23,760 yang mewakili kedua-dua parameter bahawa kita dihantar ke fungsi ini. 272 00:15:23,760 --> 00:15:27,900 >> Jadi sekarang mari kita benar-benar dapat melaksanakan fungsi yang kita 273 00:15:27,900 --> 00:15:30,840 mempunyai dalam P menetapkan 6. 274 00:15:30,840 --> 00:15:32,490 Jadi sekarang kita hanya bergema hello. 275 00:15:32,490 --> 00:15:34,310 Dan itu bukan sangat berguna. 276 00:15:34,310 --> 00:15:38,530 Kami mahu echo beberapa pembolehubah yang telah diluluskan kepada kami. 277 00:15:38,530 --> 00:15:40,320 Dan kita tahu nama pembolehubah ini. 278 00:15:40,320 --> 00:15:41,770 Kami mempunyai dan kami telah b. 279 00:15:41,770 --> 00:15:43,500 Oleh itu, kita boleh memilih untuk echo salah satu. 280 00:15:43,500 --> 00:15:45,470 >> Tetapi bagaimana kita mencapainya? 281 00:15:45,470 --> 00:15:48,820 Nah, terdapat beberapa pembolehubah global dalam PHP. 282 00:15:48,820 --> 00:15:51,240 Dan saya akan menulis mereka dalam komen di sini. 283 00:15:51,240 --> 00:15:59,910 Dua yang paling penting adalah mendapatkan ditulis untuk tujuan kita sekarang. 284 00:15:59,910 --> 00:16:05,350 Ini adalah tatasusunan atau, secara teknikal, kamus yang 285 00:16:05,350 --> 00:16:10,540 di mana pembolehubah kami bahawa kami berpindah kepada streaming laman web seterusnya. 286 00:16:10,540 --> 00:16:14,520 Dan kita tidak lama lagi akan melihat bagaimana untuk menggunakannya. 287 00:16:14,520 --> 00:16:19,720 >> Satu lagi nota ringkas tentang kod PHP dan beberapa khusus kitab itu dalam C, 288 00:16:19,720 --> 00:16:23,260 untuk mengisytiharkan pembolehubah atau menggunakan pembolehubah, 289 00:16:23,260 --> 00:16:24,570 anda pertama terpaksa mengisytiharkan mereka. 290 00:16:24,570 --> 00:16:30,860 Dan apa yang anda perlu lakukan apabila anda mengisytiharkan mereka adalah mengatakan int atau char b. 291 00:16:30,860 --> 00:16:35,630 Anda terpaksa mengisytiharkan jenis ini pembolehubah sebelum anda menjadikan mereka. 292 00:16:35,630 --> 00:16:38,800 PHP-- anda tidak perlu melakukan apa-apa itu. 293 00:16:38,800 --> 00:16:42,522 PHP tidak meminta jenis pembolehubah. 294 00:16:42,522 --> 00:16:44,480 Dan cara yang anda mewujudkan variable-- yang agak 295 00:16:44,480 --> 00:16:49,930 daripada berkata int, char, rentetan yang benar-benar char *, seperti yang kita know-- 296 00:16:49,930 --> 00:16:52,180 daripada melakukan semua itu, kerana segala-galanya 297 00:16:52,180 --> 00:16:54,620 adalah jenis yang sama, typeless, kita boleh hanya 298 00:16:54,620 --> 00:16:59,210 menggunakan salah satu watak, yang adalah tanda dolar. 299 00:16:59,210 --> 00:17:03,700 Dan anda akan melihat ia sudah muncul sehingga, perkara auto-lengkap sedikit. 300 00:17:03,700 --> 00:17:11,380 Dan ia berkata _GET dan _POST dua pilihan yang saya ada 301 00:17:11,380 --> 00:17:11,900 kepada saya. 302 00:17:11,900 --> 00:17:16,430 Antara perkara-perkara lain adalah pembolehubah global lain dalam PHP 303 00:17:16,430 --> 00:17:18,430 bahawa anda akan menggunakan lebih perjalanan P menetapkan 7. 304 00:17:18,430 --> 00:17:20,569 Buat masa ini kita akan memberi tumpuan kepada mendapatkan dan pos. 305 00:17:20,569 --> 00:17:22,910 Tetapi ini adalah berguna perkara yang IDE tidak 306 00:17:22,910 --> 00:17:24,980 di mana apabila anda telah ditaip kerana tanda dolar, 307 00:17:24,980 --> 00:17:28,760 ia akan mula mengisi pembolehubah global atau pembolehubah anda telah ditakrifkan. 308 00:17:28,760 --> 00:17:34,360 >> Jadi, jika anda ingin menentukan pembolehubah yang dipanggil "tali," 309 00:17:34,360 --> 00:17:38,290 anda hanya boleh menetapkan ia sama dengan "hi." 310 00:17:38,290 --> 00:17:40,100 Dan ia pada dasarnya semudah itu. 311 00:17:40,100 --> 00:17:44,720 Dan kemudian kita boleh lakukan sesuatu seperti "$ string gema." 312 00:17:44,720 --> 00:17:48,524 IDE perlu membuang beberapa kesilapan jika saya melakukan apa-apa yang salah, 313 00:17:48,524 --> 00:17:50,190 jadi diharapkan saya melakukan semua dengan betul. 314 00:17:50,190 --> 00:17:52,060 Tetapi bug sentiasa yang timbul. 315 00:17:52,060 --> 00:17:56,670 >> Satu lagi perkara yang rumit tentang PHP adalah bahawa ia tidak disusun. 316 00:17:56,670 --> 00:18:00,640 Jadi dengan program C, yang akan anda lakukan rutin harian daripada- pada dasarnya, 317 00:18:00,640 --> 00:18:02,710 anda akan membuat suntingan kepada kod anda, anda akan menyimpannya, 318 00:18:02,710 --> 00:18:04,460 dan kemudian anda akan membuat, di mana make adalah 319 00:18:04,460 --> 00:18:08,830 langkah yang dipanggil pengkompil, dilafaz, untuk membuat kod anda, teks ini 320 00:18:08,830 --> 00:18:10,570 fail, ke laksana. 321 00:18:10,570 --> 00:18:15,550 PHP adalah C-suka, tetapi ia dilaksanakan dengan cepat oleh pelayar web anda. 322 00:18:15,550 --> 00:18:17,640 Jadi tidak ada cara untuk mengetahui. 323 00:18:17,640 --> 00:18:19,790 >> Membuat akan membuang mereka kesilapan berguna, bukan? 324 00:18:19,790 --> 00:18:22,190 Ia akan menjadi seperti, anda tidak mengisytiharkan pembolehubah ini 325 00:18:22,190 --> 00:18:23,320 sebelum anda cuba untuk menggunakannya. 326 00:18:23,320 --> 00:18:29,120 Kau buat semua segfault stuff-- ini tidak baik, segfault, semua yang jenis masa untuk berseronok 327 00:18:29,120 --> 00:18:31,000 yang datang dengan make. 328 00:18:31,000 --> 00:18:33,920 PHP adalah pedang bermata dua kerana anda tidak akan mendapatkan orang-orang kesilapan, 329 00:18:33,920 --> 00:18:37,770 tetapi itu juga bermakna bahawa anda tidak akan tahu benar-benar apa yang salah dengan program anda 330 00:18:37,770 --> 00:18:39,840 jika anda hanya berjalan dan ia tidak berfungsi. 331 00:18:39,840 --> 00:18:45,130 Tetapi penyahpepijat perlu menunjukkan beberapa perkara yang diharapkan akan membantu sedikit 332 00:18:45,130 --> 00:18:47,950 sintaksis yang boleh menetapkan. 333 00:18:47,950 --> 00:18:52,850 >> Oleh sebab itu jika kita pergi ke supaya- berkata, mari kita menutup itu. 334 00:18:52,850 --> 00:18:54,522 Buka semula. 335 00:18:54,522 --> 00:18:55,480 Dan kami kembali ke sini. 336 00:18:55,480 --> 00:18:57,210 Jadi kami mempunyai pembolehubah dan b berubah-ubah. 337 00:18:57,210 --> 00:18:58,626 Dan ini tidak akan akhirnya perkara itu. 338 00:18:58,626 --> 00:19:01,850 Kita akan memanggil mereka h dan g tanpa sebab tertentu. 339 00:19:01,850 --> 00:19:03,120 >> Dan kita bertanya khabar. 340 00:19:03,120 --> 00:19:07,480 Kini ia kelihatan seperti tali kami "hi" memang percetakan. 341 00:19:07,480 --> 00:19:10,460 Kami mencipta pembolehubah yang dipanggil "tali," menetapkan ia sama dengan "hi." 342 00:19:10,460 --> 00:19:15,520 Perhatikan bahawa kita tidak perlu berbuat malloc atau membuat pelbagai watak. 343 00:19:15,520 --> 00:19:19,110 >> Dalam PHP, kerana pembolehubah adalah typeless, rentetan 344 00:19:19,110 --> 00:19:22,230 adalah sama seperti char untuk tujuan dan maksud. 345 00:19:22,230 --> 00:19:23,570 Ini boleh menjadi "hi." 346 00:19:23,570 --> 00:19:26,340 Ini mungkin hanya k watak. 347 00:19:26,340 --> 00:19:29,290 Ini boleh menjadi satu nombor 1. 348 00:19:29,290 --> 00:19:30,300 Dan ia tidak peduli. 349 00:19:30,300 --> 00:19:33,560 PHP tidak mengambil berat tentang jenis pembolehubah anda. 350 00:19:33,560 --> 00:19:34,390 Atau, ia tidak baik. 351 00:19:34,390 --> 00:19:36,240 Ia menjaga apabila anda cuba dan melakukan perkara-perkara dengan itu, 352 00:19:36,240 --> 00:19:38,790 tetapi ia tidak peduli dalam langkah pengisytiharan. 353 00:19:38,790 --> 00:19:46,960 >> Dan seperti yang anda boleh dalam C, anda boleh mengisytiharkan tali pada timbunan seperti ini 354 00:19:46,960 --> 00:19:51,130 walaupun berkata "timbunan" adalah sedikit sedikit kesilapan nama yang berpotensi apabila 355 00:19:51,130 --> 00:19:52,230 kita bercakap tentang PHP. 356 00:19:52,230 --> 00:19:54,020 Tetapi kita tidak perlu bimbang tentang itu. 357 00:19:54,020 --> 00:19:55,936 Oleh itu, kita mendapat rentetan kami "hi," dan kami echo tali. 358 00:19:55,936 --> 00:19:58,880 Jadi sekarang kita telah dibincangkan pembolehubah. 359 00:19:58,880 --> 00:20:06,060 Jadi sekarang kita perlu bercakap mengenai mendapatkan dan hantar dan melaksanakan perkara yang terakhir itu 360 00:20:06,060 --> 00:20:12,660 diperlukan untuk benar-benar kembali ini sehingga kepada fungsi P menetapkan 6. 361 00:20:12,660 --> 00:20:14,990 Jadi sekarang kita bergema tali, tetapi kita 362 00:20:14,990 --> 00:20:17,080 yang mempunyai pembolehubah ini mendapatkan dan pos. 363 00:20:17,080 --> 00:20:19,430 Dan kerana kita menggunakan kaedah mendapatkan, ia 364 00:20:19,430 --> 00:20:24,810 seolah-olah alam yang berubah-ubah kami yang kita minati, kedua-dua a dan b, 365 00:20:24,810 --> 00:20:29,870 akan ditempatkan dalam array atau kamus, teknikal mendapatkan. 366 00:20:29,870 --> 00:20:33,510 >> Jadi, jika kita menubuhkan mendapatkan seperti ini dengan groups-- anda saya ditekan masukkan 367 00:20:33,510 --> 00:20:36,770 dan ia tidak suka kitab itu tetapi di sini kita mempunyai dapatkan. 368 00:20:36,770 --> 00:20:38,000 Dan oleh itu telah wujud. 369 00:20:38,000 --> 00:20:41,380 Oleh itu, kita sudah boleh mula untuk akses beberapa elemen daripada acara. 370 00:20:41,380 --> 00:20:45,000 Jika kita mendapatkan, sintaks ini untuk array dalam PHP adalah sangat C-suka. 371 00:20:45,000 --> 00:20:47,900 Kami mempunyai dua tanda kurung siku kami. 372 00:20:47,900 --> 00:20:53,440 >> Jadi, jika kita katakan dalam biasa pelbagai, kita boleh mengakses 373 00:20:53,440 --> 00:20:55,600 indeks 0, indeks pertama. 374 00:20:55,600 --> 00:20:56,840 PHP adalah indeks sifar. 375 00:20:56,840 --> 00:21:00,550 Kita boleh mengatakan sifar, satu, barangan two-- seperti ini. 376 00:21:00,550 --> 00:21:03,420 Dan saya telah mengatakan bahawa mendapatkan secara teknikal kamus. 377 00:21:03,420 --> 00:21:08,290 Jadi apa PHP lakukan di bawah hood, yang sedikit lebih bagus daripada C, 378 00:21:08,290 --> 00:21:12,760 adakah ia telah memberi anda beberapa fungsi kamus, yang 379 00:21:12,760 --> 00:21:16,240 adalah jadual benar-benar hash, atau cuba untuk, kononnya. 380 00:21:16,240 --> 00:21:19,360 Atau, secara teknikalnya ia boleh menjadi cuba juga. 381 00:21:19,360 --> 00:21:25,500 Tetapi PHP sedang melaksanakan jadual hash, yang menjadi kamus yang berkesan. 382 00:21:25,500 --> 00:21:28,400 >> Dan supaya kita tahu nama pembolehubah kita, bukan? 383 00:21:28,400 --> 00:21:32,440 Ia diluluskan dalam rentetan pertanyaan oleh PHP. 384 00:21:32,440 --> 00:21:37,290 Kami mempunyai = h dan b = g mana dan b adalah nama-nama pembolehubah. 385 00:21:37,290 --> 00:21:41,580 Jadi cara yang kita boleh mengakses nilai yang sepadan dengan kunci 386 00:21:41,580 --> 00:21:45,055 dalam kamus kita adalah hanya dengan mengatakan _GET_GET ["a"]. 387 00:21:45,055 --> 00:21:48,170 388 00:21:48,170 --> 00:21:51,365 >> Jadi sekarang kita mempunyai _GET ["a"]. 389 00:21:51,365 --> 00:21:56,930 Dan jika kita hanya menggantikan dalam echo kita, jika kita echo _GET_GET ["a"] - 390 00:21:56,930 --> 00:22:02,410 dan kita akan melihat jika penyahpepijat melemparkan sebarang kesilapan mengenai this-- 391 00:22:02,410 --> 00:22:05,620 kami akan menyimpan itu dan menutup ini keluar. 392 00:22:05,620 --> 00:22:07,130 Membukanya. 393 00:22:07,130 --> 00:22:10,390 Oleh itu, kita hanya melakukan hak sekarang, jadi b tidak mengapa. 394 00:22:10,390 --> 00:22:12,980 "dia" dan "him" - "hum." "dia" dan "hum." 395 00:22:12,980 --> 00:22:14,810 Bunyi yang baik. 396 00:22:14,810 --> 00:22:18,040 >> Dan ia dicetak "beliau," yang gila. 397 00:22:18,040 --> 00:22:21,920 Tetapi itulah apa yang berlaku di P menetapkan 6. 398 00:22:21,920 --> 00:22:27,240 Pada asasnya, apa P menetapkan 6 adalah doing-- echo hello, 399 00:22:27,240 --> 00:22:31,580 name-- di mana ia mempunyai nama pembolehubah dan ia hanya 400 00:22:31,580 --> 00:22:35,520 meminta anda menaip yang sedikit teks. 401 00:22:35,520 --> 00:22:37,380 Terdapat juga beberapa kod tambahan di mana 402 00:22:37,380 --> 00:22:40,550 ia termasuk jika kenyataan, yang kita boleh lakukan sekarang. 403 00:22:40,550 --> 00:22:50,120 >> Kita boleh mengatakan jika wujud, yang adalah fungsi dalam PHP, 404 00:22:50,120 --> 00:22:55,110 _GET Dengan garis bawah, "nama" - yang pada dasarnya mengatakan, 405 00:22:55,110 --> 00:22:58,760 "jika namanya telah diisi" kerana kita boleh hanya klik butang 406 00:22:58,760 --> 00:23:02,580 mengemukakan borang tanpa menaip apa-apa ke dalam bidang itu. 407 00:23:02,580 --> 00:23:07,760 Dan kita balut bahawa dalam kita pendakap kerinting friendly. 408 00:23:07,760 --> 00:23:09,175 Kita boleh mempunyai kenyataan yang lain. 409 00:23:09,175 --> 00:23:13,300 410 00:23:13,300 --> 00:23:18,820 Dan itu semua dalam sudut PHP kurungan, tanda tanya, kurung sudut, 411 00:23:18,820 --> 00:23:20,040 jika anda akan. 412 00:23:20,040 --> 00:23:21,750 >> Dan sekarang kita akan melihat jika ia berfungsi. 413 00:23:21,750 --> 00:23:26,300 Saya terus menunggu ia debug dan crap keluar pada saya, pada dasarnya, 414 00:23:26,300 --> 00:23:28,410 tetapi ia tidak mempunyai lagi. 415 00:23:28,410 --> 00:23:30,830 Mungkin ia akan kini kerana saya bercakap tentang. 416 00:23:30,830 --> 00:23:31,330 Ya. 417 00:23:31,330 --> 00:23:32,510 Yang berlaku, sebenarnya. 418 00:23:32,510 --> 00:23:34,610 Jadi, tiada apa yang muncul. 419 00:23:34,610 --> 00:23:38,750 Ini kerana sesuatu yang salah yang saya tulis kod PHP. 420 00:23:38,750 --> 00:23:42,844 Dan saya nyatakan debugging adalah sukar kerana dalam PHP, kita 421 00:23:42,844 --> 00:23:45,260 tidak menyusun terlebih dahulu dan pengkompil tidak suka, 422 00:23:45,260 --> 00:23:46,710 di sini di mana kesilapan anda berada. 423 00:23:46,710 --> 00:23:49,690 >> Tetapi apa yang kita boleh lakukan is-- orang ingat 424 00:23:49,690 --> 00:23:57,010 bagaimana untuk melihat rangkaian yang berbeza permintaan yang PHP-- atau bahawa laman web 425 00:23:57,010 --> 00:23:57,620 hantar? 426 00:23:57,620 --> 00:24:00,290 [? Malin?] Melakukan ini dalam bersyarah sekali atau dua kali. 427 00:24:00,290 --> 00:24:05,830 Anda ingat di mana kita pergi untuk mencari hutang yang berbeza dan 200 OKS, 428 00:24:05,830 --> 00:24:09,780 semua kod-kod ini yang sedang dihantar melalui HTTP dari laman web ke laman web? 429 00:24:09,780 --> 00:24:12,514 Adakah sesiapa ingat di mana kita pergi untuk berbuat demikian? 430 00:24:12,514 --> 00:24:13,787 >> PENONTON: Page Source. 431 00:24:13,787 --> 00:24:14,870 SAM LEVATICH: Page sumber. 432 00:24:14,870 --> 00:24:15,890 Tepat sekali. 433 00:24:15,890 --> 00:24:19,230 Jika anda pergi ke Page Source-- sempurna. 434 00:24:19,230 --> 00:24:21,630 Jadi Page Source menarik sehingga pemeriksa. 435 00:24:21,630 --> 00:24:23,140 >> Dan saya menggunakan Safari. 436 00:24:23,140 --> 00:24:25,790 Banyak anda akan mungkin akan menggunakan Chrome atau Firefox. 437 00:24:25,790 --> 00:24:27,750 Tetapi selagi anda berada dalam mana-mana browser-- moden 438 00:24:27,750 --> 00:24:29,500 dan berasa bebas untuk mengikuti bersama-sama jika anda mahu. 439 00:24:29,500 --> 00:24:32,560 Anda boleh menaip kod ini atau hanya melihat dalam P set 6 440 00:24:32,560 --> 00:24:35,820 direktori untuk barangan beberapa yang sama. 441 00:24:35,820 --> 00:24:41,020 hello.php adalah apa yang kita sedang berusaha untuk mencontohi. 442 00:24:41,020 --> 00:24:42,476 >> Jadi, terdapat pelbagai tab. 443 00:24:42,476 --> 00:24:43,850 Kita boleh melihat semua sumber. 444 00:24:43,850 --> 00:24:45,810 Kita boleh melihat kod sumber. 445 00:24:45,810 --> 00:24:49,900 Jadi kelihatan seperti ia tidak mendapatkan badan lalu pada akhirnya. 446 00:24:49,900 --> 00:24:54,890 Ia mendapati kesilapan dalam PHP dan ia berhenti memuatkan halaman web keseluruhan. 447 00:24:54,890 --> 00:24:58,320 Kami tidak perlu berakhir tag untuk HTML atau apa-apa. 448 00:24:58,320 --> 00:25:07,189 >> Dan jika kita melihat rangkaian, kita boleh melihat bahawa kita menanggung akibat menghantar permintaan. 449 00:25:07,189 --> 00:25:07,980 Ini adalah domain. 450 00:25:07,980 --> 00:25:09,270 Ini adalah alamat. 451 00:25:09,270 --> 00:25:10,070 Ia adalah dokumen. 452 00:25:10,070 --> 00:25:14,310 Kami menggunakan kaedah mendapatkan. 453 00:25:14,310 --> 00:25:15,760 >> Dan ia merah. 454 00:25:15,760 --> 00:25:19,030 Atau, ia merah apabila saya tidak memilih ia. 455 00:25:19,030 --> 00:25:22,680 Bagaimana saya nyahpilih ia? 456 00:25:22,680 --> 00:25:23,980 Well, ia adalah merah. 457 00:25:23,980 --> 00:25:25,201 Biar saya menyegarkan. 458 00:25:25,201 --> 00:25:25,700 Ada ia. 459 00:25:25,700 --> 00:25:26,640 Kini sudah tiba merah. 460 00:25:26,640 --> 00:25:30,530 >> Jadi ia adalah merah, yang bermaksud ia gagal, yang tidak baik. 461 00:25:30,530 --> 00:25:32,280 Jadi mari kita mengkaji mengapa ia gagal. 462 00:25:32,280 --> 00:25:37,070 Jadi apa yang Page Sumber boleh pada dasarnya memberitahu anda adalah perkara anda 463 00:25:37,070 --> 00:25:38,720 tidak berfungsi, yang kita sudah boleh melihat. 464 00:25:38,720 --> 00:25:42,100 Begitu ideal di sana akan menjadi alat yang lebih berguna. 465 00:25:42,100 --> 00:25:45,710 Dan terdapat beberapa sambungan pelayar yang membolehkan anda nyahpepijat PHP, 466 00:25:45,710 --> 00:25:50,490 tetapi kita tidak akan menulis satu tan PHP, 467 00:25:50,490 --> 00:25:53,190 jadi ia mungkin hanya terbaik untuk melihat melalui kod anda 468 00:25:53,190 --> 00:25:56,760 berhati-hati dan pastikan bahawa ia tidak melakukan apa-apa lagi. 469 00:25:56,760 --> 00:26:03,876 >> Jadi mari kita lihat jika format ini jika kenyataan adalah di mana masalahnya. 470 00:26:03,876 --> 00:26:07,420 Saya hendak memuatkan yang kembali di sini. 471 00:26:07,420 --> 00:26:09,830 Hello, hi. 472 00:26:09,830 --> 00:26:11,350 Jadi ada masalah di sana. 473 00:26:11,350 --> 00:26:15,130 >> Jadi untuk sintaks yang betul PHP, PHP akan 474 00:26:15,130 --> 00:26:17,369 sebagai C-suka kerana anda akan melihat gelung. 475 00:26:17,369 --> 00:26:18,410 Anda akan melihat jika kenyataan. 476 00:26:18,410 --> 00:26:20,920 Anda akan melihat semua rakan-rakan ini yang anda telah menjadi biasa 477 00:26:20,920 --> 00:26:24,820 dengan lebih perjalanan semester CS50 ini. 478 00:26:24,820 --> 00:26:29,960 Tetapi cara terbaik untuk memikirkan bagaimana untuk melakukan sesuatu dalam PHP adalah untuk Google ia 479 00:26:29,960 --> 00:26:33,170 atau untuk melihat beberapa contoh kod PHP kerana anda tahu fungsi. 480 00:26:33,170 --> 00:26:35,080 >> Anda tahu apa yang anda boleh kaitan dengan program ini. 481 00:26:35,080 --> 00:26:35,976 Anda boleh gelung. 482 00:26:35,976 --> 00:26:37,600 Anda boleh gelung seberapa banyak kali yang anda mahu. 483 00:26:37,600 --> 00:26:39,433 Anda boleh gelung dalam semua pelbagai cara yang berbeza. 484 00:26:39,433 --> 00:26:40,700 Anda boleh membuat fungsi. 485 00:26:40,700 --> 00:26:43,241 Anda boleh membuat fungsi yang memanggil fungsi lain, fungsi 486 00:26:43,241 --> 00:26:44,150 yang memanggil diri mereka. 487 00:26:44,150 --> 00:26:45,733 Dan anda mempunyai nama-nama untuk konsep-konsep ini. 488 00:26:45,733 --> 00:26:49,860 Anda telah mendapat rekursi, gelung, jika, aliran kawalan yang lain. 489 00:26:49,860 --> 00:26:51,300 Dan sebagainya Google adalah kawan anda yang terbaik. 490 00:26:51,300 --> 00:26:53,540 Malah berkata, "PHP jika kenyataan "dan tidak akan mempunyai 491 00:26:53,540 --> 00:26:57,740 menjadi tan jawatan dengan jawapan kepada orang lain 492 00:26:57,740 --> 00:27:02,090 yang telah mempunyai soalan yang sama kepada anda, yang baru bermula dengan PHP 493 00:27:02,090 --> 00:27:03,820 dan tertanya-tanya tentang satu perkara sintaksis. 494 00:27:03,820 --> 00:27:08,480 >> Kerana kita mempunyai kemewahan yang dapat melihat kod dalam P set 6, 495 00:27:08,480 --> 00:27:14,980 kita benar-benar tarik dan melihat bahawa OK, di sini adalah sesuatu yang menarik. 496 00:27:14,980 --> 00:27:18,070 Jadi ini adalah apa yang sebenarnya kelihatan seperti dalam P menetapkan 6. 497 00:27:18,070 --> 00:27:20,340 Jadi, jika kita pergi melalui ini, kita dapat melihat bahawa kami telah 498 00:27:20,340 --> 00:27:27,150 mendapat beberapa ini sedikit PHP-seperti bit tanda tanya. 499 00:27:27,150 --> 00:27:29,050 >> Dan tidak adalah pendakap kerinting. 500 00:27:29,050 --> 00:27:30,250 Terdapat titik bertindih. 501 00:27:30,250 --> 00:27:32,340 Dan ada kerinting pendakap dalam PHP, tetapi ini 502 00:27:32,340 --> 00:27:38,700 merupakan suatu format dan cara melakukan PHP yang berfungsi dengan baik dengan HTML 503 00:27:38,700 --> 00:27:43,830 kerana seperti yang anda akan lihat, kita menutup off PHP ini bits-- yang elses 504 00:27:43,830 --> 00:27:49,770 dan IFS dan semua bahawa- dan kemudian kita interspersing HTML dalam mereka 505 00:27:49,770 --> 00:27:54,640 sementara masih berikutan aliran kawalan yang ditetapkan oleh PHP. 506 00:27:54,640 --> 00:27:58,480 >> Jadi, saya hanya akan berjalan cepat melalui ini 507 00:27:58,480 --> 00:28:01,740 kerana ia banyak yang sama konsep yang kami lakukan sebelum ini. 508 00:28:01,740 --> 00:28:07,280 Kami telah mendapat jika tidak kosong, kurungan, _GET_GET ["nama"]. 509 00:28:07,280 --> 00:28:08,500 Ini semua barangan yang sama. 510 00:28:08,500 --> 00:28:15,430 Kami menggunakan kamus _GET yang PHP menghantar atas permintaan bentuk, 511 00:28:15,430 --> 00:28:20,720 kerana ia adalah parameter tindakan, dan kaedah ini dapat. 512 00:28:20,720 --> 00:28:22,110 Dan kemudian yang berakhir itu. 513 00:28:22,110 --> 00:28:27,420 Kolon ialah penanda untuk hanya melakukan ini jika sekiranya penyata tersebut menilai kepada benar. 514 00:28:27,420 --> 00:28:29,490 Ia seperti dua gol kerinting. 515 00:28:29,490 --> 00:28:33,320 Dan sebenarnya, ia adalah satu kerinting dalam bahasa-bahasa lain seperti Python, 516 00:28:33,320 --> 00:28:37,070 yang anda mungkin hadapi jika anda hanya berbuat demikian untuk projek akhir anda. 517 00:28:37,070 --> 00:28:40,170 >> Dan kemudian baris ini, hello. 518 00:28:40,170 --> 00:28:41,510 Kemudian kami ada perkara ini pelik. 519 00:28:41,510 --> 00:28:43,190 Kami mempunyai lebih kurungan. 520 00:28:43,190 --> 00:28:46,140 Tidak ada HTTP there-- atau PHP, maaf. 521 00:28:46,140 --> 00:28:47,250 Tetapi ada tanda sama. 522 00:28:47,250 --> 00:28:50,625 Dan kemudian kita mempunyai fungsi, htmlspecialchars (_GEThtmlspecialchars (_GET ["nama"]). 523 00:28:50,625 --> 00:28:54,440 524 00:28:54,440 --> 00:28:58,040 Ini adalah jenis seperti yang lebih versi maju gema. 525 00:28:58,040 --> 00:29:01,450 Seperti yang kita telah echo sebagai cara yang untuk mencetak perkara di dalam PHP. 526 00:29:01,450 --> 00:29:03,890 Ini adalah satu fungsi itu ditakrifkan dalam PHP yang 527 00:29:03,890 --> 00:29:08,160 akan berhadapan dengan beberapa lebih jahat watak dan nilai-nilai bait 528 00:29:08,160 --> 00:29:09,540 bahawa anda boleh lulus. 529 00:29:09,540 --> 00:29:11,070 Ia sentiasa selamat untuk menggunakan ini. 530 00:29:11,070 --> 00:29:14,930 Tetapi gema akan melakukan kerja dengan baik jika kita tidak 531 00:29:14,930 --> 00:29:17,620 berurusan dengan apa-apa yang terlalu jahat. 532 00:29:17,620 --> 00:29:20,340 >> Dan hal ini mempunyai yang sama kesan pada dasarnya, 533 00:29:20,340 --> 00:29:26,360 barangan ini di antara soalan markah dinilai oleh PHP. 534 00:29:26,360 --> 00:29:34,490 htmlspecialchars mengembalikan HTML bagus nilai bercetak _GET_GET ["nama"], iaitu 535 00:29:34,490 --> 00:29:36,010 apa sahaja yang kita taip dalam bentuk. 536 00:29:36,010 --> 00:29:40,025 Dan kemudian ia akan bertanya khabar, ruang koma, dan kemudian itu. 537 00:29:40,025 --> 00:29:42,910 Itu perkara yang lengkap antara kurungan sudut 538 00:29:42,910 --> 00:29:47,390 akan digantikan dengan apa jua htmlspecialchars meletakkan keluar. 539 00:29:47,390 --> 00:29:49,390 Jadi, itu pada dasarnya sama dengan apa yang kita lakukan. 540 00:29:49,390 --> 00:29:54,760 Dan kita mempunyai kenyataan yang lain itu hello dunia, yang masuk akal. 541 00:29:54,760 --> 00:29:58,070 Jadi sekarang mari kita kembali kepada kami kod dan melihat exactly-- oh. 542 00:29:58,070 --> 00:30:02,200 Saya berkata wujud, yang tidak satu perkara yang kita mahu lakukan. 543 00:30:02,200 --> 00:30:05,370 Kami mahu mengatakan tidak kosong. 544 00:30:05,370 --> 00:30:10,020 >> Dan hal ini perlu bekerja sedikit sedikit lebih baik, bukan _GET_GET kosong ["nama"]. 545 00:30:10,020 --> 00:30:12,710 Dan yang kerinting perlawanan yang kerinting. 546 00:30:12,710 --> 00:30:15,210 Kami telah mendapat pendakap kerinting kami di sini. 547 00:30:15,210 --> 00:30:17,790 echo hello _GET ["nama"]. 548 00:30:17,790 --> 00:30:19,912 Mari kita lihat jika ini kerja-kerja yang lebih baik. 549 00:30:19,912 --> 00:30:21,350 Kami masih menjalankan pelayan kami. 550 00:30:21,350 --> 00:30:23,910 Hello Jason. 551 00:30:23,910 --> 00:30:24,780 Hello Jason. 552 00:30:24,780 --> 00:30:25,810 Dan ia bekerja masa ini. 553 00:30:25,810 --> 00:30:29,860 Dan supaya bukti bahawa anda memang boleh 554 00:30:29,860 --> 00:30:35,180 menggunakan pendakap kerinting yang tahu dan cinta kod PHP dalam HTML. 555 00:30:35,180 --> 00:30:41,100 Kod PHP yang diberikan kepada anda pset 6-- pset 6-- 556 00:30:41,100 --> 00:30:44,760 menyediakan satu lagi cara melakukan perkara yang sama. 557 00:30:44,760 --> 00:30:49,220 >> Jadi sekarang kita mempunyai kuasa. 558 00:30:49,220 --> 00:30:55,740 Kami mempunyai fungsi untuk melaksanakan kod PHP yang kita lihat dalam Serangga 6 559 00:30:55,740 --> 00:30:57,390 oleh diri kita sendiri, pada asasnya. 560 00:30:57,390 --> 00:31:01,350 Sebelum saya teruskan, apa yang adalah sebahagian daripada soalan-soalan yang anda ada pada ketika ini? 561 00:31:01,350 --> 00:31:02,066 Ya [didengar]. 562 00:31:02,066 --> 00:31:06,512 >> PENONTON: Jadi dalam versi dalam pset6, apabila anda menjalankannya, ada ruang. 563 00:31:06,512 --> 00:31:09,330 Dan saya boleh melihat di mana ruang adalah selepas koma. [Didengar] permulaan 564 00:31:09,330 --> 00:31:10,700 kurungan terbuka. 565 00:31:10,700 --> 00:31:15,420 Bagaimana anda menggabungkan ruang dalam cara anda menulis kod anda sendiri? 566 00:31:15,420 --> 00:31:17,910 >> SPEAKER: Itu adalah soalan yang baik. 567 00:31:17,910 --> 00:31:21,650 Dan jadi mari kita memikirkan yang keluar. 568 00:31:21,650 --> 00:31:24,450 Jadi itu adalah satu soalan benar-benar baik dan satu yang saya tidak dipertimbangkan. 569 00:31:24,450 --> 00:31:25,950 Tetapi mari kita melakukannya bersama-sama. 570 00:31:25,950 --> 00:31:30,280 >> Jadi pertama sekali, apa yang Saya lakukan dengan gema 571 00:31:30,280 --> 00:31:33,690 adalah apabila kita hanya echo hello, output hello. 572 00:31:33,690 --> 00:31:41,310 Jika kita echo sekarang ini mendapatkan pada yang berasingan talian, kita kaji apa yang berlaku. 573 00:31:41,310 --> 00:31:43,740 Oleh itu, kita klik ini. 574 00:31:43,740 --> 00:31:45,220 Kami terus mengatakan, hi Jason. 575 00:31:45,220 --> 00:31:48,690 Jadi sekali lagi, kita tidak mempunyai ruang ini. 576 00:31:48,690 --> 00:31:53,090 >> Dan itu kerana, PHP, apabila kita telah echo, 577 00:31:53,090 --> 00:31:55,820 tidak kira berapa banyak spaces-- nope, bukan V-- 578 00:31:55,820 --> 00:32:01,770 tidak kira berapa banyak ruang yang kita masukkan ke dalam sini-- jika kita memuatkan yang semula, 579 00:32:01,770 --> 00:32:03,010 hi Jason. 580 00:32:03,010 --> 00:32:05,770 Ya, lihat, semua orang-orang ruang mendapat dimakan. 581 00:32:05,770 --> 00:32:08,020 Dan itu adalah sesuatu yang fungsi gema tidak. 582 00:32:08,020 --> 00:32:11,110 >> Jadi untuk menjaga ruang itu, dan ini adalah 583 00:32:11,110 --> 00:32:14,960 salah satu daripada sebab mengapa anda tidak menggunakan echo 584 00:32:14,960 --> 00:32:18,200 dan anda menggunakan htmlspecialchars sebaliknya. 585 00:32:18,200 --> 00:32:22,140 Saya ingin tahu apa yang akan berlaku jika kita melakukan ini 586 00:32:22,140 --> 00:32:26,700 di mana kita tertutup ruang dalam rentetan. 587 00:32:26,700 --> 00:32:29,720 Saya secara jujur ​​tidak pasti apa akan berlaku apabila saya melakukan ini. 588 00:32:29,720 --> 00:32:30,790 >> Jadi, itu satu cara. 589 00:32:30,790 --> 00:32:32,210 Itulah salah satu cara untuk menjaga ia. 590 00:32:32,210 --> 00:32:34,840 Jika anda membalut ruang dalam rentetan, maka ruang yang 591 00:32:34,840 --> 00:32:36,920 akan dioutput baik oleh gema. 592 00:32:36,920 --> 00:32:41,930 Perkara yang paling selamat untuk lakukan adalah untuk melakukan htmlspecialchars. 593 00:32:41,930 --> 00:32:43,800 Yang sentiasa pertaruhan selamat. 594 00:32:43,800 --> 00:32:47,050 Tetapi sekarang kita mempunyai cara untuk melakukan dengan gema jika perlu. 595 00:32:47,050 --> 00:32:50,700 Dan dengan cara yang sama, kita boleh echo baris baru, semua jenis yang 596 00:32:50,700 --> 00:32:53,550 barangan anda biasa lakukan dalam PHP. 597 00:32:53,550 --> 00:32:57,460 >> Orang lain, apakah lagi soalan-soalan yang orang lain mempunyai 598 00:32:57,460 --> 00:33:01,090 pada ketika ini tentang PHP? 599 00:33:01,090 --> 00:33:04,620 Jika orang muncul sedikit lewat, Saya gembira untuk tinggal selepas sedikit 600 00:33:04,620 --> 00:33:06,420 dan bercakap tentang beberapa permulaan. 601 00:33:06,420 --> 00:33:10,380 Dan ia juga semua livestreamed, dan diarkibkan, yang gila. 602 00:33:10,380 --> 00:33:13,960 >> Bagaimanapun, jadi sekarang mari kita buat beberapa barangan yang lebih maju dengan PHP. 603 00:33:13,960 --> 00:33:18,790 Dan salah satu perkara yang paling awal anda telah diperkenalkan dalam C adalah untuk gelung. 604 00:33:18,790 --> 00:33:24,060 Dan PHP mempunyai lebih berkuasa untuk gelung dipanggil gelung foreach. 605 00:33:24,060 --> 00:33:37,940 Dan ia kelihatan seperti this-- untuk setiap tempat kosong sebagai kosong, kurungan kerinting, melakukan perkara yang. 606 00:33:37,940 --> 00:33:41,500 Jadi ini adalah pada dasarnya trengkas a. 607 00:33:41,500 --> 00:33:45,380 >> Lihat, untuk gelung sebagai pembinaan sintaksis 608 00:33:45,380 --> 00:33:50,590 telah diadakan di C dan di Dewan Undangan bahasa dan perkara-perkara suka. 609 00:33:50,590 --> 00:33:56,300 Dicipta dalam C, dengan tepat, kerana trengkas yang untuk banyak jenis gelung 610 00:33:56,300 --> 00:33:57,750 bahawa orang akan melihat. 611 00:33:57,750 --> 00:34:01,230 Seperti apabila anda menulis gelung, terdapat sering langkah pengawalan 612 00:34:01,230 --> 00:34:04,700 dilaksanakan tepat pada awal, satu merapikan mana gelung akan stop-- 613 00:34:04,700 --> 00:34:07,030 dan itulah ciri-ciri yang itu hanya dalam gelung sementara, 614 00:34:07,030 --> 00:34:10,040 atau yang sementara telah betul-betul hanya itu feature-- dan kemudian 615 00:34:10,040 --> 00:34:12,320 langkah incrementation pada akhir. 616 00:34:12,320 --> 00:34:16,489 Dan supaya anda sering akan mendapati diri anda menulis kod seperti berikut. 617 00:34:16,489 --> 00:34:19,780 Saya akan memadamkan beberapa ini. 618 00:34:19,780 --> 00:34:23,850 >> Tetapi jika kita iterating melalui watak-watak dalam array, 619 00:34:23,850 --> 00:34:26,960 Sebagai contoh, seperti yang kita ada mendapat pelbagai watak. 620 00:34:26,960 --> 00:34:29,400 Maaf untuk membawa balik C. saya tahu, anda fikir anda telah dilakukan. 621 00:34:29,400 --> 00:34:31,900 Tetapi ia hanya untuk tujuan tersebut belajar PHP, saya janji. 622 00:34:31,900 --> 00:34:38,880 Jadi, jika anda mendapat str char panjang 8, dan mari kita 623 00:34:38,880 --> 00:34:46,760 mengatakan ia berkata Hellooo dengan null trailing. 624 00:34:46,760 --> 00:34:48,270 Great, supaya tali kami. 625 00:34:48,270 --> 00:34:51,469 >> Dan kemudian kita mempunyai untuk gelung. 626 00:34:51,469 --> 00:34:53,730 Kami mempunyai int i sama dengan 0. 627 00:34:53,730 --> 00:34:57,960 628 00:34:57,960 --> 00:35:09,110 Dan kita mahu keluar apabila str i tidak sama sama dengan nol, 629 00:35:09,110 --> 00:35:11,590 kerana kita keluar apabila ia sama null. 630 00:35:11,590 --> 00:35:19,170 Dan kemudian kita lakukan i ++ pada setiap mata dalam untuk gelung. 631 00:35:19,170 --> 00:35:30,480 Melakukan sesuatu dengan str i. 632 00:35:30,480 --> 00:35:34,950 >> Oleh itu, formula asas adalah, kami mempunyai pelbagai ini yang kita 633 00:35:34,950 --> 00:35:37,910 mahu merawat unsur-unsur yang berasingan. 634 00:35:37,910 --> 00:35:45,170 Tetapi apa yang kita terpaksa lakukan ialah kita terpaksa pada dasarnya mewujudkan integer yang berasingan 635 00:35:45,170 --> 00:35:50,530 pembolehubah yang telah mengira sehingga setiap kali kita telah melalui gelung. 636 00:35:50,530 --> 00:35:55,240 Dan kemudian kita perlu kemudian memanggil strstr [i] apabila apa yang kita benar-benar mahu lakukan 637 00:35:55,240 --> 00:35:57,280 hanya pergi watak oleh watak, bukan? 638 00:35:57,280 --> 00:36:00,185 Kita tidak mahu untuk kenaikan yang integer dan kemudian menggunakan integer yang 639 00:36:00,185 --> 00:36:02,780 untuk mengakses setiap watak individu. 640 00:36:02,780 --> 00:36:04,410 Kami benar-benar mahu watak dengan watak. 641 00:36:04,410 --> 00:36:08,600 >> Dan sebagainya untuk setiap bijak mengira bahawa untuk kita. 642 00:36:08,600 --> 00:36:11,875 Jika kita mempunyai pelbagai, yang kita boleh mengisytiharkan dalam PHP 643 00:36:11,875 --> 00:36:15,900 sebagai just-- jika kita mempunyai pembolehubah dipanggil, mari kita memanggilnya pelbagai. 644 00:36:15,900 --> 00:36:19,840 Mukjizat tidak menaip, ia seperti mana-mana pembolehubah lain. 645 00:36:19,840 --> 00:36:20,730 Ia hanya array. 646 00:36:20,730 --> 00:36:26,890 Dan kita mempunyai sedikit [didengar] seperti 1, 2, 3, hanya sejenis array dimulakan. 647 00:36:26,890 --> 00:36:29,680 Ia OK, ia tidak suka foreach saya. 648 00:36:29,680 --> 00:36:33,120 >> Tetapi jika kita foreach-- sebenarnya Saya menaip bahawa salah sedikit. 649 00:36:33,120 --> 00:36:34,840 Terdapat dua cara untuk melakukan gelung foreach. 650 00:36:34,840 --> 00:36:37,400 Ada sintaks dalam dan sebagai sintaks. 651 00:36:37,400 --> 00:36:40,580 Dan kita akan lakukan dalam sintaks pertama, bukan sebagai. 652 00:36:40,580 --> 00:36:41,780 Itulah kesilapan saya. 653 00:36:41,780 --> 00:36:53,785 >> Num Jadi foreach dalam array, echo num. 654 00:36:53,785 --> 00:36:56,970 655 00:36:56,970 --> 00:36:59,500 Dan PHP menjerit pada saya atas sebab tertentu. 656 00:36:59,500 --> 00:37:03,520 Ia mencari tempat yang tidak dijangka di dalam sesuatu, 657 00:37:03,520 --> 00:37:05,820 yang sedikit mengganggu a. 658 00:37:05,820 --> 00:37:09,105 Tetapi kita akan memikirkan mengapa yang dalam seketika. 659 00:37:09,105 --> 00:37:11,960 660 00:37:11,960 --> 00:37:13,610 Jadi tidak suka itu. 661 00:37:13,610 --> 00:37:15,040 Mari kita cuba menggunakan sebagai. 662 00:37:15,040 --> 00:37:17,310 Ia lebih suka sebagai sintaks adalah seolah-olah. 663 00:37:17,310 --> 00:37:22,550 Jadi mari kita buat pelbagai foreach sebagai num. 664 00:37:22,550 --> 00:37:24,520 >> Jadi penjelasan sedikit apa sahaja yang berlaku 665 00:37:24,520 --> 00:37:30,670 adalah seperti sintaks itu saying-- baik pertama, mari kita lihat apa ini mencetak keluar. 666 00:37:30,670 --> 00:37:32,260 Oleh itu, kita membuka IDE kami. 667 00:37:32,260 --> 00:37:33,110 Kami pergi di sini. 668 00:37:33,110 --> 00:37:35,845 Kami berkata, Hello Jason. 669 00:37:35,845 --> 00:37:41,390 Dan ia memang 123, yang merupakan kandungan array yang kita dicipta sehingga atas. 670 00:37:41,390 --> 00:37:45,500 >> Jadi menyelam ke dalam gelung foreach ini, kita ada pelbagai pembolehubah dipanggil 671 00:37:45,500 --> 00:37:47,470 yang pelbagai daripada tiga nombor. 672 00:37:47,470 --> 00:37:52,120 Dan kemudian kita lakukan foreach lokasi sebagai num, echo num. 673 00:37:52,120 --> 00:37:54,990 Dan yang lebih intuitif daripada untuk menutuh. 674 00:37:54,990 --> 00:38:02,380 Kita katakan, merawat setiap perkara-perkara dalam array sebagai num, 675 00:38:02,380 --> 00:38:05,180 Saya mahu anda untuk memberi saya num. 676 00:38:05,180 --> 00:38:06,640 Dan itulah apa yang ia lakukan. 677 00:38:06,640 --> 00:38:12,000 >> PHP mengira bahawa apabila anda mengatakan foreach pelbagai, 678 00:38:12,000 --> 00:38:16,080 dan anda berurusan dengan pelbagai, apa anda akan mahu untuk melelar 679 00:38:16,080 --> 00:38:19,950 adalah watak-watak dalam pelbagai itu, adalah ints dalam array itu, 680 00:38:19,950 --> 00:38:21,920 adalah elemen-elemen dalam array itu. 681 00:38:21,920 --> 00:38:26,110 Dan ia membolehkan anda menyimpan pembolehubah-pembolehubah sebagai num, 682 00:38:26,110 --> 00:38:29,360 dan num kemudian hanya output merta dan bukannya mengatakan, 683 00:38:29,360 --> 00:38:34,090 Saya mempunyai pembolehubah yang dipanggil i, dan maka saya ingin output strstr [i]. 684 00:38:34,090 --> 00:38:39,130 >> Dan sebagainya yang membolehkan kita untuk melakukan perkara-perkara yang sejuk. 685 00:38:39,130 --> 00:38:43,330 Seperti pada dasarnya kita tidak perlu membuat pembolehubah ini seperti i dan melakukan semua 686 00:38:43,330 --> 00:38:45,090 barangan incrementation ini pada akhir. 687 00:38:45,090 --> 00:38:48,290 PHP menjaga semua itu untuk anda. 688 00:38:48,290 --> 00:38:54,470 >> Jadi sekarang mari kita bercakap tentang foreach sebagai ia terpakai kepada kamus _GET kami. 689 00:38:54,470 --> 00:38:57,170 Jadi kita akan komen ini keluar dengan cepat. 690 00:38:57,170 --> 00:39:02,030 Jadi kita mempunyai pelbagai _GET kami. 691 00:39:02,030 --> 00:39:04,361 Kami mempunyai pembolehubah ini. 692 00:39:04,361 --> 00:39:05,610 Dan ia mendapat beberapa barangan di dalamnya. 693 00:39:05,610 --> 00:39:10,275 >> Buat masa ini, kita hanya mempunyai satu pembolehubah yang diluluskan kepadanya, yang adalah nama. 694 00:39:10,275 --> 00:39:13,420 Tetapi jika kita tekan Enter, kini kita boleh mempunyai dua pembolehubah. 695 00:39:13,420 --> 00:39:17,910 Kita boleh mempunyai nama dan umur, misalnya, jika kita mahu mendapatkan umur dan juga 696 00:39:17,910 --> 00:39:20,960 nama seseorang, dgn lucu cukup. 697 00:39:20,960 --> 00:39:25,690 >> Jadi sekarang _GET akan menjadi kamus dengan dua elemen, 698 00:39:25,690 --> 00:39:27,980 dengan dua pasang nilai utama. 699 00:39:27,980 --> 00:39:33,490 Dan key-- pertama saya akan menulis satu ini di papan juga. 700 00:39:33,490 --> 00:39:37,136 Kami mempunyai kamus kami adalah _GET. 701 00:39:37,136 --> 00:39:39,520 Maaf, ia adalah sedikit sukar untuk melihat. 702 00:39:39,520 --> 00:39:46,690 Tetapi di dalam kamus kami, kami mempunyai nama, yang akan menjadi sesuatu yang 703 00:39:46,690 --> 00:39:47,680 bahawa kita diberikan. 704 00:39:47,680 --> 00:39:53,040 Dan kita akan mempunyai umur, yang juga akan menjadi sesuatu yang kita diberikan. 705 00:39:53,040 --> 00:39:56,020 Dan ini adalah keseluruhannya yang daripada kamus kami. 706 00:39:56,020 --> 00:39:57,730 >> Jadi ia mendapat dua unsur di dalamnya. 707 00:39:57,730 --> 00:40:01,310 Dan sebagainya kerana foreach gelung bijak, kita 708 00:40:01,310 --> 00:40:04,900 mungkin berfikir, dan dengan betul mungkin berfikir bahawa foreach 709 00:40:04,900 --> 00:40:08,080 boleh melelar melalui ini kamus, mencetak 710 00:40:08,080 --> 00:40:10,850 nilai yang ditetapkan dengan nama dan umur. 711 00:40:10,850 --> 00:40:14,510 >> Jadi mari kita sebenarnya melakukan hal itu. 712 00:40:14,510 --> 00:40:17,520 Mari kita membina gelung foreach. 713 00:40:17,520 --> 00:40:23,351 Dan kita akan lakukan untuk _GET sebagai. 714 00:40:23,351 --> 00:40:24,850 Dan kita akan melakukan yang berikut. 715 00:40:24,850 --> 00:40:34,186 Jadi mari kita lihat apa yang berlaku jika kita menaip hanya perkataan, dan kemudian berkata perkataan gema. 716 00:40:34,186 --> 00:40:40,540 Kami juga akan echo baris baru hanya untuk membuat ia sedikit lebih jelas, 717 00:40:40,540 --> 00:40:41,260 apa yang berlaku. 718 00:40:41,260 --> 00:40:42,890 >> Jadi mari kita lihat. 719 00:40:42,890 --> 00:40:44,390 Ia tidak memberi saya apa-apa kesilapan. 720 00:40:44,390 --> 00:40:46,810 Dan kita akan menutup ini. 721 00:40:46,810 --> 00:40:51,020 Di laman web kami, anda akan melakukan banyak yang sepanjang pset7. 722 00:40:51,020 --> 00:40:53,890 Oleh itu, kita menyebut nama saya ialah Sam. 723 00:40:53,890 --> 00:40:58,560 Umur saya ialah 45. 724 00:40:58,560 --> 00:41:01,060 Ianya bukan. 725 00:41:01,060 --> 00:41:05,640 Tetapi ia mencetak keluar, seperti yang dijangkakan, Sam 45. 726 00:41:05,640 --> 00:41:08,930 >> Dan sebagainya anda akan melihat bahawa apa gelung foreach did-- sini, 727 00:41:08,930 --> 00:41:12,360 mari kita kembali kepada apa supaya ia terpulang pada Lembaga- yang kita dapat _GET sebagai perkataan. 728 00:41:12,360 --> 00:41:15,130 Dan ada empat perkara dalam _GET. 729 00:41:15,130 --> 00:41:17,410 Tetapi ia hanya dicetak dua perkara. 730 00:41:17,410 --> 00:41:21,290 foreach, sedang diri perisikan, diandaikan bahawa apa yang kita benar-benar mahu 731 00:41:21,290 --> 00:41:24,100 adalah nilai-nilai, tidak kunci. 732 00:41:24,100 --> 00:41:27,800 >> Tetapi ada satu cara yang kita boleh mencetak keluar kunci juga, jika kita mahu. 733 00:41:27,800 --> 00:41:30,810 Jika kita mahu juga tahu apa pembolehubah ini dipanggil, 734 00:41:30,810 --> 00:41:33,540 ada cara yang kita boleh mengakses ini juga. 735 00:41:33,540 --> 00:41:36,840 Dan cara untuk menyusun daripada berbuat demikian, jadi kita boleh mengatakan, membolehkan benar-benar 736 00:41:36,840 --> 00:41:39,485 berpecah kepada pasangan nilai utama. 737 00:41:39,485 --> 00:41:42,370 738 00:41:42,370 --> 00:41:47,580 Jadi mari kita lihat apa yang berlaku sekarang. 739 00:41:47,580 --> 00:41:50,550 >> Oleh itu, kita mempunyai kunci. 740 00:41:50,550 --> 00:41:52,290 Kami mempunyai nilai. 741 00:41:52,290 --> 00:41:56,650 Kita mempunyai satu lagi baru talian untuk pembacaan. 742 00:41:56,650 --> 00:42:00,540 Dan mari kita lihat apa yang berlaku apabila kita melakukan ini sekarang. 743 00:42:00,540 --> 00:42:04,950 744 00:42:04,950 --> 00:42:06,720 Saya tidak tahu berapa umur Jason adalah. 745 00:42:06,720 --> 00:42:09,180 Jason 15. 746 00:42:09,180 --> 00:42:11,650 Oleh itu, kita mempunyai nama Jason, umur 15. 747 00:42:11,650 --> 00:42:15,830 Oleh itu, kita dapat mengakses kunci dan pasangan nilai kamus ini 748 00:42:15,830 --> 00:42:18,590 hanya dengan mengatakan mata sebagai kunci kepada nilai. 749 00:42:18,590 --> 00:42:23,350 Dan itu adalah satu sintaksis foreach bit gula yang membolehkan 750 00:42:23,350 --> 00:42:25,960 anda untuk mengakses perkara-perkara di dalam kamus. 751 00:42:25,960 --> 00:42:31,190 >> Maka mudah-mudahan ini semacam menekankan kuasa gelung foreach. 752 00:42:31,190 --> 00:42:35,690 Anda boleh cukup banyak membuang apa-apa yang kelihatan iterable, 753 00:42:35,690 --> 00:42:38,922 seperti apa-apa yang mempunyai pelbagai unsur-unsur seperti array, 754 00:42:38,922 --> 00:42:41,880 seperti dictionary-- mereka adalah dua perkara utama yang anda akan bekerja dengan 755 00:42:41,880 --> 00:42:45,630 kedua-duanya dalam kehidupan dan dalam pset 7. 756 00:42:45,630 --> 00:42:49,350 Jadi, anda boleh membuang barang-barang yang ia, dan ia akan memikirkan 757 00:42:49,350 --> 00:42:51,030 apa yang anda mahu lakukan dengannya. 758 00:42:51,030 --> 00:42:54,250 Ia akan berkata, OK, saya akan mendapatkan perkara-perkara ini daripada data yang 759 00:42:54,250 --> 00:42:55,680 telah diluluskan kepada saya. 760 00:42:55,680 --> 00:43:02,470 Dan itu adalah sesuatu yang anda berada akan menggunakan banyak daripada dalam pset 7. 761 00:43:02,470 --> 00:43:08,550 >> Saya akan tatal cepat turun hanya untuk melihat di mana saya berada. 762 00:43:08,550 --> 00:43:11,410 763 00:43:11,410 --> 00:43:13,070 Adakah orang mempunyai soalan pada ketika ini? 764 00:43:13,070 --> 00:43:13,778 Soalan pada semua? 765 00:43:13,778 --> 00:43:14,400 Ya? 766 00:43:14,400 --> 00:43:18,320 >> PENONTON: Jadi dengan kunci dan nilai, anda boleh sebut sahaja apa-apa lagi 767 00:43:18,320 --> 00:43:20,507 dan ia masih akan berfungsi? 768 00:43:20,507 --> 00:43:21,090 SPEAKER: Oops. 769 00:43:21,090 --> 00:43:22,820 Wow, saya betul-betul dipadam baris keseluruhan. 770 00:43:22,820 --> 00:43:23,380 Kerja yang besar. 771 00:43:23,380 --> 00:43:26,502 Jadi, a. 772 00:43:26,502 --> 00:43:30,109 Kunci dan nilai hanya konvensyen. 773 00:43:30,109 --> 00:43:30,650 Ia membantu. 774 00:43:30,650 --> 00:43:34,010 Anda akan mendapatkan beberapa reka bentuk mata, mungkin beberapa mata gaya 775 00:43:34,010 --> 00:43:36,970 untuk berbuat demikian kerana ia benar-benar menyampaikan niat. 776 00:43:36,970 --> 00:43:39,650 Tetapi kita katakan dan yarp. 777 00:43:39,650 --> 00:43:42,476 >> PENONTON: Anda tidak perlu mengubah apa-apa dalam fail HTML 778 00:43:42,476 --> 00:43:43,607 untuk mencerminkan bahawa? 779 00:43:43,607 --> 00:43:44,440 SPEAKER: Tidak sama sekali. 780 00:43:44,440 --> 00:43:47,260 PENONTON: Dan ia hanya tahu bahawa kerana sama than-- lebih besar 781 00:43:47,260 --> 00:43:47,801 SPEAKER: Ya. 782 00:43:47,801 --> 00:43:49,489 PENONTON: Penunjuk --that yang that's-- 783 00:43:49,489 --> 00:43:50,030 SPEAKER: Ya. 784 00:43:50,030 --> 00:43:52,260 Itu adalah sintaks foreach, tetapi ya. 785 00:43:52,260 --> 00:43:53,720 >> PENONTON: Tidak ada jenis. 786 00:43:53,720 --> 00:43:57,230 Jadi apa jika anda mahu umur untuk hanya menjadi nombor? 787 00:43:57,230 --> 00:43:59,510 Adakah terdapat cara untuk berbuat demikian? 788 00:43:59,510 --> 00:44:04,550 >> SPEAKER: Ada cara untuk menyemak sama pembolehubah mematuhi jenis tertentu. 789 00:44:04,550 --> 00:44:08,482 Jadi PHP meminta lebih sedikit daripada anda kerana tidak ada jenis yang. 790 00:44:08,482 --> 00:44:09,440 Beberapa cara ia meminta kurang. 791 00:44:09,440 --> 00:44:11,070 Dalam beberapa cara ia meminta lagi. 792 00:44:11,070 --> 00:44:13,320 Kerana jika anda mempunyai hanya sesuatu yang berubah-ubah, 793 00:44:13,320 --> 00:44:14,960 anda tidak tahu apa jenis ia adalah. 794 00:44:14,960 --> 00:44:19,310 Tetapi jika anda bijak mengenai pemboleh ubah supaya kamu menetapkan jenis untuk dan memastikan 795 00:44:19,310 --> 00:44:22,750 yang berfungsi hanya return-- anda mahu fungsi untuk hanya pulangan 796 00:44:22,750 --> 00:44:26,210 satu jenis nilai yang begitu bahawa anda boleh pada dasarnya 797 00:44:26,210 --> 00:44:31,090 menjangkakan bahawa pembolehubah anda kembali daripada fungsi yang akan menjadi jenis yang 798 00:44:31,090 --> 00:44:32,780 yang anda fikir ia akan menjadi, pada asasnya. 799 00:44:32,780 --> 00:44:36,550 >> Tetapi terdapat beberapa kaedah yang mana anda boleh menyemak. 800 00:44:36,550 --> 00:44:39,801 Saya tidak ingat mereka luar bahagian atas kepala saya. 801 00:44:39,801 --> 00:44:43,300 Saya menunggu ia bertukar menjadi biru. 802 00:44:43,300 --> 00:44:45,560 isint? 803 00:44:45,560 --> 00:44:48,070 isstr? 804 00:44:48,070 --> 00:44:52,000 Terdapat kaedah dibina ke dalam PHP yang boleh 805 00:44:52,000 --> 00:44:54,440 menyemak jenis pembolehubah untuk anda. 806 00:44:54,440 --> 00:44:58,250 Tetapi jika anda menetapkan pembolehubah bijak, anda tidak perlu 807 00:44:58,250 --> 00:45:01,330 perlu berbuat demikian terlalu banyak dalam pset 7. 808 00:45:01,330 --> 00:45:02,780 Dan orang-orang kaedah memang wujud. 809 00:45:02,780 --> 00:45:06,704 Dan itu adalah sesuatu yang adalah dalam bahasa itu sendiri. 810 00:45:06,704 --> 00:45:08,370 Dan saya tidak ingat sintaks yang tepat. 811 00:45:08,370 --> 00:45:09,930 Kami juga boleh melihat ia. 812 00:45:09,930 --> 00:45:11,974 Tetapi masa adalah amat penting. 813 00:45:11,974 --> 00:45:13,890 Adakah ada orang lain mempunyai apa-apa soalan lagi? 814 00:45:13,890 --> 00:45:14,660 Ya. 815 00:45:14,660 --> 00:45:15,951 >> PENONTON: Saya mempunyai hanya satu lagi. 816 00:45:15,951 --> 00:45:19,050 Jadi anda nyatakan kaedah GET, tetapi anda tidak menyebut kaedah POST. 817 00:45:19,050 --> 00:45:20,500 Adakah kita kembali untuk itu? 818 00:45:20,500 --> 00:45:21,540 >> SPEAKER: Ya, kita akan datang kembali kepada itu. 819 00:45:21,540 --> 00:45:24,840 Itulah apa yang saya cari di telefon bimbit saya, yang kini tertidur, 820 00:45:24,840 --> 00:45:26,960 tetapi saya akan menemuinya. 821 00:45:26,960 --> 00:45:30,680 Hanya memastikan kita mencapai semua nota PHP. 822 00:45:30,680 --> 00:45:35,640 Ya, tidak ada versi debugging. 823 00:45:35,640 --> 00:45:41,940 Ya, kami mempunyai beberapa lagi perkara-perkara yang kami mahu lakukan sekarang pada ketika ini. 824 00:45:41,940 --> 00:45:45,980 >> Jadi bercakap mengenai POST, yang anda nyatakan, 825 00:45:45,980 --> 00:45:49,630 satu-satunya perbezaan antara GET dan POST adalah 826 00:45:49,630 --> 00:45:53,150 yang ingat apabila kita melihat di URL ini dan kami melihat, oh, 827 00:45:53,150 --> 00:45:58,270 nama sama dan umur sama yarp berada di URL yang ada untuk kita. 828 00:45:58,270 --> 00:46:03,300 POST adalah sedikit lebih berahsia dengan hantaran sebanyak maklumat. 829 00:46:03,300 --> 00:46:08,090 >> Jadi, jika anda tidak mahu pengguna tahu, misalnya, anda 830 00:46:08,090 --> 00:46:11,160 tidak mahu nama pengguna dan kata orang yang 831 00:46:11,160 --> 00:46:15,080 sedang log masuk untuk dipaparkan dalam URL, yang merupakan satu perkara yang munasabah 832 00:46:15,080 --> 00:46:17,770 untuk tidak mahu dalam URL, kerana seseorang boleh melihatnya. 833 00:46:17,770 --> 00:46:21,520 Jika dapat menghubungkan seseorang untuk halaman, anda tidak mahu URL mereka ditampal di sana, 834 00:46:21,520 --> 00:46:27,850 kerana itu akan membenarkan orang ramai untuk log masuk hanya dengan menampal URL dan bukan 835 00:46:27,850 --> 00:46:29,670 sebenarnya mengisi borang. 836 00:46:29,670 --> 00:46:31,710 POST adalah sedikit lebih berahsia. 837 00:46:31,710 --> 00:46:34,150 >> Dan perkara-perkara itu sahaja kita akan mempunyai untuk menukar 838 00:46:34,150 --> 00:46:38,550 adalah kaedah ini, perubahan dari mendapatkan untuk hantar. 839 00:46:38,550 --> 00:46:42,367 Dan kemudian di dalam HTTP, bukan daripada mengakses _GET array, 840 00:46:42,367 --> 00:46:43,950 kita akan mengakses _POST array. 841 00:46:43,950 --> 00:46:48,600 >> Dan kita akan perasan bahawa, jika kita membuka kembali ini lagi, 842 00:46:48,600 --> 00:46:51,910 Jason perlahan-lahan merosot dalam usia. 843 00:46:51,910 --> 00:46:53,230 menamakan Jason, umur 14. 844 00:46:53,230 --> 00:46:54,280 The barangan sama timbul. 845 00:46:54,280 --> 00:46:57,190 Tetapi kita pergi ke URL dan pembolehubah-pembolehubah tidak ada. 846 00:46:57,190 --> 00:47:00,540 >> Dan cara yang POST passes-- jadi ingat 847 00:47:00,540 --> 00:47:02,750 bagaimana untuk melihat sumber halaman. 848 00:47:02,750 --> 00:47:04,570 Kami pergi ke rangkaian. 849 00:47:04,570 --> 00:47:06,920 Kita menyegarkan. 850 00:47:06,920 --> 00:47:10,690 Dan ini adalah perkara lain yang POST akan memberikan anda amaran. 851 00:47:10,690 --> 00:47:15,050 Anda mungkin telah melihat sebuah kotak, teks kotak seperti ini dalam pelayar anda. 852 00:47:15,050 --> 00:47:18,170 Adakah anda pasti anda mahu untuk menghantar borang lagi? 853 00:47:18,170 --> 00:47:21,170 POST adalah apa yang sedang menghantar borang-borang ini. 854 00:47:21,170 --> 00:47:24,680 >> Kerana pada dasarnya jika anda anda yang telah dihantar maklumat kad kredit kepada seseorang, 855 00:47:24,680 --> 00:47:26,350 itu tidak akan muncul dalam URL. 856 00:47:26,350 --> 00:47:28,180 Itu akan menjadi permintaan POST. 857 00:47:28,180 --> 00:47:32,905 Oleh itu, apabila anda memuat semula halaman, ia menghantar semula bahawa permintaan pos. 858 00:47:32,905 --> 00:47:35,530 Jadi sekarang kita mahu menghantar membentuk semula kerana ia tidak akan 859 00:47:35,530 --> 00:47:37,340 untuk membuat apa-apa pembelian dua salinan. 860 00:47:37,340 --> 00:47:41,160 >> Dan kita akan melihat bahawa turun di sini, kaedah yang kami gunakan adalah POST. 861 00:47:41,160 --> 00:47:43,065 Dan ia memang memindahkan bait. 862 00:47:43,065 --> 00:47:45,460 Ia dipindahkan 401 daripada mereka. 863 00:47:45,460 --> 00:47:47,190 Program yang cukup kecil. 864 00:47:47,190 --> 00:47:51,600 Tetapi tiada tempat yang dapat kita lihat nilai-nilai yang sedang berlalu. 865 00:47:51,600 --> 00:47:59,540 Laman-laman web sendiri boleh lihat, tetapi kita sebagai pengguna tidak dapat melihat, 866 00:47:59,540 --> 00:48:01,650 melainkan jika anda seorang hacker. 867 00:48:01,650 --> 00:48:05,340 Jika anda penggodam yang baik, anda boleh melihat. 868 00:48:05,340 --> 00:48:09,360 >> Jika anda tahu asas format HTML, 869 00:48:09,360 --> 00:48:11,790 nilai-nilai yang akan membuat diri mereka dikenali di halaman. 870 00:48:11,790 --> 00:48:13,160 Anda akan dapat melihat. 871 00:48:13,160 --> 00:48:16,720 Nilai-nilai yang akan berada di sana, mereka hanya sedikit kurang jelas untuk anda 872 00:48:16,720 --> 00:48:19,522 untuk mengakses, pada asasnya. 873 00:48:19,522 --> 00:48:23,620 >> Adakah kita mempunyai apa-apa lagi soalan mengenai GET, POST 874 00:48:23,620 --> 00:48:26,800 sebelum itu apa yang kita akan lakukan seterusnya sebenarnya melihat beberapa kod di 875 00:48:26,800 --> 00:48:30,837 bahawa anda memberi dalam pset 7, bercakap tentang bagaimana ia menggunakan beberapa konsep-konsep ini, 876 00:48:30,837 --> 00:48:32,670 dan bercakap tentang perkara-perkara yang anda akan 877 00:48:32,670 --> 00:48:35,090 perlu melakukan sedikit dalam pset 7. 878 00:48:35,090 --> 00:48:36,760 Lagi soalan sebelum itu? 879 00:48:36,760 --> 00:48:38,047 Lebih banyak soalan anda semua mempunyai? 880 00:48:38,047 --> 00:48:41,250 881 00:48:41,250 --> 00:48:41,840 Yang besar. 882 00:48:41,840 --> 00:48:45,370 >> Baiklah, mari kita lihat sedikit pada pset 7, 883 00:48:45,370 --> 00:48:49,530 tidak syak lagi apa yang anda semua paling teruja. 884 00:48:49,530 --> 00:48:52,126 885 00:48:52,126 --> 00:48:54,750 Maksud saya, ini adalah sesuatu yang David akan melalui sedikit. 886 00:48:54,750 --> 00:49:00,890 Tetapi kita akan mempunyai tiga direktori di bahagian, dan juga sebagai fail konfigurasi. 887 00:49:00,890 --> 00:49:04,650 Itu untuk pangkalan data, yang kita akan bercakap mengenai kira-kira lima minit. 888 00:49:04,650 --> 00:49:07,220 Termasuk, anda tidak perlu kelihatan dalam direktori ini 889 00:49:07,220 --> 00:49:12,480 jika anda tidak mahu tetapi ia adalah baik untuk tahu terdapat pelbagai-baik Penolong. 890 00:49:12,480 --> 00:49:14,210 Pembantu adalah seperti fungsi membantu. 891 00:49:14,210 --> 00:49:18,120 Dan kemudian kita mempunyai tatarajah, yang menetapkan beberapa perkara sehingga. 892 00:49:18,120 --> 00:49:24,590 >> Terdapat beberapa fungsi yang CS50 mempunyai bertulis yang berada dalam penolong dan config. 893 00:49:24,590 --> 00:49:27,250 Dan beberapa PHP yang sudah keluar dalam fail 894 00:49:27,250 --> 00:49:30,880 akan melakukan banyak jenis yang lebih kerja kaki bodoh untuk anda. 895 00:49:30,880 --> 00:49:35,250 Seperti jika kita pergi ke awam login.php, iaitu apa yang 896 00:49:35,250 --> 00:49:38,350 muncul tepat apabila anda pergi ke pset 7. 897 00:49:38,350 --> 00:49:40,580 Kami akan melihat bahawa ada ini memerlukan kenyataan. 898 00:49:40,580 --> 00:49:43,420 Dan yang jenis seperti tajam termasuk, hashtag 899 00:49:43,420 --> 00:49:46,850 termasuk jika anda generasi yang lebih baru. 900 00:49:46,850 --> 00:49:49,740 Tetapi ini pada dasarnya mengatakan bahawa saya memerlukan akses 901 00:49:49,740 --> 00:49:52,260 kepada semua fungsi dalam config.php. 902 00:49:52,260 --> 00:49:55,290 Dan anda boleh mempunyai memerlukan untuk pelbagai perkara lain. 903 00:49:55,290 --> 00:49:59,670 >> config sebenarnya memerlukan penolong. 904 00:49:59,670 --> 00:50:02,490 Jadi setiap kali anda memerlukan config, anda juga 905 00:50:02,490 --> 00:50:05,660 termasuk atau memerlukan pembantu juga. 906 00:50:05,660 --> 00:50:09,590 Jadi yang memberikan anda akses kepada semua fungsi sejuk yang kita akan digunakan, 907 00:50:09,590 --> 00:50:10,420 perkara yang suka memberi. 908 00:50:10,420 --> 00:50:13,490 Saya sebenarnya akan mengurangkan ini ke bawah sedikit. 909 00:50:13,490 --> 00:50:16,280 Jadi majlis itu maka kita akan berjalan melalui 910 00:50:16,280 --> 00:50:22,380 sebelum kita beralih kepada SQL sedikit bit adalah fungsi login.php, hanya 911 00:50:22,380 --> 00:50:26,586 kerana ia menggunakan beberapa topik bahawa kita hanya bercakap tentang dalam PHP. 912 00:50:26,586 --> 00:50:30,840 >> Anda lihat perkara pertama adalah jika $ _SERVER. 913 00:50:30,840 --> 00:50:34,500 Ini merupakan satu lagi berubah-ubah global yang anda akan dapat berurusan dengan. 914 00:50:34,500 --> 00:50:38,460 Ia seperti _GET dan _POST, tetapi apa yang pelayan mengandungi adakah ini boleh membiarkan anda 915 00:50:38,460 --> 00:50:42,730 tahu jika kaedah permintaan adalah GET atau POST a. 916 00:50:42,730 --> 00:50:47,250 Seperti sebelum ini apa yang kami lakukan hanya kod kita yang kita menulis, 917 00:50:47,250 --> 00:50:51,880 kami hanya menukar ia menjadi GET dan POST bergantung kepada apa HTML mempunyai. 918 00:50:51,880 --> 00:50:55,120 Tetapi ada laman yang boleh diakses dengan kedua-dua jenis permintaan. 919 00:50:55,120 --> 00:50:57,410 Dan anda mungkin mahu lakukan perkara yang berbeza bergantung 920 00:50:57,410 --> 00:50:59,740 kepada jenis permintaan, hanya log masuk seperti tidak. 921 00:50:59,740 --> 00:51:04,400 >> Jadi, anda boleh menyemak permintaan yang kaedah melalui kunci mengakses, 922 00:51:04,400 --> 00:51:08,630 melalui menggunakan kunci dan mendapat nilai sesuatu dalam kamus 923 00:51:08,630 --> 00:51:10,260 _SERVER. 924 00:51:10,260 --> 00:51:13,800 Jadi, itu lain global pembolehubah seperti _GET dan _POST. 925 00:51:13,800 --> 00:51:16,990 >> Jika ia GET, kita mahu memberikan borang log masuk. 926 00:51:16,990 --> 00:51:21,920 Render adalah fungsi yang pada dasarnya hanya meletakkan sehingga HTML sesuai 927 00:51:21,920 --> 00:51:24,500 dan menyalurkannya beberapa parameter. 928 00:51:24,500 --> 00:51:28,740 Tajuk ini adalah parameter itulah digunakan dalam memaparkan, cukup aneh, 929 00:51:28,740 --> 00:51:32,670 tajuk halaman dalam soalan, perkara di sini, 930 00:51:32,670 --> 00:51:34,850 katakan atau hello dalam contoh sebelumnya. 931 00:51:34,850 --> 00:51:36,100 Sekarang kita mempunyai satu perkara yang berbeza. 932 00:51:36,100 --> 00:51:38,570 Yang lain jika ia POST, kita melakukan beberapa perkara lain. 933 00:51:38,570 --> 00:51:40,790 Kami menggunakan kaedah kosong. 934 00:51:40,790 --> 00:51:42,750 Ia tidak wujud, ia kosong. 935 00:51:42,750 --> 00:51:45,440 Dan kita lihat sebelum ini, PHP mempunyai jumlah saksama dibina 936 00:51:45,440 --> 00:51:52,370 dalam kaedah Daud will-- jika ada adalah kaedah yang berguna kepada anda, 937 00:51:52,370 --> 00:51:55,560 mereka akan dimaklumkan kepada anda dalam perjalanan itu melalui David 938 00:51:55,560 --> 00:51:59,770 memberi gambaran keseluruhan di awal, dan juga bit membantu Zamyla ini. 939 00:51:59,770 --> 00:52:01,040 Dia kembali semua orang. 940 00:52:01,040 --> 00:52:03,100 Kita semua boleh bergembira. 941 00:52:03,100 --> 00:52:06,530 meminta maaf adalah fungsi yang dinamakan yang hanya pada dasarnya mencetak keluar 942 00:52:06,530 --> 00:52:10,130 beberapa mesej ralat, kerana CS50 adalah sangat sopan. 943 00:52:10,130 --> 00:52:14,770 >> Dan sekarang ini, ini adalah satu sedikit rumit kerana ini 944 00:52:14,770 --> 00:52:16,697 Di sinilah kita pertanyaan pangkalan data. 945 00:52:16,697 --> 00:52:18,280 Kita tidak bercakap mengenai pangkalan data. 946 00:52:18,280 --> 00:52:22,220 Dan kita akan di akhirat lima minit atau lebih, maksimum. 947 00:52:22,220 --> 00:52:24,980 Tetapi ini adalah satu majlis CS50 yang telah menulis 948 00:52:24,980 --> 00:52:38,050 untuk mendapatkan jadual pada dasarnya dari pangkalan data bahawa kita bekerja dengan dalam pset 7. 949 00:52:38,050 --> 00:52:40,860 Saya benar-benar buruk dengan saya sifar pengindeksan hari ini. 950 00:52:40,860 --> 00:52:42,060 Tetapi ya, ia adalah 7. 951 00:52:42,060 --> 00:52:46,340 >> Jadi pertanyaan ia akan mengembalikan pelbagai, pada dasarnya adalah sedikit utama. 952 00:52:46,340 --> 00:52:54,130 Dan kerana perkara-perkara ini tidak mempunyai menaip, jadi baris adalah pelbagai tatasusunan. 953 00:52:54,130 --> 00:52:59,480 Kerana apabila kita berfikir tentang meja, apa yang kita akan lakukan 954 00:52:59,480 --> 00:53:04,830 , seperti yang anda belajar dalam psets seperti permainan 15, anyway 955 00:53:04,830 --> 00:53:06,990 di mana anda terpaksa menggunakan lokasi berganda, kita pada dasarnya 956 00:53:06,990 --> 00:53:15,210 mempunyai pelbagai lain array membuat jadual. 957 00:53:15,210 --> 00:53:18,150 Dan anda mempunyai baris dan lajur. 958 00:53:18,150 --> 00:53:24,450 Dan kemudian anda boleh mengakses mereka seperti [0] [1], anda akan mendapat [0] [1]. 959 00:53:24,450 --> 00:53:26,900 Barangan asas seperti itu. 960 00:53:26,900 --> 00:53:29,380 >> Jadi apa yang kita lakukan di sini dalam fungsi ini, 961 00:53:29,380 --> 00:53:35,070 kami meminta pangkalan data jika pengguna itu 962 00:53:35,070 --> 00:53:40,200 cuba untuk log masuk, yang akan menjadi dihantar melalui kaedah POST. 963 00:53:40,200 --> 00:53:43,950 Kita akan melihat kami mendapat nama pengguna dari _POST. 964 00:53:43,950 --> 00:53:46,900 Mereka akan telah menghantar, pengguna atau anda, akan menghantar nilai yang 965 00:53:46,900 --> 00:53:50,750 melalui satu bentuk melalui POST kerana itu nama pengguna dan kata barangan. 966 00:53:50,750 --> 00:53:54,830 Kami memeriksa nama pengguna untuk melihat, adakah ini dalam jadual? 967 00:53:54,830 --> 00:53:58,070 Kerana jika pengguna pembalakan dalam, kemudian nama pengguna mereka 968 00:53:58,070 --> 00:54:03,320 hendaklah disimpan dalam jadual pengguna yang wujud untuk tapak ini. 969 00:54:03,320 --> 00:54:09,360 Jadi, pada asasnya jika pengguna adalah dalam pangkalan data, 970 00:54:09,360 --> 00:54:16,400 Pertanyaan akan kembali yang berturut-turut, yang pelbagai. 971 00:54:16,400 --> 00:54:24,560 >> Tetapi bahagian yang sukar adalah bahawa jika walaupun array dua hanya satu baris, 972 00:54:24,560 --> 00:54:31,900 walaupun ia berturut-turut satu array-- seperti anda telah mendapat basically-- 973 00:54:31,900 --> 00:54:36,900 jika anda mempunyai saiz satu array yang yang memegang pelbagai lain, 974 00:54:36,900 --> 00:54:38,940 anda benar-benar berhadapan dengan satu lajur. 975 00:54:38,940 --> 00:54:41,420 Tetapi ia masih dirawat seperti pelbagai berganda. 976 00:54:41,420 --> 00:54:44,560 >> Dan ini adalah di mana ia kadang-kadang boleh mendapatkan rumit, kerana kita telah mendapat baris di sini. 977 00:54:44,560 --> 00:54:46,440 Berubah-ubah kami adalah baris. 978 00:54:46,440 --> 00:54:48,590 Dan kemudian kita mewujudkan pembolehubah dipanggil baris baru 979 00:54:48,590 --> 00:54:51,450 dan menetapkan ia sama dengan baris pertama baris. 980 00:54:51,450 --> 00:54:55,150 Dan anda akan melihat bahawa komen berkata ia adalah baris pertama dan hanya. 981 00:54:55,150 --> 00:54:57,080 >> Jadi ini adalah yang agak rumit fungsi bahagian di mana sekarang 982 00:54:57,080 --> 00:54:59,660 boleh kembali tatasusunan dengan mudah. 983 00:54:59,660 --> 00:55:01,270 Tidak ada mallocs. 984 00:55:01,270 --> 00:55:02,280 Anda tidak akan melihat mallocs. 985 00:55:02,280 --> 00:55:03,940 Jadi, anda tidak akan melihat kesalahan seg. 986 00:55:03,940 --> 00:55:08,380 Tetapi fungsi akan tetap berlalu sekitar tatasusunan dan data dalam kumpulan. 987 00:55:08,380 --> 00:55:12,250 Dan anda perlu berhati-hati dengan apa yang tepat fungsi anda akan kembali. 988 00:55:12,250 --> 00:55:15,160 Dan walaupun ia adalah salah satu ruangan seperti ini, pertanyaan 989 00:55:15,160 --> 00:55:17,520 masih akan kembali pelbagai berganda. 990 00:55:17,520 --> 00:55:21,390 Jadi untuk akses yang column-- atau anda boleh memikirkan semua ini sebagai terbalik 991 00:55:21,390 --> 00:55:22,870 kerana kita bercakap tentang baris. 992 00:55:22,870 --> 00:55:26,810 Tetapi untuk mengakses baris yang satu, anda tidak boleh hanya berkata baris. 993 00:55:26,810 --> 00:55:31,540 Walaupun ia adalah satu baris, anda perlu untuk jangan rowsrows [0] untuk menghapuskan jenis ini 994 00:55:31,540 --> 00:55:37,360 sedikit luar array dan mempunyai hanya satu baris anda. 995 00:55:37,360 --> 00:55:38,342 >> Melakukan beberapa perkara lain. 996 00:55:38,342 --> 00:55:40,050 Ada fungsi dipanggil password_verify 997 00:55:40,050 --> 00:55:42,980 yang mengesahkan kata laluan yang telah diposkan. 998 00:55:42,980 --> 00:55:48,500 Dan kemudian kita melihat satu lagi global berubah-ubah sini, _SESSION. 999 00:55:48,500 --> 00:55:51,340 Pada asasnya sesi id adalah bagaimana anda mengesan 1000 00:55:51,340 --> 00:55:53,990 daripada jika seseorang itu ataupun bukan. 1001 00:55:53,990 --> 00:55:58,590 Jadi sekarang dengan login.php, kita pembalakan pengguna dalam. 1002 00:55:58,590 --> 00:56:01,920 Jadi apa yang kita mahu lakukan ialah kita mahu mengatakan id sesi adalah sama dengan barisan 1003 00:56:01,920 --> 00:56:05,890 id, yang hanya masuk akal kerana setiap baris akan mempunyai id yang berbeza 1004 00:56:05,890 --> 00:56:07,239 nombor sebagai sebahagian daripada jadual. 1005 00:56:07,239 --> 00:56:09,280 Kami akan masuk ke dalam SQL dalam kedua, jadi jika mana-mana ini 1006 00:56:09,280 --> 00:56:13,500 seolah-olah sedikit seperti blah, maka semua akan yang berbaki. 1007 00:56:13,500 --> 00:56:18,450 Tetapi kita akan menetapkan id yang sama dengan perkara yang betul, pembalakan pengguna dalam. 1008 00:56:18,450 --> 00:56:20,530 Memohon maaf jika ada yang tidak beres. 1009 00:56:20,530 --> 00:56:27,600 Dan itulah tujuan login di kehidupan sebagai Profesor Malan akan berkata. 1010 00:56:27,600 --> 00:56:29,130 >> Sehingga adalah login.php. 1011 00:56:29,130 --> 00:56:33,750 Dan banyak kod PHP yang anda tulis dalam pset 7, mereka akan menjadi sedikit. 1012 00:56:33,750 --> 00:56:36,470 Jangan lupa untuk chmod kepada kebenaran yang tetap. 1013 00:56:36,470 --> 00:56:40,180 Akan ada sedikit tentang yang pada awal spesifikasi. 1014 00:56:40,180 --> 00:56:46,382 >> Tetapi PHP bahawa anda bertulis akan menjadi 1015 00:56:46,382 --> 00:56:47,840 melakukan kerja yang serupa dengan ini. 1016 00:56:47,840 --> 00:56:49,715 Anda akan menjadi mengakses beberapa perkara yang 1017 00:56:49,715 --> 00:56:52,760 yang diberikan kepada anda dalam pembolehubah global PHP yang 1018 00:56:52,760 --> 00:56:56,105 berurusan dengan semasa log masuk pengguna, sama ada terdapat 1019 00:56:56,105 --> 00:57:00,460 mempunyai permintaan telah dihantar ke ini halaman, perkara yang berbeza seperti itu. 1020 00:57:00,460 --> 00:57:05,790 Dan ia juga akan berpotensi iterating melalui deretan perkara ini. 1021 00:57:05,790 --> 00:57:09,010 >> Dalam fungsi yang berbeza, pertanyaan tidak kembali lokasi dua ini. 1022 00:57:09,010 --> 00:57:11,450 Dan jika terdapat lebih daripada satu baris di dalamnya, 1023 00:57:11,450 --> 00:57:15,080 jika ada ialah- ya, jika ada lebih daripada satu baris di dalamnya, 1024 00:57:15,080 --> 00:57:16,870 maka ia akan menjadi meja. 1025 00:57:16,870 --> 00:57:20,500 Dan anda mungkin mahu melelar melalui deretan pelbagai ini menggunakan 1026 00:57:20,500 --> 00:57:22,860 gelung foreach yang kita diterangkan. 1027 00:57:22,860 --> 00:57:30,270 >> Jadi jika anda foreach pada dua pelbagai, apa yang akan word-- di sini, 1028 00:57:30,270 --> 00:57:31,909 Saya benar-benar akan menulisnya. 1029 00:57:31,909 --> 00:57:32,950 Saya akan menulis ia cepat di sini. 1030 00:57:32,950 --> 00:57:44,280 >> Jika kita mempunyai foreach baris sebagai barisan, apa jenis berturut-turut? 1031 00:57:44,280 --> 00:57:45,390 Adakah sesiapa yang tahu? 1032 00:57:45,390 --> 00:57:54,000 1033 00:57:54,000 --> 00:57:54,500 Awak mendapatkannya? 1034 00:57:54,500 --> 00:57:57,110 Jadi baris adalah pelbagai berganda. 1035 00:57:57,110 --> 00:58:02,810 Jadi apa yang foreach akan membuat kesimpulan yang kita mahu dari lokasi dua ini 1036 00:58:02,810 --> 00:58:04,280 jika kita iterating ke atasnya? 1037 00:58:04,280 --> 00:58:07,170 1038 00:58:07,170 --> 00:58:10,770 Kami pada dasarnya boleh mengandaikan bahawa ia akan menjadi sama ada unsur-unsur, 1039 00:58:10,770 --> 00:58:14,970 atau baris atau lajur, pada asasnya. 1040 00:58:14,970 --> 00:58:18,740 Dan sebagainya baris dan lajur kita boleh merawat sebagai perkara yang sama. 1041 00:58:18,740 --> 00:58:23,880 >> Pada asasnya apa yang gelung foreach yang sedang berlaku lakukan adalah ia akan kembali baris. 1042 00:58:23,880 --> 00:58:28,500 berturut-turut akan menjadi jenis baris, sedangkan baris adalah pelbagai berganda. 1043 00:58:28,500 --> 00:58:32,290 Jadi, jika anda memberi foreach pelbagai berganda, ia 1044 00:58:32,290 --> 00:58:35,830 tidak akan melelar lebih daripada satu tahap dalam. 1045 00:58:35,830 --> 00:58:44,464 Yang pada dasarnya untuk mengatakan jika ada lapan sel-sel dalam ini table-- 1,2, 1046 00:58:44,464 --> 00:58:48,110 3 4, 5, 6, 7, 8-- yang gelung foreach tidak 1047 00:58:48,110 --> 00:58:51,880 akan pergi melalui setiap sel-sel ini. 1048 00:58:51,880 --> 00:58:56,390 Apa gelung foreach akan melakukan adakah ia akan melalui baris ini, 1049 00:58:56,390 --> 00:58:57,870 memberikan anda baris ini keseluruhan. 1050 00:58:57,870 --> 00:58:59,410 Dan kemudian ia akan pergi melalui baris tersebut. 1051 00:58:59,410 --> 00:59:01,850 >> Sehingga hanya iterates satu tahap dalam. 1052 00:59:01,850 --> 00:59:05,310 Jika anda menambah bersarang gelung foreach, maka anda 1053 00:59:05,310 --> 00:59:16,280 boleh merawat setiap baris pulang dari baris, anda melakukan berturut-turut foreach sebagai elemen, 1054 00:59:16,280 --> 00:59:17,640 katakan. 1055 00:59:17,640 --> 00:59:22,750 Dan kemudian anda boleh echo unsur. 1056 00:59:22,750 --> 00:59:24,930 Jadi itulah ringkas sedikit ulang kaji mengenai cara 1057 00:59:24,930 --> 00:59:30,220 anda mungkin menggunakan foreach gelung dalam konteks pertanyaan. 1058 00:59:30,220 --> 00:59:32,840 >> Adakah terdapat sebarang soalan mengenai PHP? 1059 00:59:32,840 --> 00:59:36,520 Apa-apa pun sebelum kita bergerak ke bercakap tentang SQL 1060 00:59:36,520 --> 00:59:37,820 dan keseronokan pangkalan data? 1061 00:59:37,820 --> 00:59:41,480 1062 00:59:41,480 --> 00:59:42,110 Berasa baik? 1063 00:59:42,110 --> 00:59:42,750 Berasa baik. 1064 00:59:42,750 --> 00:59:43,470 Baiklah. 1065 00:59:43,470 --> 00:59:49,130 >> Mari kita beralih kembali kepada PowerPoint, yang anda mungkin terlepas. 1066 00:59:49,130 --> 00:59:51,800 SQL, yay. 1067 00:59:51,800 --> 00:59:57,900 Orang yang berada dalam seksyen saya biasanya akan tahu bahawa tajuk kecil akronim 1068 00:59:57,900 --> 01:00:01,220 sentiasa hanya perkataan pertama Saya rasa perlawanan itu bahawa 1069 01:00:01,220 --> 01:00:02,690 algorithm-- singkatan itu. 1070 01:00:02,690 --> 01:00:04,090 Ia bukan algoritma. 1071 01:00:04,090 --> 01:00:08,050 >> Jadi SQL adalah database. 1072 01:00:08,050 --> 01:00:11,060 Ia adalah bahasa yang bekerja dengan pangkalan data. 1073 01:00:11,060 --> 01:00:14,440 Dan semua pangkalan data yang adalah jadual, sekurang-kurangnya dengan cara yang 1074 01:00:14,440 --> 01:00:17,220 SQL yang mewakili mereka. 1075 01:00:17,220 --> 01:00:23,610 >> Cara lain untuk berfikir tentang pangkalan data adalah pangkalan data adalah satu set kunci dan nilai-nilai 1076 01:00:23,610 --> 01:00:24,110 pada asasnya. 1077 01:00:24,110 --> 01:00:29,530 Anda boleh berfikir tentang pangkalan data sebagai sebuah kamus dan juga sebagai jadual. 1078 01:00:29,530 --> 01:00:34,300 Pada asasnya, ia adalah satu cara untuk mengaitkan data yang berbeza dengan data lain, 1079 01:00:34,300 --> 01:00:36,270 selalunya melalui baris dan lajur. 1080 01:00:36,270 --> 01:00:38,470 Dan itulah cara itulah SQL kerja-kerja terbaik. 1081 01:00:38,470 --> 01:00:40,880 >> Jadi ini adalah satu contoh jadual. 1082 01:00:40,880 --> 01:00:44,610 Saya ada beberapa contoh orang di bahagian saya, yang 1083 01:00:44,610 --> 01:00:45,970 Saya tidak mempunyai masa untuk berubah. 1084 01:00:45,970 --> 01:00:52,020 Tetapi kami ada perkara seperti ID, nama, kuasa besar, dan kampung halaman. 1085 01:00:52,020 --> 01:00:54,100 Saya tidak tahu di mana sesiapa sahaja yang dari dalam bahagian saya, 1086 01:00:54,100 --> 01:00:56,266 jadi saya hanya akan menganggap semua orang dari New York 1087 01:00:56,266 --> 01:00:59,370 Bandar kerana saya mempunyai statistik yang tinggi kemungkinan yang betul. 1088 01:00:59,370 --> 01:01:04,200 >> SQL secara automatik akan mengambil menjaga tiang ID untuk anda. 1089 01:01:04,200 --> 01:01:07,560 Jika anda memasukkan baris baru ke dalam pangkalan data SQL, 1090 01:01:07,560 --> 01:01:09,700 ia akan kenaikan yang Nombor ID dan hanya 1091 01:01:09,700 --> 01:01:14,890 pada dasarnya melekat seperti lima nama, kuasa besar, kampung halaman, sesiapa 1092 01:01:14,890 --> 01:01:16,430 ke hujung meja itu. 1093 01:01:16,430 --> 01:01:19,160 Jadi ID adalah lajur anda akan tidak perlu bimbang tentang. 1094 01:01:19,160 --> 01:01:22,770 Tetapi, seperti dalam kes daripada login.php, apabila kita 1095 01:01:22,770 --> 01:01:26,610 telah mendapat ID sesi dari meja dan hanya menggunakan ID, 1096 01:01:26,610 --> 01:01:30,320 ID adalah satu cara untuk mengenal pasti secara unik unsur database. 1097 01:01:30,320 --> 01:01:34,980 >> Jadi, jika kita mempunyai dua Sams, kedua- yang mengajar CS50, dan kedua-dua yang 1098 01:01:34,980 --> 01:01:39,370 adalah dari Milwaukee, mereka akan masih mempunyai nombor ID yang berbeza 1099 01:01:39,370 --> 01:01:43,420 dan dengan itu berbeza dalam konteks meja. 1100 01:01:43,420 --> 01:01:48,700 Jadi ini adalah apa SQL berurusan dengan, bekerja dengan pada akhirnya kembali. 1101 01:01:48,700 --> 01:01:54,160 >> Inilah empat arahan bahawa anda akan perlu untuk bekerja dengan SQL. 1102 01:01:54,160 --> 01:01:56,390 Dan saya melemparkan mereka semua pada satu slaid. 1103 01:01:56,390 --> 01:01:59,530 Tetapi kita akan melalui mereka semua secara individu. 1104 01:01:59,530 --> 01:02:03,300 >> Arahan pertama adalah UPDATE, yang melakukan apa yang anda jangkakan. 1105 01:02:03,300 --> 01:02:07,240 Katakanlah anda mempunyai beberapa data dalam jadual itu daripada tarikh. 1106 01:02:07,240 --> 01:02:09,470 Seperti jika anda menjaga mengesan nama orang 1107 01:02:09,470 --> 01:02:13,350 dan peringkat umur, jika seseorang yang peningkatan umur, maka 1108 01:02:13,350 --> 01:02:18,590 anda akan mahu untuk masuk dan mengemas kini usia hanya orang itu. 1109 01:02:18,590 --> 01:02:21,902 Untuk contoh yang bekerja dengan table-- pertama kami 1110 01:02:21,902 --> 01:02:24,610 jangan bimbang tentang menulis semua arahan ini pada masa yang sama. 1111 01:02:24,610 --> 01:02:27,640 Tetapi jika anda mempunyai maklumat ke bawah, yang akan menjadi baik untuk bahagian ini, 1112 01:02:27,640 --> 01:02:29,790 kerana kita akan kembali ke meja. 1113 01:02:29,790 --> 01:02:33,920 >> Jadi, jika kita kembali ke meja, katakan sesuatu yang berlaku 1114 01:02:33,920 --> 01:02:38,480 telah ada gempa bumi atau garis kesalahan yang berpecah langsung 1115 01:02:38,480 --> 01:02:39,920 melalui New York City. 1116 01:02:39,920 --> 01:02:45,130 Dan kami mahu mengemas kini semua orang yang tinggal di New York City. 1117 01:02:45,130 --> 01:02:49,670 Mereka semua terpaksa berpindah ke Pennsylvania. 1118 01:02:49,670 --> 01:02:51,130 Itu bukan kampung halaman a. 1119 01:02:51,130 --> 01:02:53,180 Mereka semua terpaksa berpindah ke New Haven. 1120 01:02:53,180 --> 01:02:54,030 Di sana kami pergi. 1121 01:02:54,030 --> 01:02:57,630 Jadi semua orang di New York bergerak ke New Haven. 1122 01:02:57,630 --> 01:03:01,300 >> Dan supaya sesuatu yang mengedit tiga baris dalam jadual ini. 1123 01:03:01,300 --> 01:03:04,716 Tetapi dalam SQL, anda boleh melakukan yang hanya dalam satu kenyataan. 1124 01:03:04,716 --> 01:03:05,715 Oleh itu, kita kembali ke UPDATE. 1125 01:03:05,715 --> 01:03:09,670 Biar saya cepat memadam papan ini lagi. 1126 01:03:09,670 --> 01:03:14,570 Apabila kita bercakap tentang mengemas kini, terdapat 1127 01:03:14,570 --> 01:03:17,640 beberapa bahagian sintaks yang utama. 1128 01:03:17,640 --> 01:03:19,770 Well, semua sintaksis adalah kunci. 1129 01:03:19,770 --> 01:03:22,210 Tetapi barang-barang itu dengan warna hijau adalah pilihan. 1130 01:03:22,210 --> 01:03:25,680 Putih yang diperlukan, yang telah ditetapkan nama-nama seperti. 1131 01:03:25,680 --> 01:03:30,750 Dan biru cahaya adalah perkara-perkara yang berbeza-beza mengikut jadual. 1132 01:03:30,750 --> 01:03:34,640 Jadi itulah apa yang berlaku dengan skim warna di sini, di sana. 1133 01:03:34,640 --> 01:03:40,250 >> Jadi, jika kita mahu untuk mengemaskini hanya mereka baris orang-orang yang tinggal di New York, 1134 01:03:40,250 --> 01:03:43,490 supaya apa yang kita akan lakukan jika kita berkata UPDATE? 1135 01:03:43,490 --> 01:03:46,320 Jadi jadual adalah di mana kita meletakkan nama jadual kami. 1136 01:03:46,320 --> 01:03:49,170 Mari kita menyebut nama meja kami adalah jadual satu. 1137 01:03:49,170 --> 01:03:52,515 Oleh itu, kita mahu UPDATE jadual satu. 1138 01:03:52,515 --> 01:03:57,470 Dan kita mahu set-- apa yang kita mahu untuk menetapkan? 1139 01:03:57,470 --> 01:04:05,160 Baik kita mahu mengatakan, jadi column-- PHP merawat baris sebagai pengenalan diri. 1140 01:04:05,160 --> 01:04:07,930 Dan kemudian tiang adalah bidang yang berbeza 1141 01:04:07,930 --> 01:04:09,940 unsur-unsur daripada pangkalan data. 1142 01:04:09,940 --> 01:04:14,210 >> Jadi elemen pertama pangkalan data mempunyai nama Sam, kuasa besar CS50, 1143 01:04:14,210 --> 01:04:16,210 dan kampung halaman Milwaukee. 1144 01:04:16,210 --> 01:04:20,710 Jadi, jika kita berkata ditetapkan, mari kita lihat parameter lagi set yang mengambil. 1145 01:04:20,710 --> 01:04:23,880 Kami mempunyai ruang sama nilai. 1146 01:04:23,880 --> 01:04:27,290 Oleh itu, kita mahu mengatakan beberapa column-- yang ingat 1147 01:04:27,290 --> 01:04:31,850 adalah field-- kita mahu melihat bidang sama dengan sesuatu yang baru. 1148 01:04:31,850 --> 01:04:42,340 >> Jadi, jika kita hanya berkata maklumat jadual 1, nama ditetapkan sama Elliot. 1149 01:04:42,340 --> 01:04:46,310 Dapatkan beberapa orang dari seksyen baru di dalam perkara ini. 1150 01:04:46,310 --> 01:04:51,540 Tetapi jika kita hanya melakukan update jadual 1 Nama ditetapkan sama Elliot, apa yang akan 1151 01:04:51,540 --> 01:04:55,530 rupa meja seperti selepas itu? 1152 01:04:55,530 --> 01:04:56,410 Rakyat mempunyai apa-apa idea? 1153 01:04:56,410 --> 01:04:59,710 1154 01:04:59,710 --> 01:05:00,210 Yeah. 1155 01:05:00,210 --> 01:05:03,195 >> PENONTON: Segala-galanya dalam yang berturut-turut akan menjadi Elliot. 1156 01:05:03,195 --> 01:05:04,570 SPEAKER: Semua yang berturut-turut? 1157 01:05:04,570 --> 01:05:06,067 PENONTON: Dalam baris pertama. 1158 01:05:06,067 --> 01:05:07,150 SPEAKER: Dalam baris pertama? 1159 01:05:07,150 --> 01:05:09,724 Mengapa baris pertama? 1160 01:05:09,724 --> 01:05:10,890 Saya tidak bermaksud untuk mengambil pada anda. 1161 01:05:10,890 --> 01:05:13,287 >> PENONTON: Mungkin segala-galanya secara keseluruhan meja? 1162 01:05:13,287 --> 01:05:15,120 SPEAKER: Segala-galanya dalam keseluruhan jadual, ya. 1163 01:05:15,120 --> 01:05:19,520 Dan itu saya because-- betul-betul betul hanya membantu anda keluar sedikit 1164 01:05:19,520 --> 01:05:22,650 there-- kerana kita menghindari fasal pilihan MANA. 1165 01:05:22,650 --> 01:05:27,260 Jika anda tidak mempunyai mana yang fasal, apa arahan ini akan dilakukan 1166 01:05:27,260 --> 01:05:32,240 adakah ia akan bekerja dengan setiap baris dalam jadual. 1167 01:05:32,240 --> 01:05:35,430 Nama semua orang akan menjadi Elliott, pada dasarnya, 1168 01:05:35,430 --> 01:05:37,360 Elliot yang sangat gembira. 1169 01:05:37,360 --> 01:05:40,070 Atau Yanni, salah satu daripada dua. 1170 01:05:40,070 --> 01:05:42,490 Tetapi nama semua orang akan berubah. 1171 01:05:42,490 --> 01:05:47,880 >> Jadi cara kita menggunakan MANA clause-- dan ini terpakai kepada semua Wheres 1172 01:05:47,880 --> 01:05:51,410 yang berada di dalam setiap perkara-perkara yang berbeza. 1173 01:05:51,410 --> 01:05:54,380 Jadi, anda akan notis SET yang mempunyai nilai yang sama lajur. 1174 01:05:54,380 --> 01:05:55,190 Dan begitu juga di mana. 1175 01:05:55,190 --> 01:06:00,040 Tetapi ini adalah berbeza jenis kenyataan. 1176 01:06:00,040 --> 01:06:04,400 Jadi lajur sama dengan nilai dalam SET adalah dalam tugasan. 1177 01:06:04,400 --> 01:06:08,320 Seperti yang kita katakan kita mahu untuk menetapkan nama sama dengan Elliot. 1178 01:06:08,320 --> 01:06:15,390 Tetapi dalam fasal MANA, ini adalah kenyataan kesaksamaan. 1179 01:06:15,390 --> 01:06:20,410 Jadi katakan kita hanya mahu menukar nama orang itu untuk Elliot 1180 01:06:20,410 --> 01:06:23,940 jika nama mereka adalah Ryan, katakan. 1181 01:06:23,940 --> 01:06:24,920 >> Oleh itu, apabila kita katakan 1182 01:06:24,920 --> 01:06:32,700 >> MANA nama sama dengan Ryan, yang akan berjaya satunya perubahan 1183 01:06:32,700 --> 01:06:37,440 name-- ia hanya akan menukar medan nama dalam baris 1184 01:06:37,440 --> 01:06:40,770 di mana medan nama adalah sama dengan Ryan. 1185 01:06:40,770 --> 01:06:44,430 Jadi, jika kita mempunyai beberapa orang bernama Ryan, semua nama-nama mereka 1186 01:06:44,430 --> 01:06:45,730 akan bertukar kepada Elliot. 1187 01:06:45,730 --> 01:06:48,169 >> Ini adalah sama dengan contoh yang daripada jika garis kesalahan berpecah 1188 01:06:48,169 --> 01:06:50,960 New York City dan semua orang mempunyai untuk bergerak ke New Haven, cara kita boleh 1189 01:06:50,960 --> 01:06:56,570 berbuat demikian dalam satu kenyataan adalah UPDATE table1 SET kampung halaman = New Haven 1190 01:06:56,570 --> 01:07:00,210 di mana kampung halaman sama dengan New York City. 1191 01:07:00,210 --> 01:07:03,410 Ini adalah kuasa penyata UPDATE. 1192 01:07:03,410 --> 01:07:10,530 Kita boleh pilih mana-mana baris melalui kenyataan benar 1193 01:07:10,530 --> 01:07:12,860 mengenai bidang-bidang dalam orang-orang baris. 1194 01:07:12,860 --> 01:07:19,510 Kita tidak boleh mengatakan set UPDATE table1 name = Elliot MANA baris = 1, 1195 01:07:19,510 --> 01:07:24,820 kecuali bahawa kita boleh jika kita katakan ID = 1. 1196 01:07:24,820 --> 01:07:27,350 1197 01:07:27,350 --> 01:07:29,830 >> Oleh itu, kita akan menjadi bekerja dengan kesaksamaan 1198 01:07:29,830 --> 01:07:32,830 bidang, persamaan tiang. 1199 01:07:32,830 --> 01:07:38,030 Tetapi menggunakan medan ID adalah satu cara untuk pilih baris individu secara khusus, 1200 01:07:38,030 --> 01:07:43,210 kerana medan ID adalah unik pengecam dalam pangkalan data SQL. 1201 01:07:43,210 --> 01:07:45,860 Jadi seperti memperkemas baris satu, ID sama dengan 1. 1202 01:07:45,860 --> 01:07:49,560 Mengemaskini baris dua, hanya menukar nombor ID. 1203 01:07:49,560 --> 01:07:51,610 Tetapi kuasa MANA kenyataan adalah kita yang 1204 01:07:51,610 --> 01:07:57,480 boleh mengemas kini perkara berdasarkan apa yang mereka nilai-nilai semasa perkara tertentu. 1205 01:07:57,480 --> 01:07:58,155 Ya Elliot? 1206 01:07:58,155 --> 01:08:02,678 >> PENONTON: Dan bagaimana jika anda mahu supaya- sekali lagi, ini adalah soalan lain. 1207 01:08:02,678 --> 01:08:07,660 Tetapi soalan pertama saya adalah, di mana ini berlaku? 1208 01:08:07,660 --> 01:08:09,130 Di mana saya mengemas kini ini? 1209 01:08:09,130 --> 01:08:11,100 Adakah ini dalam kod PHP? 1210 01:08:11,100 --> 01:08:13,379 >> SPEAKER: Di mana anda mengemas kini, ya. 1211 01:08:13,379 --> 01:08:15,170 Kami akan bercakap tentang di mana semua ini 1212 01:08:15,170 --> 01:08:18,729 berlaku semacam sebaik sahaja kami pergi melalui semua arahan. 1213 01:08:18,729 --> 01:08:21,130 Tetapi apa yang anda perlu tahu sekarang pada dasarnya 1214 01:08:21,130 --> 01:08:26,279 bahawa pangkalan data SQL anda wujud sebagai sesuatu yang 1215 01:08:26,279 --> 01:08:30,090 untuk diakses oleh pertanyaan fungsi, yang mentakrifkan CS50. 1216 01:08:30,090 --> 01:08:33,800 Jadi, jika anda menggunakan fungsi pertanyaan tersebut, anda boleh mengakses jadual ini. 1217 01:08:33,800 --> 01:08:39,529 >> Jadi, anda akan menghantar ini arahan untuk meja anda dalam fail PHP 1218 01:08:39,529 --> 01:08:41,420 melalui fungsi pertanyaan. 1219 01:08:41,420 --> 01:08:45,410 Anda juga boleh bermain-main dengan meja anda secara langsung. 1220 01:08:45,410 --> 01:08:49,050 Dan itulah cara terbaik untuk menguji ini macam arahan. 1221 01:08:49,050 --> 01:08:52,720 Dan kami akan menerangkan cara untuk berbuat demikian dalam hanya sedikit. 1222 01:08:52,720 --> 01:08:54,910 >> Jadi itulah perintah UPDATE. 1223 01:08:54,910 --> 01:08:57,939 Dan yang lain daripada perintah akan menjadi jenis yang serupa, 1224 01:08:57,939 --> 01:08:59,069 bekerja pada perkara yang sama. 1225 01:08:59,069 --> 01:09:02,740 The INSERT INTO mungkin yang paling berbeza dari UPDATE. 1226 01:09:02,740 --> 01:09:06,170 Saya akan meninggalkan bahawa di sana untuk hanya sedikit dan bekerja di sini. 1227 01:09:06,170 --> 01:09:10,215 Jadi INSERT INTO, anda akan melihat jadual yang tetap sama. 1228 01:09:10,215 --> 01:09:17,010 Anda mahu INSERT INTO. 1229 01:09:17,010 --> 01:09:20,286 Permodalan, SQL adalah kes sensitif. 1230 01:09:20,286 --> 01:09:22,160 Jadi, anda tidak perlu kesempatan perkara-perkara ini. 1231 01:09:22,160 --> 01:09:27,960 Mengikut konvensyen, kata-kata putih dipermodalkan. 1232 01:09:27,960 --> 01:09:31,590 Tetapi saya juga warna berkod mereka. 1233 01:09:31,590 --> 01:09:34,390 Satu-satunya alasan bahawa anda mengambil kesempatan mereka apabila anda menaip mereka 1234 01:09:34,390 --> 01:09:36,609 hanya menekankan bahawa mereka adalah pemalar. 1235 01:09:36,609 --> 01:09:39,189 Dan supaya anda boleh sama ada melihat permodalan atau fakta 1236 01:09:39,189 --> 01:09:40,740 bahawa saya telah berwarna mereka berbeza. 1237 01:09:40,740 --> 01:09:44,910 >> Jadi kita telah mendapat INSERT INTO, mari kita buat table1 lagi. 1238 01:09:44,910 --> 01:09:45,930 Ini semua dalam satu baris. 1239 01:09:45,930 --> 01:09:48,609 Saya hanya memisahkan ia dengan penyata yang berbeza. 1240 01:09:48,609 --> 01:09:52,399 Jadi jangan bimbang tentang hakikat bahawa table1 dibuat ia ke baris kedua. 1241 01:09:52,399 --> 01:09:56,130 >> Oleh itu, kita mahu masukkan INTO table1 beberapa nilai. 1242 01:09:56,130 --> 01:09:58,922 Dan anda akan perasan pilihan sedikit, yang saya akan pergi ke dalam satu saat. 1243 01:09:58,922 --> 01:09:59,755 Jadi kami mempunyai NILAI. 1244 01:09:59,755 --> 01:10:03,640 1245 01:10:03,640 --> 01:10:08,100 >> Katakan kita mahu menambah Andi ke meja kami, kerana kita terlepas Andi. 1246 01:10:08,100 --> 01:10:09,390 Andi sakit. 1247 01:10:09,390 --> 01:10:12,490 Jadi mari kita menambah Andi ke meja kami. 1248 01:10:12,490 --> 01:10:15,150 Ingat bahawa nombor ID dikemas kini secara automatik. 1249 01:10:15,150 --> 01:10:17,320 Jadi satu-satunya bidang yang kita perlu bimbang tentang 1250 01:10:17,320 --> 01:10:20,230 adalah nama, kuasa besar, dan kampung halaman. 1251 01:10:20,230 --> 01:10:23,660 >> Dan begitu cara kita berbuat demikian, melihat sintaks kita, kita ada 1252 01:10:23,660 --> 01:10:28,780 hanya mendapat kurungan, dengan koma nilai dipisahkan, setiap yang 1253 01:10:28,780 --> 01:10:29,890 adalah nilai. 1254 01:10:29,890 --> 01:10:35,530 Jadi, jika kita mahu memasukkan Andi ke dalam kami meja, apa yang harus kita lakukan adalah betul Andi. 1255 01:10:35,530 --> 01:10:38,630 Apakah kuasa besar Andi ini, orang di bahagian Andi ini? 1256 01:10:38,630 --> 01:10:45,406 1257 01:10:45,406 --> 01:10:47,545 Dia suka penerbangan, atau suka kelajuan, atau sesuatu. 1258 01:10:47,545 --> 01:10:48,920 Apa yang kita sudah ada di sana? 1259 01:10:48,920 --> 01:10:53,425 Kami mempunyai CS50, penerbangan, kelajuan, dan kekuatan. 1260 01:10:53,425 --> 01:10:54,850 >> PENONTON: Masa perjalanan. 1261 01:10:54,850 --> 01:10:56,180 >> SPEAKER: Masa perjalanan, menakjubkan. 1262 01:10:56,180 --> 01:11:04,280 Jadi kita telah mendapat Andi, masa perjalanan, dan kampung halamannya. 1263 01:11:04,280 --> 01:11:05,530 Itu soalan yang benar-benar baik. 1264 01:11:05,530 --> 01:11:09,210 New York City, kalau tidak ada yang tahu. 1265 01:11:09,210 --> 01:11:13,600 Semua orang dari New York adalah pengajaran untuk mengambil dari hari ini. 1266 01:11:13,600 --> 01:11:17,710 >> Jadi kenyataan ini akan memasukkan, sebagai baris kelima, 1267 01:11:17,710 --> 01:11:21,900 dengan perjalanan masa kuasa besar dan kampung halaman di New York City. 1268 01:11:21,900 --> 01:11:25,660 Tetapi bidang pilihan pada asasnya cara yang 1269 01:11:25,660 --> 01:11:30,090 untuk menentukan dengan tepat yang tiang anda mahu masukkan sesuatu dalam. 1270 01:11:30,090 --> 01:11:33,710 >> Cara yang kita lakukan sekarang, Andi, perjalanan masa, New York City, 1271 01:11:33,710 --> 01:11:38,150 akan dalam perintah itu tepat kami nama table--, kuasa besar, kampung halaman. 1272 01:11:38,150 --> 01:11:42,290 Dan jika anda mahu lakukan sesuatu yang lain daripada itu, 1273 01:11:42,290 --> 01:11:44,970 seperti mengatakan yang anda tidak tahu kuasa besar seseorang, 1274 01:11:44,970 --> 01:11:47,660 seperti mana saya tidak tahu ini Andi kuasa besar pada permulaan. 1275 01:11:47,660 --> 01:11:50,450 Jadi semua yang saya tahu adalah dia menamakan dan kampung halamannya. 1276 01:11:50,450 --> 01:11:54,550 Apa yang saya boleh lakukan adalah saya boleh do-- saya akan memadam ini mengambil tempat. 1277 01:11:54,550 --> 01:11:57,910 1278 01:11:57,910 --> 01:12:00,090 >> Saya hendak hanya mengemaskini ruangan. 1279 01:12:00,090 --> 01:12:04,100 Dan ini adalah di mana pilihan senarai ruangan datang ke dalam bermain. 1280 01:12:04,100 --> 01:12:09,185 Saya hanya mahu untuk mengemaskini nama dan kampung halaman. 1281 01:12:09,185 --> 01:12:12,650 1282 01:12:12,650 --> 01:12:16,480 Dan kemudian saya akan berkata NILAI. 1283 01:12:16,480 --> 01:12:24,430 Saya akan melakukan Andi dan New York City. 1284 01:12:24,430 --> 01:12:28,980 >> Jika saya telah ditinggalkan senarai ruangan dan hanya dilakukan dua perkara ini, 1285 01:12:28,980 --> 01:12:32,450 di mana akan New York City telah pergi? 1286 01:12:32,450 --> 01:12:35,900 Ruangan yang akan New York City telah diletakkan di dalam? 1287 01:12:35,900 --> 01:12:38,950 Rakyat mempunyai apa-apa idea? 1288 01:12:38,950 --> 01:12:40,160 Kuasa besar, betul-betul. 1289 01:12:40,160 --> 01:12:41,890 >> Jadi ini hanya akan pergi teratur. 1290 01:12:41,890 --> 01:12:45,530 Dan apabila ia mencapai akhir senarai, ia hanya akan berhenti mengisi perkara-perkara dalam. 1291 01:12:45,530 --> 01:12:49,080 Dan nilai-nilai yang ia akan melekat dalam semua ruangan hanya akan menjadi NULL. 1292 01:12:49,080 --> 01:12:51,840 Jadi kerana kita dinyatakan nama dan kampung halaman, 1293 01:12:51,840 --> 01:12:56,110 kita akan mempunyai ID 5, menamakan Andi, kuasa besar NULL. 1294 01:12:56,110 --> 01:12:58,750 Jadi kuasa besar adalah satu nilai yang tidak diisytiharkan. 1295 01:12:58,750 --> 01:13:01,340 Anda tidak semestinya akan mendapatkan kesilapan yang sama Valgrind jika anda cuba 1296 01:13:01,340 --> 01:13:01,970 dan mengaksesnya. 1297 01:13:01,970 --> 01:13:05,160 Semuanya akan baik menumpukan perhatian keluar, kerana NULL ialah nilai dalam SQL. 1298 01:13:05,160 --> 01:13:06,780 Itulah yang tetap. 1299 01:13:06,780 --> 01:13:08,980 Dan kemudian kampung halaman akan menjadi New York City. 1300 01:13:08,980 --> 01:13:11,860 Jadi itulah INSERT INTO arahan. 1301 01:13:11,860 --> 01:13:13,610 Sebelum kita bergerak, ada dua lagi arahan. 1302 01:13:13,610 --> 01:13:19,060 Adakah orang mempunyai sebarang soalan mengenai UPDATE, kira-kira INSERT INTO, kira-kira SQL 1303 01:13:19,060 --> 01:13:21,556 umumnya sebelum kita bergerak ke bit akhir kami? 1304 01:13:21,556 --> 01:13:25,500 1305 01:13:25,500 --> 01:13:26,910 Orang merasa baik, hebat. 1306 01:13:26,910 --> 01:13:27,410 Menyukainya. 1307 01:13:27,410 --> 01:13:29,480 Jadi mari kita bercakap tentang SELECT. 1308 01:13:29,480 --> 01:13:33,445 Melangkah parit UPDATE di sini. 1309 01:13:33,445 --> 01:13:35,720 >> Dan SELECT akan menjadi hampir sama. 1310 01:13:35,720 --> 01:13:38,790 Matlamat SELECT, Tujuan SELECT dalam kehidupan 1311 01:13:38,790 --> 01:13:45,910 adalah untuk memberi anda sekumpulan tiang yang memenuhi syarat-syarat tertentu. 1312 01:13:45,910 --> 01:13:48,230 Dan aku berkata memenuhi syarat-syarat tertentu, 1313 01:13:48,230 --> 01:13:50,800 fikiran anda mungkin segera kembali kepada yang mana klausa 1314 01:13:50,800 --> 01:13:52,090 yang datang dalam UPDATE. 1315 01:13:52,090 --> 01:13:54,880 Dan fasal yang sebenarnya terdapat dalam SELECT. 1316 01:13:54,880 --> 01:14:06,020 >> Jika kita tidak meletakkan mana yang klausa dan kita katakan nama SELECT, 1317 01:14:06,020 --> 01:14:16,490 hometown-- dieja yang sedikit nama wrong--, kampung halaman DARI table1. 1318 01:14:16,490 --> 01:14:19,690 Jika kita hanya mengatakan bahawa, apa yang SELECT akan kita itu ia 1319 01:14:19,690 --> 01:14:23,730 akan memberi kita double-- meja, bukan. 1320 01:14:23,730 --> 01:14:27,450 Satu pelbagai berganda jika kami memikirkan dalam PHP deria. 1321 01:14:27,450 --> 01:14:33,239 Tetapi ia hanya akan memberikan kita array dua dua nama columns--, 1322 01:14:33,239 --> 01:14:33,780 dan kampung halaman. 1323 01:14:33,780 --> 01:14:36,400 1324 01:14:36,400 --> 01:14:38,130 Dan ia akan mengabaikan ID. 1325 01:14:38,130 --> 01:14:41,310 Dan ia akan mengabaikan kuasa besar. 1326 01:14:41,310 --> 01:14:44,696 Dan ia hanya akan memberikan kita setiap baris tunggal meja itu. 1327 01:14:44,696 --> 01:14:46,570 Jadi, jika kita hanya dimasukkan Andi, kami akan mempunyai Andi. 1328 01:14:46,570 --> 01:14:48,605 Dan kami akan mempunyai empat asal. 1329 01:14:48,605 --> 01:14:53,720 Jika mereka telah dikemaskini, yang akan dapat dilihat, dan sebagainya, dan sebagainya. 1330 01:14:53,720 --> 01:14:56,520 >> Jadi ini adalah kerana kita tidak menggunakan fasal MANA itu. 1331 01:14:56,520 --> 01:14:59,200 Tetapi kita boleh menggunakannya dalam betul-betul Cara yang sama kita menggunakannya di UPDATE. 1332 01:14:59,200 --> 01:15:05,310 Jika kita hanya mahu jadual nama-nama dan kuasa-kuasa besar orang yang hidup 1333 01:15:05,310 --> 01:15:13,430 di New York, kita boleh melaksanakan satu kenyataan seperti nama SELECT, superpower-- 1334 01:15:13,430 --> 01:15:27,190 Saya hanya akan meninggalkan bahawa- DARIPADA table1 MANA kampung halaman = New York City. 1335 01:15:27,190 --> 01:15:33,370 >> Jadi ini menunjukkan bahawa anda boleh mendapatkan ruangan sama sekali berbeza, 1336 01:15:33,370 --> 01:15:36,920 dan kemudian meletakkan lajur yang anda tidak walaupun mendapat kembali dalam fasal MANA itu. 1337 01:15:36,920 --> 01:15:39,200 Kita tidak mahu kampung halaman semua orang. 1338 01:15:39,200 --> 01:15:41,920 Tetapi kita mahu nama dan kuasa besar orang 1339 01:15:41,920 --> 01:15:43,817 yang kampung halaman ialah New York City. 1340 01:15:43,817 --> 01:15:45,650 Jadi, itu sesuatu yang kita boleh lakukan dengan mana yang 1341 01:15:45,650 --> 01:15:49,112 fasal ialah kita boleh berurusan dengan tiang bahawa kita tidak semestinya mahu kembali. 1342 01:15:49,112 --> 01:15:52,320 Dengan cara yang sama dalam UPDATE, kita boleh berurusan dengan tiang-tiang yang kita tidak semestinya 1343 01:15:52,320 --> 01:15:53,270 hendak dikemas kini. 1344 01:15:53,270 --> 01:15:58,890 Kita boleh mengemas kini kota semua orang yang nama Sam, misalnya. 1345 01:15:58,890 --> 01:16:02,080 Kita boleh mengemas kini kota yaitu setiap orang yang ID nombor adalah 2. 1346 01:16:02,080 --> 01:16:04,960 Jadi hanya mengemas kini bandar baris kedua 1347 01:16:04,960 --> 01:16:08,220 di mana kita tidak perlu berurusan dengan perlu oleh soalan yang sama. 1348 01:16:08,220 --> 01:16:13,264 >> Dan memadam, seperti yang anda akan jangkakan, DELETE FROM table1. 1349 01:16:13,264 --> 01:16:14,930 Kemudian kami telah mendapat satu lagi klausa WHERE. 1350 01:16:14,930 --> 01:16:17,940 Oleh itu, kita boleh mengatakan MANA ID = 1. 1351 01:16:17,940 --> 01:16:18,950 Padam baris pertama. 1352 01:16:18,950 --> 01:16:23,240 Dan DELETE akan sentiasa memadam berturut-turut, atau ia akan padam beberapa beberapa baris. 1353 01:16:23,240 --> 01:16:26,990 DELETE FROM meja MANA kampung halaman = New York City 1354 01:16:26,990 --> 01:16:28,740 akan memadamkan semua orang di New York City. 1355 01:16:28,740 --> 01:16:30,985 Itulah kata jika terdapat satu wabak tragis secara tiba-tiba 1356 01:16:30,985 --> 01:16:33,360 dan anda hanya mahu mengeluarkan semua orang dari jadual yang 1357 01:16:33,360 --> 01:16:35,760 tinggal di suatu kota: yang yang dilanda wabak. 1358 01:16:35,760 --> 01:16:38,050 Semoga mereka bersemadi dengan aman. 1359 01:16:38,050 --> 01:16:43,849 >> Ini adalah empat arahan SQL bahawa anda akan perlu menggunakan. 1360 01:16:43,849 --> 01:16:45,390 Anda mungkin tidak perlu menggunakan mereka semua. 1361 01:16:45,390 --> 01:16:47,690 Tetapi ini adalah empat CS50 menjangka anda 1362 01:16:47,690 --> 01:16:53,630 selesa dengan pergi ke kedua-dua kuiz 1 dan juga pset7 dan pset8. 1363 01:16:53,630 --> 01:16:55,820 >> Hanya ada jadual yang lagi. 1364 01:16:55,820 --> 01:16:58,930 Dalam satu ini, kuasa besar Roy mempunyai telah dikemaskini untuk rasuk laser, yang 1365 01:16:58,930 --> 01:17:00,880 adalah satu contoh saya tidak menggunakan. 1366 01:17:00,880 --> 01:17:05,480 Saya tidak tahu yang mana satu Roy suka, tetapi kekuatan. 1367 01:17:05,480 --> 01:17:07,670 Roy mempunyai kuasa besar kekuatan. 1368 01:17:07,670 --> 01:17:09,090 Katherine tidak berjaya hari ini. 1369 01:17:09,090 --> 01:17:10,260 Itulah malang. 1370 01:17:10,260 --> 01:17:11,260 Tetapi dia mempunyai kelajuan super. 1371 01:17:11,260 --> 01:17:13,780 1372 01:17:13,780 --> 01:17:14,670 >> Baik yang PHP. 1373 01:17:14,670 --> 01:17:19,410 Sebelum kita bercakap mengenai MVC, adakah sesiapa yang mempunyai soalan mengenai PHP? 1374 01:17:19,410 --> 01:17:23,864 Sekarang SQL, atau PHP jika anda tiba-tiba mempunyai datang dengan soalan mengenai PHP? 1375 01:17:23,864 --> 01:17:27,560 1376 01:17:27,560 --> 01:17:28,460 Yang besar. 1377 01:17:28,460 --> 01:17:29,920 Baiklah, kita semua diset. 1378 01:17:29,920 --> 01:17:33,660 >> Jadi bercakap sedikit tentang pemandangan model pengawal, 1379 01:17:33,660 --> 01:17:38,770 mari kita kembali kepada beberapa barangan yang di pset7. 1380 01:17:38,770 --> 01:17:42,470 Jadi apa pandangan model pengawal is-- saya tidak 1381 01:17:42,470 --> 01:17:45,660 akan menyimpan perubahan saya untuk melog masuk kerana saya benar-benar disembelih itu. 1382 01:17:45,660 --> 01:17:49,220 Tetapi pada dasarnya kita mempunyai dua perkara yang berasingan berlaku. 1383 01:17:49,220 --> 01:17:52,390 Kami mempunyai awam yang direktori yang mengandungi 1384 01:17:52,390 --> 01:17:56,460 kod yang akan dilaksanakan dan halaman web yang akan dikunjungi. 1385 01:17:56,460 --> 01:17:58,780 Dan kami juga mempunyai pandangan direktori ini. 1386 01:17:58,780 --> 01:18:01,780 Dan pandangan yang mengandungi template. 1387 01:18:01,780 --> 01:18:04,390 >> Ini adalah apa fungsi render-- kita lihat yang menyebabkan 1388 01:18:04,390 --> 01:18:08,240 fungsi dalam sekumpulan kod PHP CS50 yang telah ditulis untuk anda, 1389 01:18:08,240 --> 01:18:10,550 yang mengambil masa dalam parameter tertentu. 1390 01:18:10,550 --> 01:18:14,510 Apa kod yang melakukan adalah ia akan menjadi pandangan, 1391 01:18:14,510 --> 01:18:18,000 yang set seperti Kod HTML prewritten, 1392 01:18:18,000 --> 01:18:20,720 dan ia memasukkan nilai-nilai ke tempat-tempat tertentu. 1393 01:18:20,720 --> 01:18:23,990 Ini adalah bagaimana apabila anda pergi ke CS50 Kewangan, 1394 01:18:23,990 --> 01:18:25,760 header yang sama adalah pada setiap halaman. 1395 01:18:25,760 --> 01:18:28,130 Nota kaki sama adalah pada setiap halaman. 1396 01:18:28,130 --> 01:18:31,880 Ini adalah kerana cara yang menyebabkan perbuatan adalah IA AKAN 1397 01:18:31,880 --> 01:18:36,720 secara automatik patch di kepala itu dan penonton yang boleh anda dapati di pandangan. 1398 01:18:36,720 --> 01:18:41,400 >> Kami benar-benar boleh pergi ke kepala, dan melihat, ia adalah satu fail HTML dengan kepala. 1399 01:18:41,400 --> 01:18:43,280 Ia mempunyai beberapa lembaran gaya. 1400 01:18:43,280 --> 01:18:48,450 Anda tidak perlu melihat CSS untuk pset7 jika anda tidak mahu. 1401 01:18:48,450 --> 01:18:50,560 Tetapi, anda boleh mengubah suai mereka jika anda mahu, membuat 1402 01:18:50,560 --> 01:18:53,470 Kewangan anda kelihatan sedikit berbeza. 1403 01:18:53,470 --> 01:18:57,560 >> Ia mempunyai beberapa PHP dalam kepala sedikit untuk melihat 1404 01:18:57,560 --> 01:19:01,240 jika ada tajuk yang berbeza ia perlu dimasukkan ke dalam tajuk ini. 1405 01:19:01,240 --> 01:19:04,300 Tetapi hanya beberapa skrip yang lain, dan pautan, dan lain-lain. 1406 01:19:04,300 --> 01:19:08,700 Ketua berakhir, badan bermula, dan oops, kita ada bit akhir sedikit pelik ini. 1407 01:19:08,700 --> 01:19:14,730 Dan ada div, sama seperti sejenis tidak berbentuk unsur 1408 01:19:14,730 --> 01:19:17,120 yang mempunyai idea pertengahan. 1409 01:19:17,120 --> 01:19:22,450 >> Dan kemudian apabila kita melihat kaki, kita mempunyai akhir div a. 1410 01:19:22,450 --> 01:19:25,000 Kami mempunyai bahagian bawah, yang merupakan di mana teks nota kaki adalah. 1411 01:19:25,000 --> 01:19:26,770 Akhir div, hujung badan, akhir HTML. 1412 01:19:26,770 --> 01:19:29,070 >> Jadi apa yang menyebabkan adalah lakukan adalah memberi adalah jenis 1413 01:19:29,070 --> 01:19:33,150 daripada menampal sehingga header, yang file PHP yang berbeza yang 1414 01:19:33,150 --> 01:19:37,110 akan mengandungi perkara-perkara sebenar yang anda akan melihat, seperti meja anda saham 1415 01:19:37,110 --> 01:19:39,690 jika anda membeli atau menjual saham. 1416 01:19:39,690 --> 01:19:41,480 Dan kemudian ia akan menambah dalam nota kaki. 1417 01:19:41,480 --> 01:19:44,890 Dan pandangan model idea pengawal adalah kita yang 1418 01:19:44,890 --> 01:19:49,590 mahu memisahkan bagaimana perkara yang kelihatan dari kod. 1419 01:19:49,590 --> 01:19:53,420 Ia kita mahu memisahkan frontend dan belakang, di mana frontend adalah 1420 01:19:53,420 --> 01:20:00,440 barangan yang pengguna melihat, yang bagus visuals-- HTML, CSS, perkara seperti itu, 1421 01:20:00,440 --> 01:20:02,320 imej, dan sebagainya. 1422 01:20:02,320 --> 01:20:05,780 Dan belakang adalah PHP. 1423 01:20:05,780 --> 01:20:07,710 Ini adalah kod yang anda tulis. 1424 01:20:07,710 --> 01:20:10,240 Ini adalah di mana kod yang yang melakukan operasi yang sebenar. 1425 01:20:10,240 --> 01:20:12,400 Ini adalah apabila anda menambah saham ke meja anda, 1426 01:20:12,400 --> 01:20:14,890 apabila anda membeli dan jualan, itu belakang. 1427 01:20:14,890 --> 01:20:20,210 >> Dan kita boleh, seperti yang anda lihat, termasuk PHP secara langsung dalam HTML. 1428 01:20:20,210 --> 01:20:23,210 Jadi apa yang kita boleh lakukan untuk tugasan ini hanya mempunyai 1429 01:20:23,210 --> 01:20:26,200 fail HTML untuk setiap laman, seperti login. 1430 01:20:26,200 --> 01:20:30,260 Dan kemudian pada laman tersebut, hanya mempunyai sekeping besar kod PHP, 1431 01:20:30,260 --> 01:20:33,822 termasuk semua kod yang halaman yang khusus perlu. 1432 01:20:33,822 --> 01:20:35,780 Dan kemudian kita boleh mempunyai melakukan itu untuk portfolio. 1433 01:20:35,780 --> 01:20:40,250 Kita boleh melakukan semua pembelian dan menjual dalam halaman individu. 1434 01:20:40,250 --> 01:20:43,680 >> Tetapi kerana kita menjadikan secara berasingan daripada mana 1435 01:20:43,680 --> 01:20:46,660 kita menulis backend kod, kita boleh dengan mudah 1436 01:20:46,660 --> 01:20:52,660 menukar bagaimana perkara yang kelihatan tanpa berubah-ubah setiap fail. 1437 01:20:52,660 --> 01:20:55,460 Kami melakukan perkara seperti hanya menambah div baru ke bawah 1438 01:20:55,460 --> 01:21:00,720 daripada- Hello I diubahsuai nota kaki. 1439 01:21:00,720 --> 01:21:03,710 Anda hanya boleh melakukan hal-hal seperti itu. 1440 01:21:03,710 --> 01:21:07,250 Tetapi juga, anda boleh menukar susun atur visual keseluruhan 1441 01:21:07,250 --> 01:21:09,290 tanpa menjejaskan apa yang akan di belakang itu. 1442 01:21:09,290 --> 01:21:12,000 Dan anda boleh menukar keseluruhan backend dan masih 1443 01:21:12,000 --> 01:21:13,900 mempunyai ia kelihatan seperti yang berlaku sebelum ini. 1444 01:21:13,900 --> 01:21:14,400 Ini 1445 01:21:14,400 --> 01:21:16,170 >> Apakah idea pandangan model pengawal. 1446 01:21:16,170 --> 01:21:19,992 Dan ia sebenarnya paradigma dikenakan dalam beberapa bahasa pengaturcaraan 1447 01:21:19,992 --> 01:21:21,700 anda mungkin mahu menggunakan untuk projek-projek akhir. 1448 01:21:21,700 --> 01:21:25,100 Jika anda melakukan pembangunan iOS, mereka mempunyai pandangan, 1449 01:21:25,100 --> 01:21:29,120 yang adalah apa yang anda lihat pada iPhone, dan kemudian belakang sebagai seperti satu perkara yang berasingan. 1450 01:21:29,120 --> 01:21:31,260 >> Anda boleh berfikir tentang sedikit. 1451 01:21:31,260 --> 01:21:35,190 Ada banyak binari dalam sains komputer, yang lucu, 1452 01:21:35,190 --> 01:21:37,270 kerana segala-galanya adalah dalam perduaan. 1453 01:21:37,270 --> 01:21:38,550 Saya tidak merancang itu. 1454 01:21:38,550 --> 01:21:41,590 Itu pun yang tidak diingini. 1455 01:21:41,590 --> 01:21:43,860 Ya, pun tidak bertujuan. 1456 01:21:43,860 --> 01:21:49,070 >> Tetapi seperti fail h dan fail c, ada banyak memisahkan perkara yang kita 1457 01:21:49,070 --> 01:21:49,900 mungkin tidak perlu. 1458 01:21:49,900 --> 01:21:54,330 Jadi kita hanya boleh mengedit h fail, atau seseorang hanya boleh melihat fail h dan tahu 1459 01:21:54,330 --> 01:21:57,650 tepat fungsi yang ada di fail .c tanpa semestinya mengetahui 1460 01:21:57,650 --> 01:21:58,870 pelaksanaannya. 1461 01:21:58,870 --> 01:22:02,800 Idea komponen memisahkan yang bergantung pada satu sama lain 1462 01:22:02,800 --> 01:22:06,990 tetapi boleh semacam mengakses antara satu sama lain melalui saluran yang berbeza, yang berlalu 1463 01:22:06,990 --> 01:22:09,310 pembolehubah, hanya termasuk kenyataan, perkara 1464 01:22:09,310 --> 01:22:14,440 seperti itu, prinsip ini membantu untuk mewujudkan aplikasi 1465 01:22:14,440 --> 01:22:17,080 yang boleh menjadi lebih mudah disunting oleh beberapa orang, 1466 01:22:17,080 --> 01:22:20,440 boleh lebih mudah berubah atau diubah suai secara besar-besaran, 1467 01:22:20,440 --> 01:22:24,880 dan lebih mudah untuk nyahpepijat dalam banyak cara. 1468 01:22:24,880 --> 01:22:28,254 >> Benar-benar cepat, saya mempunyai beberapa petua untuk pset7, 1469 01:22:28,254 --> 01:22:31,420 yang saya akan membuat skrin penuh supaya anda tidak hanya melihat the-- tip tip tippee. 1470 01:22:31,420 --> 01:22:33,964 1471 01:22:33,964 --> 01:22:35,130 Tidak ada yang banyak tips. 1472 01:22:35,130 --> 01:22:38,060 >> Tetapi yang saya nyatakan PHP adalah sukar untuk debug. 1473 01:22:38,060 --> 01:22:39,290 Double dan triple periksa. 1474 01:22:39,290 --> 01:22:41,550 Jika kod anda adalah tidak muncul pada halaman, 1475 01:22:41,550 --> 01:22:46,240 ia mungkin satu kesilapan PHP, maaf. 1476 01:22:46,240 --> 01:22:48,570 >> Anda tidak perlu melihat CSS jika anda tidak mahu. 1477 01:22:48,570 --> 01:22:52,150 Tetapi sebaik sahaja anda selesai, ia boleh menjadi satu perkara yang bagus sedikit menyeronokkan untuk hanya pergi dalam 1478 01:22:52,150 --> 01:22:54,770 dan keadaan huru-hara dengan parameter CSS. 1479 01:22:54,770 --> 01:22:58,700 CSS dan HTML adalah satu contoh model pandangan gaya pengawal perkara juga, kan? 1480 01:22:58,700 --> 01:23:02,150 Anda boleh mempunyai tag gaya dalam elemen HTML. 1481 01:23:02,150 --> 01:23:04,800 Tetapi jika anda jenis penyumberan luar mereka untuk CSS, 1482 01:23:04,800 --> 01:23:08,180 mereka lebih mudah untuk mengedit, dan bermain main dengan, dan bersenang-senang dengan. 1483 01:23:08,180 --> 01:23:10,816 >> Merawat CS50 penolong berfungsi sebagai kotak hitam. 1484 01:23:10,816 --> 01:23:12,940 Anda tidak perlu tahu apa yang bersungguh lakukan, 1485 01:23:12,940 --> 01:23:16,770 tetapi amanah itu untuk selalu berbuat baik yang Perkara yang bergantung kepada apa yang anda lulus, 1486 01:23:16,770 --> 01:23:17,690 perkara-perkara seperti ini. 1487 01:23:17,690 --> 01:23:21,040 Dan saya akan mengesyorkan menonton Walkthrough Daud, 1488 01:23:21,040 --> 01:23:24,490 melalui semua barangan, bukan hanya todos, 1489 01:23:24,490 --> 01:23:26,960 tetapi anda benar-benar boleh merawat kotak-kotak hitam. 1490 01:23:26,960 --> 01:23:29,280 Jangan pergi ke ini fungsi mencari bug. 1491 01:23:29,280 --> 01:23:33,510 >> Dan selamat datang kembali daripada Zamyla tuan kami. 1492 01:23:33,510 --> 01:23:34,010 Yang besar. 1493 01:23:34,010 --> 01:23:40,430 >> Adakah terdapat apa-apa soalan terakhir sebelum kita semacam melantun untuk hari tersebut? 1494 01:23:40,430 --> 01:23:42,610 Adakah saya masih hidup? 1495 01:23:42,610 --> 01:23:44,700 Yang besar. 1496 01:23:44,700 --> 01:23:47,120 Orang livestream Hi. 1497 01:23:47,120 --> 01:23:47,620 Yang besar. 1498 01:23:47,620 --> 01:23:50,260 Adakah ada lagi soalan? 1499 01:23:50,260 --> 01:23:50,760 Tidak? 1500 01:23:50,760 --> 01:23:52,884 >> Dan kemudian saya fikir kami baik untuk pergi untuk hari ini. 1501 01:23:52,884 --> 01:23:55,550 Saya akan melekat di sekeliling sedikit selepas itu jika orang mempunyai soalan 1502 01:23:55,550 --> 01:23:57,480 mereka takut untuk bertanya pada sungai itu. 1503 01:23:57,480 --> 01:23:59,790 Tetapi sebaliknya, hari yang baik. 1504 01:23:59,790 --> 01:24:01,933