[MUZIK Bermain] ROB Bowden: Hi. Saya Rob, dan saya berharap anda sudah bersedia untuk meletakkan saham dalam larutan ini. Pertama, mari kita lihat daftar. Jadi ingat bahawa di sini kita sedang menyemak untuk melihat jika bentuk yang adalah posted ke laman ini. Perkara itu kita akan lakukan adalah pergi ke lain itu. Dan kita akan menyebabkan bentuk daftar. Jadi bentuk daftar itu akan untuk hantar ke register.PHP. Dan apa yang ia akan menghantar? Ia akan menghantar nama pengguna bahawa pengguna akan mengisi, kata laluan, dan pengesahan - kata laluan ditaip semula. Jadi sekarang apabila bentuk yang dihantar kepada register.PHP kami akan melaksanakan ini jika. Melihat pada ini jika, kami pertama akan mengesahkan input. Kami mahu memastikan bahawa nama pengguna yang dan kata laluan tidak kosong dan bahawa pengesahan yang sebenarnya perlawanan kata laluan. Apabila kami telah mengesahkan bahawa kita boleh sebenarnya mendaftar pengguna. Apa maksudnya? Nah, kita mahu untuk memasukkan pengguna ke dalam pangkalan data kami. Dan ini ialah bagaimana kita akan berbuat demikian. Jadi, kita akan memasukkan ke dalam pengguna jadual nama pengguna bidang, hash, dan wang tunai. Nilai lalai tunai akan menjadi 10,000. Dan kita akan lulus sebagai nama pengguna, nama pengguna, melalui super POST global yang diserahkan dari bentuk. Dan kita akan menyulitkan kata laluan. Jadi jika itu berjaya, maka keputusan akan bukan palsu. Jika ia gagal, maka kita ingin meminta maaf. Sesuatu telah berlaku. Dan apa yang boleh pergi salah? Nah, perlu ada nama pengguna yang unik. Dan sebagainya pertanyaan boleh gagal jika nama pengguna yang telah wujud dalam jadual. Jadi dengan andaian ia adalah nama pengguna yang unik, maka kita akan membuat carian untuk merebut ID pengguna itu. Ingat bahawa ID adalah auto-menokok. Dan jadi jika itu berlaku untuk gagal untuk beberapa sebab, maka kita ingin meminta maaf bahawa kita tidak boleh merebut ID. Tetapi menganggap bahawa ia tidak gagal, maka kita merebut ID dari apa pertanyaan dikembalikan, menyimpan bahawa dalam sesi kami - jadi kami mahu log pengguna ini oleh menyimpan ID dalam sesi super global, dan akhirnya redirect kepada portfolio kami. Dan itu sahaja untuk daftar. Sekarang kita akan beralih kepada quote. Jadi quote akan mempunyai set yang benar-benar sama ke atas. Kita lihat di sini bahawa ini adalah kod yang kita akan melaksanakan apabila bentuk adalah posted ke laman ini. Tetapi pertama sekali kita sebenarnya mempunyai untuk memberi bentuk yang. Jadi mengambil melihat bentuk quote, apa bidang yang ada? Kita lihat bahawa semua quote telah adalah satu kotak teks dengan simbol nama. Dan sebagainya apabila bentuk quote diposkan untuk quote.PHP kita kini akan melaksanakan kod ini. Dan satu-satunya pembolehubah dalam super POST kami global akan menjadi simbol. Kami mengesahkan bahawa untuk memastikan bahawa mereka benar-benar posted simbol. Dan jika mereka tidak, kita katakan anda mesti menyediakan simbol. Dengan mengandaikan yang mereka lakukan memberi simbol, kita melihat simbol itu. Sekarang ingat bahawa rupa sehingga mungkin mempunyai gagal kerana, baik, mungkin ia bukan satu simbol sah untuk memulakan. Jadi, jika ini mencari pulangan palsu, kami ingin meminta maaf bahawa simbol tidak dijumpai. Apabila kita dapati simbol, sekarang kita boleh membuat template quote.PHP itu. Apakah yang kelihatan seperti? Itu hanya akan mencetak bahawa bahagian yang apa jua nama saham itu adalah bernilai apa sahaja harga saham adalah. Sekarang mengapa kita menggunakan htmlspecialchars ini berfungsi? Ini kerana nama saham dan simbol sebenarnya mungkin mengandungi khas watak-watak yang tidak sepatutnya ditafsirkan sebagai HTML. Baiklah, jadi itu sahaja untuk quote. Sekarang kita mahu melihat index.php dan portfolio. Tetapi pertama sekali kita benar-benar perlu untuk membina jadual portfolio. Berikut adalah cara kita akan berbuat demikian. Jadi mari kita lihat struktur. Dan kita melihat bahawa portfolio jadual akan mempunyai ID. Supaya akan menjadi pengguna ini ID yang memasukkan saham. Kami mempunyai simbol, yang akan menjadi simbol syarikat yang kami memasukkan saham-saham itu. Dan kemudian saham adalah bilangan saham yang sedang dimasukkan. Jadi ingat bahawa setiap spec Serangga yang, kami menentukan bahawa ID dan simbol - kita lihat indeks, ID dan simbol adalah kunci utama. Jadi ID pengguna dan simbol berpasangan hanya akan muncul satu masa dalam jadual ini. Sekarang mari kita lihat kod. Jadi sekarang index.php akan merebut semua maklumat portfolio kami dan memaparkannya kepada pengguna. Jadi pertama, kita akan merebut wang tunai yang bahawa pengguna kini mempunyai dari jadual tunai. Ingat, pertanyaan yang sentiasa akan untuk kembali pelbagai tatasusunan. Jadi, walaupun kami hanya dipilih tunai dari barisan tunggal, kita masih perlu merebut wang tunai bahawa dengan mengindeks ke dalam indeks sifar baris dan merebut indeks tunai. Jadi sekarang kita ingin memilih semua maklumat dari jadual portfolio yang yang relevan untuk pada masa ini log masuk pengguna. Kami sudah tentu perlu untuk mengesahkan bahawa yang benar-benar berjaya, yang kita sentiasa perlu dilakukan setiap kali kita query. Apabila kita mempunyai semua maklumat itu, spec Serangga yang memberitahu kita kita yang perlu melakukan ini untuk menyimpan baik semua maklumat di dalam ini jawatan pelbagai. Jadi kita menggelung ke atas semua maklumat portfolio, melihat ke atas yang saham yang berkaitan dengan setiap berturut-turut dalam maklumat portfolio, dan kemudian menyimpan di pelbagai kedudukan nama, harga, saham dan simbol semua yang berkaitan dengan saham itu. Dan akhirnya, kita akan menyebabkan portfolio.PHP, lulus dalam jumlah yang wang tunai kita kini mempunyai, yang jawatan array yang kita hanya dibina, dan gelaran ini halaman yang akan menjadi portfolio. Mari kita lihat portfolio.PHP. Dan kita melihat bahawa yang menarik utama bahagian adalah gelung ini. Jadi kita menggelung lebih kedudukan pelbagai, mewujudkan meja, di mana jadual yang - kita populating setiap baris dengan maklumat yang kita masukkan ke dalam jawatan pelbagai. Sekali lagi, kita perlu menggunakan htmlspecialchars dalam kes simbol ini atau nama mengandungi aksara HTML. Dan di sini kita mendarabkan harga dan jumlah saham yang kita ada untuk mendapatkan berapa banyak itu kini bernilai kepada pengguna. Dan itu sahaja untuk portfolio. Sekarang kita akan melihat di jual. Jadi jual akan kembali ke format yang diterima di register.PHP. Kita lihat bahawa bentuk yang akan untuk diposkan ke laman ini. Tetapi pertama, apabila kami beban halaman, kita akan melakukan ini. Jadi apa yang ini lakukan? Nah, kita hanya boleh mempunyai laman menjual mempunyai kotak teks tunggal yang pengguna memasuki simbol ini yang kami mahu menjual. Tetapi kita akan menjadi sedikit lebih bijak dan kita akan mempunyai penurunan turun yang membolehkan pengguna untuk memilih simbol sebenar bahawa mereka sudah mempunyai. Oleh itu, kita mendapat portfolio pengguna. Kami akan memilih daripada portfolio kesemua simbol bahawa pengguna pada masa ini mempunyai, pada masa ini log masuk pengguna. Pastikan yang berjaya. Dan sekarang kita akan gelung ke atas kembali maklumat, hanya meraih setiap simbol, dan menyimpannya dalam pelbagai simbol ini. Dan sekarang kita akan menyebabkan bentuk menjual. Jadi bentuk jual itu akan hanya menjadi menu drop ke bawah, pilih. Dan setiap pilihan dalam bentuk jual adalah akan hanya mencetak simbol yang kita meraih daripada portfolio meja. Jadi bentuk jual itu akan mengemukakan kembali ke sell.PHP. Melihat sell.PHP, ini adalah kod yang akan melaksanakan apabila kita mengemukakan ke laman ini. Kami mahu mengesahkan bahawa pengguna sebenarnya memasuki simbol. Sekarang menganggap bahawa yang mereka lakukan - jadi sekarang kita mahu untuk menentukan berapa banyak berkongsi pengguna sebenarnya menjual dan berapa banyak wang tunai pengguna perlu mendapatkan untuk menjual bahawa banyak saham. Oleh itu, kita merebut bilangan saham yang pengguna mempunyai untuk simbol ini. Kami melihat ke atas dalam portfolio untuk diberikan pengguna dan simbol yang diberikan. Sekarang memastikan bahawa yang benar-benar kembali berturut-turut. Kerana jika ia tidak, pengguna tidak sebenarnya mempunyai simbol yang menjual. Dengan mengandaikan mereka mempunyai simbol yang, kita mahu merebut bilangan saham yang mereka miliki. Dan sekarang kita mahu mencari bagaimana banyak setiap saham bernilai. Jadi kami menggunakan fungsi mencari. Kami melihat ke atas nilai simbol. Dengan mengandaikan bahawa rupa sehingga berjaya, kini kita akan sebenarnya mengemas kini semua maklumat. Jadi, kami ingin memotong daripada portfolio saham-saham yang kita jual. Kami ingin mengemaskini pengguna ini jumlah wang tunai. Dan kami mengemas kini ia dengan saham kali harga saham - jadi itu berapa banyak wang pengguna hanya dibuat. Dan sekarang kita mahu untuk mengemaskini sejarah kita. Oleh itu, kita tidak mengambil pandangan yang di meja sejarah yet. Oleh itu, kita akan kembali kepada ini. Kini akhirnya kita akan mengarahkan menyokong kepada portfolio. Sekarang mari kita lihat membeli. Jadi, membeli harus cukup sama untuk menjual. Kita lihat bahawa kita sekali lagi akan untuk memeriksa untuk melihat jika kita mengemukakan ke laman ini. Dengan mengandaikan bahawa kita tidak, kita akan memuatkan bentuk membeli. Jadi apakah bentuk membeli kelihatan seperti? Kita lihat di sini ia hanya tetap membentuk yang akan mengemukakan kembali ke buy.PHP. Dan ia akan mempunyai simbol yang pengguna memasuki, bilangan saham yang pengguna mahu membeli simbol itu, dan itu sahaja. Oleh itu, apabila kita mengemukakan kembali ke buy.PHP, kami kini akan melaksanakan kod ini. Kita sekali lagi ingin mengesahkan bahawa pengguna memasuki sesuatu sah. Jadi di sini kita memastikan mereka sebenarnya memasuki simbol. Di sini kita memastikan bahawa mereka saham masukkan. Dan di sini kita memastikan bahawa mereka memasuki integer bagi saham, jadi mereka tidak cuba untuk membeli saham ABC. Sekarang kita mahu untuk mencari harga simbol jadi kita tahu berapa banyak kita tunai perlu tolak daripada pengguna. Sekarang kami akan memilih berapa banyak wang tunai pengguna sebenarnya mempunyai dan pastikan yang berjaya. Di sini kita meraih tunai. Dan kini di sini, kami memastikan bahawa pengguna mempunyai wang tunai yang mencukupi. Jadi jika jumlah saham pengguna mahu membeli kali ganda harga setiap syer adalah lebih besar daripada jumlah wang tunai yang kita ada, maka pengguna tidak mampu itu. Dengan mengandaikan bahawa pengguna mempunyai wang tunai yang mencukupi, sekarang kita mahu masukkan ke dalam portfolio pengguna. Nah, kita akan memasukkan ke dalam pengguna ini portfolio jika ini berlaku kepada menjadi kali pertama pengguna adalah membeli bahawa simbol tertentu. Tetapi bagaimana jika mereka sudah berlaku mempunyai beberapa saham Apple? Nah, sekarang kita menggunakan pada salinan pernyataan update utama. Jadi ini adalah mengapa sebelum ini kita yang dinyatakan ID dan simbol perlu sendi utama utama, supaya jika kita cuba memasukkan ID dan simbol yang sudah ada, kita hanya akan mengemas kini saham yang termasuk saham-saham baru yang pengguna adalah membeli. Sekarang kita ingin mengemaskini jumlah tunai yang pengguna itu telah, kerana mereka hanya menghabiskan sedikit wang kepada orang-orang saham. Dan akhirnya, kita akan mengemas kini jadual sejarah sekali lagi. Yang, sekali lagi, kita akan melihat di dalam satu saat. Dan akhirnya kita akan mengarahkan belakang untuk portfolio.PHP. Jadi mari kita lihat jadual sejarah. Sekarang ingat bahawa meja sejarah adalah sepatutnya mengesan semua membeli dan menjual semua pengguna membuat, bukan sahaja Bilangan semasa saham bahawa pengguna mempunyai, yang adalah apa yang portfolio adalah untuk. Oleh itu, kita sedang mengesan pengguna yang adalah membeli atau menjual, sama ada urus niaga ini khusus ialah membeli satu atau menjual, simbol yang yang menjadi dibeli atau dijual, bilangan saham bahawa kita membeli atau menjual, yang harga saham tunggal yang yang menjadi dibeli atau dijual, dan akhirnya, masa yang yang membeli ini atau menjual berlaku. Dan itu semua sejarah maklumat yang kita perlu untuk mengesan. Oleh itu, apabila kita melihat sell, kita melihat bahawa kami memasukkan ke dalam sejarah jual, sama ada kita membeli atau menjual, setem masa semasa, dan pengguna semasa, simbol yang yang menjadi dijual, bilangan saham yang yang dijual, dan harga saham pada masa ini. Begitu juga, dalam membeli IA AKAN melihat hampir sama. Satu-satunya perbezaan adalah sebaliknya jualan, kami membeli. Jadi dalam jual dan beli, kita memasukkan ke dalam jadual sejarah yang semua membeli dan menjual yang berlaku. Jadi semua history.PHP perlu lakukan adalah merebut maklumat dari sejarah meja, pastikan ia berjaya, dan memberikan maklumat itu. Jadi melihat template history.PHP itu, maklumat yang menarik yang tepat di sini. Kami menggelung ke atas semua transaksi, percetakan sama ada ini adalah membeli atau menjual, format masa tarikh bahawa kami membuat urus niaga ini. Ingat kita perlu menggunakan htmlspecialchars pada simbol, hanya dalam kes. Dan akhirnya, format bilangan saham yang telah dibeli dan harga yang daripada saham tunggal pada masa itu. Dan yang memaparkan semua sejarah maklumat yang kita perlukan. Dan itu sahaja untuk Serangga ini. Nama saya Rob, dan ini adalah CS50 Kewangan.