1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [PHP Web Development] 2 00:00:03,000 --> 00:00:05,000 [Tommy MacWilliam] 3 00:00:05,000 --> 00:00:07,000 [Ini adalah CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> Dalam video ini, kita akan belajar tentang cara menggunakan PHP untuk pengembangan web. 5 00:00:11,000 --> 00:00:14,000 PHP adalah bahasa scripting yang dapat digunakan untuk mengimplementasikan 6 00:00:14,000 --> 00:00:17,000 website pada server web. 7 00:00:17,000 --> 00:00:21,000 Sebuah server web pada dasarnya adalah sebuah mesin yang didedikasikan untuk menyediakan konten 8 00:00:21,000 --> 00:00:24,000 yang dapat diakses melalui internet. 9 00:00:24,000 --> 00:00:30,000 Bila Anda menavigasi ke halaman web seperti Facebook.com / home.php 10 00:00:30,000 --> 00:00:35,000 kode dalam file bernama home.php yang hidup pada web server Facebook di suatu tempat 11 00:00:35,000 --> 00:00:38,000 akan dieksekusi pada server. 12 00:00:38,000 --> 00:00:41,000 Kode ini mungkin akan menghasilkan beberapa output 13 00:00:41,000 --> 00:00:43,000 yang pada gilirannya akan dikirim dari server 14 00:00:43,000 --> 00:00:45,000 ke browser web Anda. 15 00:00:45,000 --> 00:00:49,000 Kami akan menggunakan alat CS50 sebagai server web. 16 00:00:49,000 --> 00:00:51,000 Mesin Anda mungkin tidak akan hampir sama kuat sebagai mesin 17 00:00:51,000 --> 00:00:57,000 dalam data center Facebook, tetapi Anda akan tidak punya masalah menggunakannya untuk pengembangan web. 18 00:00:57,000 --> 00:01:05,000 >> Ketika kita arahkan ke URL seperti http://localhost/hello.php 19 00:01:05,000 --> 00:01:10,000 kita mengkonfigurasi alat melalui aplikasi bernama server Apache HTTP 20 00:01:10,000 --> 00:01:19,000 untuk mencari file bernama hello.php dalam rumah / jharvard / vhosts / localhosts / html secara default. 21 00:01:19,000 --> 00:01:23,000 Jika file yang ada maka Apache akan menggunakan interpreter PHP 22 00:01:23,000 --> 00:01:27,000 untuk mengeksekusi kode PHP dalam hello.php. 23 00:01:27,000 --> 00:01:31,000 Jika file yang tidak ada maka Apache akan melemparkan kesalahan tidak ditemukan 24 00:01:31,000 --> 00:01:36,000 atau error 404, yang Anda mungkin pernah melihat saat browsing Web. 25 00:01:36,000 --> 00:01:40,000 >> Mari kita lihat hello.php. 26 00:01:40,000 --> 00:01:45,000 Kita bisa melihat di sini bahwa hello.php menghasilkan garis sinyal output. 27 00:01:45,000 --> 00:01:51,000 Ketika kita berlari hello.php pada baris perintah melalui php hello.php 28 00:01:51,000 --> 00:01:54,000 output yang dicetak ke terminal. 29 00:01:54,000 --> 00:01:58,000 Sekarang, ketika kita mengakses file ini melalui URL di browser web 30 00:01:58,000 --> 00:02:01,000 outputnya akan dikirim ke web browser, 31 00:02:01,000 --> 00:02:09,000 jadi menuju ke URL, http://localhost/hello.php, 32 00:02:09,000 --> 00:02:12,000 kita dapat melihat output di browser web kami. 33 00:02:12,000 --> 00:02:17,000 >> Mari kita coba menambahkan printf lain program hello world kita. 34 00:02:17,000 --> 00:02:23,000 Oke, mari kita kembali ke browser web dan melihat apa yang kita miliki. 35 00:02:23,000 --> 00:02:25,000 Menarik. 36 00:02:25,000 --> 00:02:28,000 Daripada mencetak baris lain pada baris sendiri, seperti yang Anda akan melihat 37 00:02:28,000 --> 00:02:32,000 di terminal, sepertinya itu bisa smushed ke baris yang sama 38 00:02:32,000 --> 00:02:36,000 sebagai printf lainnya, garis jadi mungkin baru tidak bekerja di PHP. 39 00:02:36,000 --> 00:02:38,000 Tidak cukup. 40 00:02:38,000 --> 00:02:41,000 Ingat bahwa HTML biasanya digunakan untuk membuat halaman web 41 00:02:41,000 --> 00:02:44,000 yang dapat ditampilkan oleh web browser. 42 00:02:44,000 --> 00:02:49,000 Tidak hanya string hello dari php tidak valid HTML, 43 00:02:49,000 --> 00:02:53,000 tapi ingat bahwa kita tidak dapat menggunakan karakter \ n di HTML 44 00:02:53,000 --> 00:02:55,000 untuk membuat satu baris. 45 00:02:55,000 --> 00:03:01,000 Alih-alih hanya keluaran string mari kita HTML output yang valid. 46 00:03:01,000 --> 00:03:04,000 Dengan menggunakan ayat tags masing-masing panggilan printf kami 47 00:03:04,000 --> 00:03:07,000 akan ditampilkan pada baris sendiri, 48 00:03:07,000 --> 00:03:11,000 jadi sekarang ketika kami mengunjungi menunjuk URL untuk valid.php 49 00:03:11,000 --> 00:03:17,000 http://localhost/valid.php 50 00:03:17,000 --> 00:03:19,000 kita melihat output yang kita cari. 51 00:03:19,000 --> 00:03:22,000 >> Sekarang, jika kita melihat sumber halaman ini 52 00:03:22,000 --> 00:03:25,000 kita dapat melihat bahwa kita sekarang sedang melihat HTML yang valid, 53 00:03:25,000 --> 00:03:28,000 yang kita buat dari PHP. 54 00:03:28,000 --> 00:03:31,000 Menempatkan semua HTML kita di dalam panggilan printf 55 00:03:31,000 --> 00:03:34,000 yang tentu saja akan benar-benar menjengkelkan. 56 00:03:34,000 --> 00:03:38,000 Untungnya kita dapat dengan mudah mencampur HTML dan PHP 57 00:03:38,000 --> 00:03:41,000 di sama file php.. 58 00:03:41,000 --> 00:03:47,000 Ingat, semua kode PHP kita harus tertutup dalam 00:03:49,000 dan?>. 60 00:03:49,000 --> 00:03:52,000 Apa pun yang tidak ditutupi di dalam pembatas ini 61 00:03:52,000 --> 00:03:55,000 hanya akan dikirim sebagai output ke browser 62 00:03:55,000 --> 00:03:57,000 bukannya dieksekusi. 63 00:03:57,000 --> 00:04:01,000 Itu berarti kita bisa melakukan sesuatu seperti ini. 64 00:04:01,000 --> 00:04:05,000 Kami hanya dapat menulis HTML dalam file php. Kami 65 00:04:05,000 --> 00:04:11,000 dan kemudian memasukkan blok PHP di mana pun kita ingin beberapa kode php untuk dieksekusi. 66 00:04:11,000 --> 00:04:15,000 Di sini kita menentukan beberapa variabel di bagian atas file, 67 00:04:15,000 --> 00:04:19,000 dan kemudian kami mencetaknya dalam HTML kita. 68 00:04:19,000 --> 00:04:27,000 Sekarang jika kita mengunjungi URL ini, http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 kita dapat melihat PHP kami dievaluasi dalam HTML kita. 70 00:04:33,000 --> 00:04:36,000 >> Sekarang mari kita lihat bagaimana kita dapat melewatkan data 71 00:04:36,000 --> 00:04:39,000 antara berbagai halaman PHP kami. 72 00:04:39,000 --> 00:04:51,000 Daripada mengatakan 73 00:04:51,000 --> 00:04:58,000 kita hanya bisa mengatakan 00:05:01,000 dan?>. 75 00:05:01,000 --> 00:05:03,000 Mari sekarang kita lihat bagaimana kita bisa melewatkan data 76 00:05:03,000 --> 00:05:06,000 antara berbagai halaman PHP kami. 77 00:05:06,000 --> 00:05:11,000 Salah satu cara yang bisa kita lakukan itu adalah untuk mengkodekan informasi ke URL halaman. 78 00:05:11,000 --> 00:05:14,000 Ketika browsing Web, Anda mungkin telah memperhatikan bahwa beberapa URL 79 00:05:14,000 --> 00:05:20,000 mengandung? diikuti dengan string yang berisi ampersands dan tanda-tanda yang sama. 80 00:05:20,000 --> 00:05:23,000 Ini bagian dari URL dikenal sebagai string, 81 00:05:23,000 --> 00:05:29,000 dan ini memungkinkan Anda untuk secara efektif melewati argumen ke script PHP Anda. 82 00:05:29,000 --> 00:05:34,000 The string kueri terdiri dari pasangan nilai kunci, seperti tabel hash. 83 00:05:34,000 --> 00:05:38,000 Tanda sama dengan memisahkan kunci dan nilai yang sesuai 84 00:05:38,000 --> 00:05:41,000 sementara ampersands memisahkan pasangan. 85 00:05:41,000 --> 00:06:05,000 Sebuah URL yang terlihat seperti http://localhost/get.php?foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 memiliki 2 pasangan nilai kunci dalam string query. 87 00:06:09,000 --> 00:06:12,000 The foo kunci peta ke bar nilai, 88 00:06:12,000 --> 00:06:16,000 dan baz kunci peta nilai qux. 89 00:06:16,000 --> 00:06:23,000 Kita dapat dengan mudah mengakses ini pasangan nilai kunci menggunakan variabel khusus di PHP, 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET Adalah array asosiatif 92 00:06:32,000 --> 00:06:36,000 yang secara otomatis diisi dengan data string kueri. 93 00:06:36,000 --> 00:06:46,000 Itu berarti bahwa URL yang diberikan ini $ _GET ["foo"] 94 00:06:46,000 --> 00:06:49,000 akan sama dengan string bar. 95 00:06:49,000 --> 00:06:56,000 >> Mari kita lihat get.php untuk melihat $ _GET dalam tindakan. 96 00:06:56,000 --> 00:07:00,000 Di sini kita menggunakan fungsi yang disebut var_dump, 97 00:07:00,000 --> 00:07:03,000 yang ketika diberikan sebuah array atau variabel lain 98 00:07:03,000 --> 00:07:05,000 akan mencetak keluar bagi kita. 99 00:07:05,000 --> 00:07:12,000 Sekarang jika kita hanya mengakses http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 maka kita akan melihat sebuah array kosong karena kita belum memberikan string query. 101 00:07:17,000 --> 00:07:29,000 Jika kita melakukan memberikan query string via http://localhost/get.php?foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 maka kita dapat melihat bahwa variabel $ _GET akan berisi 103 00:07:34,000 --> 00:07:37,000 pasangan nilai kunci query string. 104 00:07:37,000 --> 00:07:42,000 Tapi bagaimana kalau kita tidak ingin menempatkan data kami dalam URL halaman? 105 00:07:42,000 --> 00:07:46,000 Untuk data dalam jumlah besar, hal ini dapat mengakibatkan beberapa URL yang cukup jelek 106 00:07:46,000 --> 00:07:49,000 yang akan membuat kita mengkilap tampilan website lumpuh. 107 00:07:49,000 --> 00:07:52,000 Kami malah dapat menempatkan string ke dalam tubuh 108 00:07:52,000 --> 00:07:57,000 dari permintaan HTTP daripada URL permintaan itu. 109 00:07:57,000 --> 00:08:02,000 Kemudian kita bisa menggunakan $ _POST variabel PHP 110 00:08:02,000 --> 00:08:05,000 untuk mengakses pasangan nilai kunci. 111 00:08:05,000 --> 00:08:10,000 Salah satu cara untuk melakukan ini adalah melalui form HTML. 112 00:08:10,000 --> 00:08:13,000 Di sini kita memiliki bentuk HTML sederhana. 113 00:08:13,000 --> 00:08:17,000 Perhatikan di sini bahwa atribut metode formulir ini adalah posting. 114 00:08:17,000 --> 00:08:21,000 Ini memberitahu browser untuk menempatkan pasangan nilai kunci form 115 00:08:21,000 --> 00:08:25,000 ke dalam tubuh permintaan daripada URL. 116 00:08:25,000 --> 00:08:28,000 >> Jika kita menggunakan nilai mendapatkan untuk atribut ini 117 00:08:28,000 --> 00:08:32,000 maka pasangan nilai kunci bentuk bukannya akan pergi ke string, 118 00:08:32,000 --> 00:08:36,000 sehingga kita bisa mengaksesnya melalui $ _GET lagi. 119 00:08:36,000 --> 00:08:42,000 Tindakan atribut bentuk memberitahu browser mana untuk mengirim data. 120 00:08:42,000 --> 00:08:46,000 Berikut 2 elemen masukan kami memiliki atribut nama. 121 00:08:46,000 --> 00:08:51,000 Nilai atribut nama akan berfungsi sebagai kunci dalam data kami, 122 00:08:51,000 --> 00:08:56,000 dan nilai-nilai input teks akan menjadi nilai-nilai orang-orang kunci. 123 00:08:56,000 --> 00:08:59,000 Sekarang mari kita lihat post.php, 124 00:08:59,000 --> 00:09:03,000 file yang formulir ini untuk mengirimkan. 125 00:09:03,000 --> 00:09:10,000 Sama seperti yang kami lakukan sebelumnya, kita hanya menampilkan isi dari variabel $ _POST. 126 00:09:10,000 --> 00:09:18,000 >> Mari kita arahkan ke formulir dengan http://localhost/form.php. 127 00:09:18,000 --> 00:09:23,000 Sekarang ketika kita menyerahkan formulir kita dapat melihat bahwa data dari form.php 128 00:09:23,000 --> 00:09:30,000 dilewatkan ke post.php tanpa menambahkan string query untuk URL. 129 00:09:30,000 --> 00:09:35,000 Sekarang kita telah melihat 2 cara yang berbeda untuk melewati data antara halaman PHP, 130 00:09:35,000 --> 00:09:37,000 mendapatkan dan posting. 131 00:09:37,000 --> 00:09:41,000 Dalam contoh kami, kami menggunakan 2 jenis permintaan HTTP. 132 00:09:41,000 --> 00:09:45,000 Seperti yang mungkin Anda harapkan, permintaan get digunakan ketika kita diisi 133 00:09:45,000 --> 00:09:51,000 $ _GET Dari URL, dan permintaan pasca digunakan 134 00:09:51,000 --> 00:09:55,000 ketika kita dihuni $ _POST. 135 00:09:55,000 --> 00:09:59,000 Dalam merancang aplikasi web Anda itu adalah aturan yang baik untuk menggunakan permintaan get 136 00:09:59,000 --> 00:10:03,000 ketika aplikasi Anda hanya akan membaca data, dan permintaan pasca 137 00:10:03,000 --> 00:10:05,000 ketika aplikasi Anda akan menulis data. 138 00:10:05,000 --> 00:10:09,000 Misalnya, permintaan pencarian akan membaca data dari aplikasi Anda, 139 00:10:09,000 --> 00:10:12,000 sehingga permintaan get masuk akal. 140 00:10:12,000 --> 00:10:17,000 Di sisi lain, aplikasi Anda akan menulis data melalui sesuatu seperti formulir pendaftaran, 141 00:10:17,000 --> 00:10:22,000 sehingga permintaan posting akan lebih masuk akal, dan itulah gambaran dari beberapa teknik 142 00:10:22,000 --> 00:10:26,000 kita akan menggunakan dalam CS50 untuk membuat website menggunakan PHP. 143 00:10:26,000 --> 00:10:30,000 >> Nama saya Tommy, dan ini adalah CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]