>> [MUSIC SPIEL]
>> ROB BOWDEN: Hallo.
Ich bin Rob, und ich hoffe, dass Sie bereit sind Aktien in dieser Lösung setzen.
Lassen Sie uns zunächst einen Blick auf Register.
Also denken Sie daran, dass wir hier die Überprüfung zu sehen, ob eine Form war
auf dieser Seite veröffentlicht.
>> Also erste, was wir gehen zu tun ist, gehen Sie zum anderen.
Und wir werden machen das Anmeldeformular.
Also das Anmeldeformular wird zu register.php posten.
Und was wird es zu schicken?
Es geht um einen Benutzernamen zu senden, dass die Benutzer wird sich füllen, ein Kennwort
und eine Bestätigung -
das Passwort erneut eingegeben werden.
>> So, jetzt, wenn das Formular an geschrieben register.php wir diese ausführen, wenn.
Mit Blick auf diese, wenn wir zuerst gehen, um die Eingabe zu bestätigen.
Wir wollen sicherstellen, dass der Benutzername und Passwort nicht leer waren, und dass
die Bestätigung tatsächlich mit dem Passwort.
Sobald wir überprüft haben, dass wir tatsächlich registrieren Sie den Benutzer.
>> Was bedeutet das?
Nun, einfügen wollen wir die Benutzer in unserer Datenbank.
Und das ist, wie wir das tun.
So werden wir in die Benutzer einfügen Tabelle die Felder Benutzername,
Hash und Bargeld.
>> Der Standardwert von Bargeld wird zu 10.000 sein.
Und wir werden als Benutzernamen übergeben, Benutzername, den POST Super
global das ist von der Form vorgelegt.
Und wir werden zu verschlüsseln das Passwort.
>> Also, wenn das gelungen, dann ergibt wird nicht falsch sein.
Wenn er versagt, dann werden wir möchte mich entschuldigen.
Etwas ist schief gelaufen.
Und was könnte falsch gelaufen sein?
>> Nun, es muss sein eine einzigartige Benutzernamen ein.
Und so könnte die Abfrage gescheitert wenn schon der Benutzername
in der Tabelle existiert.
Also vorausgesetzt, es war eine einmalige Benutzername, dann werden wir abfragen, um zu packen das
Identifikation des Benutzers.
Beachten Sie, dass die ID Autozählen.
>> Und so, wenn das passiert, für einige nicht Grund, sich zu entschuldigen, dann wollen wir
dass wir nicht greifen die ID.
Aber unter der Annahme, dass es nicht scheitern, dann wir greifen die ID von dem, was die Abfrage
zurückgegeben, zu speichern, dass in unserer Sitzung - so um dem Benutzer in durch einloggen wollen wir
Speichern der ID der Sitzung Super global, und schließlich
Umleitung zu unserem Portfolio.
Und das ist es für die Register.
>> Jetzt werden wir auf dem Weg zu zitieren.
So Zitat ist zu haben, ein wirklich ähnliche Einrichtung.
Wir sehen hier, dass es sich um den Code, der wir werden ausgeführt, wenn ein Formular
auf dieser Seite veröffentlicht.
Aber zuerst haben wir eigentlich , um diese Form zu bringen.
So nehmen Sie einen Blick auf Angebotsformular, gibt, welche Felder?
>> Wir sehen, dass alle Angebot hat, ist eine einzige Textfeld mit dem Namen Symbol.
Und so, wenn Angebotsformular gebucht zu quote.PHP wir jetzt gehen, um
diesen Code auszuführen.
Und die einzige Variable in unserem Super-POST weltweit wird sich Symbol sein.
>> Wir bestätigen, dass Sie sicherstellen, dass sie tatsächlich geschrieben das Symbol.
Und wenn sie es nicht, sagen wir Ihnen muss eine Symbol.
Unter der Annahme, sie lieferten ein Symbol, wir schauen, dass das Symbol.
>> Jetzt nicht vergessen, dass Nachschlag haben könnte da gescheitert, na ja, vielleicht war es nicht ein
gültiges Symbol für den Anfang.
Also, wenn dieser nachschlagen return false, wir uns entschuldigen möchten, dass die
Symbol wurde nicht gefunden.
Sobald wir das Symbol gefunden, jetzt sind wir können die quote.PHP Vorlage zu machen.
>> Was macht das aus?
Das wird nur gehen, um zu drucken, dass ein Teil von was auch immer der Name war Bestände
ist es wert, was der Aktienkurs.
Nun, warum nutzen wir diese htmlspecialchars funktionieren?
Das ist, weil der Aktien Namen und das Symbol vielleicht tatsächlich enthalten spezielle
Zeichen, die nicht sollten als HTML interpretiert werden.
>> Alles klar, so dass es für Angebot.
Jetzt wollen wir schauen auf index.php und Portfolio.
Aber zuerst müssen wir eigentlich bauen Portfolios der Tabelle.
Hier ist, wie wir das zu tun.
>> Werfen wir also einen Blick auf die Struktur.
Und wir sehen, dass die Portfolios Tabelle wird, um eine ID zu haben.
Also, das wird die Benutzer-sein ID, hat Einsetzen der Aktien.
Wir haben ein Symbol, die gehen, um sein das Symbol der Firma, die wir sind
Einsetzen der Aktien.
Und dann Anteile ist die Anzahl der Aktien, die eingefügt wird.
>> Also denken Sie daran, dass nach der pset spec, Wir geben diese ID und Symbol -
wir auschecken Indizes, ID und Symbol ist der Primärschlüssel.
So eine Benutzer-ID und Symbol-Paarung sollte nur eine einzige erscheinen
Zeit in dieser Tabelle.
Jetzt schauen wir uns den Code.
>> So, jetzt index.php wird alle packen Informationen zu unserem Portfolio und
Anzeigen an den Benutzer.
Also zuerst, wir gehen, um das Geld zu greifen dass der Benutzer die momentan von
Cash-Tisch.
Denken Sie daran, dass die Abfrage wird immer , um ein Array von Arrays zurück.
Also auch wenn wir nur ausgewählte Cash aus einer einzigen Zeile, noch müssen wir
greifen, dass Geld durch Indizierung in der nullten Index der Zeilen und packte die
Cash Index.
>> So, jetzt wollen wir alle die wählen Informationen aus der Tabelle Portfolios
das ist relevant für die derzeit angemeldeten Benutzers.
Wir brauchen natürlich, dass validieren dass tatsächlich gelungen, die wir
immer tun sollten, wenn wir abfragen.
Sobald wir alle diese Informationen, die pset spec informiert uns, dass wir
sollte dies, um schön zu speichern tun alle Informationen, die in dieser
Positionen Array.
>> Daher freuen wir uns über alle die Looping Portfolio-Informationen, suchen die
Lager mit jeder Zeile in die zugehörige Portfolio-Informationen, und dann
Speichern in der Lage Array den Namen, die Preis, Aktien-und Symbol alle
mit dieser Aktie verbunden.
Und schließlich werden wir machen portfolio.PHP, vorbei an der Menge
Geld wir derzeit haben, die Positionen Array, dass wir nur
gebaut und der Titel dieses Seite, die Portfolio sein wird.
>> Werfen wir einen Blick auf portfolio.PHP.
Und wir sehen, dass die Haupt interessant Teil ist diese Schleife.
Daher freuen wir uns über die Positionen Looping Array, die Schaffung eines
Tisch, wo die Tabelle -
wir bevöl jede Zeile mit der Informationen, die wir innerhalb der Put-
Positionen Array.
>> Auch hier müssen wir htmlspecialchars im Falle dieses Symbol oder den Namen
HTML-Zeichen enthalten.
Und hier sind wir die Multiplikation der Preis-und die Menge der Aktien, die wir haben
, um zu bekommen, wie viel das ist, Zeit wert für den Benutzer.
Und das ist es für das Portfolio.
>> Jetzt werden wir einen Blick auf Verkauf zu nehmen.
So verkaufen wird, zurück zu gehen, die Format, die in register.php hatte.
Wir sehen, dass eine Form wird auf dieser Seite veröffentlicht.
Aber zuerst, wenn wir die Seite zu laden, wir werden dies tun.
>> Also, was ist diese da?
Nun, wir könnten nur noch die Seite verkaufen einen einzigen Textfeld, die der Benutzer
tritt dieses Symbol, dass wir verkaufen möchten.
Aber wir werden ein bisschen klüger sein und wir werden einen Rückgang haben
gelegt, dass kann der Benutzer wählen tatsächlichen Symbole, die sie bereits haben.
>> So bekommen wir das Portfolio des Benutzers.
Wir werden aus Portfolios wählen sämtliche Symbole, dass der Benutzer
derzeit, die aktuell angemeldeten Benutzers.
Stellen Sie sicher, dass das gelungen.
Und jetzt sind wir eine Schleife über das Gehen Informationen zurückgegeben, nur Grabbing
jedes Symbol, und Speichern Symbole in diesem Array.
>> Und jetzt sind wir zu gehen machen das Verkaufsformular.
So ist die Verkaufsform wird sich nur ein Dropdown-Menü, eine auszuwählen.
Und jede Option in der Verkaufsform werde nur drucken Sie das Symbol
dass wir von der griff Portfolios Tisch.
>> So ist die Verkaufsform wird zu zurück zu unterbreiten sell.PHP.
Mit Blick auf sell.PHP, ist dies der Code das wird ausgeführt, wenn wir vorlegen
auf diese Seite.
Wir wollen überprüfen, ob der Benutzer tatsächlich trat ein Symbol.
>> Jetzt davon aus, dass sie es taten -
so jetzt zu bestimmen, wollen wir, wie viele Aktien der Benutzer tatsächlich verkauft
und wie viel Geld bekommen sollte der Benutzer für den Verkauf, dass viele Aktien.
So greifen wir die Anzahl der Aktien, die die der Benutzer für dieses Symbol.
Wir suchen bis in die Portfolios für gegebenen Benutzer und der gegebenen Symbol.
>> Nun stellen Sie sicher, dass die tatsächlich eine Zeile zurückgegeben.
Denn wenn es nicht klappt, nicht der der Benutzer haben tatsächlich dieses Symbol zu verkaufen.
Unter der Annahme, sie haben dieses Symbol, wir, die Anzahl der greifen wollen
Aktien, die sie haben.
Und jetzt wollen wir schauen, wie viel jeder Aktie wert ist.
>> So haben wir die Funktion nachschlagen.
Wir suchen Sie den Wert des Symbols.
Unter der Annahme, dass der Blick nach oben gelungen, jetzt wir werden eigentlich alle aktualisieren
die Informationen.
Also wir von Portfolios löschen möchten die Aktien, die wir verkaufen.
Wir wollen aktualisieren Sie die Benutzer- Menge an Bargeld.
>> Und wir aktualisieren sie von Aktien mal den Aktienkurs -
so das ist, wie viel Geld der Benutzer gerade gemacht.
Und jetzt wollen wir unsere Geschichte zu aktualisieren.
So haben wir einen Blick nicht getroffen in der History-Tabelle vor.
Also werden wir zurückkommen.
>> Nun endlich werden wir umleiten zurück zum Portfolio.
Werfen wir nun einen Blick auf Kauf.
Also, kaufen sollte hübsch sein ähnlich zu verkaufen.
>> Wir sehen, dass wir wieder in Gang zu überprüfen, um zu sehen, ob wir
Vorlage zu dieser Seite.
Unter der Annahme, dass wir nicht, wir sind gehen, um die Kauf-Formular zu laden.
Also, was bedeutet das Buy Form aussehen?
>> Wir sehen hier, es ist nur eine ganz normale bilden, das ist zu gehen
zurück zu unterbreiten buy.PHP.
Und es geht um ein Symbol haben, dass der Benutzer die Eingabe der Anzahl der
Aktien, die der Benutzer kaufen will dieses Symbol, und das ist es.
Also, wenn wir zurück zu unterbreiten buy.PHP, wir sind jetzt gehen, um den Code auszuführen.
>> Wir wollen wieder zu bestätigen, dass die Benutzer eingegebenen etwas gültig.
So, hier sind wir dafür, dass sie tatsächlich trat ein Symbol.
Hier werden wir dafür sorgen, dass sie tatsächlich eingetragenen Aktien.
Und hier sind wir sicher, dass sie trat eine ganze Zahl von Aktien, so
sie versuchen nicht, ABC-Aktien zu kaufen.
>> Jetzt wollen wir sehen den Preis für die Symbol, damit wir wissen, wie viel Geld wir
sollte von dem Benutzer zu subtrahieren.
Jetzt werden wir wählen, wie viel Geld der Nutzer tatsächlich hat und stellen Sie sicher, dass
gelungen.
Hier greifen wir das Bargeld.
Und jetzt hier, wir sind dafür, dass dass der Benutzer genug Geld.
>> Also, wenn die Anzahl der Aktien der Benutzer will mal kaufen den Preis von jeweils
dieser Aktien ist größer als der Menge an Bargeld, die wir haben, dann ist die
Benutzer kann nicht leisten.
Unter der Annahme, dass der Benutzer genug Geld hat, nun in die einfügen möchten wir
Portfolio Benutzers.
Nun, wir werden in den Benutzers einfügen Portfolio, wenn dies geschieht, zu sein die
Erstmals wird der Benutzer kaufen dass bestimmte Symbol.
>> Aber was, wenn sie bereits geschehen einige Apple-Aktien haben?
Nun, jetzt sind wir die Nutzung der auf duplicate key update-Anweisung.
Also das ist, warum wir früher festgelegt, dass ID und Symbol sollte eine gemeinsame sein
Primärschlüssel, so dass, wenn wir versuchen, legen Sie eine ID und ein Symbol, das sind
schon da, wir aktualisieren werde der Aktien, die neuen Aktien, die zählen
der Benutzer kauft.
>> Nun, die Menge an aktualisieren möchten wir Geld, das der Benutzer besitzt, da sie
nur etwas Geld auf Aktien ausgegeben.
Und schließlich, wir aktualisieren die Geschichte Tisch.
Welche, wieder, wir freuen bei in einer zweiten.
Und schließlich werden wir umleiten zurück zum portfolio.PHP.
>> Werfen wir also einen Blick auf die Geschichte Tisch.
Jetzt erinnern, dass die Geschichte Tabelle soll den Überblick über alle Käufe zu halten und
verkauft, dass alle Benutzer zu machen, nicht nur die aktuelle Anzahl der Aktien, dass die
Benutzer haben, das ist, was Portfolio ist.
Also sind wir die Verfolgung der Nutzer, dass Kauf oder Verkauf, ob
diese besondere Geschäft um ein Kauf oder ein Verkauf, das Symbol, das Wesen des
gekauft oder verkauft, die Anzahl der Aktien dass wir den Kauf oder Verkauf der
Preis einer einzelnen Aktie, die Befinden gekauft oder verkauft, und schließlich die Zeit
dass dieser Kauf oder Verkauf auftritt.
>> Und das ist alles von der Geschichte Informationen, die wir brauchen
zu verfolgen.
Also, wenn wir uns in Verkauf, sahen wir, dass wurden wir in die Geschichte verkaufen Einfügen,
als ob wir kaufen oder verkaufen, die aktuelle Uhrzeit und das
aktuellen Benutzer, das Symbol, das Wesen des verkauft, die Anzahl der Aktien, die sind
verkauft werden, und der Preis der die Aktie zu diesem Zeitpunkt.
Auch in Kauf, werde es sehen fast gleich.
Der einzige Unterschied ist, anstatt der Verkauf, wir kaufen.
>> Also verkaufen und kaufen, sind wir in Einfügen die Geschichten Tabelle alle der
kauft und verkauft, die passiert sind.
Also alles history.php tun muss, ist grab die Informationen aus der Geschichte
Tisch, sicherzustellen, dass es gelang, und machen diese Informationen.
So suchen Sie in der history.php Vorlage die interessante Informationen
ist hier richtig.
>> Wir sind über alle der Schleife Transaktionen, ob diese Druck
war ein zu kaufen oder zu verkaufen, Formatierung Datum Zeit dass wir diese Transaktion.
Erinnern wir müssen htmlspecialchars am
Symbol, nur für den Fall.
Und schließlich die Anzahl der Formatierung Aktien, die gekauft wurden und der Preis
einer Aktie zu diesem Zeitpunkt.
>> Und das zeigt die ganze Geschichte Informationen, die wir brauchen.
Und das ist es für diese pset.
Mein Name ist Rob, und dies war CS50 Finance.