1 00:00:00,000 --> 00:00:05,720 2 00:00:05,720 --> 00:00:07,620 >> DOUG LLOYD: Also in unserem Video-on-PHP-Syntax, 3 00:00:07,620 --> 00:00:10,480 wir sprachen viel darüber, wie PHP können in der Befehlszeile verwendet werden 4 00:00:10,480 --> 00:00:13,620 Programme in einer Art und Weise ausgeführt, dass wir sind ziemlich vertraut mit aus C 5 00:00:13,620 --> 00:00:15,370 Aber wie ich auch erwähnt, in diesem Video, PHP 6 00:00:15,370 --> 00:00:19,572 wurde ursprünglich entwickelt implementieren Web-Programmierung, Websites. 7 00:00:19,572 --> 00:00:21,780 Und so in diesem Video sind wir gehen, um darüber, wie wir sprechen 8 00:00:21,780 --> 00:00:23,890 Verwendung von PHP in der Web-Entwicklung Kontext. 9 00:00:23,890 --> 00:00:26,360 >> Wir wissen schon, von unsere Video-on-HTML, 10 00:00:26,360 --> 00:00:29,820 dass Websites integriert sind aus einer Reihe von HTML-Tags 11 00:00:29,820 --> 00:00:32,850 dass semantisch definieren die Struktur einer Webseite. 12 00:00:32,850 --> 00:00:35,910 Aber Websites, die sind mit reinem HTML gebaut 13 00:00:35,910 --> 00:00:39,510 leiden unter einer sehr, sehr ernste Einschränkung. 14 00:00:39,510 --> 00:00:42,690 >> Und um diese Einschränkung zu veranschaulichen, Betrachten wir das folgende. 15 00:00:42,690 --> 00:00:45,665 So, jetzt möchte ich eine Web-Seite zu bauen dass immer dann, wenn der Benutzer besucht sie, 16 00:00:45,665 --> 00:00:49,760 es gibt mir die aktuellen Zeit in Cambridge, Mass., 17 00:00:49,760 --> 00:00:52,620 Anzeige es auf die neueste Minute. 18 00:00:52,620 --> 00:00:57,910 Wenn ich machte dieses Recht jetzt, Ich könnte so etwas wie dies zu sagen. 19 00:00:57,910 --> 00:01:01,330 Aktuelle Zeit in Cambridge-- so habe ich HTML-Tags, Kopf-Tags, Titel-Tags, 20 00:01:01,330 --> 00:01:04,610 Körper tags-- die aktuelle Zeit in Cambridge ist 14.08 Uhr, 21 00:01:04,610 --> 00:01:06,690 Ausdrucken Militärzeit. 22 00:01:06,690 --> 00:01:11,390 >> Was passiert, wenn es ist jetzt 02.09 Uhr, 14.09 Uhr? 23 00:01:11,390 --> 00:01:16,470 Bisher gut mit HTML, ich habe zu gehen und ändern Sie ihn auf 14.09. 24 00:01:16,470 --> 00:01:19,390 Und dann eine Minute später Ich muss es wieder ändern. 25 00:01:19,390 --> 00:01:22,132 Und dann eine Minute später Ich muss es wieder ändern. 26 00:01:22,132 --> 00:01:24,590 Und wie Sie sich vorstellen können, ist, dass wahrscheinlich der schlimmste Job überhaupt. 27 00:01:24,590 --> 00:01:29,420 Sie sind der Webmaster für eine Web-Seite, und jede Minute, 24 Stunden am Tag, 28 00:01:29,420 --> 00:01:35,970 Sie die aktuelle Zeit aktualisieren müssen manuellen Öffnen time.html und Ändern 29 00:01:35,970 --> 00:01:41,750 nur, dass Code-Snippet, um das sagen, aktuelle Zeit in Stunden und Minuten. 30 00:01:41,750 --> 00:01:45,850 Das ist wahrscheinlich nicht sehr guter Umgang mit unseren Ressourcen, 31 00:01:45,850 --> 00:01:48,880 Mensch und Rechen. 32 00:01:48,880 --> 00:01:51,297 >> Websites, die alle HTML sind sind völlig statisch. 33 00:01:51,297 --> 00:01:53,630 Die einzige Möglichkeit, zu aktualisieren können Inhalte, wie wir gerade gesehen haben, 34 00:01:53,630 --> 00:01:56,339 ist für diejenigen, Quelle manuell öffnen Dateien, bearbeiten und speichern. 35 00:01:56,339 --> 00:01:58,088 Und dann, wenn der Benutzer aktualisiert die Seite, 36 00:01:58,088 --> 00:02:01,080 oder besucht die Seite zum ersten Zeit, werden sie die neuesten Inhalte zu erhalten. 37 00:02:01,080 --> 00:02:03,970 Aber nur, weil wir es manuell bearbeitet. 38 00:02:03,970 --> 00:02:07,980 >> Wenn wir beginnen, einige PHP dort zu mischen, unseren Code bekommen kann viel flexibler. 39 00:02:07,980 --> 00:02:11,940 Und wir können einen Weg für unsere Seiten haben dynamisch zu sein, oder zu aktualisieren, selbst, 40 00:02:11,940 --> 00:02:15,360 ohne unsere armen erfordern Webmaster im vorherigen Beispiel 41 00:02:15,360 --> 00:02:16,662 um manuell aktualisieren Dinge. 42 00:02:16,662 --> 00:02:17,870 Sie können sie automatisch zu tun. 43 00:02:17,870 --> 00:02:19,130 Wir haben nicht zu intervenieren. 44 00:02:19,130 --> 00:02:20,410 Wir können etwas Schlaf zu bekommen. 45 00:02:20,410 --> 00:02:24,850 Das ist wahrscheinlich eine gute Sache, wenn Sie tun eine Menge von Web-Programmierung. 46 00:02:24,850 --> 00:02:28,360 >> So in CS50 IDE, laufen wir ein Web-Server Apache genannt. 47 00:02:28,360 --> 00:02:35,250 Es ist eine sehr häufig verwendete, Open-Source-Web-Server-System. 48 00:02:35,250 --> 00:02:37,320 Dieses System hat den Kapazität zu interpretieren 49 00:02:37,320 --> 00:02:41,260 PHP, die gehen, sinnvoll, wenn zu sein Sie beliebige PHP-Programmierung zu tun. 50 00:02:41,260 --> 00:02:45,230 >> Und in CS50 IDE, einen Befehl müssen wir Dieses sehr einfach zu tun, um sicherzustellen, 51 00:02:45,230 --> 00:02:47,280 apache50 starten. 52 00:02:47,280 --> 00:02:49,445 Und dann, dass Schrägstrich Pfad, Schrägstrich an, Schrägstrich 53 00:02:49,445 --> 00:02:53,350 dir, das ist nur eine wirklich gemeinsame Wege anzeigt, was Sie hier festgelegt haben 54 00:02:53,350 --> 00:02:56,510 ist ein Pfad zu einer bestimmten Verzeichnis, das Sie 55 00:02:56,510 --> 00:03:00,800 wollen die Wurzel sein Website oder die Root-Seite, 56 00:03:00,800 --> 00:03:05,430 oder den Ordner, aus dem Sie Ihre Web-Server wird gestartet, um Dateien zu prüfen und zu dienen 57 00:03:05,430 --> 00:03:07,850 sie bis zum Kunden, die sie verlangen. 58 00:03:07,850 --> 00:03:12,110 Lassen Sie uns also über Pop bis CS50 IDE, nur um zeigen Ihnen, wirklich schnell, wie das funktioniert. 59 00:03:12,110 --> 00:03:30,930 60 00:03:30,930 --> 00:03:36,240 >> Also hier in CS50 IDE, ich bin in einer Verzeichnis namens Week Null Neun. 61 00:03:36,240 --> 00:03:38,890 Und ich habe two-- Ich habe ausgeführt ein LS-Befehl gerade 62 00:03:38,890 --> 00:03:41,910 oben, um Ihnen zu zeigen, dass ich zwei Verzeichnisse in hier, PHP, 63 00:03:41,910 --> 00:03:46,410 dem der Satz von Dateien, die ich früher in ist die PHP-Syntax-Video, und dann PHP-Web, 64 00:03:46,410 --> 00:03:49,380 dem der Satz von Dateien ist, dass ich möchte in diesem Video zu verwenden. 65 00:03:49,380 --> 00:03:53,480 >> Und ich möchte anfangen ein Web-Server-Instanz 66 00:03:53,480 --> 00:03:59,089 mit dem Inhalt der PHP-Web-Ordner da die Dateien werden bis serviert. 67 00:03:59,089 --> 00:04:00,130 Also, was soll ich nur tun? 68 00:04:00,130 --> 00:04:05,710 Ich werde apache50 Raum geben beginnen, Raum PHP, Web-Bindestrich. 69 00:04:05,710 --> 00:04:08,100 Das ist der Pfad zum Verzeichnis von wo ich gerade bin. 70 00:04:08,100 --> 00:04:09,127 Dann traf ich ein. 71 00:04:09,127 --> 00:04:10,960 Es geht um eine zu tun wenig Sachen hier. 72 00:04:10,960 --> 00:04:14,030 Und dann, es wird sagen: Apache wurde erfolgreich gestartet. 73 00:04:14,030 --> 00:04:20,689 Ihre Website ist ab sofort verfügbar und at-- dann gibt es die URL für die Website. 74 00:04:20,689 --> 00:04:21,730 Also, was soll ich nur tun? 75 00:04:21,730 --> 00:04:26,234 Ich werde schnell kopieren diese. 76 00:04:26,234 --> 00:04:28,900 Und ich werde up-- zu öffnen und Ich werde verkleinern etwas hier-- 77 00:04:28,900 --> 00:04:31,570 Ich werde eröffnen ein neuer Tab in Chrome. 78 00:04:31,570 --> 00:04:34,320 Und ich werde diese URL zu besuchen. 79 00:04:34,320 --> 00:04:35,299 >> Ich werde drücken Sie Enter. 80 00:04:35,299 --> 00:04:36,090 Es wird geladen. 81 00:04:36,090 --> 00:04:37,510 Und ich werde wieder zu verkleinern. 82 00:04:37,510 --> 00:04:41,350 Und wir hier sehen ist die Inhalt meiner PHP-Web-Verzeichnis. 83 00:04:41,350 --> 00:04:45,290 >> So, jetzt, was ist im Grunde passiert ist hier, meine Instanz CS50 IDE 84 00:04:45,290 --> 00:04:49,620 dient diese Dateien zu jeder, der sie anfordert. 85 00:04:49,620 --> 00:04:51,620 Und im Laufe Dieses Video, werden wir von sortieren 86 00:04:51,620 --> 00:04:55,400 einen Blick auf ein Bündel von diesen verschiedene Dateien im Kontext. 87 00:04:55,400 --> 00:04:57,614 >> Um zu testen, dass Ihre Apache Server funktioniert, 88 00:04:57,614 --> 00:04:59,780 die in der Regel geht der Fall in CS50 IDE ist, 89 00:04:59,780 --> 00:05:02,696 aber wenn Sie dies im Allgemeinen zu tun, und Sie den Aufbau Ihrer eigenen Web starten 90 00:05:02,696 --> 00:05:04,990 Server, es gibt eine wirklich häufigste Art von Analog, 91 00:05:04,990 --> 00:05:08,500 "Hallo Welt", die in der Regel ist PHP-Web-Entwicklung verwendet. 92 00:05:08,500 --> 00:05:12,855 Es ist, eine Datei bestehend aus gerade diesem code-- 93 00:05:12,855 --> 00:05:18,247 ein PHP-Trennzeichen mit PHP Info-Set, Klammern, Semikolon dazwischen. 94 00:05:18,247 --> 00:05:20,580 Welches ist im Grunde eine Sonder PHP-Funktion, die Ihnen sagt 95 00:05:20,580 --> 00:05:23,970 Welche Version von PHP ausgeführt werden. 96 00:05:23,970 --> 00:05:26,850 >> So in CS50 IDE habe ich die Datei zur Verfügung nur 97 00:05:26,850 --> 00:05:28,680 um Ihnen zu zeigen, was das aussehen würde. 98 00:05:28,680 --> 00:05:32,860 So sehe ich auf meinen Zeige von meinem PHP-Instanz. 99 00:05:32,860 --> 00:05:35,870 Meine Apache-Instanz läuft der Inhalt der PHP-Web. 100 00:05:35,870 --> 00:05:39,290 Und ich habe eine Datei hier info.php genannt. 101 00:05:39,290 --> 00:05:41,164 >> Ich werde Sie darauf, zu verkleinern. 102 00:05:41,164 --> 00:05:43,080 Dies ist, was du gehst um zu sehen, ziemlich viel. 103 00:05:43,080 --> 00:05:45,729 Dies ist nur sagen mir, dass meinem Apache-Server funktioniert. 104 00:05:45,729 --> 00:05:48,270 Und dies ist offensichtlich das PHP-Version aus, die ich laufen. 105 00:05:48,270 --> 00:05:51,590 Das ist mein Analog-zu "Hallo Welt." 106 00:05:51,590 --> 00:05:53,070 >> Ich weiß also, die Dinge sind in Betrieb. 107 00:05:53,070 --> 00:05:54,150 So sind wir gut zu gehen. 108 00:05:54,150 --> 00:05:55,730 Wir können von hier gehen. 109 00:05:55,730 --> 00:05:57,790 >> Also lassen Sie uns erneut, dass Zeit Beispiel waren wir 110 00:05:57,790 --> 00:06:01,950 im Gespräch mit unseren armen Webmaster , die um die Seite ständig zu aktualisieren hatten. 111 00:06:01,950 --> 00:06:05,020 Dies könnte eine Lösung für, wie sein Ich würde die Dinge umsetzen 112 00:06:05,020 --> 00:06:08,080 so dass der Webmaster nicht haben zu halten Aktualisierung der Zeit. 113 00:06:08,080 --> 00:06:10,270 Es wäre nur eine Art geschieht automatisch. 114 00:06:10,270 --> 00:06:13,710 >> Die unten unten, die HTML, ist es ziemlich ähnlich, mit einer Ausnahme. 115 00:06:13,710 --> 00:06:16,720 Aber hier habe ich einige PHP an der Spitze stand. 116 00:06:16,720 --> 00:06:19,940 Ich habe, offenbar, nannte diese Funktion date_default_timezone_set. 117 00:06:19,940 --> 00:06:22,106 >> Und wir reden nicht über alle diese Funktionen in CS50, 118 00:06:22,106 --> 00:06:24,670 weil PHP ist wahrscheinlich Zehntausende. 119 00:06:24,670 --> 00:06:27,540 Das könnte ein bisschen wie ein sein übertrieben, aber es könnte nicht sein. 120 00:06:27,540 --> 00:06:29,490 Es ist eine Menge von Funktionen eingebaut habe. 121 00:06:29,490 --> 00:06:33,290 Und so ist dies eine Funktion offenbar setzt meine Zeitzone wie US / Eastern, 122 00:06:33,290 --> 00:06:36,320 das ist die Zeitzone, die ich derzeit bei der Herstellung dieses Video. 123 00:06:36,320 --> 00:06:38,430 >> Dann habe ich einen Anruf zu machen, Funktion mit dem Namen, Datum. 124 00:06:38,430 --> 00:06:43,850 Und es scheint, ich bin die Speicherung der HIS der so genannten, Zeit. 125 00:06:43,850 --> 00:06:45,320 Also, was ist denn hier los? 126 00:06:45,320 --> 00:06:48,040 >> Nun, im Grunde, was ist passiert ist, ich mache einen Anruf 127 00:06:48,040 --> 00:06:51,650 bis zu einem gewissen Server, der gehen wird sagen Sie mir, was die Zeit noch ist. 128 00:06:51,650 --> 00:06:56,150 Und ich Umwandlung in ein Format, Stunden, Minuten, Sekunden. 129 00:06:56,150 --> 00:07:00,540 Und der Grund, seine Hauptstadt ist dieses H wird mich 24 Stunden Zeit 12 zu geben, nicht 130 00:07:00,540 --> 00:07:02,362 Stunde Zeit, die Kleinbuchstaben h wäre. 131 00:07:02,362 --> 00:07:04,570 Und ich bin einfach nur zu speichern, dass in einer Variable namens, Zeit. 132 00:07:04,570 --> 00:07:07,028 So dass der zweite Zeile PHP Dort wird der Aufruf der Funktion, 133 00:07:07,028 --> 00:07:09,037 Bisher ist nur immer einige String, der ist 134 00:07:09,037 --> 00:07:12,120 werde mir den Tag zu geben, und die Zeit und ein paar andere Informationen. 135 00:07:12,120 --> 00:07:16,480 Und das erste Argument gibt, dass HIS, Nur Extrahieren der wichtigste Teil 136 00:07:16,480 --> 00:07:20,614 dass ich kümmern uns für dieses Beispiel, Das ist die Stunde, Minute und Sekunde. 137 00:07:20,614 --> 00:07:22,030 Das ist also der alles, was vor sich geht. 138 00:07:22,030 --> 00:07:23,562 Also habe ich zu speichern, dass in einer Variablen $ Zeit. 139 00:07:23,562 --> 00:07:25,270 Und dann hinunter auf die ganz unten da, ich 140 00:07:25,270 --> 00:07:28,980 haben, dass eine Abkürzung für Ausdrucken der aktuellen Zeit. 141 00:07:28,980 --> 00:07:32,050 Also ich werde einfach zu drucken was die aktuelle Zeit. 142 00:07:32,050 --> 00:07:37,220 >> Werfen wir also einen Blick auf diese in CS50 IDE und sehen, wie wir jetzt sind 143 00:07:37,220 --> 00:07:40,002 Spar, dass Webmaster eine Menge Ärger. 144 00:07:40,002 --> 00:07:42,570 In Ordnung, so hier bin ich wieder zurück auf das Root-Verzeichnis 145 00:07:42,570 --> 00:07:45,040 meine Apache-Instanz. 146 00:07:45,040 --> 00:07:51,585 Und ich habe eine Datei hier genannt time.php. 147 00:07:51,585 --> 00:07:53,559 Ich werde einfach auf, dass klicken. 148 00:07:53,559 --> 00:07:55,850 Und ich werde nach oben, denn wir in ziemlich weit herausgezoomt. 149 00:07:55,850 --> 00:07:57,257 Die aktuelle Uhrzeit ist 14.20.34. 150 00:07:57,257 --> 00:07:59,090 So mache ich es Stunden, Minuten und Sekunden. 151 00:07:59,090 --> 00:08:01,910 Und ich kann das erfrischen Seite und neue Zeit. 152 00:08:01,910 --> 00:08:02,420 --41. 153 00:08:02,420 --> 00:08:07,240 Ich werde die Seite zu aktualisieren und neue Zeit, 44, 46, 47. 154 00:08:07,240 --> 00:08:10,490 >> Also, ich bin eindeutig nicht etwas zu ändern mir. 155 00:08:10,490 --> 00:08:11,720 Ich bin hier die Seite zu aktualisieren. 156 00:08:11,720 --> 00:08:13,711 So kann ich nicht wieder dort zu bearbeiten. 157 00:08:13,711 --> 00:08:15,710 Und ich verspreche Ihnen, ich nicht keine Verbündeten 158 00:08:15,710 --> 00:08:18,230 die Bearbeitung der Datei sind in meinem Namen an der Seite. 159 00:08:18,230 --> 00:08:21,260 >> Ich bin einfach nur mit, dass PHP-Funktion, Zeit, um die Zeit für mich zu generieren 160 00:08:21,260 --> 00:08:22,340 automatisch. 161 00:08:22,340 --> 00:08:24,800 So dass selbst wenn ich schlafe, und meine Web-Server läuft, 162 00:08:24,800 --> 00:08:28,884 der Benutzer, der Besuche, die Seite ist noch gehen, um die aktuelle Uhrzeit genau das bekommen. 163 00:08:28,884 --> 00:08:29,800 Also das ist ziemlich gut. 164 00:08:29,800 --> 00:08:33,609 Ich habe meine Website dynamischer gemacht mit nicht zu viel PHP-Code. 165 00:08:33,609 --> 00:08:36,650 Es war nur zwei Zeilen Code und dann ein bisschen von einer print-Anweisung. 166 00:08:36,650 --> 00:08:38,441 Und schon habe ich ein viel dynamischer Website 167 00:08:38,441 --> 00:08:42,750 als die ersten Beispiel haben wir gesehen am Anfang des Videos. 168 00:08:42,750 --> 00:08:46,660 >> Also, erinnern von der Video-on-PHP-Syntax dass, wenn der PHP-Interpreter läuft 169 00:08:46,660 --> 00:08:50,000 unser Programm, alles ignoriert das ist nicht das Innere des PHP-Trennzeichen, 170 00:08:50,000 --> 00:08:51,500 Spucken Sie es aus. 171 00:08:51,500 --> 00:08:54,410 In diesem Beispiel, was die Sache dass es spuckt war HTML. 172 00:08:54,410 --> 00:08:58,080 Und das bedeutet, kann ich jetzt setzen HTML und PHP zusammen. 173 00:08:58,080 --> 00:09:01,920 Da der Interpreter nur ignorieren Sie die HTML und buchstäblich auszugeben. 174 00:09:01,920 --> 00:09:04,140 Das ist gut, nicht wahr? 175 00:09:04,140 --> 00:09:06,100 >> Weil vermutlich am Ende des Tages, 176 00:09:06,100 --> 00:09:08,360 Ich würde meine Website zu mögen HTML aufgebaut sein. 177 00:09:08,360 --> 00:09:12,880 So dass jeder Web-Browser interpretieren kann , oder zu verstehen, die HTML auf der Seite 178 00:09:12,880 --> 00:09:17,270 und machen es als etwas, das wir kann tatsächlich als Menschen zu verstehen. 179 00:09:17,270 --> 00:09:19,430 Und ich kann nur mit PHP für die Teile von meiner Seite 180 00:09:19,430 --> 00:09:23,390 die verlangen, Dynamik, die mich erfordern die Dinge, die ständig zu aktualisieren. 181 00:09:23,390 --> 00:09:26,630 Die statische Information können die gleichen bleiben. 182 00:09:26,630 --> 00:09:27,540 >> OK, so ist das in Ordnung. 183 00:09:27,540 --> 00:09:28,540 Aber warum sollte ich das tun? 184 00:09:28,540 --> 00:09:30,400 Warum sollte ich HTML und PHP mischen? 185 00:09:30,400 --> 00:09:33,850 Ich habe gerade zu drucken konnten alle HTML, mit der PHP-Druckfunktion. 186 00:09:33,850 --> 00:09:35,870 Warum bin ich nicht zu tun, dass? 187 00:09:35,870 --> 00:09:37,100 Denken Sie darüber für eine Sekunde. 188 00:09:37,100 --> 00:09:41,220 >> Warum, wenn ich nur drucken konnte out-- I könnte Zeilen PHP, die einfach sagen haben, 189 00:09:41,220 --> 00:09:43,841 Druck HTML-Tag, Druckkopf. 190 00:09:43,841 --> 00:09:44,840 Warum bin ich nicht zu tun, dass? 191 00:09:44,840 --> 00:09:48,230 Warum bin ich das Mischen des PHP und HTML? 192 00:09:48,230 --> 00:09:50,080 >> Nun, wenn Sie denken, darüber für eine Sekunde. 193 00:09:50,080 --> 00:09:52,824 PHP hat der Dolmetscher zu interpretieren, was es sieht. 194 00:09:52,824 --> 00:09:54,990 Und so ist es zu haben, um eine Codezeile auszuführen. 195 00:09:54,990 --> 00:09:56,450 Drucken Sie HTML. 196 00:09:56,450 --> 00:09:57,700 Drucken Sie offenen Kopf-Tag. 197 00:09:57,700 --> 00:09:58,969 Drucken Sie offene Titel-Tag. 198 00:09:58,969 --> 00:10:00,760 Es wird zu haben, auszuführen und zu interpretieren, 199 00:10:00,760 --> 00:10:02,671 dass jeder einzelne Schritt des Weges. 200 00:10:02,671 --> 00:10:04,670 Warum nicht einfach lassen Sie die Dolmetscher nur beschönigen 201 00:10:04,670 --> 00:10:06,878 Dinge, die es nicht versteht, und tun es automatisch? 202 00:10:06,878 --> 00:10:11,365 Es wird mir eine Menge Zeit zu sparen zu meinem HTML und meine PHP zusammen mischen. 203 00:10:11,365 --> 00:10:16,220 >> Und damit ist, warum wir es nicht tun einfach nur offene PHP Trennzeichen 204 00:10:16,220 --> 00:10:19,450 und dann gerade aus der gesamten drucken Inhalt unserer Seite als ein riesiger PHP 205 00:10:19,450 --> 00:10:24,330 rufen Sie an die Funktion, Drucken und anschließend close PHP Trennzeichen und wir sind fertig. 206 00:10:24,330 --> 00:10:27,620 Also das ist, warum wir mischen sie zusammen. 207 00:10:27,620 --> 00:10:32,345 >> Bisher haben wir nicht zu viel ersichtlich ein Unterschied zu allgemeinen PHP-Syntax. 208 00:10:32,345 --> 00:10:33,720 Es ist ziemlich einfach. 209 00:10:33,720 --> 00:10:35,553 Wir haben bereits gesehen, die Fragezeichen, gleich. 210 00:10:35,553 --> 00:10:39,012 Wir sahen ein paar neue Funktionsaufrufe, aber nichts wirklich Besonderes los. 211 00:10:39,012 --> 00:10:40,720 Lassen Sie uns vielleicht Dinge machen ein wenig schicker. 212 00:10:40,720 --> 00:10:44,360 Was, wenn wir Informationen weitergeben wollen zwischen verschiedenen PHP-Dateien, 213 00:10:44,360 --> 00:10:47,280 so dass vielleicht kann der Benutzer Informationen vorlegen zu mir. 214 00:10:47,280 --> 00:10:50,230 Und dann, ich könnte etwas tun, damit auf einer anderen Seite. 215 00:10:50,230 --> 00:10:52,990 >> So hat die Unterstützung für PHP so genannte Super-Welt 216 00:10:52,990 --> 00:10:55,297 Variablen, die ziemlich genial klingt. 217 00:10:55,297 --> 00:10:57,130 Sie sind wirklich einfach Riesen assoziativen Arrays 218 00:10:57,130 --> 00:10:59,900 dass zur Verwirklichung dieses Funktionalität der Weitergabe 219 00:10:59,900 --> 00:11:05,010 Informationen zwischen den PHP-Dateien, beruhen auf unseren Web-Server vorhanden sind. 220 00:11:05,010 --> 00:11:07,760 >> Die erste dieser Super Globals heißt $ _GET. 221 00:11:07,760 --> 00:11:10,140 Und es ist wahrscheinlich die einfachsten zu verstehen. 222 00:11:10,140 --> 00:11:12,430 Was passiert mit $ _GET? 223 00:11:12,430 --> 00:11:16,240 Nun, im Grunde ist der Benutzer gehen, um zusätzliche Informationen geben 224 00:11:16,240 --> 00:11:18,390 am Ende der URLs. 225 00:11:18,390 --> 00:11:21,460 Und was sie geben, unter der Annahme, es auf eine bestimmte Weise formatiert 226 00:11:21,460 --> 00:11:25,830 genannt Query-String, der gerade ist eine Reihe von Schlüssel-Wert-Paare getrennt 227 00:11:25,830 --> 00:11:27,810 von Et-Zeichen. 228 00:11:27,810 --> 00:11:32,362 Diese Schlüssel-Wert-Paare werden in einem $ _GET assoziatives Array gespeichert. 229 00:11:32,362 --> 00:11:34,070 Und aus unserem Video-on- PHP-Syntax, wir wissen, 230 00:11:34,070 --> 00:11:40,080 wie man mit der Arbeit assoziative Arrays bereits. 231 00:11:40,080 --> 00:11:44,090 So, hier ist ein Beispiel dafür, einige PHP, wo vielleicht bin ich 232 00:11:44,090 --> 00:11:50,180 Extrahieren aller Schlüsselwertpaare dass der das in der URL des Benutzers. 233 00:11:50,180 --> 00:11:51,970 So habe ich meine Öffnen PHP Trennzeichen. 234 00:11:51,970 --> 00:11:53,410 Ich habe eine foreach-Schleife. 235 00:11:53,410 --> 00:11:57,410 Ich bin über den Super-Iteration Globale Array namens $ _GET. 236 00:11:57,410 --> 00:12:00,160 >> Und ich möchte in der Lage, zu beziehen sowohl für die Schlüssel und Wert. 237 00:12:00,160 --> 00:12:02,410 Und ich bin einfach nur auszudrucken heraus, die jeweils auf scheinbar 238 00:12:02,410 --> 00:12:03,780 seinen eigenen Absatz-Tag hier. 239 00:12:03,780 --> 00:12:07,620 Ich Ausdrucken einige HTML und Interpolieren der Werte 240 00:12:07,620 --> 00:12:12,900 der Schlüssel und Wert dieser Aussage. 241 00:12:12,900 --> 00:12:16,980 >> Werfen wir also einen Blick auf, wie diese tatsächlich auf unserem IDE arbeiten. 242 00:12:16,980 --> 00:12:18,980 Und vielleicht hilft veranschaulichen ein bisschen 243 00:12:18,980 --> 00:12:21,880 von dem, was zu bekommen ist eigentlich tun. 244 00:12:21,880 --> 00:12:23,610 Also bin ich wieder hier in meinem Web-Root. 245 00:12:23,610 --> 00:12:25,318 Und ich werde in ein heran wenig, um Ihnen zu zeigen, 246 00:12:25,318 --> 00:12:28,620 dass ich eine Datei mit dem Namen, get1.php. 247 00:12:28,620 --> 00:12:31,830 >> Lassen Sie uns also auf get1.php klicken. 248 00:12:31,830 --> 00:12:36,600 Und ich bin keine Inhalte nicht zu sehen. 249 00:12:36,600 --> 00:12:38,390 Das ist seltsam, nicht wahr? 250 00:12:38,390 --> 00:12:39,740 Nun, nicht wirklich wirklich. 251 00:12:39,740 --> 00:12:42,030 Weil ich nicht liefern alles in der URL. 252 00:12:42,030 --> 00:12:46,270 Ich werde get1.php, aber ich brachte keine Schlüsselwertpaare liefern 253 00:12:46,270 --> 00:12:47,450 als Teil meiner Query-String. 254 00:12:47,450 --> 00:12:50,510 So fügen wir eine Abfragezeichenfolge und sehen, was diese Datei zu tun. 255 00:12:50,510 --> 00:12:53,040 >> Um eine Query-String Sie beginnen geben Sie einfach Fragezeichen. 256 00:12:53,040 --> 00:13:00,820 Dann werde ich vielleicht sagen, name = Doug & year = 2015. 257 00:13:00,820 --> 00:13:02,914 Und dann werde ich drücken Sie Enter. 258 00:13:02,914 --> 00:13:04,080 Nun beachtet, was passiert. 259 00:13:04,080 --> 00:13:05,480 Ich bin immer noch in get1.php. 260 00:13:05,480 --> 00:13:08,445 Aber jetzt habe ich zugeführt Schlüssel-Wert-Paare, und ich bin 261 00:13:08,445 --> 00:13:14,940 Drucken Sie sie auf eigene Faust paragraph-- Namen, Doug-- Jahr 2015. 262 00:13:14,940 --> 00:13:17,970 Das ist genau der Code, den wir gerade sah auf dem Objektträger vor einem Augenblick. 263 00:13:17,970 --> 00:13:22,290 >> Und wenn ich vielleicht hinzufügen, ein weiterer Schlüssel-Wert-Paar, & class = CS50. 264 00:13:22,290 --> 00:13:25,325 265 00:13:25,325 --> 00:13:27,580 Jetzt habe ich eine weitere Schlüsselwert Paar, das ausgedruckt ist 266 00:13:27,580 --> 00:13:30,025 wenn ich die URL erneut zu überdenken. 267 00:13:30,025 --> 00:13:31,900 Nun ist dies vielleicht auch nicht schrecklich gut formatiert. 268 00:13:31,900 --> 00:13:33,660 So habe ich eine andere Version von get.php. 269 00:13:33,660 --> 00:13:36,350 Es ist get2.php. 270 00:13:36,350 --> 00:13:39,070 >> Der Unterschied in dieser man ich CSS-Datei, 271 00:13:39,070 --> 00:13:41,690 und es formatiert Dinge ein wenig mehr schön für mich. 272 00:13:41,690 --> 00:13:43,940 Es ist vielleicht nicht die meisten schöne CSS in der Welt. 273 00:13:43,940 --> 00:13:45,650 Aber es ist nur ein weiterer Weg, es zu tun. 274 00:13:45,650 --> 00:13:52,840 So kann ich immer noch Zugang zu erhalten auf meine Variablen mit $ _GET. 275 00:13:52,840 --> 00:13:56,610 Und in diesem Fall, ich bin nur irgendwie so dass die CSS ein wenig mehr Phantasie. 276 00:13:56,610 --> 00:13:58,360 Und wenn wir über Pop bis hin zu meine IDE für eine zweite, 277 00:13:58,360 --> 00:14:06,870 Ich werde dich in meinem PHP-Web zeigen Verzeichnis hier get2.php. 278 00:14:06,870 --> 00:14:10,010 Wir werden es hier eröffnen, einige HTML. 279 00:14:10,010 --> 00:14:13,220 Anscheinend bin ich, dass die Verknüpfung CSS-Datei ich rede. 280 00:14:13,220 --> 00:14:14,570 Ich öffne eine Tabelle Tag. 281 00:14:14,570 --> 00:14:15,970 Und dann ist hier meine foreach-Schleife. 282 00:14:15,970 --> 00:14:18,450 >> Hier ist das, was ich zeigte auf der Folie vor. 283 00:14:18,450 --> 00:14:21,007 Der einzige Unterschied ist, I haben diese Schlüssel und Wert CSS 284 00:14:21,007 --> 00:14:22,340 Styling, das ich bin, es zu Anwendung. 285 00:14:22,340 --> 00:14:25,622 Aber das ist alles, was ich tue, ist, ich bin Iteration über $ _GET, um alle zu erhalten 286 00:14:25,622 --> 00:14:26,580 der Schlüsselwert-Paaren. 287 00:14:26,580 --> 00:14:28,890 >> Und ich bin dem Drucken aus, wie die Tabelle. 288 00:14:28,890 --> 00:14:33,230 Und es scheint, ich bin der Formatierung der Schlüssel in einer Art und Weise, mit der 00:14:40,057 So offensichtlich, dass gilt für einige Klassenauswahl in meinem CSS-Datei GET.CSS. 290 00:14:40,057 --> 00:14:42,890 Und es scheint, ich bin Ausdrucken meine Werte eine ganz andere Art und Weise. 291 00:14:42,890 --> 00:14:45,530 Das ist ziemlich viel was wir hier, wo gesehen 292 00:14:45,530 --> 00:14:47,710 unsere Werte wurden gedruckt mit einem blauen Hintergrund, 293 00:14:47,710 --> 00:14:49,969 und unsere Schlüssel wurden gedruckt mit einem gelben Hintergrund. 294 00:14:49,969 --> 00:14:52,010 Also das ist, wie ich bin immer diese verschiedenen Stilen. 295 00:14:52,010 --> 00:14:54,054 Da bin ich mit verschiedenen CSS-Klassen. 296 00:14:54,054 --> 00:14:55,470 Aber das ist ziemlich viel es für GET. 297 00:14:55,470 --> 00:14:58,380 Wie bin ich nur das Extrahieren von Informationen. 298 00:14:58,380 --> 00:15:01,000 Und in diesem Fall, ich bin nur Drucken sie auf den Bildschirm. 299 00:15:01,000 --> 00:15:04,310 Ich bekomme es aus der URL, und das ist, was GET für uns tut. 300 00:15:04,310 --> 00:15:06,470 >> Haben Sie einen möglichen zu sehen Problem hier eigentlich? 301 00:15:06,470 --> 00:15:11,720 Warum sollten wir vielleicht nicht wollen, um $ _GET verwenden? 302 00:15:11,720 --> 00:15:15,440 Was ist, wenn, vielleicht war ich so diese Abfrage? 303 00:15:15,440 --> 00:15:18,000 --to get3.php, die ich müssen nicht auf meinem IDE. 304 00:15:18,000 --> 00:15:19,640 Es ist nur eine hypothetische Datei. 305 00:15:19,640 --> 00:15:22,187 Aber beachten Sie, dass hier offenbar vorbei mein Passwort in. 306 00:15:22,187 --> 00:15:23,770 Und vielleicht mein Passwort ist peinlich. 307 00:15:23,770 --> 00:15:28,070 Oder vielleicht ich nicht die Menschen zu wollen, wissen, was mein Passwort ist, richtig. 308 00:15:28,070 --> 00:15:33,140 >> Wenn ich übergeben Sie though--, wenn ich mit die $ _GET-Methode, was passiert ist, 309 00:15:33,140 --> 00:15:34,970 das wird in der URL sein. 310 00:15:34,970 --> 00:15:39,890 So dass einige böswillige Benutzer könnte in der Lage sein zu sehen, was ich tue. 311 00:15:39,890 --> 00:15:42,040 Ich kann sein Weitergabe sensible Informationen. 312 00:15:42,040 --> 00:15:43,310 Oder vielleicht ist es noch nicht einmal ein böswilliger Benutzer. 313 00:15:43,310 --> 00:15:45,790 Vielleicht ist es nur Ihren Freund, über die Schulter stehen. 314 00:15:45,790 --> 00:15:47,650 Und jetzt sind sie das Passwort kennen auf Ihre Facebook-Account. 315 00:15:47,650 --> 00:15:49,483 >> Und vielleicht würden sie nicht nichts mit ihm. 316 00:15:49,483 --> 00:15:53,749 Aber wenn Sie Ihr Passwort waren über $ _GET an Facebook übermittelt, 317 00:15:53,749 --> 00:15:55,290 jetzt wissen sie Ihrem Facebook-Passwort. 318 00:15:55,290 --> 00:15:59,000 Denn es ist direkt in der URL wenn Sie die Übermittlung von Informationen gemacht habe. 319 00:15:59,000 --> 00:16:01,887 >> Und so vielleicht ist das nicht die beste Weise vertrauliche Informationen weitergeben. 320 00:16:01,887 --> 00:16:04,470 Es ist ein guter Weg, um Informationen weiterzugeben dass wir nicht besonders 321 00:16:04,470 --> 00:16:05,886 kümmern uns um als zu empfindlich. 322 00:16:05,886 --> 00:16:09,347 Da GET ist ziemlich schnell, relativ zu den anderen Super globals 323 00:16:09,347 --> 00:16:10,430 wir werden reden. 324 00:16:10,430 --> 00:16:13,330 Aber vielleicht nicht das beste Werkzeug für sensible Informationen. 325 00:16:13,330 --> 00:16:15,990 >> Für, dass wir, um möchten Sie vielleicht benutzen etwas namens $ _POST, 326 00:16:15,990 --> 00:16:18,560 was ein weiterer Super-Globale Variable. 327 00:16:18,560 --> 00:16:20,750 Es ist eine andere assoziatives Array. 328 00:16:20,750 --> 00:16:23,240 So funktioniert es ziemlich genau das gleiche wie GET. 329 00:16:23,240 --> 00:16:26,850 Außer, statt Extrahieren Informationen von der URL, 330 00:16:26,850 --> 00:16:29,870 es tut etwas durch HTTP-Header. 331 00:16:29,870 --> 00:16:32,080 So erinnern von unserer Video-on-HTTP, sprachen wir 332 00:16:32,080 --> 00:16:34,850 darüber, wie Browser, Server, und Kunden zu kommunizieren. 333 00:16:34,850 --> 00:16:38,070 Und Information wird übergeben und her in HTTP-Headern. 334 00:16:38,070 --> 00:16:43,330 >> Mit $ _POST, ist in der Regel Informationen durch diese HTTP-Header gesendet. 335 00:16:43,330 --> 00:16:49,770 Und wir werden am häufigsten $ _POST zu sehen in der Kontext der Vorlage HTML-Formulare. 336 00:16:49,770 --> 00:16:52,390 Sie können weiterhin HTML-Formulare um Dinge zu bekommen einreichen. 337 00:16:52,390 --> 00:16:56,120 Aber sie sind in der Regel verwendet im Rahmen der POST. 338 00:16:56,120 --> 00:17:00,280 >> Also hier ist ein Beispiel für ein HTML-Formular. 339 00:17:00,280 --> 00:17:06,750 Und dies haben wir gesehen, bevor, aber wir haben diesen Teil, action = "post.php" zu sehen. 340 00:17:06,750 --> 00:17:10,756 Wenn wir also über Formen in die sprachen Zusammenhang mit HTML, ich hatte einen Submit-Button. 341 00:17:10,756 --> 00:17:13,630 Und wenn Sie sich erinnern, würde ich auf Submit und dann wird die Seite nur aktualisiert, 342 00:17:13,630 --> 00:17:14,660 habe nichts getan. 343 00:17:14,660 --> 00:17:18,250 >> In diesem Fall bin ich der Einreichung was ich schreibe in dieser Form, 344 00:17:18,250 --> 00:17:20,750 zu einer PHP-Datei namens post.php. 345 00:17:20,750 --> 00:17:25,810 Und es scheint, die Art, wie ich tue, dass In dieser Form wird mit der POST-Methode. 346 00:17:25,810 --> 00:17:29,040 So jede Information dass ich geben in dieser Form 347 00:17:29,040 --> 00:17:31,470 vorgelegt werden durch die HTTP-Header. 348 00:17:31,470 --> 00:17:36,440 >> Es wird in post.php zugänglich, denn das ist die Wirkung von meiner Form. 349 00:17:36,440 --> 00:17:39,811 Er zugänglich sein indem Sie in $ _POST. 350 00:17:39,811 --> 00:17:42,310 Und es scheint, die Art, wie ich kann, erhalten bei jedem einzelnen Element 351 00:17:42,310 --> 00:17:44,765 mit dieser assoziativen Arrays ist mit diesem Attribut, 352 00:17:44,765 --> 00:17:48,130 Der Attributname unseres Eingangs-Tags. 353 00:17:48,130 --> 00:17:53,540 >> So scheinbar kann ich sagen, $ _POST Quadrat Klammern Namen und was immer der Benutzer zu bekommen 354 00:17:53,540 --> 00:17:55,440 im ersten Feld eingegeben haben. 355 00:17:55,440 --> 00:18:01,030 Und $ _POST vergessen, der pw statt, zu, was auch immer der Benutzer eingegeben erhalten 356 00:18:01,030 --> 00:18:03,650 in dem zweiten Feld. 357 00:18:03,650 --> 00:18:06,414 >> Werfen wir also einen Blick auf Diese über in CS50 IDE. 358 00:18:06,414 --> 00:18:08,330 So, hier sind wir, und ich werde Zoomfaktor für eine Sekunde. 359 00:18:08,330 --> 00:18:12,380 Und wir haben eine Datei namens post.html. 360 00:18:12,380 --> 00:18:13,690 I am post.html klicken. 361 00:18:13,690 --> 00:18:16,300 An der Spitze hier habe ich ein sehr einfaches Web-Formular. 362 00:18:16,300 --> 00:18:18,750 Es ist die Form, die wir gerade gesehen haben auf der Folie vor einer Sekunde. 363 00:18:18,750 --> 00:18:25,610 >> Ich kann geben, Doug und ich kann Geben Sie vergessen, die wir alle 364 00:18:25,610 --> 00:18:27,340 wissen, ist squadgoals. 365 00:18:27,340 --> 00:18:30,100 Und ich werde getroffen Senden. 366 00:18:30,100 --> 00:18:32,290 Und es scheint, dass unterwirft sich post.php. 367 00:18:32,290 --> 00:18:33,810 Und ich bin anscheinend den Druck, dass. 368 00:18:33,810 --> 00:18:36,490 Also bin ich am Anfang aller Sicherheit zu befreien dass POST gibt mir nur um den Ausdruck 369 00:18:36,490 --> 00:18:37,720 Benutzername und Passwort. 370 00:18:37,720 --> 00:18:38,960 >> Der Name des Benutzers ist Doug. 371 00:18:38,960 --> 00:18:40,810 Kennwort des Benutzers ist squadgoals. 372 00:18:40,810 --> 00:18:42,480 Wie habe ich das tun? 373 00:18:42,480 --> 00:18:44,800 Nun, über Pop bis IDE wiederum für eine Sekunde. 374 00:18:44,800 --> 00:18:51,340 Wir werden nach unten scrollen, um zu nehmen ein Blick auf post.php, das war 375 00:18:51,340 --> 00:18:54,040 die Aktion, die ich verwendet, um hier einreichen. 376 00:18:54,040 --> 00:18:55,739 Das war die Wirkung von meinem HTML-Formular. 377 00:18:55,739 --> 00:18:56,780 Und das ist alles, was ich tue. 378 00:18:56,780 --> 00:19:01,370 Der Name des Benutzers ist, und ich bin ein Druck aus dem Inhalt des $ _POST "name". 379 00:19:01,370 --> 00:19:04,660 Und dann das Kennwort des Benutzers ist $ _POST "password". 380 00:19:04,660 --> 00:19:08,920 So war ich, dass Informationen gegeben durch Vorlage des HTML-Formular. 381 00:19:08,920 --> 00:19:13,790 Und ich kann jetzt mit $ _POST extrahieren weil die Methode, die ich verwendet, um zu übertragen 382 00:19:13,790 --> 00:19:17,470 Daten mit dieser Form war die POST-Methode. 383 00:19:17,470 --> 00:19:20,640 >> Jetzt ist es wohl nicht so great-- Ich werde 384 00:19:20,640 --> 00:19:24,510 zurück zu gehen für ein zweites unsere Set hier-- 385 00:19:24,510 --> 00:19:30,120 es ist wahrscheinlich nicht so groß, wenn ich die Übermittlung von Informationen mit POST, 386 00:19:30,120 --> 00:19:32,532 Das ist scheinbar sicherer. 387 00:19:32,532 --> 00:19:34,740 Es ist wahrscheinlich nicht so groß, wenn ich tue, dass und dann 388 00:19:34,740 --> 00:19:36,470 Ausdrucken Kennwort des Benutzers. 389 00:19:36,470 --> 00:19:38,540 Es soll sicherer sein. 390 00:19:38,540 --> 00:19:40,870 >> OK, aber es ist nicht ganz sicher. 391 00:19:40,870 --> 00:19:42,910 Und so in diesem kleinen Snippet hier möchte ich 392 00:19:42,910 --> 00:19:46,410 um nur Ihre Aufmerksamkeit auf einige Datensicherheit betrifft, nur etwas, 393 00:19:46,410 --> 00:19:51,200 etwa als Sie denken arbeiten oder über das Internet. 394 00:19:51,200 --> 00:19:53,890 Dies ist nur etwas zu prüfen. 395 00:19:53,890 --> 00:19:57,980 >> Ich habe dir gesagt, dass die Informationen durch HTTP-Header eingereicht 396 00:19:57,980 --> 00:19:59,724 Wenn Sie die POST-Methode verwenden. 397 00:19:59,724 --> 00:20:01,390 Das bedeutet, sie sind nicht ganz sicher. 398 00:20:01,390 --> 00:20:05,610 Sie sind schwerer zu finden als zu finden mit der GET-Methode, wobei 399 00:20:05,610 --> 00:20:06,882 es ist nur direkt in der URL. 400 00:20:06,882 --> 00:20:08,340 Aber es gibt noch einen Weg, es zu finden. 401 00:20:08,340 --> 00:20:10,423 Und ich möchte nur, um zu zeigen Sie diese, so dass Sie vielleicht 402 00:20:10,423 --> 00:20:12,940 beginnen, darüber nachzudenken wie Sie arbeiten, oder mit 403 00:20:12,940 --> 00:20:14,560 Websites und Einreichen Passwörter, und vielleicht mit 404 00:20:14,560 --> 00:20:16,518 das gleiche Passwort in ein Menge von verschiedenen Orten. 405 00:20:16,518 --> 00:20:22,060 Wissen, dass es immer noch eigentlich ziemlich einfach zu vergessen jemand herausfinden. 406 00:20:22,060 --> 00:20:25,190 >> Und hier, ich werde auf post2.html gehen. 407 00:20:25,190 --> 00:20:28,850 Und die Differenz mit post2.html und post2.php ist ziemlich subtil. 408 00:20:28,850 --> 00:20:31,420 Der Unterschied ist nur dass ich nicht drucken 409 00:20:31,420 --> 00:20:33,520 das Passwort, wenn ich senden Sie das Formular. 410 00:20:33,520 --> 00:20:35,260 >> So werde ich geben, Doug. 411 00:20:35,260 --> 00:20:38,365 Und ich werde geben in, squadgoals selbst 412 00:20:38,365 --> 00:20:40,770 obwohl wir wissen, das ist das Passwort. 413 00:20:40,770 --> 00:20:42,540 Bevor ich das Eintragen bilden aber, ich werde 414 00:20:42,540 --> 00:20:45,864 zu öffnen, Entwicklertools, um nur zeigen Ihnen, was los ist hier geschehen. 415 00:20:45,864 --> 00:20:47,530 So in Chrome, ich bin gerade dabei, F12 getroffen. 416 00:20:47,530 --> 00:20:54,120 417 00:20:54,120 --> 00:20:57,230 Und das wird zu öffnen, meine Developer Tools auf der rechten Seite. 418 00:20:57,230 --> 00:20:59,480 Ich habe nicht die Form vorgeschlagen. 419 00:20:59,480 --> 00:21:02,680 Jetzt werde ich zu treffen Absenden auf meiner Form. 420 00:21:02,680 --> 00:21:05,370 Und anscheinend machte ich ein rufen, um, oder ich einen Antrag gemacht 421 00:21:05,370 --> 00:21:07,620 um post2.php, was Sinn macht. 422 00:21:07,620 --> 00:21:10,040 Ich werde auf die klicken. 423 00:21:10,040 --> 00:21:13,802 >> Dann hier, ich werde auf Steckleisten klicken. 424 00:21:13,802 --> 00:21:15,410 Es gibt eine Menge Sachen, vor sich geht. 425 00:21:15,410 --> 00:21:21,310 Aber wenn ich nach unten scrollen, um die sehr unten, rechts und Datenschutz meinem Kalender sind-- 426 00:21:21,310 --> 00:21:25,180 ist es für eine richtige second-- blockierten es am unteren Ecke, 427 00:21:25,180 --> 00:21:27,386 name-- Doug, pw-- squadgoals. 428 00:21:27,386 --> 00:21:30,010 Also auch wenn ich mit dem POST Verfahren, die sicherer ist, 429 00:21:30,010 --> 00:21:33,570 nur bewusst sein, dass, wenn Sie dies tun können, du bist immer noch die Übertragung von Informationen 430 00:21:33,570 --> 00:21:34,430 über HTTP. 431 00:21:34,430 --> 00:21:36,770 Und es kann immer noch durch einen Gegner gefunden. 432 00:21:36,770 --> 00:21:39,270 Es ist einfach etwas werden wir zu haben, um mit wirklich umzugehen. 433 00:21:39,270 --> 00:21:41,980 Vielleicht gibt es einige Möglichkeiten, um zu verschlüsseln unsere Passwörter, bevor wir sie auf, 434 00:21:41,980 --> 00:21:44,410 das wäre eine bessere, was ich bin nicht hier tun. 435 00:21:44,410 --> 00:21:47,010 >> Aber seien Sie sich bewusst, dass die Post sein Verfahren hat seine Grenzen auch. 436 00:21:47,010 --> 00:21:49,801 Es ist eine Verbesserung gegenüber GET in Begriffe des Seins sofort sichtbar. 437 00:21:49,801 --> 00:21:51,280 Aber es ist nicht eine komplette Lösung. 438 00:21:51,280 --> 00:21:53,280 Also hier ist ein Beispiel dafür, eine schnelle Bewegung zu Hause 439 00:21:53,280 --> 00:21:56,350 die Sie verwenden können, um einige zu bekommen Praxis der Arbeit mit PHP. 440 00:21:56,350 --> 00:21:58,300 Erstellen Sie das folgende Paar von Web-Seiten. 441 00:21:58,300 --> 00:22:00,960 Die erste sollte nur sein, eine sehr einfache bilden mit einem einzigen Feld und ein Absenden 442 00:22:00,960 --> 00:22:01,460 Taste. 443 00:22:01,460 --> 00:22:04,070 So sehr ähnlich, was wir habe gerade mit post.html. 444 00:22:04,070 --> 00:22:07,450 >> Und dann das zweite Datei, die Sie sollten erstellen 445 00:22:07,450 --> 00:22:11,687 ist eine Datei, eine PHP-Datei, dass erwartet Eingang, per Post, 446 00:22:11,687 --> 00:22:14,770 und auf der Grundlage, was der Benutzer eingegeben, der können Sie davon ausgehen wird eine Ganzzahl sein. 447 00:22:14,770 --> 00:22:16,160 Sie müssen nicht zu einem zu tun Fehlerprüfung oder dergleichen. 448 00:22:16,160 --> 00:22:18,284 Sie können die Benutzer davon ausgehen, wird eine Ganzzahl eingeben, 449 00:22:18,284 --> 00:22:22,230 oder so etwas wie eine durch interpretiert PHP als Integer, in dieser Form. 450 00:22:22,230 --> 00:22:24,790 Sie wollen einfach nur eine erstellen n durch n Multiplikationstabelle. 451 00:22:24,790 --> 00:22:28,480 >> Also, wenn der Benutzer sendet 10, wir wollen haben ein 10 mal 10 Eins. 452 00:22:28,480 --> 00:22:31,832 Wenn der Benutzer eine 12 wollen wir 12 von 12 Eins. 453 00:22:31,832 --> 00:22:33,790 Nur damit Sie sehen können, was Wir sind im hier zu fahren, 454 00:22:33,790 --> 00:22:36,040 wir werden ein Blick in Diese Datei in meinem IDE. 455 00:22:36,040 --> 00:22:38,080 >> Also hier in IDE, ich habe mult_form.html. 456 00:22:38,080 --> 00:22:41,370 457 00:22:41,370 --> 00:22:43,100 Ich werde darauf klicken. 458 00:22:43,100 --> 00:22:46,020 Alles, was ich tun möchte, ist vorzulegen Wert. 459 00:22:46,020 --> 00:22:47,590 Geben Sie 10, Hit Submit. 460 00:22:47,590 --> 00:22:51,190 Und anscheinend mult_table.php, die können wir an der Spitze gibt es in der URL sehen 461 00:22:51,190 --> 00:22:53,970 Ich erstelle eine 10 mal 10 Multiplikationstabelle. 462 00:22:53,970 --> 00:22:59,365 >> Wenn ich schreibe 15 und auf Senden, jetzt habe ich haben eine 15 um 15 Eins. 463 00:22:59,365 --> 00:23:02,240 Ich, natürlich, nicht zu zeigen Sie die Inhalte mult_table.php, 464 00:23:02,240 --> 00:23:04,781 denn das würde den Spaß nehmen aus diesem Hause Übung. 465 00:23:04,781 --> 00:23:07,480 Aber es ist eine gute Möglichkeit, etwas zu bekommen Praxis der Arbeit mit PHP Schleifen 466 00:23:07,480 --> 00:23:10,889 und POST, sehr einfach, hoffentlich stressfrei beispielsweise nur 467 00:23:10,889 --> 00:23:12,180 um ein wenig Übung zu tun. 468 00:23:12,180 --> 00:23:16,540 Und ich habe ein wenig CSS los bekam Sie hier, um zu meiner individuellen Tisch zu machen 469 00:23:16,540 --> 00:23:19,710 Zellen nur irgendwie Pop-off ein wenig und schauen ein wenig mehr 470 00:23:19,710 --> 00:23:22,205 wie eine Multiplikationstabelle, im Gegensatz zu nur nur Text 471 00:23:22,205 --> 00:23:23,261 Art der dort sitzen. 472 00:23:23,261 --> 00:23:26,260 Die letzte Super globalen wir darüber reden In diesem Video wird die so genannte 473 00:23:26,260 --> 00:23:27,597 $ _SESSION. 474 00:23:27,597 --> 00:23:29,930 Und vielleicht ist dies tatsächlich das beste Beispiel für etwas, 475 00:23:29,930 --> 00:23:31,700 wir betrachten global. 476 00:23:31,700 --> 00:23:33,189 Es ist eine andere Anordnung. 477 00:23:33,189 --> 00:23:34,480 Es ist eine andere assoziatives Array. 478 00:23:34,480 --> 00:23:40,580 Aber es durch jeden zugänglich ist, PHP-Datei, die auf unserem System existiert. 479 00:23:40,580 --> 00:23:43,410 >> Wir haben nicht zu übermitteln Informationen eine Seite zu einem Zeitpunkt, 480 00:23:43,410 --> 00:23:45,400 wie wir mit GET und POST. 481 00:23:45,400 --> 00:23:46,380 Es ist immer da. 482 00:23:46,380 --> 00:23:50,040 Und so ist für eine Seite wo Sie in, werden protokolliert beispielsweise 483 00:23:50,040 --> 00:23:53,120 und Sie Ihre Login-Daten möchten um von Seite zu Seite zu Seite anhalten. 484 00:23:53,120 --> 00:23:58,180 >> Sie können nur eine Sitzung zu starten, und dann $ _SESSION verwenden, um Dinge wie zu sparen 485 00:23:58,180 --> 00:24:02,320 den Namen des Benutzers oder der Benutzer ID-Informationen und so weiter. 486 00:24:02,320 --> 00:24:07,600 Und diese Information wird in verbleiben $ _SESSION, Bis Sie die Sitzung zerstören 487 00:24:07,600 --> 00:24:09,550 ein wenig später. 488 00:24:09,550 --> 00:24:12,375 >> Schreiben dynamische Webseiten mit PHP macht sie viel besser. 489 00:24:12,375 --> 00:24:14,250 Ihre Seiten werden sehr dynamisch, und du nicht 490 00:24:14,250 --> 00:24:17,670 zu viel mehr als das tun, was die Sie sonst nur getan haben, 491 00:24:17,670 --> 00:24:18,920 tun Sie es mit HTML. 492 00:24:18,920 --> 00:24:21,630 Aber es erfordert Übung, eine Menge Übung. 493 00:24:21,630 --> 00:24:26,897 >> Sie wissen bereits, wie man mit C arbeiten, und so das Springen zu PHP ist nicht allzu schwierig. 494 00:24:26,897 --> 00:24:28,730 Was ist vielleicht ein wenig bisschen schwierig funktioniert 495 00:24:28,730 --> 00:24:33,180 mit dieser neuen Idee, GET und POST, und vielleicht Mischen Sie Ihre HTML und PHP- 496 00:24:33,180 --> 00:24:34,220 zusammen. 497 00:24:34,220 --> 00:24:37,570 Aber auch bewusst, dass das Internet sein, ist eine riesige Sammlung von Informationen. 498 00:24:37,570 --> 00:24:41,670 Und Dokumentation von PHP verfügbar ist in vielen Orten, aber vielleicht am 499 00:24:41,670 --> 00:24:43,354 kanonisch auf php.net. 500 00:24:43,354 --> 00:24:45,520 Und Sie dort finden können, viele verschiedene Funktionen, 501 00:24:45,520 --> 00:24:48,330 und Anwendungsfälle und Beispiele auf Beispiele, auf Beispiele. 502 00:24:48,330 --> 00:24:51,340 Wo, wenn Sie versuchen und wollen herauszufinden, wie etwas zu tun, stehen die Chancen, 503 00:24:51,340 --> 00:24:52,964 jemand ist wahrscheinlich getan, bevor Sie. 504 00:24:52,964 --> 00:24:55,840 Und Sie können sie wie nutzen Inspiration zu implementieren was auch immer 505 00:24:55,840 --> 00:24:58,230 es ist, Sie versuchen, zu implementieren sind. 506 00:24:58,230 --> 00:24:59,230 >> Ich bin Doug Lloyd. 507 00:24:59,230 --> 00:25:01,210 Dies ist CS50. 508 00:25:01,210 --> 00:25:02,608