>> [MUSIC PLAYING]
>> ROB Bowden: Hi.
Aku Rob, dan saya harap Anda sudah siap untuk menempatkan saham dalam larutan ini.
Pertama, mari kita lihat daftar.
Jadi ingat bahwa di sini kita sedang memeriksa untuk melihat apakah bentuk adalah
diposting ke halaman ini.
>> Sehingga hal pertama kita akan lakukan adalah pergi ke lain tersebut.
Dan kita akan membuat bentuk daftar.
Jadi form register akan memposting ke register.php.
Dan apa itu akan mengirim?
Ini akan mengirim username bahwa pengguna akan mengisi, password,
dan konfirmasi -
password diketik lagi.
>> Jadi, sekarang ketika bentuk yang diposting ke register.php kita akan mengeksekusi ini jika.
Melihat ini jika, kami pertama akan memvalidasi input.
Kami ingin memastikan bahwa username dan kata sandi yang tidak kosong dan
konfirmasi sebenarnya sesuai password.
Setelah kami memverifikasi bahwa kita bisa benar-benar mendaftar pengguna.
>> Apa artinya?
Nah, kita ingin memasukkan pengguna ke database kami.
Dan ini adalah bagaimana kita akan melakukannya.
Jadi kita akan memasukkan ke dalam pengguna tabel nama pengguna bidang,
hash, dan uang tunai.
>> Nilai default kas akan menjadi 10.000.
Dan kita akan lulus sebagai nama pengguna, nama-pengguna, melalui POST Super
global yang sudah disampaikan dari bentuk.
Dan kita akan mengenkripsi password.
>> Jadi jika itu berhasil, maka hasil akan non-palsu.
Jika gagal, maka kita ingin minta maaf.
Ada yang tidak beres.
Dan apa yang bisa saja salah?
>> Nah, perlu ada username unik.
Dan query bisa gagal jika username sudah
ada di meja.
Jadi dengan asumsi itu adalah nama pengguna yang unik, maka kita akan query untuk ambil
ID pengguna tersebut.
Ingat bahwa ID tersebut auto-incrementing.
>> Dan jika itu terjadi gagal untuk beberapa Alasannya, maka kita ingin meminta maaf
bahwa kita tidak bisa ambil ID.
Tapi dengan asumsi bahwa itu tidak gagal, maka kita ambil ID dari apa query
dikembalikan, menyimpan bahwa dalam sesi kami - jadi kami ingin log pengguna ini oleh
menyimpan ID dalam sesi Super global, dan akhirnya
redirect ke portofolio kami.
Dan itu saja untuk mendaftar.
>> Sekarang kita akan beralih ke kutipan.
Jadi kutipan akan memiliki set up benar-benar mirip.
Kita lihat di sini bahwa ini adalah kode yang kita akan mengeksekusi ketika suatu bentuk
diposting ke halaman ini.
Tapi pertama-tama kita benar-benar memiliki untuk membuat bentuk itu.
Jadi mengambil melihat bentuk kutipan, apa bidang yang ada?
>> Kita melihat bahwa semua kutipan telah adalah satu kotak teks dengan simbol nama.
Dan jadi ketika bentuk kutipan yang diposting untuk quote.PHP kita sekarang akan
mengeksekusi kode ini.
Dan satu-satunya variabel dalam POST super kita global akan menjadi simbol.
>> Kami memvalidasi bahwa memastikan bahwa mereka benar-benar diposting simbol.
Dan jika mereka tidak, kita katakan Anda harus memberikan simbol.
Dengan asumsi mereka menyediakan simbol, kami mencari simbol itu.
>> Sekarang ingat bahwa melihat up mungkin memiliki gagal karena, well, mungkin itu bukan
simbol yang valid untuk memulai.
Jadi jika ini mencari return false, kami ingin meminta maaf bahwa
simbol tidak ditemukan.
Setelah kami telah menemukan simbol, sekarang kita dapat membuat template quote.PHP.
>> Apa yang terlihat seperti?
Itu hanya akan mencetak bahwa saham apa pun nama saham adalah
bernilai apapun harga saham.
Sekarang mengapa kita menggunakan htmlspecialchars ini berfungsi?
Itu karena nama saham dan simbol mungkin benar-benar berisi khusus
karakter yang seharusnya tidak ditafsirkan sebagai HTML.
>> Baiklah, jadi itu saja untuk kutipan.
Sekarang kita ingin melihat Garut dan portofolio.
Tetapi, pertama kita benar-benar perlu untuk membangun tabel portofolio.
Berikut adalah cara kita akan melakukan itu.
>> Jadi mari kita lihat struktur.
Dan kita melihat bahwa portofolio tabel akan memiliki ID.
Sehingga akan menjadi pengguna ID yang memasukkan saham.
Kami memiliki simbol, yang akan menjadi simbol dari perusahaan yang kami
memasukkan saham untuk.
Dan kemudian saham adalah jumlah saham yang sedang dimasukkan.
>> Jadi ingat bahwa per pset spec, kita menetapkan bahwa ID dan simbol -
kami memeriksa indeks, ID dan simbol adalah kunci utama.
Jadi user ID dan simbol pasangan hanya akan muncul satu
waktu dalam tabel ini.
Sekarang mari kita lihat kode.
>> Jadi sekarang index.php akan ambil semua informasi portofolio kami dan
menampilkannya kepada pengguna.
Jadi pertama, kita akan ambil uang tunai bahwa pengguna saat ini memiliki dari
meja kas.
Ingat, pertanyaan yang selalu akan untuk mengembalikan array array.
Jadi meskipun kami hanya memilih uang tunai dari satu baris, kita masih perlu
ambil uang itu dengan pengindeksan ke dalam Indeks zeroth baris dan meraih
Indeks tunai.
>> Jadi sekarang kita ingin memilih semua informasi dari tabel portofolio
yang relevan untuk saat ini login user.
Kita tentu saja perlu memvalidasi bahwa yang benar-benar berhasil, yang kita
harus selalu melakukan setiap kali kita query.
Setelah kita memiliki semua informasi itu, yang pset spesifikasi memberitahu kita bahwa kita
harus melakukan ini dalam rangka untuk menyimpan baik semua informasi dalam
posisi array.
>> Jadi kita perulangan atas semua informasi portofolio, mendongak
saham yang terkait dengan setiap baris dalam informasi portofolio, dan kemudian
menyimpan dalam array posisi nama, harga, saham dan simbol semua
terkait dengan saham itu.
Dan akhirnya, kita akan membuat portfolio.PHP, melewati dalam jumlah
kas saat ini kami miliki, posisi array kita hanya
dibangun, dan judul ini Halaman yang akan menjadi portofolio.
>> Mari kita lihat portfolio.PHP.
Dan kita melihat bahwa menarik utama bagian loop ini.
Jadi kita perulangan atas posisi array, menciptakan
table, di mana meja itu -
kita mengisi setiap baris dengan informasi yang kita masukkan ke dalam
posisi array.
>> Sekali lagi, kita perlu menggunakan htmlspecialchars dalam hal ini simbol atau nama
berisi karakter HTML.
Dan di sini kita mengalikan harga dan jumlah saham yang kita miliki
untuk mendapatkan berapa banyak yang saat ini bernilai kepada pengguna.
Dan itu saja untuk portofolio.
>> Sekarang kita akan melihat di jual.
Jadi sell akan kembali ke Format yang kita miliki di register.php.
Kita melihat bahwa formulir akan yang akan diposting ke halaman ini.
Tapi pertama-tama, ketika kita memuat halaman, kita akan melakukan hal ini.
>> Jadi apa ini lakukan?
Yah, kita hanya bisa memiliki halaman sell memiliki kotak teks tunggal bahwa pengguna
memasuki simbol ini yang kami ingin menjual.
Tapi kita akan menjadi sedikit lebih pintar dan kita akan memiliki drop
down yang memungkinkan pengguna untuk memilih simbol yang sebenarnya yang telah mereka miliki.
>> Jadi kita mendapatkan portofolio pengguna.
Kita akan memilih dari portofolio semua simbol bahwa pengguna
saat ini memiliki, saat ini login user.
Pastikan bahwa yang berhasil.
Dan sekarang kita akan loop atas kembali informasi, hanya meraih
setiap simbol, dan menyimpannya dalam simbol-simbol array ini.
>> Dan sekarang kita akan membuat formulir sell.
Jadi bentuk sell akan hanya menjadi menu drop-down, pilih.
Dan setiap pilihan dalam bentuk jual adalah akan hanya mencetak simbol
bahwa kita meraih dari portofolio meja.
>> Jadi bentuk sell akan mengirimkan kembali ke sell.PHP.
Melihat sell.PHP, ini adalah kode itu akan mengeksekusi ketika kami sampaikan
ke halaman ini.
Kami ingin memvalidasi bahwa pengguna benar-benar masuk simbol.
>> Sekarang asumsi bahwa mereka lakukan -
jadi sekarang kita ingin menentukan berapa banyak berbagi pengguna benar-benar menjual
dan berapa banyak uang tunai pengguna harus mendapatkan untuk menjual banyak saham.
Jadi kita ambil jumlah saham yang pengguna memiliki untuk simbol ini.
Kami sedang mencari di portofolio untuk diberikan pengguna dan simbol yang diberikan.
>> Sekarang pastikan bahwa yang benar-benar kembali berturut-turut.
Karena jika tidak, pengguna tidak benar-benar memiliki simbol untuk menjual.
Dengan asumsi mereka memiliki simbol itu, kami ingin mengambil jumlah
saham yang mereka miliki.
Dan sekarang kita ingin mencari bagaimana banyak setiap saham bernilai.
>> Jadi kami menggunakan mencari fungsi.
Kami sedang mencari nilai simbol.
Dengan asumsi bahwa tampilan sampai berhasil, sekarang kita akan benar-benar memperbarui semua
informasi.
Jadi kita ingin menghapus dari portofolio saham yang kita jual.
Kami ingin memperbarui pengguna jumlah uang tunai.
>> Dan kami meng-update dengan saham kali harga saham -
jadi itu berapa banyak uang pengguna hanya dibuat.
Dan sekarang kita ingin memperbarui sejarah kita.
Jadi kita belum mengambil lihat di meja sejarah belum.
Jadi kita akan kembali ke ini.
>> Sekarang akhirnya kita akan mengarahkan kembali ke portofolio.
Sekarang mari kita lihat membeli.
Jadi, membeli harus cukup mirip dengan menjual.
>> Kita melihat bahwa kita lagi akan untuk memeriksa untuk melihat apakah kita
mengirimkan ke halaman ini.
Dengan asumsi bahwa kita tidak, kita akan memuat bentuk beli.
Jadi apa bentuk membeli terlihat seperti?
>> Kita lihat di sini itu hanya biasa bentuk yang akan
mengirimkan kembali ke buy.PHP.
Dan itu akan memiliki simbol yang pengguna masuk, jumlah
saham yang pengguna ingin membeli simbol itu, dan hanya itu.
Jadi ketika kita serahkan kembali ke buy.PHP, kami sekarang akan mengeksekusi kode ini.
>> Kita lagi ingin memvalidasi bahwa pengguna memasukkan sesuatu yang valid.
Jadi di sini kita memastikan mereka benar-benar masuk simbol.
Di sini kita memastikan bahwa mereka saham benar-benar masuk.
Dan di sini kita memastikan bahwa mereka memasuki sebuah integer untuk saham, sehingga
mereka tidak mencoba untuk membeli saham ABC.
>> Sekarang kita ingin mencari harga simbol jadi kami tahu betapa kami kas
harus kurangi dari pengguna.
Sekarang kita akan memilih berapa banyak uang tunai pengguna sebenarnya memiliki dan pastikan bahwa
yang berhasil.
Di sini kita meraih uang tunai.
Dan sekarang di sini, kami memastikan bahwa pengguna memiliki cukup uang.
>> Jadi jika jumlah saham pengguna ingin membeli kali harga masing-masing
saham tersebut lebih besar dari jumlah uang tunai yang kita miliki, maka
pengguna tidak mampu untuk itu.
Dengan asumsi bahwa pengguna memiliki cukup uang, sekarang kami ingin untuk memasukkan ke dalam
portofolio pengguna.
Nah, kita akan masukkan ke pengguna portofolio jika hal ini terjadi untuk menjadi
pertama kali pengguna membeli simbol tertentu.
>> Tapi bagaimana jika mereka sudah terjadi memiliki beberapa saham Apple?
Nah, sekarang kita memanfaatkan pada duplikat pernyataan update key.
Jadi ini sebabnya sebelumnya kita ditentukan bahwa ID dan simbol harus sendi
primary key, sehingga jika kita mencoba untuk masukkan ID dan simbol yang
sudah ada di sana, kami hanya akan memperbarui saham untuk menyertakan saham baru yang
pengguna membeli.
>> Sekarang kita ingin memperbarui jumlah kas bahwa pengguna memiliki, karena mereka
hanya menghabiskan uang pada saham tersebut.
Dan akhirnya, kami akan memperbarui tabel sejarah lagi.
Yang, sekali lagi, kita akan melihat di dalam satu detik.
Dan akhirnya kita akan redirect kembali ke portfolio.PHP.
>> Jadi mari kita lihat tabel sejarah.
Sekarang ingat bahwa tabel sejarah seharusnya melacak semua membeli dan
menjual bahwa semua pengguna membuat, bukan hanya saat ini jumlah saham yang
pengguna memiliki, yang adalah apa yang portofolio adalah untuk.
Jadi kita melacak pengguna yang adalah membeli atau menjual, apakah
transaksi tertentu ini adalah beli atau menjual, simbol yang menjadi
dibeli atau dijual, jumlah saham bahwa kita membeli atau menjual, yang
harga saham tunggal yang menjadi dibeli atau dijual, dan akhirnya, waktu
bahwa pembelian ini atau menjual terjadi.
>> Dan itu semua sejarah informasi yang kita butuhkan
untuk melacak.
Jadi ketika kita melihat menjual, kita melihat bahwa kami memasukkan ke dalam sejarah sell,
seperti apakah kita membeli atau menjual, waktu yang tertera saat ini, dan
pengguna saat ini, simbol yang menjadi dijual, jumlah saham yang
yang dijual, dan harga saham saat ini.
Demikian pula, dalam membeli, itu akan terlihat hampir sama.
Satu-satunya perbedaan adalah bukan penjualan, kami membeli.
>> Jadi dalam menjual dan membeli, kita memasukkan ke tabel sejarah semua
membeli dan menjual yang terjadi.
Jadi semua history.PHP perlu lakukan adalah ambil informasi dari sejarah
meja, pastikan berhasil, dan membuat informasi tersebut.
Jadi melihat template history.PHP, informasi menarik
ada di sini.
>> Kita perulangan atas semua transaksi, pencetakan apakah ini
adalah membeli atau menjual, format tanggal waktu bahwa kita membuat transaksi ini.
Ingat kita perlu menggunakan htmlspecialchars pada
simbol, hanya dalam kasus.
Dan akhirnya, format jumlah saham yang telah dibeli dan harganya
dari saham tunggal pada waktu itu.
>> Dan yang menampilkan semua sejarah informasi yang kita butuhkan.
Dan itu saja untuk pset ini.
Nama saya Rob, dan ini adalah CS50 Finance.