[REPRODUCCIÓ DE MÚSICA] ROB Bowden: Hi. Estic Rob, i espero que estigui llest posar accions en aquesta solució. En primer lloc, anem a fer una ullada a registre. Així que recordi que aquí estem comprovant per veure si era una forma publicat en aquesta pàgina. Així que el primer que anem de fer és anar a la cosa. I farem el formulari de registre. Així que la forma de registre es va publicar a register.php. I el que es va a enviar? Es va a enviar un nom d'usuari que el usuari va a omplir, una contrasenya, i una confirmació - la contrasenya teclejar de nou. Així que ara quan aquest formulari s'envia a register.php executarem aquest cas. Pel que fa a aquest cas, som els primers anar a validar l'entrada. Volem assegurar-nos que el nom d'usuari i la contrasenya no estaven buides i que la confirmació de la realitat coincideix amb la contrasenya. Un cop haguem verificat que puguem de fet registrar l'usuari. Què significa això? Bé, volem inserir el usuari a la nostra base de dades. I així és com ho farem. Així que anem a inserir en els usuaris taula el nom d'usuari camps, hash, i diners en efectiu. El valor per defecte de diners en efectiu serà de 10.000. I anem a passar com a nom d'usuari, nom d'usuari, a través de la Super Post mundial això es va presentar de la forma. I anem a xifrar la contrasenya. Així que si això va tenir èxit, llavors els resultats serà no falsa. Si fallava, llavors vull demanar disculpes. Quelcom ha fallat. I el que podria haver sortit malament? Doncs bé, cal que hi hagi un nom d'usuari únic. I el que la consulta podria haver fallat si el nom d'usuari ja existit a la taula. Així que suposant que era un nom d'usuari únic, a continuació, anem a consultar agafar el Identificació d'aquest usuari. Recordeu que l'ID és d'increment automàtic. I així, si això succeeix a fallar per alguna raó, llavors volem demanar disculpes que no podíem agafar la ID. Però suposant que no va fallar, llavors agafem l'ID del que la consulta retornant emmagatzemar de que en la nostra sessió - pel que volem iniciar aquest usuari en per emmagatzemar l'identificador de la sessió superpotència mundial, i, finalment, redirigir al nostre portafoli. I això és tot per registre. Ara anem a passar a la cita. Així que la cita tindrà un conjunt molt semblant a dalt. Veiem aquí que aquest és el codi que anem a executar quan una forma és publicat en aquesta pàgina. Però primer hem realment que fa a aquesta forma. Així que fer una ullada a formulari de cotització, quins camps hi ha? Veiem que tot pressupost té és una sola quadre de text amb el nom de símbol. I així, quan formulari de cotització es publica a quote.PHP ara anem a executar aquest codi. I l'única variable en el nostre super PAL mundial serà símbol. Validem que per assegurar-se que que realment fixen el símbol. I si no fos així, diem que vostè ha de proporcionar un símbol. Suposant que van proporcionar un símbol, busquem aquest símbol. Ara recordi de mirar cap amunt podria tenir no des, bé, potser no era un símbol vàlid per començar. Així que si això va aixecar return false, volem demanar disculpes que el no es va trobar símbol. Un cop hem trobat el símbol, ara ens pot fer que la plantilla quote.PHP. El que es veu això? Això només va a imprimir que una part qualsevol que sigui el nom de les poblacions era val qualsevol que sigui el preu de les accions és. Ara, per què utilitzem aquesta htmlspecialchars funcionar? Això és degut a que el nom del paper i el símbol en realitat podria contenir especial caràcters que no han ser interpretat com HTML. Molt bé, així que això és tot per cita. Ara volem mirar index.php i la cartera. Però primer que realment es necessita per construir la taula de carteres. Així és com farem això. Així que donem una ullada a l'estructura. I veiem que les carteres taula tindrà un ID. Així que serà l'usuari d' ID que està inserint les accions. Comptem amb un símbol, que serà el símbol de l'empresa que estem la inserció de les accions de. I llavors les accions és el nombre de accions que s'insereixen. Així que recorda que per l'especificació de conjunt de processadors, especifiquem que ID i el símbol - verifiquem índexs, ID i símbol és la clau principal. Així que un ID d'usuari i el símbol de aparellament només ha d'aparèixer una sola temps en aquesta taula. Ara anem a veure el codi. Així que ara index.php va a agafar tots de la nostra informació de cartera i mostrar a l'usuari. Així que en primer lloc, anem a agafar els diners en efectiu que l'usuari té actualment de la taula de diners en efectiu. Recordeu, que la consulta sempre va per tornar una matriu de matrius. Així que, encara que només es van seleccionar efectiu a partir d'una sola fila, encara hem de agafar aquests diners mitjançant la indexació en el índex zero de files i l'acaparament de la índex efectiu. Així que ara volem seleccionar totes les informació de la taula carteres això és rellevant a l'actualitat usuari connectat. Nosaltres, per descomptat, cal validar que que en realitat tingut èxit, el que ens sempre ha de fer cada vegada que consultem. Un cop tinguem tota aquesta informació, l'especificació PSET ens informa que estem ha de fer això amb la finalitat d'emmagatzemar molt bé tota la informació en aquest posicions matriu. Així que estem en bucle durant tot el informació de la cartera, buscant el valors associats a cada fila de l' informació de la cartera, i després emmagatzematge de la matriu de posició el nom, preus, accions i símbol de tot associada a aquesta població. I, finalment, farem portfolio.PHP, passant per la quantitat de diners en efectiu que actualment té, el posicions matriu que acabem de construït, i el títol d'aquest pàgina que serà la cartera. Fem una ullada a portfolio.PHP. I veiem que el principal interès és part d'aquest bucle. Així que estem en bucle sobre les posicions matriu, la creació d'un taula, on la taula - estem poblant cada fila amb la la informació que posem dins de la posicions matriu. Un cop més, hem de fer servir htmlspecialchars en cas que aquest símbol o el nom contenir caràcters HTML. I aquí estem multiplicar el preu la quantitat d'accions que tenim per tal d'obtenir la quantitat que és actualment un valor per a l'usuari. I això és tot per cartera. Ara anem a fer una ullada a la venda. Així venda es va a tornar a la format que hem tingut en register.php. Veiem que un formulari es va per ser publicat en aquesta pàgina. Però abans, quan carreguem la pàgina, farem això. Llavors, què està fent això? Bé, podríem tenir la pàgina de venda tenir un sol quadre de text que l'usuari entra en aquest símbol que volem vendre. Però anem a ser una mica més intel · ligent i tindrem una caiguda cap avall que permet a l'usuari seleccionar símbols reals que ja tenen. Així que estem arribant a la cartera de l'usuari. Anem a seleccionar de carteres tots els símbols que l'usuari actualment té, l'actualment usuari connectat. Cal assegurar-se que van tenir èxit. I ara anem a llaç sobre el tornat la informació, només treure cada símbol, i el seu emmagatzematge en aquesta matriu símbols. I ara anem a fer que la forma de venda. Així que la forma de la venda va a acaba un menú desplegable, una selecta. I cada opció en la forma de venda és va a simplement imprimir el símbol que ens agafem de la taula de carteres. Així que la forma de la venda va a sotmetre de nou a sell.PHP. Pel que fa a sell.PHP, aquest és el codi això va a executar quan ens sotmetem a la pàgina. Volem validar que l'usuari realment entrat en un símbol. Ara suposant que ho van fer - de manera que ara volem determinar quants comparteix l'usuari està realment venent i la quantitat de diners que l'usuari ha de rebre per a la venda que moltes accions. Així que agafem el nombre d'accions que l'usuari té per a aquest símbol. Estem mirant cap amunt en les carteres per a la determinat usuari i el símbol donat. Ara assegureu-vos que que en realitat tornat una fila. Perquè si no fos així, l'usuari no realment tenen aquest símbol per vendre. Suposant que sí tenen aquest símbol, volem agafar el nombre de accions que tenen. I ara volem veure com molt cada acció val la pena. Així que fem servir la funció de mirar cap amunt. Estem mirant cap amunt el valor del símbol. Suposant que la mirada fins tenir èxit, ara anem a actualitzar en realitat tot la informació. Així que volem eliminar de les carteres les accions que estem venent. Volem actualitzar l'usuari d' quantitat de diners en efectiu. I estem actualitzant per accions vegades el preu de les accions - així que això és la quantitat de diners l'usuari que acaba de fer. I ara volem actualitzar la nostra història. Així que no hem fet una ullada a la taula de la història encara. Així que anem a tornar a això. Ara, per fi anem a redirigir donar suport a la cartera. Ara donem una ullada a compra. Per tant, comprar ha de ser bastant similars a vendre. Veiem que estem una altra vegada d'anar comprovar per veure si estem enviament a aquesta pàgina. Suposant que no estem, estem va a carregar el formulari de compra. Llavors, quina forma de compra sembla? Veiem d'aquí és només un habitual formen això va a sotmetre de nou a buy.PHP. I tindrà un símbol que l'usuari està entrant, el nombre de accions que l'usuari vol comprar d'aquest símbol, i això és tot. Així que quan ens sotmetem de nou a buy.PHP, estem ara va a executar aquest codi. Un altre cop Volem validar que el usuari va introduir una mica vàlid. Així que aquí ens estem assegurant que realment entrat en un símbol. Aquí ens estem assegurant que accions que efectivament ingressada. I aquí ens estem assegurant que ingressar un nombre enter d'accions, per que no estan tractant de comprar accions d'ABC. Ara volem buscar el preu de l' símbol, així que sabem el molt que efectiu de restar d'usuari. Ara anem a seleccionar la quantitat de diners que l'usuari en realitat té i assegureu-vos que que van tenir èxit. Aquí estem agafant els diners en efectiu. I ara aquí, ens estem assegurant que l'usuari té prou diners en efectiu. Així que si el nombre d'accions que l'usuari vol comprar vegades el preu de cada d'aquestes accions és major que la quantitat de diners que tenim, llavors el usuari no pot permetre això. Suposant que l'usuari té prou diners en efectiu, ara volem inserir al la cartera de l'usuari. Bé, anem a inserir en l'usuari de cartera si això passa a ser el primera vegada que l'usuari està comprant que símbol particular. Però el que si és que ja succeeixen per tenir una mica de brou d'Apple? Bé, ara estem fent ús de la a duplicar instrucció d'actualització de claus. Així que aquesta és la raó anterior especifiquem que ID i el símbol ha de ser una articulació clau primària, de manera que si tractem de introduïu un ID i símbol que són ja hi és, només haurem d'actualitzar el accions per incloure les noves accions que l'usuari està comprant. Ara volem actualitzar la quantitat de diners en efectiu que l'usuari ha, ja que Acabo de passar una mica de diners en aquestes accions. I, finalment, anem a actualitzar la taula de la història de nou. La qual cosa, de nou, veurem a en un segon. I finalment anem a redirigir enrere per portfolio.PHP. Així que donem una ullada a la taula de la història. Ara recordeu que la taula d'història és suposa fer un seguiment de totes les compres i ven que tots els usuaris fan, no només la nombre actual d'accions que la els usuaris tenen, que és el cartera és per. Així que estem mantenint un registre d'usuari que és la compra o venda, ja sigui aquesta transacció en particular consistir en una compra o una venda, el símbol que està sent comprats o venuts, el nombre d'accions que estem comprant o venent, la preu d'una sola acció que està sent comprat o venut, i finalment, el temps de que aquesta compra o venda que està passant. I aquesta és tota la història informació que necessitem no perdre de vista. Així que quan ens fixem en venda, vam veure que estàvem inserint en la història de la venda, com si estem comprant o venent, la marca de temps actual, i la usuari actual, el símbol que està sent venut, el nombre d'accions que són que es ven, i el preu de l'estoc en aquest moment. De la mateixa manera, en la compra, que va a sembla gairebé el mateix. L'única diferència és en lloc de venda, que estem comprant. Així que en vendre i comprar, estem inserint en la taula històries de tot el compra i ven que estan succeint. Així que tot history.php heu de fer és agafar la informació de la història taula, assegureu-vos que va tenir èxit, i fer que aquesta informació. Així que buscant a la plantilla history.php, la interessant informació és just aquí. Estem bucle sobretot de la transaccions, la impressió si aquesta va ser una compra o venda, el format de data i hora que vam fer aquesta transacció. Recordeu que necessitem utilitzar htmlspecialchars a la símbol, per si de cas. I, finalment, el format del nombre de accions que van ser comprats i el preu d'una sola acció en aquest moment. I que mostra tota la història la informació que necessitem. I això és tot per aquest conjunt de processadors. El meu nom és Rob, i això va ser CS50 Finances.