>> Doug LLOYD: Jadi di kami video di PHP sintaks,
kami berbicara banyak tentang bagaimana PHP dapat digunakan pada baris perintah
untuk menjalankan program dengan cara yang kami cukup akrab dengan dari C.
Tapi seperti yang saya juga disebutkan dalam video, PHP
awalnya dikembangkan untuk mengimplementasikan pemrograman web, situs.
Dan dalam video ini kami akan berbicara tentang bagaimana kita
menggunakan PHP dalam konteks pengembangan web.
>> Kita tahu, sudah, dari video kami pada HTML,
bahwa website yang dibangun dari satu set tag HTML
bahwa semantik mendefinisikan struktur halaman web.
Tapi website yang dibangun dengan murni HTML
menderita sangat, Keterbatasan yang sangat serius.
>> Dan untuk menggambarkan keterbatasan ini, mari kita pertimbangkan hal berikut.
Jadi sekarang saya ingin membangun sebuah halaman web itu, setiap kali pengguna mengunjungi itu,
itu memberi saya saat ini waktu di Cambridge, Mass.,
menampilkan ke menit terakhir.
Jika saya membuat ini sekarang, Aku mungkin mengatakan sesuatu seperti ini.
Waktu saat ini di Cambridge-- jadi saya memiliki Tag HTML, tag kepala, tag judul,
tubuh tags-- saat ini Waktu di Cambridge adalah 14:08,
waktu militer mencetak.
>> Apa yang terjadi jika itu sekarang 02:09, 14:09?
Baik sejauh ini, dengan HTML, saya harus masuk dan mengubahnya ke 14:09.
Dan kemudian satu menit kemudian, Saya harus mengubahnya lagi.
Dan seperti yang Anda bayangkan, itu mungkin pekerjaan terburuk yang pernah.
Anda webmaster untuk halaman web, dan setiap menit, 24 jam sehari,
Anda perlu memperbarui waktu saat ini dengan manual membuka time.html dan mengubah
Hanya saja potongan kode untuk mengatakan waktu saat ini dalam jam dan menit.
Itu mungkin tidak sangat baik penggunaan sumber daya kami,
baik manusia dan komputasi.
>> Website yang semua HTML benar-benar statis.
Satu-satunya cara Anda dapat memperbarui konten, seperti yang baru saja kita lihat,
adalah untuk secara manual membuka sumber mereka file, mengedit, dan menyelamatkan mereka.
Dan kemudian ketika pengguna refresh halaman,
atau mengunjungi halaman untuk pertama waktu, mereka akan mendapatkan konten terbaru.
Tapi hanya karena kita sudah manual mengeditnya.
>> Jika kita mulai mencampur beberapa PHP di sana, kode kita bisa mendapatkan jauh lebih fleksibel.
Dan kita bisa memiliki cara untuk halaman kami menjadi dinamis, atau memperbarui diri mereka sendiri,
tanpa memerlukan miskin kami webmaster di contoh sebelumnya
menjadi manual memperbarui hal-hal.
Mereka dapat melakukannya secara otomatis.
Kami tidak perlu campur tangan.
Kita bisa tidur.
Yang mungkin merupakan hal yang baik jika Anda melakukan banyak pemrograman web.
>> Jadi dalam CS50 IDE, kami menjalankan web server yang disebut Apache.
Hal ini sangat umum digunakan, terbuka sistem web server sumber.
Sistem ini memiliki kapasitas untuk menafsirkan
PHP, yang akan berguna jika Anda ingin melakukan pemrograman PHP.
>> Dan di CS50 IDE, kita memiliki perintah untuk membuat ini sangat mudah dilakukan,
apache50 mulai.
Dan kemudian garis miring yang jalan, slash untuk, memangkas
dir, itu hanya cara yang sangat umum menunjukkan apa yang telah Anda tentukan di sini
adalah jalan untuk tertentu direktori yang Anda
ingin menjadi akar situs, atau halaman root,
atau folder yang server web Anda akan mulai untuk memeriksa file dan melayani
mereka ke klien yang meminta mereka.
Jadi mari kita mampir ke CS50 IDE, hanya untuk menunjukkan, benar-benar cepat, bagaimana ini bekerja.
>> Jadi di sini di CS50 IDE, aku di direktori yang disebut Minggu Nol Sembilan.
Dan aku punya two-- saya harus dieksekusi perintah LS hanya
di atas menunjukkan bahwa saya memiliki dua direktori di sini, PHP,
yang merupakan set file yang saya gunakan di sintaks video yang PHP, dan kemudian PHP-web,
yang merupakan set file yang saya ingin menggunakan dalam video ini.
>> Dan saya ingin memulai contoh server web
dengan isi dari folder PHP-web sebagai file sedang disajikan.
Jadi apa yang akan saya lakukan?
Aku akan mengetik ruang apache50 mulai, ruang PHP, dasbor web.
Itu path ke direktori dari tempat saya saat ini berada.
Lalu aku tekan Enter.
Ini akan melakukan sedikit hal di sini.
Dan kemudian itu akan berkata, Apache mulai berhasil.
Situs Anda sekarang tersedia at-- dan kemudian ada URL untuk situs.
Jadi apa yang akan saya lakukan?
Aku akan cepat menyalin ini.
Dan aku akan membuka up-- dan Saya akan tampilannya keluar sedikit di sini-
Aku akan membuka tab baru di Chrome.
Dan aku akan mengunjungi URL itu.
>> Aku akan tekan Enter.
Ini akan memuat.
Dan aku akan tampilannya lagi.
Dan kita bisa lihat di sini adalah isi direktori web PHP saya.
>> Jadi sekarang apa yang terjadi pada dasarnya di sini adalah, misalnya saya CS50 IDE
adalah melayani sampai file-file ini ke siapa saja yang meminta mereka.
Dan selama video ini, kita akan mengurutkan dari
lihatlah sekelompok ini file yang berbeda dalam konteks.
>> Untuk menguji bahwa Apache Anda server bekerja,
yang umumnya akan menjadi kasus di CS50 IDE,
tetapi jika Anda melakukan ini lebih umum, dan Anda mulai membangun web Anda sendiri
server, ada yang benar-benar semacam umum analog ke,
"halo dunia," yang biasanya digunakan untuk pengembangan PHP web.
Yang memiliki file yang terdiri dari hanya code-- ini
pembatas PHP diatur dengan info PHP, kurung, titik koma di antara.
Yang pada dasarnya merupakan khusus Fungsi PHP yang memberitahu Anda
apa versi PHP yang Anda jalankan.
>> Jadi dalam CS50 IDE, saya punya file yang tersedia hanya
untuk menunjukkan apa ini akan terlihat seperti.
Jadi aku melihat indeks saya dari contoh PHP saya.
Saya misalnya Apache berjalan isi PHP-Web.
Dan aku punya file di sini disebut info.php.
>> Aku akan klik, zoom out.
Ini adalah apa yang Anda akan untuk melihat, cukup banyak.
Ini hanya mengatakan bahwa server Apache saya bekerja.
Dan ini, tampaknya, versi PHP yang saya sedang menjalankan.
Ini adalah analog saya untuk "hello world."
>> Jadi saya tahu hal-hal yang operasional.
Jadi kita baik untuk pergi.
Kita bisa melanjutkan dari sini.
>> Jadi mari kita kembali bahwa Misalnya waktu kita
berbicara tentang dengan webmaster kami miskin yang harus memperbarui halaman terus-menerus.
Ini mungkin untuk memperbaiki bagaimana Saya akan menerapkan hal-hal
sehingga webmaster tidak harus terus mengupdate waktu.
Hanya itu akan semacam terjadi secara otomatis.
>> Menuruni bawah, HTML, itu sangat mirip, dengan satu pengecualian.
Tapi di sini saya punya beberapa PHP di atas.
Saya telah, tampaknya, yang disebut ini fungsi date_default_timezone_set.
>> Dan kita tidak berbicara tentang semua fungsi-fungsi ini di CS50,
karena PHP memiliki mungkin puluhan ribu.
Yang mungkin sedikit berlebihan, tapi tidak mungkin.
Itu punya banyak fungsi built in.
Dan jadi ini adalah fungsi rupanya menetapkan zona waktu saya sebagai US / Timur,
yang merupakan zona waktu yang aku Saat ini dalam membuat video ini.
>> Lalu aku membuat panggilan ke fungsi yang disebut, tanggal.
Dan, tampaknya, aku menyimpan HIS dari sesuatu yang disebut, waktu.
Jadi apa yang terjadi di sini?
>> Nah, pada dasarnya apa terjadi adalah, saya membuat panggilan
beberapa server yang akan ceritakan apa waktu saat ini.
Dan aku mengubahnya menjadi format jam, menit, detik.
Dan alasan itu modal H adalah ini akan memberikan waktu 24 jam, tidak 12
waktu jam, yang akan huruf kecil h.
Dan aku hanya menyimpan yang dalam variabel yang disebut, waktu.
Sehingga baris kedua dari PHP ada, panggilan ke fungsi,
tanggal, hanya mendapatkan beberapa string, yang merupakan
akan memberikan tanggal, dan waktu, dan sekelompok informasi lainnya.
Dan argumen pertama di sana, yang HIS, hanya mengekstraksi bagian penting
yang saya peduli untuk contoh ini, yang merupakan jam, menit, dan detik.
Jadi itulah semua yang terjadi.
Jadi saya menyimpan bahwa dalam variabel $ waktu.
Dan kemudian turun di paling bawah sana, aku
memiliki yang singkat untuk waktu saat mencetak.
Jadi aku hanya akan mencetak apa waktu saat ini.
>> Jadi mari kita lihat ini di CS50 IDE dan melihat bagaimana kami sekarang
menyimpan webmaster yang banyak masalah.
Baiklah, jadi di sinilah aku lagi kembali di direktori root
dari contoh Apache saya.
Dan aku punya file di sini disebut time.php.
Aku hanya akan klik itu.
Dan aku akan gulir ke atas, karena kita diperbesar cukup jauh.
Waktu saat ini 14:20:34.
Jadi aku melakukannya jam, menit, dan detik.
Dan aku bisa me-refresh Halaman dan mendapatkan waktu baru.
--41.
Aku akan me-refresh halaman dan mendapatkan waktu baru, 44, 46, 47.
>> Jadi, saya jelas tidak mengubah apa-apa sendiri.
Saya disini menyegarkan halaman.
Jadi saya tidak bisa kembali ke sana menyuntingnya.
Dan saya berjanji, saya tidak memiliki sekutu
yang mengedit file atas nama saya di samping.
>> Aku hanya menggunakan fungsi PHP, waktu, untuk menghasilkan waktu bagi saya
secara otomatis.
Sehingga bahkan jika aku tertidur, dan server web saya berjalan,
pengguna yang mengunjungi halaman masih akan mendapatkan waktu yang tepat saat ini.
Jadi itu cukup bagus.
Saya telah membuat situs saya lebih dinamis dengan tidak terlalu banyak kode PHP.
Itu hanya dua baris kode dan kemudian sedikit pernyataan cetak.
Dan sudah saya memiliki Situs jauh lebih dinamis
Selain itu contoh pertama yang kita lihat pada awal video.
>> Jadi, ingat dari video di sintaks PHP bahwa ketika interpreter PHP berjalan
program kami, mengabaikan segala sesuatu itu bukan dalam pembatas PHP,
meludahkannya.
Dalam contoh itu, apa hal yang bahwa itu menyemburkan adalah HTML.
Dan ini berarti saya dapat sekarang menyelingi HTML dan PHP bersama-sama.
Karena penafsir hanya akan mengabaikan HTML dan harfiah output.
Yang baik, kan?
>> Karena mungkin, pada akhir hari,
Saya ingin situs saya ke dibangun dari HTML.
Sehingga browser web dapat menginterpretasikan itu, atau memahami HTML pada halaman
dan membuat itu sebagai sesuatu yang kita benar-benar dapat memahami sebagai manusia.
Dan saya hanya bisa menggunakan PHP untuk bagian-bagian dari situs saya
memerlukan dinamisme, yang mengharuskan saya untuk memiliki hal-hal yang memperbarui terus-menerus.
Informasi statis dapat tetap sama.
>> OK, jadi itu baik-baik saja.
Tapi mengapa saya melakukan ini?
Mengapa saya mencampur HTML dan PHP?
Aku hanya bisa mencetak semua HTML, menggunakan fungsi PHP cetak.
Mengapa saya tidak melakukan hal itu?
Pikirkan tentang hal ini untuk kedua.
>> Mengapa, ketika aku hanya bisa mencetak out-- Saya bisa memiliki garis PHP yang hanya mengatakan,
cetak tag HTML, print head.
Mengapa saya tidak melakukan hal itu?
Mengapa saya mencampur PHP dan HTML?
>> Nah, jika Anda berpikir tentang hal itu untuk kedua.
PHP, penafsir memiliki untuk menafsirkan apa yang dilihatnya.
Dan itu akan memiliki untuk mengeksekusi baris kode.
Cetak HTML.
Mencetak tag kepala terbuka.
Mencetak tag judul terbuka.
Ini akan harus mengeksekusi dan menafsirkan
bahwa setiap langkah dari jalan.
Mengapa tidak hanya membiarkan interpreter hanya mengabaikan
hal itu tidak mengerti dan melakukannya secara otomatis?
Ini akan menghemat banyak waktu untuk mencampur HTML dan PHP saya bersama-sama.
>> Dan jadi itu sebabnya kita tidak hanya memiliki pembatas PHP terbuka
dan kemudian hanya mencetak seluruh yang isi halaman kami sebagai salah satu raksasa PHP
panggilan untuk fungsi, Print, dan kemudian dekat PHP pembatas dan kami sudah selesai.
Jadi itu sebabnya kita mencampur mereka bersama-sama.
>> Sejauh ini, kami belum melihat terlalu banyak perbedaan dari sintaks PHP umum.
Sudah cukup sederhana.
Kami sudah melihat tanda tanya, sama.
Kami melihat beberapa fungsi panggilan baru, tapi tidak ada yang benar-benar mewah terjadi.
Mari kita mungkin membuat hal-hal sedikit lebih menarik.
Bagaimana jika kita ingin menyampaikan informasi antara file PHP yang berbeda,
sehingga mungkin pengguna bisa mengirimkan informasi kepada saya.
Dan kemudian aku bisa melakukan sesuatu dengan itu di halaman lain.
>> Jadi PHP memiliki dukungan untuk sesuatu yang disebut Super global
Variabel, yang terdengar cukup mengagumkan.
Mereka benar-benar hanya array asosiatif raksasa
yang membantu menerapkan ini fungsi lewat
informasi antara file PHP yang yang ada di server web kami.
>> Pertama super ini GLOBALS disebut $ _GET.
Dan itu mungkin paling sederhana untuk memahami.
Apa yang terjadi dengan $ _GET?
Nah, pada dasarnya, pengguna adalah akan mengetik informasi tambahan
pada akhir URL kami.
Dan apa pun yang mereka ketik, dengan asumsi itu diformat dengan cara tertentu
disebut query string, yang hanya satu set pasangan nilai kunci dipisahkan
oleh ampersands.
Mereka pasangan nilai kunci akan disimpan dalam $ _GET array asosiatif.
Dan dari video kami di PHP sintaks, kita tahu
bagaimana bekerja dengan array asosiatif sudah.
Jadi di sini adalah contoh dari beberapa PHP, di mana mungkin aku
penggalian semua pasangan nilai kunci bahwa pengguna disediakan dalam URL.
Jadi saya memiliki pembatas PHP Terbuka saya.
Saya memiliki loop foreach.
Saya iterasi di Super Array global yang disebut $ _GET.
>> Dan saya ingin dapat merujuk untuk kedua kunci dan nilai.
Dan aku hanya mencetak mereka keluar, masing-masing pada rupanya
tag ayat sendiri di sini.
Saya mencetak beberapa HTML dan interpolasi nilai-nilai
kunci dan nilai dalam pernyataan itu.
>> Jadi mari kita lihat bagaimana ini akan benar-benar bekerja pada IDE kami.
Dan mungkin ini akan membantu menggambarkan sedikit
apa GET benar-benar melakukan.
Jadi aku kembali ke sini di akar web saya.
Dan aku akan tampilannya dalam sedikit menunjukkan
bahwa saya memiliki sebuah file yang bernama, get1.php.
>> Jadi mari kita klik get1.php.
Dan aku tidak melihat konten apapun.
Itu aneh, kan?
Nah, tidak benar-benar benar-benar.
Karena saya tidak menyediakan apa pun di URL.
Aku akan get1.php, tapi aku tidak menyediakan setiap pasangan nilai kunci
sebagai bagian dari string kueri saya.
Jadi mari kita menambahkan query string dan melihat apa file ini dapat melakukan.
>> Untuk memulai query string Anda ketik tanda tanya.
Lalu mungkin aku akan mengatakan nama = Doug & tahun = 2015.
Dan kemudian saya akan tekan Enter.
Sekarang perhatikan apa yang terjadi.
Aku masih di get1.php.
Tapi sekarang aku sudah disediakan pasangan nilai kunci, dan aku
mencetak mereka sendiri Nama paragraph--, tahun Doug--, 2015.
Itulah kode kita hanya melihat pada slide saat yang lalu.
>> Dan jika saya ingin mungkin menambah Pasangan nilai kunci, & class = CS50.
Sekarang saya memiliki nilai kunci lain Pasangan yang dicetak
ketika aku kembali URL lagi.
Sekarang mungkin ini bukan diformat sangat baik.
Jadi saya memiliki versi lain get.php.
Ini get2.php.
>> Perbedaan ini satu adalah saya memiliki file CSS,
dan format hal-hal yang sedikit lebih baik bagi saya.
Hal ini mungkin bukan yang paling CSS indah di dunia.
Tapi itu hanya cara lain untuk melakukannya.
Jadi saya masih bisa mendapatkan akses variabel saya menggunakan $ _GET.
Dan dalam hal ini, aku hanya jenis membuat CSS sedikit lebih mewah.
Dan jika kita mampir ke IDE saya untuk kedua,
Aku akan menunjukkan kepada Anda di web PHP saya direktori di sini, get2.php.
Kami akan membukanya, beberapa HTML di sini.
Rupanya aku menghubungkan dalam File CSS yang saya bicarakan.
Aku membuka tag tabel.
Dan kemudian inilah foreach loop saya.
>> Di sini adalah bahwa, apa yang saya menunjukkan pada slide sebelumnya.
Satu-satunya perbedaan adalah saya memiliki kunci ini dan nilai CSS
styling bahwa aku menerapkan untuk itu.
Tapi itu semua saya lakukan, adalah aku iterasi di $ _GET untuk mendapatkan semua
dari pasangan nilai kunci.
>> Dan aku mencetak mereka keluar sebagai meja.
Dan, tampaknya, aku format kunci dalam satu cara, dengan td class = "kunci" <.
Begitu rupanya yang berlaku untuk beberapa pemilih kelas dalam saya file CSS GET.CSS.
Dan, tampaknya, aku mencetak nilai-nilai saya cara yang sama sekali berbeda.
Yang cukup banyak apa yang kita lihat di sini, di mana
nilai-nilai kita yang dicetak dengan latar belakang biru,
dan kunci kami dicetak dengan latar belakang kuning.
Jadi itulah bagaimana saya mendapatkan mereka gaya yang berbeda.
Karena saya menggunakan CSS kelas yang berbeda.
Tapi itu cukup banyak itu untuk GET.
Seperti Aku hanya penggalian informasi.
Dan dalam hal ini, aku hanya mencetaknya ke layar.
Aku mulai keluar dari URL, dan itulah yang GET lakukan bagi kita.
>> Apakah Anda melihat kemungkinan masalah di sini meskipun?
Mengapa kita mungkin tidak ingin menggunakan $ _GET?
Bagaimana jika, mungkin, saya sedang membuat query ini?
get3.php -to, yang saya tidak memiliki pada IDE saya.
Ini hanya file hipotetis.
Tapi perhatikan di sini bahwa ternyata lewat kata sandi di.
Dan mungkin sandi saya adalah memalukan.
Atau mungkin aku tidak ingin orang-orang tahu apa password saya adalah, benar.
>> Jika saya lewat itu though-- jika saya menggunakan metode $ _GET, apa yang terjadi adalah,
yang akan berada di URL.
Sehingga beberapa pengguna mungkin berbahaya dapat melihat apa yang saya lakukan.
Saya dapat melewati mereka informasi sensitif.
Atau mungkin bahkan tidak pengguna berbahaya.
Mungkin hanya teman Anda yang berdiri di atas bahu Anda.
Dan sekarang mereka tahu password ke akun Facebook Anda.
>> Dan mungkin mereka tidak akan melakukan apa-apa dengan itu.
Tetapi jika Anda berada sandi disampaikan melalui $ _GET ke Facebook,
sekarang mereka tahu password Facebook Anda.
Karena itu ada di sana dalam URL ketika Anda telah melakukan mengirimkan informasi.
>> Dan mungkin itu bukan yang terbaik cara untuk menyampaikan informasi sensitif.
Ini adalah cara yang baik untuk menyampaikan informasi yang kita lakukan tidak terlalu
peduli sebagai terlalu sensitif.
Karena GET cukup cepat, relatif terhadap GLOBALS super lain
kita akan berbicara tentang.
Tapi mungkin bukan alat terbaik untuk informasi sensitif.
>> Untuk itu kita mungkin ingin menggunakan sesuatu yang disebut $ _POST,
yang lain Variabel super global.
Ini array asosiatif lain.
Sehingga bekerja cukup banyak persis sama dengan GET.
Kecuali, bukannya penggalian informasi dari URL,
itu melakukan sesuatu melalui header HTTP.
Jadi ingat dari kami video pada HTTP, kita berbicara
tentang bagaimana browser, server, dan klien berkomunikasi.
Dan informasi dilewatkan kembali dan sebagainya di header HTTP.
>> Dengan $ _POST, informasi biasanya dikirim melalui orang header HTTP.
Dan kami akan paling sering melihat $ _POST di konteks mengirimkan formulir HTML.
Anda masih dapat menggunakan bentuk HTML untuk menyerahkan hal yang dapat GET.
Tapi mereka biasanya digunakan dalam konteks POST.
>> Jadi di sini adalah contoh bentuk HTML.
Sekarang kita telah melihat ini sebelumnya, tapi kami memiliki tidak melihat ini bagian, action = "post.php".
Jadi ketika kita berbicara tentang bentuk dalam konteks HTML, saya memiliki tombol Submit.
Dan jika Anda ingat, aku akan klik Submit dan kemudian halaman hanya refresh,
tidak melakukan apa-apa.
>> Dalam hal ini, saya mengirimkan apa pun yang saya ketik di formulir ini,
ke sebuah file PHP bernama post.php.
Dan, tampaknya, cara saya melakukan itu dalam bentuk ini menggunakan metode POST.
Jadi setiap informasi yang saya ketik ke dalam formulir ini
akan diserahkan melalui header HTTP.
>> Ini akan dapat diakses di post.php, karena itulah aksi formulir saya.
Ini akan dapat diakses dengan pergi ke $ _POST.
Dan ternyata, cara yang saya dapat dapatkan di setiap elemen individu
dengan array asosiatif adalah dengan atribut ini,
Nama atribut tag masukan kami.
>> Begitu rupanya bisa saya katakan $ _POST persegi kurung nama untuk mendapatkan apa pun pengguna
diketik di bidang pertama.
Dan $ _POST password, dari pw lebih, untuk mendapatkan apa pun pengguna mengetik
di bidang kedua.
>> Jadi mari kita lihat lebih ini di CS50 IDE.
Jadi di sini kita, dan aku akan memperbesar untuk kedua.
Dan kami memiliki sebuah file bernama post.html.
Saya klik pada post.html.
Di bagian paling atas di sini saya memiliki bentuk web yang sangat sederhana.
Ini bentuk kita hanya melihat pada slide kedua lalu.
>> Saya bisa mengetik, Doug, dan aku bisa ketik kata sandi, yang kita semua
tahu adalah squadgoals.
Dan aku akan memukul Submit.
Dan ternyata, yang tunduk kepada post.php.
Dan aku rupanya mencetak itu.
Jadi aku menyingkirkan semua keamanan yang POST memberi saya dengan hanya mencetak
username dan password.
>> Nama pengguna adalah Doug.
Password user adalah squadgoals.
Bagaimana saya melakukan ini?
Nah, mampir ke IDE lagi untuk kedua.
Kami akan gulir ke bawah untuk mengambil lihat post.php, yang
tindakan yang saya gunakan untuk mengirimkan sini.
Itu adalah tindakan bentuk HTML saya.
Dan itu semua saya lakukan.
Nama pengguna adalah, dan aku cetak keluar isi dari $ _POST "nama".
Dan kemudian password user adalah $ _POST "password".
Jadi saya diberi informasi yang dengan mengirimkan formulir HTML.
Dan sekarang saya bisa ekstrak menggunakan $ _POST karena metode yang saya digunakan untuk mengirimkan
data dengan bentuk yang adalah metode POST.
>> Sekarang itu mungkin tidak jadi besar-aku akan
untuk kembali untuk kedua untuk set di sini-kami
itu mungkin tidak begitu besar jika saya mengirimkan informasi dengan POST,
yang seolah-olah lebih aman.
Ini mungkin tidak begitu besar jika saya melakukan itu dan kemudian
mencetak password pengguna.
Ini seharusnya menjadi lebih aman.
>> OK, tapi itu tidak sepenuhnya aman.
Dan dalam hal ini sedikit snippet di sini saya ingin
hanya menarik perhatian Anda untuk beberapa masalah keamanan data, hanya sesuatu
untuk berpikir tentang Anda sebagai bekerja atau menggunakan internet.
Ini hanya sesuatu yang perlu dipertimbangkan.
>> Saya mengatakan kepada Anda bahwa informasi adalah disampaikan melalui header HTTP
ketika Anda menggunakan metode POST.
Yang berarti mereka tidak sepenuhnya aman.
Mereka sulit untuk menemukan daripada menggunakan metode GET, di mana
itu tepat dalam URL.
Tapi masih ada cara untuk menemukannya.
Dan aku hanya ingin menunjukkan Anda ini sehingga Anda mungkin
mulai berpikir tentang hal ini sebagai Anda bekerja, atau menggunakan
website dan mengirimkan password, dan mungkin menggunakan
password yang sama dalam banyak tempat yang berbeda.
Tahu bahwa masih sebenarnya cukup mudah untuk mengetahui password seseorang.
>> Dan jadi di sini, aku akan untuk pergi ke post2.html.
Dan perbedaan dengan post2.html dan post2.php cukup halus.
Perbedaannya hanya bahwa saya tidak mencetak
password ketika saya mengirimkan formulir.
>> Jadi saya akan mengetikkan, Doug.
Dan aku akan mengetik di, squadgoals, bahkan
meskipun kita tahu itu password.
Sebelum saya menyampaikan membentuk meskipun, aku akan
untuk membuka Developer Tools, hanya untuk menunjukkan apa yang akan terjadi di sini.
Jadi di Chrome, aku hanya akan memukul F12.
Dan itu akan membuka saya Alat pengembang di sisi kanan.
Saya belum menyerahkan formulir belum.
Sekarang aku akan memukul Kirim pada formulir saya.
Dan rupanya, aku membuat panggilan untuk, atau saya membuat permintaan
untuk post2.php, yang masuk akal.
Aku akan klik itu.
>> Kemudian di sini, aku akan klik pada Header.
Ada banyak hal yang terjadi di sini.
Tetapi jika saya gulir ke bawah ke yang sangat bawah, pemberitahuan hak there-- kalender saya
telah diblokir untuk hak second-- ada di sudut paling bawah,
name-- Doug, squadgoals pw--.
Jadi meskipun saya menggunakan POST Metode, yang lebih aman,
hanya akan menyadari bahwa ketika Anda melakukannya, Anda masih transmisi informasi
melalui HTTP.
Dan masih bisa ditemukan oleh musuh.
Ini hanya sesuatu yang kita akan harus berhadapan dengan benar.
Mungkin ada beberapa cara untuk mengenkripsi kami password sebelum kami mengirim mereka,
yang akan menjadi lebih baik, yang saya tidak lakukan di sini.
>> Tapi hanya akan menyadari bahwa POST metode memiliki keterbatasan juga.
Ini merupakan perbaikan atas GET di hal menjadi segera terlihat.
Tapi itu tidak memperbaiki lengkap.
Jadi di sini adalah contoh cepat di latihan di rumah
yang dapat Anda gunakan untuk mendapatkan beberapa berlatih bekerja dengan PHP.
Buat pasangan berikut halaman web.
Pertama hanya harus sangat sederhana membentuk dengan satu bidang dan Kirim
tombol.
Jadi sangat mirip dengan apa yang kita hanya melakukan dengan post.html.
>> Dan kemudian yang kedua file yang harus membuat
adalah file, file PHP, yang mengharapkan masukan, melalui POST,
dan berdasarkan apa yang pengguna mengetik, yang Anda dapat mengasumsikan akan integer.
Anda tidak perlu melakukan apapun pengecekan error atau sejenisnya.
Anda dapat mengasumsikan pengguna akan ketik nilai integer,
atau sesuatu seperti ditafsirkan oleh PHP sebagai integer, dalam bentuk itu.
Anda hanya ingin membuat n dengan meja n perkalian.
>> Jadi jika pengguna mengajukan 10, kami ingin memiliki tabel 10 dengan 10 perkalian.
Jika pengguna mengajukan 12, kita ingin meja 12 dengan 12 perkalian.
Hanya sehingga Anda dapat melihat apa yang kita mengemudi di sini,
kita akan melihat pada file ini di IDE saya.
>> Jadi di sini di IDE, saya punya mult_form.html.
Saya akan klik.
Yang saya ingin lakukan adalah mengirimkan nilai.
Ketik 10, memukul Submit.
Dan rupanya, mult_table.php, yang kita bisa melihat di bagian atas ada di URL,
Aku sedang membuat 10 10 tabel perkalian.
>> Jika saya ketik 15 dan tekan Submit, sekarang saya memiliki tabel 15 dengan 15 perkalian.
Aku, tentu saja, tidak akan menunjukkan Anda isi mult_table.php,
karena yang akan mengambil kesenangan keluar dari ini di rumah latihan.
Tapi itu cara yang bagus untuk mendapatkan beberapa berlatih bekerja dengan loop PHP
dan POST, sangat sederhana, mudah-mudahan stres contoh gratis, hanya
untuk melakukan sedikit latihan.
Dan aku punya sedikit CSS terjadi di sini untuk membuat tabel individu saya
sel hanya jenis pop off sedikit dan terlihat sedikit lebih
seperti tabel perkalian, sebagai lawan hanya teks saja
jenis duduk di sana.
Super global yang terakhir kita akan berbicara tentang dalam video ini adalah sesuatu yang disebut
$ _SESSION.
Dan mungkin ini sebenarnya contoh terbaik dari sesuatu
kami akan mempertimbangkan global.
Ini array lain.
Ini array asosiatif lain.
Tapi itu dapat diakses melalui setiap File PHP yang ada pada sistem kami.
>> Kami tidak harus menyerahkan informasi satu halaman pada satu waktu
seperti yang kita lakukan dengan GET dan POST dengan.
Itu selalu ada.
Dan ini sangat bagus untuk halaman di mana Anda login, misalnya,
dan Anda ingin informasi login Anda untuk bertahan dari halaman ke halaman ke halaman.
>> Anda bisa memulai sesi dan kemudian menggunakan $ _SESSION untuk menyimpan hal-hal seperti
nama pengguna, atau pengguna Informasi ID, dan sebagainya.
Dan informasi yang akan tetap berada di $ _SESSION Sampai Anda menghancurkan sesi
sedikit nanti.
>> Menulis website dinamis dengan PHP membuat mereka jauh lebih baik.
Situs Anda menjadi sangat dinamis, dan Anda tidak
harus melakukan terlalu banyak lebih dari apa yang Anda dinyatakan akan dilakukan hanya
melakukannya dengan HTML.
Tapi itu membutuhkan latihan, banyak latihan.
>> Anda sudah tahu bagaimana bekerja dengan C, dan melompat ke PHP tidak terlalu rumit.
Apa mungkin sedikit sedikit rumit bekerja
dengan ini ide baru dari GET dan POST, dan mungkin pencampuran HTML dan PHP Anda
bersama.
Tetapi juga menyadari bahwa internet adalah gudang besar informasi.
Dan dokumentasi PHP tersedia di banyak tempat, tapi mungkin yang paling
kanonis di php.net.
Dan Anda dapat menemukan di sana, banyak fungsi yang berbeda,
dan menggunakan kasus, dan contoh pada contoh, pada contoh.
Di mana jika Anda ingin mencoba dan angka bagaimana melakukan sesuatu, kemungkinan besar,
seseorang yang mungkin dilakukan sebelum Anda.
Dan Anda dapat menggunakannya sebagai inspirasi untuk melaksanakan apa pun
itu Anda mencoba untuk menerapkan juga.
>> Aku Doug Lloyd.
Ini adalah CS50.