>> [MUSIQUE JEU]
>> ROB BOWDEN: Salut.
Je suis Rob, et j'espère que vous êtes prêt de mettre stock en cette solution.
Tout d'abord, nous allons jeter un coup d'oeil à la caisse.
Alors, n'oubliez pas que ici nous vérifions pour voir si un formulaire a été
posté sur cette page.
>> Donc la première chose que nous allons à faire est d'aller à l'autre.
Et nous allons rendre le formulaire d'inscription.
Ainsi, la forme de registre va pour poster register.php.
Et qu'est-ce que ça va envoyer?
Il va envoyer un nom d'utilisateur que l' utilisateur va remplir, un mot de passe,
et une confirmation -
le mot de passe tapé de nouveau.
>> Alors maintenant, quand cette forme est affecté à register.php nous exécutons ce cas.
En regardant cette si, nous sommes les premiers aller à valider l'entrée.
Nous voulons faire en sorte que le nom d'utilisateur et mot de passe n'était pas vide et que
la confirmation effectivement correspond au mot de passe.
Une fois que nous avons vérifié que nous pouvons fait enregistrer l'utilisateur.
>> Qu'est-ce que ça veut dire?
Eh bien, nous voulons insérer le utilisateur dans notre base de données.
Et c'est ainsi que nous allons le faire.
Nous allons donc à insérer dans les utilisateurs tableau le nom d'utilisateur des champs,
hachage, et de l'argent.
>> La valeur par défaut de la trésorerie va être 10 000.
Et nous allons passer comme nom d'utilisateur, username, par le super POST
mondiale qui est soumis de la forme.
Et nous allons crypter le mot de passe.
>> Donc, si c'est réussi, alors les résultats seront non-faux.
Si elle a échoué, alors nous vouloir m'excuser.
Quelque chose s'est mal passé.
Et ce que aurait pu mal tourner?
>> Eh bien, il faut un nom d'utilisateur unique.
Et donc, la requête aurait échoué si le nom d'utilisateur déjà
existé dans le tableau.
Donc, en supposant qu'il s'agissait d'un nom d'utilisateur unique, alors nous allons interroger à saisir le
Identification de l'utilisateur.
Rappelez-vous que l'ID est auto-incrémentation.
>> Et si cela se produit à l'échec pour certains raison, alors nous voulons des excuses
que nous ne pouvions pas saisir l'ID.
Mais en supposant qu'il n'a pas manqué, alors on récupère l'ID de ce la requête
retourné, stocker que dans notre séance - si nous voulons identifier cet utilisateur dans de
stocker l'ID de la session superbe mondiale, et enfin
rediriger vers notre portefeuille.
Et c'est tout pour registre.
>> Maintenant, nous allons passer à la citation.
Alors citation va avoir un ensemble vraiment similaire jusqu'à.
Nous voyons ici que c'est le code qui nous allons exécuter quand un formulaire est
posté sur cette page.
Mais d'abord, nous avons fait pour rendre cette forme.
Donc, en prenant un coup d'oeil sous forme de citation, quels domaines sont-ils?
>> Nous voyons que tous les devis a est un zone de texte avec le symbole de nom.
Et lorsque le formulaire de devis est affiché à quote.PHP nous allons maintenant
exécuter ce code.
Et la seule variable dans notre super POST mondiale va être le symbole.
>> Nous validons que de s'assurer que ils avaient enregistré le symbole.
Et s'ils le faisaient pas, nous vous disons doit fournir un symbole.
En supposant qu'ils ont fourni un symbole, nous regardons ce symbole.
>> Maintenant, rappelez-vous ce regard pourrait avoir échoué depuis, eh bien, c'était peut-être pas un
symbole valide pour commencer.
Donc, si ce regard vers le haut rendement faux, nous tenons à nous excuser que l'
symbole n'a pas été trouvé.
Une fois que nous avons trouvé le symbole, maintenant nous peut rendre le modèle quote.PHP.
>> Qu'est-ce que cela ressemble?
Cela va juste pour imprimer qu'une part de ce que le nom stocks était
vaut quel que soit le prix de l'action est.
Maintenant, pourquoi utilisons-nous cette htmlspecialchars fonctionner?
C'est parce que le nom et le symbole boursier pourrait en fait contenir spéciale
caractères qui ne devrait pas être interprété comme HTML.
>> Très bien, alors que c'est tout pour la citation.
Maintenant, nous voulons regarder index.php et de portefeuille.
Mais d'abord, nous avons besoin de construire la table de portefeuilles.
Voilà comment nous allons le faire.
>> Donc, nous allons jeter un oeil à la structure.
Et nous voyons que les portefeuilles table va avoir un ID.
Donc cela va être l'utilisateur de ID qui est l'insertion des actions.
Nous avons un symbole, qui va être le symbole de la société que nous sommes
insérer les actions pour.
Et puis des actions est le nombre de part qui est inséré.
>> Alors, n'oubliez pas que pour la spécification pset, nous précisons que ID et le symbole -
nous vérifions les index, les ID et symbole est la clé primaire.
Ainsi, un ID utilisateur et un symbole jumelage ne devrait apparaître une seule
temps dans ce tableau.
Maintenant, regardons le code.
>> Alors maintenant index.php va attraper tous des informations de notre portefeuille et
afficher à l'utilisateur.
Alors d'abord, nous allons prendre l'argent que l'utilisateur dispose actuellement de l'
tableau de trésorerie.
Rappelez-vous, cette requête va toujours pour retourner un tableau de tableaux.
Ainsi, même si nous ne choisi trésorerie à partir d'une seule ligne, nous devons encore
prendre cet argent en indexant dans le indice zéro de lignes et de saisir le
Indice de trésorerie.
>> Alors maintenant, nous voulons sélectionner tous les informations de la table des portefeuilles
c'est pertinent pour le moment utilisateur connecté.
Nous devons bien sûr à valider qui effectivement réussi, qui nous
doit toujours faire chaque fois que nous interrogeons.
Une fois que nous avons toutes ces informations, la spécification pset nous informe que nous
devrait faire afin de bien mémoriser toutes les informations dans ce
positions tableau.
>> Nous sommes donc en boucle sur l'ensemble de la informations de portefeuille, la recherche du
actions associées à chaque ligne de la informations de portefeuille, puis
stocker dans le tableau de position le nom, prix, actions et symbole tout
associée à ce stock.
Et enfin, nous allons rendre portfolio.PHP, dans la quantité
de trésorerie que nous avons actuellement, la positions tableau que nous venons de
construit, et le titre de cette la page qui sera portefeuille.
>> Jetons un coup d'oeil à portfolio.PHP.
Et nous voyons que le principal intéressant partie est de cette boucle.
Nous sommes donc en boucle sur les positions matrice, créant ainsi une
table, où la table -
nous peupler chaque ligne avec le informations que nous avons mis à l'intérieur du
positions tableau.
>> Encore une fois, nous devons utiliser htmlspecialchars au cas où ce symbole ou le nom
contenir des caractères HTML.
Et ici nous sommes en multipliant le prix et la quantité d'actions que nous avons
afin d'obtenir combien c'est a une valeur à l'utilisateur.
Et c'est tout pour le portefeuille.
>> Maintenant, nous allons jeter un oeil à la vente.
Donc vente va revenir à la le format que nous avions en register.php.
Nous voyons que la forme va être affiché sur cette page.
Mais d'abord, quand nous chargeons de la page, nous allons le faire.
>> Quel est donc ce fait?
Eh bien, nous pouvions avoir la page de vente avoir une seule zone de texte que l'utilisateur
entre dans ce symbole nous voulons vendre.
Mais nous allons être un peu plus intelligent et nous allons avoir une baisse
bas qui permet à l'utilisateur de sélectionner symboles réels qu'ils ont déjà.
>> Nous allons donc obtenir le portefeuille de l'utilisateur.
Nous allons sélectionner des portefeuilles tous les symboles que l'utilisateur
dispose actuellement, le moment utilisateur connecté.
Assurez-vous que que réussi.
Et maintenant, nous allons faire une boucle sur l' retourné informations, juste saisissant
chaque symbole, et en le stockant dans ce tableau des symboles.
>> Et maintenant, nous allons rendre la forme de vente.
Ainsi, la forme de vente va juste un menu déroulant, sélectionnez un.
Et chaque option sous la forme de vente est va juste imprimer le symbole
que nous avons pris de l' table portefeuilles.
>> Ainsi, la forme de vente va présenter de nouveau à sell.PHP.
En regardant sell.PHP, c'est le code qui va à exécuter lorsque nous soumettons
à cette page.
Nous voulons valider que l'utilisateur effectivement entré un symbole.
>> Maintenant en supposant qu'ils ont fait -
alors maintenant nous voulons déterminer le nombre de part l'utilisateur est en fait la vente
et combien d'argent l'utilisateur doit obtenir pour la vente que de nombreuses actions.
Donc, on récupère le nombre d'actions que l'utilisateur dispose pour ce symbole.
Nous sommes à la recherche dans les portefeuilles pour la utilisateur donné et le symbole donné.
>> Maintenant, assurez-vous que ce que fait retourné une rangée.
Parce que si elle n'a pas, l'utilisateur ne ont fait que symbole de vendre.
En supposant qu'ils ont ce symbole, nous voulons saisir le nombre de
actions qu'ils ont.
Et maintenant, nous voulons voir comment beaucoup chaque action vaut.
>> Nous avons donc utilisé la fonction rechercher.
Nous recherchons la valeur du symbole.
En supposant que le look up réussi, maintenant nous allons effectivement mettre à jour tous
l'information.
Donc, nous voulons supprimer des portefeuilles les actions que nous nous vendons.
Nous voulons mettre à jour l'utilisateur de somme d'argent.
>> Et nous mettons à jour par actions fois le prix d'achat d'actions -
c'est ainsi que beaucoup d'argent l'utilisateur vient de faire.
Et maintenant, nous voulons mettre à jour notre histoire.
Donc, nous n'avons pas pris un coup d'oeil à encore la table d'historique.
Donc, nous allons revenir à cela.
>> Maintenant, enfin, nous allons rediriger sauvegarder au portefeuille.
Maintenant, nous allons jeter un oeil à acheter.
Donc, achetez doit être assez similaire à vendre.
>> Nous voyons que nous sommes encore en cours vérifier pour voir si nous sommes
soumettre à cette page.
En supposant que nous ne sommes pas, nous sommes va charger le formulaire d'achat.
Alors qu'est-ce que la forme d'achat ressembler?
>> Nous voyons ici c'est juste un régulier forment que cela va
présenter de nouveau à buy.php.
Et il va avoir un symbole qui l'utilisateur saisit, le nombre d'
actions que l'utilisateur veut acheter de ce symbole, et c'est tout.
Ainsi, lorsque nous soumettons de nouveau à buy.php, nous sommes maintenant va exécuter ce code.
>> Nous voulons à nouveau pour valider que le utilisateur a entré quelque chose de valable.
Donc, ici, nous faisons en sorte qu'ils effectivement entré un symbole.
Ici, nous faisons en sorte qu'ils actions effectivement inscrites.
Et ici, nous faisons en sorte qu'ils entré un nombre entier d'actions, de sorte
ils n'essaient pas d'acheter des actions ABC.
>> Maintenant, nous voulons voir le prix de la symbole, donc nous savons combien d'argent nous
devrait soustraire de l'utilisateur.
Maintenant, nous allons sélectionner combien d'argent l'utilisateur a fait et assurez-vous que
qui a réussi.
Ici, nous allons saisir l'argent.
Et ici, nous nous assurons que l'utilisateur dispose de suffisamment d'espèces.
>> Donc, si le nombre d'actions à l'utilisateur veut acheter fois le prix de chaque
de ces actions est supérieure à la montant d'argent que nous avons, le
utilisateur ne peut pas se le permettre.
En supposant que l'utilisateur dispose d'assez d'argent, maintenant, nous voulons insérer dans le
Le portefeuille de l'utilisateur.
Eh bien, nous allons insérer dans le mode de portefeuille si cela arrive à être la
première fois que l'utilisateur achète ce symbole particulier.
>> Mais que faire si elles se produisent déjà d'avoir une action Apple?
Eh bien, maintenant nous faisons usage de la sur dupliquer déclaration de mise à jour touche.
Donc, c'est pourquoi nous l'avons précisé plus tôt que ID et le symbole doivent être un joint
clé primaire, de sorte que si nous essayons de insérer un identifiant et un symbole qui sont
déjà là, nous allons mettre à jour le actions pour inclure les nouvelles actions que
l'utilisateur achète.
>> Maintenant, nous voulons mettre à jour la quantité de espèces que l'utilisateur dispose, car ils
Je viens de passer un peu d'argent sur ces actions.
Et enfin, nous mettrons à jour le tableau de l'histoire à nouveau.
Qui, encore une fois, nous verrons à une seconde.
Et enfin nous redirigeons revenir à portfolio.PHP.
>> Donc, nous allons jeter un oeil à le tableau de l'histoire.
Maintenant rappelez-vous que la table de l'histoire est censé garder une trace de tous les achats et
vend que tous les utilisateurs font, pas seulement la nombre actuel d'actions que la
les utilisateurs ont, ce qui est portefeuille est pour.
Nous allons donc garder la trace de l'utilisateur qui est d'acheter ou de vendre, si
cette transaction était un achat ou une vente, le symbole qui est d'être
achetés ou vendus, le nombre d'actions que nous achat ou la vente, la
prix d'une action simple qui est d'être acheté ou vendu, et enfin, le temps
que cette achat ou la vente se produit.
>> Et c'est toute l'histoire informations que nous avons besoin
à garder la trace.
Ainsi, lorsque nous avons examiné la vente, nous avons vu que nous insérons dans la vente de l'histoire,
comme si nous acheter ou vendre, l'estampille temporelle en cours, et l'
utilisateur actuel, le symbole qui est d'être vendus, le nombre d'actions qui sont
vendus, et le prix de le stock à ce moment.
De même, en acheter, ça va regarder presque la même.
La seule différence est la place de vente, nous achetons.
>> Donc, dans la vente et l'achat, nous insérer dans la table des histoires tous les
achète et vend qui se passe.
Donc tout history.php doit faire est de saisir les informations à partir de l'histoire
table, assurez-vous qu'il a réussi, et de rendre cette information.
Donc, en regardant le modèle history.php, les informations intéressantes
est ici.
>> Nous boucle sur tous les transactions, si cette impression
était un achat ou de vente, la mise en date heure que nous avons fait cette opération.
Rappelez-vous, nous devons utiliser htmlspecialchars sur l'
symbole, juste au cas où.
Et enfin, le formatage du nombre de actions qui ont été achetés et le prix
d'une seule action à ce moment.
>> Et qui affiche tout de l'histoire informations dont nous avons besoin.
Et c'est tout pour ce jeu de processeurs.
Mon nom est Rob, et ce était CS50 Finances.