1 00:00:00,000 --> 00:00:05,720 2 00:00:05,720 --> 00:00:07,620 >> DOUG LLOYD: Donc, dans notre video sur la syntaxe PHP, 3 00:00:07,620 --> 00:00:10,480 Nous avons beaucoup parlé de la façon dont PHP peut être utilisé à la ligne de commande 4 00:00:10,480 --> 00:00:13,620 pour exécuter des programmes d'une manière qui nous sommes assez familiers avec de C. 5 00:00:13,620 --> 00:00:15,370 Mais comme je l'ai aussi mentionné en ce que vidéo, PHP 6 00:00:15,370 --> 00:00:19,572 a été initialement développé pour mettre en œuvre la programmation web, les sites Web. 7 00:00:19,572 --> 00:00:21,780 Et dans cette vidéo, nous sommes allons parler de la façon dont nous 8 00:00:21,780 --> 00:00:23,890 utiliser PHP dans le contexte de développement web. 9 00:00:23,890 --> 00:00:26,360 >> Nous savons déjà, à partir de notre vidéo sur HTML, 10 00:00:26,360 --> 00:00:29,820 que les sites Web sont construits sur un ensemble de balises HTML 11 00:00:29,820 --> 00:00:32,850 que définie sémantiquement la structure d'une page Web. 12 00:00:32,850 --> 00:00:35,910 Mais les sites Web qui sont construit avec HTML pur 13 00:00:35,910 --> 00:00:39,510 souffrir d'une très, limitation très sérieuse. 14 00:00:39,510 --> 00:00:42,690 >> Et pour illustrer cette limitation, nous allons examiner ce qui suit. 15 00:00:42,690 --> 00:00:45,665 Alors maintenant, je veux construire une page Web que, chaque fois que l'utilisateur visite elle, 16 00:00:45,665 --> 00:00:49,760 il me donne le courant temps à Cambridge, Mass., 17 00:00:49,760 --> 00:00:52,620 figurent à la dernière minute. 18 00:00:52,620 --> 00:00:57,910 Si je faisais ce droit maintenant, Je pourrais dire quelque chose comme ça. 19 00:00:57,910 --> 00:01:01,330 Heure Cambridge-- donc je dois Les balises HTML, les balises de tête, les balises de titre, 20 00:01:01,330 --> 00:01:04,610 corps tags-- le courant temps à Cambridge est 14h08, 21 00:01:04,610 --> 00:01:06,690 imprimer temps militaire. 22 00:01:06,690 --> 00:01:11,390 >> Qu'advient-il si il est maintenant 14h09, 14h09? 23 00:01:11,390 --> 00:01:16,470 Eh bien jusqu'ici, avec le HTML, je dois aller et le changer à 14h09. 24 00:01:16,470 --> 00:01:19,390 Et puis, une minute plus tard, Je dois changer à nouveau. 25 00:01:19,390 --> 00:01:22,132 Et puis, une minute plus tard, Je dois changer à nouveau. 26 00:01:22,132 --> 00:01:24,590 Et comme vous pouvez l'imaginer, que ce probablement le pire emploi jamais. 27 00:01:24,590 --> 00:01:29,420 Vous êtes le webmaster pour une page Web, et chaque minute, 24 heures par jour, 28 00:01:29,420 --> 00:01:35,970 vous avez besoin de mettre à jour l'heure actuelle par ouverture manuelle et la modification heure.html 29 00:01:35,970 --> 00:01:41,750 juste que extrait de code pour dire le heure actuelle en heures et minutes. 30 00:01:41,750 --> 00:01:45,850 Voilà probablement pas une très bon usage de nos ressources, 31 00:01:45,850 --> 00:01:48,880 à la fois humaine et de calcul. 32 00:01:48,880 --> 00:01:51,297 >> Les sites Web qui sont tous HTML sont complètement statique. 33 00:01:51,297 --> 00:01:53,630 La seule façon que vous pouvez mettre à jour contenu, comme nous venons de le voir, 34 00:01:53,630 --> 00:01:56,339 est d'ouvrir manuellement les sources les fichiers, les modifier et les enregistrer. 35 00:01:56,339 --> 00:01:58,088 Et puis lorsque l'utilisateur rafraîchit la page, 36 00:01:58,088 --> 00:02:01,080 ou visite la page pour la première temps, ils obtiendront le dernier contenu. 37 00:02:01,080 --> 00:02:03,970 Mais seulement parce que nous avons édité manuellement. 38 00:02:03,970 --> 00:02:07,980 >> Si nous commençons à mélanger un peu de PHP là-dedans, notre code peut obtenir beaucoup plus souple. 39 00:02:07,980 --> 00:02:11,940 Et nous pouvons avoir un moyen pour nos pages pour être dynamique, ou se mettre à jour, 40 00:02:11,940 --> 00:02:15,360 sans exiger notre pauvre webmaster dans l'exemple précédent 41 00:02:15,360 --> 00:02:16,662 d'être mise à jour manuellement les choses. 42 00:02:16,662 --> 00:02:17,870 Ils peuvent le faire automatiquement. 43 00:02:17,870 --> 00:02:19,130 Nous ne devons pas intervenir. 44 00:02:19,130 --> 00:02:20,410 Nous pouvons dormir un peu. 45 00:02:20,410 --> 00:02:24,850 Ce qui est probablement une bonne chose si vous faites beaucoup de la programmation web. 46 00:02:24,850 --> 00:02:28,360 >> Donc, en CS50 IDE, nous courons un serveur web Apache appelé. 47 00:02:28,360 --> 00:02:35,250 Il est un très couramment utilisé, ouverte système de serveur de Web Source. 48 00:02:35,250 --> 00:02:37,320 Ce système présente l' capacité à interpréter 49 00:02:37,320 --> 00:02:41,260 PHP, qui va être utile si vous voulez faire toute la programmation PHP. 50 00:02:41,260 --> 00:02:45,230 >> Et dans CS50 IDE, nous avons une commande pour faire de cette très facile à faire, 51 00:02:45,230 --> 00:02:47,280 apache50 commencer. 52 00:02:47,280 --> 00:02:49,445 Et puis ce slash chemin, à réduire, réduire 53 00:02:49,445 --> 00:02:53,350 dir, qui est juste une façon vraiment commun de indiquant ce que vous avez spécifié ici 54 00:02:53,350 --> 00:02:56,510 est un chemin vers un particulier répertoire que vous 55 00:02:56,510 --> 00:03:00,800 vouloir être la racine site, ou la page racine, 56 00:03:00,800 --> 00:03:05,430 ou le dossier à partir de laquelle votre serveur web va commencer à examiner les dossiers et servir 57 00:03:05,430 --> 00:03:07,850 les à des clients qui en font la demande. 58 00:03:07,850 --> 00:03:12,110 Donc, nous allons POP sur la CS50 IDE, juste pour vous montrer, très rapide, comment cela fonctionne. 59 00:03:12,110 --> 00:03:30,930 60 00:03:30,930 --> 00:03:36,240 >> Donc, ici, dans CS50 IDE, je suis dans un répertoire appelé Semaine zéro neuf. 61 00:03:36,240 --> 00:03:38,890 Et je dois two-- je dois exécuté une commande de LS juste 62 00:03:38,890 --> 00:03:41,910 ci-dessus pour vous montrer que je dois deux répertoires ici, PHP, 63 00:03:41,910 --> 00:03:46,410 qui est l'ensemble des fichiers que je utilisés dans la syntaxe PHP vidéo, puis PHP-web, 64 00:03:46,410 --> 00:03:49,380 qui est l'ensemble des fichiers que je voudraient utiliser dans cette vidéo. 65 00:03:49,380 --> 00:03:53,480 >> Et je voudrais commencer une instance de serveur Web 66 00:03:53,480 --> 00:03:59,089 avec le contenu du dossier PHP Web que les fichiers sont servis. 67 00:03:59,089 --> 00:04:00,130 Alors, que vais-je faire? 68 00:04:00,130 --> 00:04:05,710 Je vais taper apache50 espace commencer, PHP espace, tiret web. 69 00:04:05,710 --> 00:04:08,100 Voilà le chemin de répertoire d'où je suis actuellement. 70 00:04:08,100 --> 00:04:09,127 Puis je tape Entrée. 71 00:04:09,127 --> 00:04:10,960 Il va faire un peu de choses ici. 72 00:04:10,960 --> 00:04:14,030 Et puis, il va dire, Apache a démarré avec succès. 73 00:04:14,030 --> 00:04:20,689 Votre site est maintenant disponible et at-- puis il ya l'URL du site. 74 00:04:20,689 --> 00:04:21,730 Alors, que vais-je faire? 75 00:04:21,730 --> 00:04:26,234 Je vais copier rapidement cela. 76 00:04:26,234 --> 00:04:28,900 Et je vais ouvrir et up-- Je vais effectuer un zoom arrière un peu ici-- 77 00:04:28,900 --> 00:04:31,570 Je vais ouvrir un nouvel onglet dans Google Chrome. 78 00:04:31,570 --> 00:04:34,320 Et je vais rendre visite à cette URL. 79 00:04:34,320 --> 00:04:35,299 >> Je vais appuyez sur Entrée. 80 00:04:35,299 --> 00:04:36,090 Il va charger. 81 00:04:36,090 --> 00:04:37,510 Et je vais effectuer un zoom arrière. 82 00:04:37,510 --> 00:04:41,350 Et nous pouvons voir ici est le contenu de mon répertoire web PHP. 83 00:04:41,350 --> 00:04:45,290 >> Alors maintenant, ce qui est fondamentalement passe voici, mon instance de CS50 IDE 84 00:04:45,290 --> 00:04:49,620 est de servir ces fichiers à toute personne qui en fait la demande. 85 00:04:49,620 --> 00:04:51,620 Et au cours de cette vidéo, nous allons trier du 86 00:04:51,620 --> 00:04:55,400 jetez un oeil à un tas de ces fichiers différents dans leur contexte. 87 00:04:55,400 --> 00:04:57,614 >> Pour tester que votre Apache serveur fonctionne, 88 00:04:57,614 --> 00:04:59,780 qui est généralement aller d'être le cas dans CS50 IDE, 89 00:04:59,780 --> 00:05:02,696 mais si vous faites cela, plus généralement, et vous commencez à construire votre propre site web 90 00:05:02,696 --> 00:05:04,990 serveurs, il ya une très Trier commun de analogique, 91 00:05:04,990 --> 00:05:08,500 "bonjour monde», qui est habituellement utilisé pour le développement web PHP. 92 00:05:08,500 --> 00:05:12,855 Qui est d'avoir un fichier constitué de tout cela code-- 93 00:05:12,855 --> 00:05:18,247 un séparateur de PHP définir avec PHP info, parenthèses, points-virgules entre les deux. 94 00:05:18,247 --> 00:05:20,580 Qui est essentiellement une spéciale Fonction PHP qui vous dit 95 00:05:20,580 --> 00:05:23,970 quelle version de PHP que vous utilisez. 96 00:05:23,970 --> 00:05:26,850 >> Donc, en CS50 IDE, je dois ce fichier disponible juste 97 00:05:26,850 --> 00:05:28,680 pour vous montrer ce que cela ressemblerait. 98 00:05:28,680 --> 00:05:32,860 Alors je regarde mon index de mon instance de PHP. 99 00:05:32,860 --> 00:05:35,870 Mon instance d'Apache est en marche le contenu de PHP-Web. 100 00:05:35,870 --> 00:05:39,290 Et je dois ici un fichier appelé info.php. 101 00:05:39,290 --> 00:05:41,164 >> Je vais cliquez dessus, un zoom arrière. 102 00:05:41,164 --> 00:05:43,080 Ceci est ce que vous allez à voir, à peu près. 103 00:05:43,080 --> 00:05:45,729 Ceci est juste de me dire que mon serveur Apache travaille. 104 00:05:45,729 --> 00:05:48,270 Et cela est, apparemment, le version de PHP que je suis à court. 105 00:05:48,270 --> 00:05:51,590 Ceci est mon analogique "Bonjour tout le monde." 106 00:05:51,590 --> 00:05:53,070 >> Donc, je sais que les choses sont opérationnels. 107 00:05:53,070 --> 00:05:54,150 Nous sommes donc bon d'aller. 108 00:05:54,150 --> 00:05:55,730 Nous pouvons procéder à partir d'ici. 109 00:05:55,730 --> 00:05:57,790 >> Donc, nous allons revenir sur cette exemple de temps nous étions 110 00:05:57,790 --> 00:06:01,950 parler avec notre pauvre webmaster qui a dû mettre à jour la page en permanence. 111 00:06:01,950 --> 00:06:05,020 Cela pourrait être une solution pour savoir comment Je voudrais mettre en œuvre les choses 112 00:06:05,020 --> 00:06:08,080 de sorte que le webmaster n'a pas doivent garder à jour le temps. 113 00:06:08,080 --> 00:06:10,270 Il serait juste une sorte de se faire automatiquement. 114 00:06:10,270 --> 00:06:13,710 >> Le bas, le code HTML, il est assez similaire, à une exception près. 115 00:06:13,710 --> 00:06:16,720 Mais ici, je dois un peu de PHP au sommet. 116 00:06:16,720 --> 00:06:19,940 Je suis, apparemment, appelé cette date_default_timezone_set fonction. 117 00:06:19,940 --> 00:06:22,106 >> Et nous ne parlons pas de tous ces fonctions dans CS50, 118 00:06:22,106 --> 00:06:24,670 parce que PHP a probablement dizaines de milliers. 119 00:06:24,670 --> 00:06:27,540 Cela pourrait être un peu d'un exagération, mais il pourrait ne pas être. 120 00:06:27,540 --> 00:06:29,490 Il a beaucoup de fonctions intégrées. 121 00:06:29,490 --> 00:06:33,290 Et donc cela est une fonction apparemment définit mon fuseau horaire que US / Eastern, 122 00:06:33,290 --> 00:06:36,320 qui est le fuseau horaire que je suis actuellement à faire cette vidéo. 123 00:06:36,320 --> 00:06:38,430 >> Puis je fais un appel à fonction appelée, la date. 124 00:06:38,430 --> 00:06:43,850 Et, apparemment, je suis stocker le SA de quelque chose appelé, le temps. 125 00:06:43,850 --> 00:06:45,320 Alors qu'est-ce qui se passe ici? 126 00:06:45,320 --> 00:06:48,040 >> Eh bien, ce qui est essentiellement passe est, je fais un appel 127 00:06:48,040 --> 00:06:51,650 à un serveur qui va me dire ce que le temps est actuellement. 128 00:06:51,650 --> 00:06:56,150 Et je le convertir en un format des heures, minutes, secondes. 129 00:06:56,150 --> 00:07:00,540 Et la raison, il est grand H est présent va me donner le temps de 24 heures, pas 12 130 00:07:00,540 --> 00:07:02,362 heure de temps, ce qui serait minuscules h. 131 00:07:02,362 --> 00:07:04,570 Et je suis juste stocker que dans une variable appelée, le temps. 132 00:07:04,570 --> 00:07:07,028 Alors que le deuxième ligne de PHP là, l'appel à la fonction, 133 00:07:07,028 --> 00:07:09,037 A ce jour, ne fait que commencer une chaîne de caractères, qui est 134 00:07:09,037 --> 00:07:12,120 va me donner la date et le temps, et un tas d'autres informations. 135 00:07:12,120 --> 00:07:16,480 Et le premier argument là, que son, est tout simplement extraire la partie importante 136 00:07:16,480 --> 00:07:20,614 que je me soucie pour cet exemple, qui est l'heure, minute et seconde. 137 00:07:20,614 --> 00:07:22,030 Voilà donc le tout ce qui se passe. 138 00:07:22,030 --> 00:07:23,562 Alors je stocke que dans un temps variable $. 139 00:07:23,562 --> 00:07:25,270 Et puis vers le bas à la bas là, je 140 00:07:25,270 --> 00:07:28,980 que pour avoir raccourci imprimer l'heure actuelle. 141 00:07:28,980 --> 00:07:32,050 Donc je vais juste pour imprimer ce que l'heure actuelle est. 142 00:07:32,050 --> 00:07:37,220 >> Donc, nous allons jeter un oeil à ce dans CS50 IDE et de voir comment nous sommes maintenant 143 00:07:37,220 --> 00:07:40,002 sauver que webmaster beaucoup d'ennuis. 144 00:07:40,002 --> 00:07:42,570 Très bien, alors je suis ici à nouveau Retour au répertoire racine 145 00:07:42,570 --> 00:07:45,040 de mon instance d'Apache. 146 00:07:45,040 --> 00:07:51,585 Et je dois ici un fichier appelé time.php. 147 00:07:51,585 --> 00:07:53,559 Je vais juste à cliquer sur ce. 148 00:07:53,559 --> 00:07:55,850 Et je vais défiler vers le haut, parce nous zoomé assez loin. 149 00:07:55,850 --> 00:07:57,257 L'heure actuelle est 14:20:34. 150 00:07:57,257 --> 00:07:59,090 Donc, je le fais heures, minutes et secondes. 151 00:07:59,090 --> 00:08:01,910 Et je peux rafraîchir la la page et d'obtenir une nouvelle fois. 152 00:08:01,910 --> 00:08:02,420 --41. 153 00:08:02,420 --> 00:08:07,240 Je vais rafraîchir la page et obtenir une nouvelle fois, 44, 46, 47. 154 00:08:07,240 --> 00:08:10,490 >> Donc, je suis clairement pas rien changer moi-même. 155 00:08:10,490 --> 00:08:11,720 Je suis là rafraîchir la page. 156 00:08:11,720 --> 00:08:13,711 Donc, je ne peux pas y retourner l'éditer. 157 00:08:13,711 --> 00:08:15,710 Et je vous promets, je ne sais pas avoir des confédérés 158 00:08:15,710 --> 00:08:18,230 qui éditez le fichier en mon nom sur le côté. 159 00:08:18,230 --> 00:08:21,260 >> Je suis juste en utilisant cette fonction de PHP, temps, pour générer le temps pour moi 160 00:08:21,260 --> 00:08:22,340 automatiquement. 161 00:08:22,340 --> 00:08:24,800 Alors que même si je suis endormi, et mon serveur web est en cours d'exécution, 162 00:08:24,800 --> 00:08:28,884 l'utilisateur qui visite cette page est encore va obtenir exactement l'heure actuelle. 163 00:08:28,884 --> 00:08:29,800 Voilà donc assez bonne. 164 00:08:29,800 --> 00:08:33,609 Je me suis fait mon site plus dynamique avec pas trop de code PHP. 165 00:08:33,609 --> 00:08:36,650 Il était seulement deux lignes de code, puis un peu d'une déclaration d'impression. 166 00:08:36,650 --> 00:08:38,441 Et déjà je dois une site beaucoup plus dynamique 167 00:08:38,441 --> 00:08:42,750 que nous avons vu premier exemple au début de la vidéo. 168 00:08:42,750 --> 00:08:46,660 >> Donc, rappeler de la vidéo sur la syntaxe PHP que lorsque l'interpréteur PHP fonctionne 169 00:08:46,660 --> 00:08:50,000 notre programme, il ignore tout ce est pas à l'intérieur des séparateurs de PHP, 170 00:08:50,000 --> 00:08:51,500 recracher. 171 00:08:51,500 --> 00:08:54,410 Dans cet exemple, ce que la chose qu'il crachait était HTML. 172 00:08:54,410 --> 00:08:58,080 Et cela signifie que je peux maintenant intercaler HTML et PHP ensemble. 173 00:08:58,080 --> 00:09:01,920 Parce que l'interprète sera juste ignorer le HTML et littéralement sortie il. 174 00:09:01,920 --> 00:09:04,140 Ce qui est bon, non? 175 00:09:04,140 --> 00:09:06,100 >> Parce que sans doute, à la fin de la journée, 176 00:09:06,100 --> 00:09:08,360 Je voudrais que mon site être construit de HTML. 177 00:09:08,360 --> 00:09:12,880 Alors que tout navigateur Web peut interpréter , ou comprendre le code HTML de la page 178 00:09:12,880 --> 00:09:17,270 et le rendre comme quelque chose que nous peut effectivement comprendre que les humains. 179 00:09:17,270 --> 00:09:19,430 Et je ne peux utiliser PHP pour les parties de mon site 180 00:09:19,430 --> 00:09:23,390 l'exigent dynamisme, qui me nécessitera d'avoir des choses qui mettent à jour en permanence. 181 00:09:23,390 --> 00:09:26,630 L'information statique peut rester le même. 182 00:09:26,630 --> 00:09:27,540 >> OK, alors ça va. 183 00:09:27,540 --> 00:09:28,540 Mais pourquoi devrais-je faire cela? 184 00:09:28,540 --> 00:09:30,400 Pourquoi aurais-je mélanger HTML et PHP? 185 00:09:30,400 --> 00:09:33,850 Je ne pouvais tout simplement imprimer toutes les HTML, en utilisant la fonction d'impression de PHP. 186 00:09:33,850 --> 00:09:35,870 Pourquoi suis-je pas le faire? 187 00:09:35,870 --> 00:09:37,100 Pensez-y une seconde. 188 00:09:37,100 --> 00:09:41,220 >> Pourquoi, quand je ne pouvais tout simplement imprimer out-- I pourrait avoir des lignes de PHP qui disent juste, 189 00:09:41,220 --> 00:09:43,841 balise HTML d'impression, la tête d'impression. 190 00:09:43,841 --> 00:09:44,840 Pourquoi suis-je pas le faire? 191 00:09:44,840 --> 00:09:48,230 Pourquoi suis-je mélanger les PHP et HTML? 192 00:09:48,230 --> 00:09:50,080 >> Eh bien, si vous pensez à ce sujet pour une seconde. 193 00:09:50,080 --> 00:09:52,824 PHP, l'interprète a à interpréter ce qu'il voit. 194 00:09:52,824 --> 00:09:54,990 Et donc il va falloir pour exécuter une ligne de code. 195 00:09:54,990 --> 00:09:56,450 Imprimez HTML. 196 00:09:56,450 --> 00:09:57,700 Imprimez tête ouverte tag. 197 00:09:57,700 --> 00:09:58,969 Imprimez titre ouvert tag. 198 00:09:58,969 --> 00:10:00,760 Il va devoir exécuter et interpréter 199 00:10:00,760 --> 00:10:02,671 que chaque étape du chemin. 200 00:10:02,671 --> 00:10:04,670 Pourquoi ne pas simplement laisser le interprète simplement gommer 201 00:10:04,670 --> 00:10:06,878 des choses qu'il ne comprend pas et de le faire automatiquement? 202 00:10:06,878 --> 00:10:11,365 Ça va me sauver beaucoup de temps de mélanger mon HTML et PHP mon ensemble. 203 00:10:11,365 --> 00:10:16,220 >> Et voilà pourquoi nous ne faisons pas juste avoir ouvert séparateur de PHP 204 00:10:16,220 --> 00:10:19,450 et puis juste imprimer l'ensemble le contenu de notre page PHP comme un géant 205 00:10:19,450 --> 00:10:24,330 appel à la fonction, Imprimer, puis Fermer séparateur de PHP et nous avons terminé. 206 00:10:24,330 --> 00:10:27,620 Voilà pourquoi nous les mélanger ensemble. 207 00:10:27,620 --> 00:10:32,345 >> Jusqu'à présent, on n'a pas vu trop de une différence de syntaxe générale de PHP. 208 00:10:32,345 --> 00:10:33,720 Il a été assez simple. 209 00:10:33,720 --> 00:10:35,553 Nous avons déjà vu la point d'interrogation, égale. 210 00:10:35,553 --> 00:10:39,012 Nous avons vu un couple de nouveaux appels de fonction, mais rien de vraiment envie d'aller sur. 211 00:10:39,012 --> 00:10:40,720 Disons peut-être faire les choses un peu plus fantaisistes. 212 00:10:40,720 --> 00:10:44,360 Que faire si nous voulons passer des informations entre les différents fichiers PHP, 213 00:10:44,360 --> 00:10:47,280 de telle sorte que l'utilisateur peut peut-être soumettre des informations pour moi. 214 00:10:47,280 --> 00:10:50,230 Et puis je pouvais faire quelque chose avec elle sur une autre page. 215 00:10:50,230 --> 00:10:52,990 >> Donc, PHP a le soutien de quelque chose appelé Super mondial 216 00:10:52,990 --> 00:10:55,297 Variables, ce qui semble assez impressionnant. 217 00:10:55,297 --> 00:10:57,130 Ils sont vraiment juste tableaux associatifs géants 218 00:10:57,130 --> 00:10:59,900 aider à mettre ce que fonctionnalité de passage 219 00:10:59,900 --> 00:11:05,010 informations entre les fichiers PHP qui sont existantes sur notre serveur. 220 00:11:05,010 --> 00:11:07,760 >> Le premier de ces super- globales sont appelés $ _GET. 221 00:11:07,760 --> 00:11:10,140 Et il est probablement le plus simple à comprendre. 222 00:11:10,140 --> 00:11:12,430 Qu'est-ce qui se passe avec $ _GET? 223 00:11:12,430 --> 00:11:16,240 Eh bien, au fond, l'utilisateur est aller à taper des informations supplémentaires 224 00:11:16,240 --> 00:11:18,390 à la fin de nos URL. 225 00:11:18,390 --> 00:11:21,460 Et quel que soit leur type, en supposant il est formaté d'une manière particulière 226 00:11:21,460 --> 00:11:25,830 appelé une chaîne de requête, qui est juste un ensemble de paires clé-valeur séparé 227 00:11:25,830 --> 00:11:27,810 par une esperluette. 228 00:11:27,810 --> 00:11:32,362 Ces paires de valeurs clés seront stockée dans un tableau associatif $ _GET. 229 00:11:32,362 --> 00:11:34,070 Et à partir de notre vidéo sur La syntaxe PHP, nous savons 230 00:11:34,070 --> 00:11:40,080 comment travailler avec Déjà tableaux associatifs. 231 00:11:40,080 --> 00:11:44,090 Donc, voici un exemple de un peu de PHP, où peut-être je suis 232 00:11:44,090 --> 00:11:50,180 l'extraction de l'ensemble des paires de valeurs clés que l'utilisateur a fourni à l'URL. 233 00:11:50,180 --> 00:11:51,970 Donc je dois mon Ouvrir séparateur de PHP. 234 00:11:51,970 --> 00:11:53,410 Je dois une boucle foreach. 235 00:11:53,410 --> 00:11:57,410 Je itération à travers le Super Réseau mondial appelé $ _GET. 236 00:11:57,410 --> 00:12:00,160 >> Et je veux être en mesure de se référer à la fois la clé et la valeur. 237 00:12:00,160 --> 00:12:02,410 Et je suis juste de les imprimer sur, chacun sur apparemment 238 00:12:02,410 --> 00:12:03,780 sa propre étiquette de paragraphe ici. 239 00:12:03,780 --> 00:12:07,620 Je imprimer un fichier HTML et interpoler les valeurs 240 00:12:07,620 --> 00:12:12,900 de la clé et de la valeur dans cette déclaration. 241 00:12:12,900 --> 00:12:16,980 >> Donc, nous allons jeter un oeil à la façon dont cette serait effectivement travailler sur notre IDE. 242 00:12:16,980 --> 00:12:18,980 Et peut-être que cela aidera illustrer un peu 243 00:12:18,980 --> 00:12:21,880 de ce que GET est en train de faire. 244 00:12:21,880 --> 00:12:23,610 Donc, je suis de retour ici dans ma racine web. 245 00:12:23,610 --> 00:12:25,318 Et je vais zoomer sur une peu pour vous montrer 246 00:12:25,318 --> 00:12:28,620 que je dois un fichier appelé, get1.php. 247 00:12:28,620 --> 00:12:31,830 >> Donc, nous allons cliquer sur get1.php. 248 00:12:31,830 --> 00:12:36,600 Et je ne vois pas de tout contenu. 249 00:12:36,600 --> 00:12:38,390 Voilà bizarre, non? 250 00:12:38,390 --> 00:12:39,740 Eh bien, pas vraiment en fait. 251 00:12:39,740 --> 00:12:42,030 Parce que je ne fournissons pas de quoi que ce soit dans l'URL. 252 00:12:42,030 --> 00:12:46,270 Je vais get1.php, mais je n'a pas fourni paires de valeurs clés 253 00:12:46,270 --> 00:12:47,450 dans le cadre de ma chaîne de requête. 254 00:12:47,450 --> 00:12:50,510 Ajoutons donc une chaîne de requête et voir ce que ce fichier peut faire. 255 00:12:50,510 --> 00:12:53,040 >> Pour commencer une chaîne de requête vous il suffit de taper point d'interrogation. 256 00:12:53,040 --> 00:13:00,820 Alors peut-être que je vais dire name = & Doug année = 2,015. 257 00:13:00,820 --> 00:13:02,914 Et puis je vais appuyez sur Entrée. 258 00:13:02,914 --> 00:13:04,080 Maintenant, remarquez ce qui se passe. 259 00:13:04,080 --> 00:13:05,480 Je suis toujours dans get1.php. 260 00:13:05,480 --> 00:13:08,445 Mais maintenant, je l'ai fourni paires de valeurs clés, et je suis 261 00:13:08,445 --> 00:13:14,940 les imprimer sur leur propre Nom paragraph--, année Doug-- 2015. 262 00:13:14,940 --> 00:13:17,970 Voilà exactement le code que nous venons vu sur la diapositive il ya un instant. 263 00:13:17,970 --> 00:13:22,290 >> Et si je veux peut-être ajouter une autre paire de valeur de clé, et class = CS50. 264 00:13:22,290 --> 00:13:25,325 265 00:13:25,325 --> 00:13:27,580 Maintenant, je dois une autre valeur de clé paire qui est imprimé 266 00:13:27,580 --> 00:13:30,025 quand je revisite à nouveau l'URL. 267 00:13:30,025 --> 00:13:31,900 Maintenant peut-être ce ne est pas formatée terriblement bien. 268 00:13:31,900 --> 00:13:33,660 Je dois donc une autre version de get.php. 269 00:13:33,660 --> 00:13:36,350 Il est get2.php. 270 00:13:36,350 --> 00:13:39,070 >> La différence dans ce l'un est que je dois fichier CSS, 271 00:13:39,070 --> 00:13:41,690 et il formate les choses un peu plus bien pour moi. 272 00:13:41,690 --> 00:13:43,940 Il est peut-être pas le plus belle CSS dans le monde. 273 00:13:43,940 --> 00:13:45,650 Mais il est juste une autre façon de le faire. 274 00:13:45,650 --> 00:13:52,840 Donc, je peux encore obtenir l'accès à mes variables en utilisant $ _GET. 275 00:13:52,840 --> 00:13:56,610 Et dans ce cas, je suis juste un peu rendant le CSS d'un peu plus de fantaisie. 276 00:13:56,610 --> 00:13:58,360 Et si nous POP sur la mon IDE pour une seconde, 277 00:13:58,360 --> 00:14:06,870 Je vais vous montrer dans mon web PHP répertoire ici, get2.php. 278 00:14:06,870 --> 00:14:10,010 Nous allons ouvrir, certains HTML ici. 279 00:14:10,010 --> 00:14:13,220 Apparemment, je suis reliant dans ce Fichier CSS je parlais. 280 00:14:13,220 --> 00:14:14,570 Je ouvre une étiquette de table. 281 00:14:14,570 --> 00:14:15,970 Et puis voici mon boucle foreach. 282 00:14:15,970 --> 00:14:18,450 >> Ici est que, ce que je montré sur la diapositive avant. 283 00:14:18,450 --> 00:14:21,007 La seule différence est I avoir cette clé et la valeur CSS 284 00:14:21,007 --> 00:14:22,340 style que je suis à lui appliquer. 285 00:14:22,340 --> 00:14:25,622 Mais tout cela est que je fais, est que je suis itérer à travers $ _GET pour obtenir tous 286 00:14:25,622 --> 00:14:26,580 des paires de valeurs clés. 287 00:14:26,580 --> 00:14:28,890 >> Et je les imprimer que la table. 288 00:14:28,890 --> 00:14:33,230 Et, apparemment, je suis mise en forme des touches dans un sens, avec la "clé" 00:14:40,057 Donc, apparemment, cela vaut pour certains sélecteur de classe dans mon fichier CSS GET.CSS. 290 00:14:40,057 --> 00:14:42,890 Et, apparemment, je suis imprimer mes valeurs d'une manière totalement différente. 291 00:14:42,890 --> 00:14:45,530 Qui est à peu près ce que nous avons vu ici, où 292 00:14:45,530 --> 00:14:47,710 nos valeurs ont été imprimés avec un fond bleu, 293 00:14:47,710 --> 00:14:49,969 et nos clés ont été imprimés avec un fond jaune. 294 00:14:49,969 --> 00:14:52,010 Voilà donc comment je reçois ces différents styles. 295 00:14:52,010 --> 00:14:54,054 Parce que je suis en utilisant différentes classes CSS. 296 00:14:54,054 --> 00:14:55,470 Mais cela est à peu près pour GET. 297 00:14:55,470 --> 00:14:58,380 Comme je suis juste extraire des informations. 298 00:14:58,380 --> 00:15:01,000 Et dans ce cas, je suis juste impression à l'écran. 299 00:15:01,000 --> 00:15:04,310 Je suis en train de sortir de l'URL, et voilà ce EEG fait pour nous. 300 00:15:04,310 --> 00:15:06,470 >> Voyez-vous une éventuelle problème ici si? 301 00:15:06,470 --> 00:15:11,720 Pourquoi devrions-nous peut-être ne pas vouloir utiliser $ _GET? 302 00:15:11,720 --> 00:15:15,440 Que faire si, peut-être, je faisais cette recherche? 303 00:15:15,440 --> 00:15:18,000 get3.php --to, que je ne disposent pas sur mon IDE. 304 00:15:18,000 --> 00:15:19,640 Il est juste un fichier hypothétique. 305 00:15:19,640 --> 00:15:22,187 Mais remarquez ici que, apparemment, passant mon mot de passe en. 306 00:15:22,187 --> 00:15:23,770 Et peut-être mon mot de passe est embarrassant. 307 00:15:23,770 --> 00:15:28,070 Ou peut-être que je ne veux pas que les gens savoir ce que mon mot de passe est, à droite. 308 00:15:28,070 --> 00:15:33,140 >> Si je suis de passage, il though-- si je suis en utilisant la méthode $ _GET, ce qui se passe est, 309 00:15:33,140 --> 00:15:34,970 que ça va être dans l'URL. 310 00:15:34,970 --> 00:15:39,890 Ainsi, certains utilisateur malveillant pourrait être en mesure de voir ce que je fais. 311 00:15:39,890 --> 00:15:42,040 Je peux être de les transmettre information sensible. 312 00:15:42,040 --> 00:15:43,310 Ou peut-être il est même pas un utilisateur malveillant. 313 00:15:43,310 --> 00:15:45,790 Peut-être qu'il est juste de votre ami est debout au-dessus de votre épaule. 314 00:15:45,790 --> 00:15:47,650 Et maintenant, ils savent le mot de passe à votre compte Facebook. 315 00:15:47,650 --> 00:15:49,483 >> Et peut-être qu'ils ne seraient pas faire quelque chose avec elle. 316 00:15:49,483 --> 00:15:53,749 Mais si votre mot de passe étaient soumis via $ _GET à Facebook, 317 00:15:53,749 --> 00:15:55,290 maintenant ils savent votre mot de passe Facebook. 318 00:15:55,290 --> 00:15:59,000 Parce qu'il est juste là dans l'URL quand vous avez fait de soumettre des informations. 319 00:15:59,000 --> 00:16:01,887 >> Et peut-être cela est pas la meilleure façon de passer des informations sensibles. 320 00:16:01,887 --> 00:16:04,470 Il est un bon moyen pour transmettre des informations ce que nous faisons pas particulièrement 321 00:16:04,470 --> 00:16:05,886 soucier comme étant trop sensible. 322 00:16:05,886 --> 00:16:09,347 Parce que GET est assez rapide, par rapport aux autres super-globales 323 00:16:09,347 --> 00:16:10,430 nous allons parler. 324 00:16:10,430 --> 00:16:13,330 Mais peut-être pas le meilleur outil pour obtenir des informations sensibles. 325 00:16:13,330 --> 00:16:15,990 >> Pour que nous pourrions vouloir utiliser quelque chose appelé $ _POST, 326 00:16:15,990 --> 00:16:18,560 qui est une autre variable de Super mondial. 327 00:16:18,560 --> 00:16:20,750 Il est un autre tableau associatif. 328 00:16:20,750 --> 00:16:23,240 Donc, cela fonctionne assez bien exactement le même que GET. 329 00:16:23,240 --> 00:16:26,850 Sauf, au lieu d'extraire informations de l'URL, 330 00:16:26,850 --> 00:16:29,870 il fait quelque chose par-têtes HTTP. 331 00:16:29,870 --> 00:16:32,080 Donc rappeler de notre vidéo sur HTTP, nous avons parlé 332 00:16:32,080 --> 00:16:34,850 sur la façon dont les navigateurs, les serveurs, et les clients communiquent. 333 00:16:34,850 --> 00:16:38,070 Et l'information est renvoyé et-vient dans les en-têtes HTTP. 334 00:16:38,070 --> 00:16:43,330 >> Avec $ _POST, l'information est généralement envoyé par les en-têtes HTTP. 335 00:16:43,330 --> 00:16:49,770 Et nous voyons le plus souvent dans $ _POST le contexte de la présentation des formulaires HTML. 336 00:16:49,770 --> 00:16:52,390 Vous pouvez toujours utiliser les formulaires HTML de présenter les choses à obtenir. 337 00:16:52,390 --> 00:16:56,120 Mais ils sont généralement utilisés dans le cadre de POST. 338 00:16:56,120 --> 00:17:00,280 >> Alors, voici un exemple d'un formulaire HTML. 339 00:17:00,280 --> 00:17:06,750 Maintenant que nous avons vu ces derniers avant, mais nous avons pas vu cette partie, action = "post.php". 340 00:17:06,750 --> 00:17:10,756 Alors, quand nous avons parlé de formes dans le contexte de HTML, je avait un bouton Soumettre. 341 00:17:10,756 --> 00:17:13,630 Et si vous vous souvenez, je vous cliquez sur Envoyer puis la page juste rafraîchi, 342 00:17:13,630 --> 00:17:14,660 ne rien faire. 343 00:17:14,660 --> 00:17:18,250 >> Dans ce cas, je vais soumettre tout ce que je tape à ce formulaire, 344 00:17:18,250 --> 00:17:20,750 à un fichier PHP appelé post.php. 345 00:17:20,750 --> 00:17:25,810 Et, apparemment, la façon dont je le fais sous cette forme est d'utiliser la méthode POST. 346 00:17:25,810 --> 00:17:29,040 Ainsi, chaque élément d'information que je tape dans ce formulaire 347 00:17:29,040 --> 00:17:31,470 sera soumis à travers les en-têtes HTTP. 348 00:17:31,470 --> 00:17:36,440 >> Il sera accessible dans post.php, parce que ce l'action de ma forme. 349 00:17:36,440 --> 00:17:39,811 Il sera accessible en allant à $ _POST. 350 00:17:39,811 --> 00:17:42,310 Et apparemment, la façon dont je peux obtenir à chaque élément individuel 351 00:17:42,310 --> 00:17:44,765 avec ce tableau associatif est avec cet attribut, 352 00:17:44,765 --> 00:17:48,130 l'attribut Name de nos balises d'entrée. 353 00:17:48,130 --> 00:17:53,540 >> Donc, apparemment, je peux dire $ _POST carré supports nom pour obtenir ce que l'utilisateur 354 00:17:53,540 --> 00:17:55,440 tapé dans le premier champ. 355 00:17:55,440 --> 00:18:01,030 Et $ _POST mot de passe, de PW plutôt, pour obtenir quel que soit l'utilisateur a tapé 356 00:18:01,030 --> 00:18:03,650 dans le second champ. 357 00:18:03,650 --> 00:18:06,414 >> Donc, nous allons jeter un oeil à ce cours en CS50 IDE. 358 00:18:06,414 --> 00:18:08,330 Donc nous sommes ici, et je vais zoomer pour une seconde. 359 00:18:08,330 --> 00:18:12,380 Et nous avons un fichier appelé post.html. 360 00:18:12,380 --> 00:18:13,690 Je clique sur post.html. 361 00:18:13,690 --> 00:18:16,300 Au sommet ici, je dois une forme très simple web. 362 00:18:16,300 --> 00:18:18,750 Il est la forme nous venons de voir sur la diapositive il ya une seconde. 363 00:18:18,750 --> 00:18:25,610 >> Je peux taper, Doug, et je peux taper mon mot de passe, que nous avons tous 364 00:18:25,610 --> 00:18:27,340 savoir est squadgoals. 365 00:18:27,340 --> 00:18:30,100 Et je vais frapper Soumettre. 366 00:18:30,100 --> 00:18:32,290 Apparemment, ce soumet à post.php. 367 00:18:32,290 --> 00:18:33,810 Et je suis apparemment l'impression que. 368 00:18:33,810 --> 00:18:36,490 Donc, je me débarrasse de toute la sécurité que le POST me donne simplement en imprimant 369 00:18:36,490 --> 00:18:37,720 le nom d'utilisateur et mot de passe. 370 00:18:37,720 --> 00:18:38,960 >> Le nom de l'utilisateur est Doug. 371 00:18:38,960 --> 00:18:40,810 Le mot de passe de l'utilisateur est squadgoals. 372 00:18:40,810 --> 00:18:42,480 Comment ai-je fait cela? 373 00:18:42,480 --> 00:18:44,800 Eh bien, plus pop à IDE pour une deuxième. 374 00:18:44,800 --> 00:18:51,340 Nous allons faire défiler vers le bas pour prendre un oeil à post.php, qui était 375 00:18:51,340 --> 00:18:54,040 l'action que je l'habitude de présenter ici. 376 00:18:54,040 --> 00:18:55,739 Ce fut l'action de mon formulaire HTML. 377 00:18:55,739 --> 00:18:56,780 Et voilà tout ce que je fais. 378 00:18:56,780 --> 00:19:01,370 Le nom de l'utilisateur est, et je suis l'impression le contenu de $ _POST "nom". 379 00:19:01,370 --> 00:19:04,660 Et puis le mot de passe de l'utilisateur $ _POST est "mot de passe". 380 00:19:04,660 --> 00:19:08,920 Alors on m'a donné cette information en soumettant le formulaire HTML. 381 00:19:08,920 --> 00:19:13,790 Et je peux maintenant extraire en utilisant $ _POST parce que la méthode que je utilisé pour transmettre 382 00:19:13,790 --> 00:19:17,470 données avec cette forme, était la méthode POST. 383 00:19:17,470 --> 00:19:20,640 >> Maintenant, il est probablement pas donc je vais great-- 384 00:19:20,640 --> 00:19:24,510 aller retour pour une deuxième à notre jeu ici-- 385 00:19:24,510 --> 00:19:30,120 il est sans doute pas si grand, si je suis soumettant des informations avec Postes, 386 00:19:30,120 --> 00:19:32,532 qui est apparemment plus sûr. 387 00:19:32,532 --> 00:19:34,740 Il est probablement pas si grande si je fais ça et puis 388 00:19:34,740 --> 00:19:36,470 imprimer le mot de passe de l'utilisateur. 389 00:19:36,470 --> 00:19:38,540 Il est censé être plus sûr. 390 00:19:38,540 --> 00:19:40,870 >> OK, mais il est pas tout à fait sûr. 391 00:19:40,870 --> 00:19:42,910 Et donc dans ce petit extrait ici, je veux 392 00:19:42,910 --> 00:19:46,410 à attirer votre attention sur certains préoccupations de sécurité des données, juste quelque chose 393 00:19:46,410 --> 00:19:51,200 à penser que vous êtes travaillant ou en utilisant Internet. 394 00:19:51,200 --> 00:19:53,890 Ceci est juste quelque chose à considérer. 395 00:19:53,890 --> 00:19:57,980 >> Je vous ai dit que l'information est soumis par des en-têtes HTTP 396 00:19:57,980 --> 00:19:59,724 lorsque vous utilisez la méthode POST. 397 00:19:59,724 --> 00:20:01,390 Ce qui signifie qu'ils ne sont pas entièrement sécurisée. 398 00:20:01,390 --> 00:20:05,610 Ils sont plus difficiles à trouver que en utilisant la méthode GET, où 399 00:20:05,610 --> 00:20:06,882 il est juste dans l'URL. 400 00:20:06,882 --> 00:20:08,340 Mais il ya toujours un moyen de le trouver. 401 00:20:08,340 --> 00:20:10,423 Et je veux juste montrer vous à ce que vous peut-être de manière 402 00:20:10,423 --> 00:20:12,940 commencer à penser à ce sujet que vous travaillez, ou à l'aide 403 00:20:12,940 --> 00:20:14,560 sites et de soumettre mots de passe, et peut-être l'aide 404 00:20:14,560 --> 00:20:16,518 le même mot de passe dans un beaucoup d'endroits différents. 405 00:20:16,518 --> 00:20:22,060 Savoir qui est est encore fait assez facile de trouver le mot de passe de quelqu'un. 406 00:20:22,060 --> 00:20:25,190 >> Et ici, je vais pour aller à post2.html. 407 00:20:25,190 --> 00:20:28,850 Et la différence avec post2.html et post2.php est assez subtile. 408 00:20:28,850 --> 00:20:31,420 La différence est juste que je ne imprime 409 00:20:31,420 --> 00:20:33,520 le mot de passe lorsque je soumets la forme. 410 00:20:33,520 --> 00:20:35,260 >> Donc, je vais taper, Doug. 411 00:20:35,260 --> 00:20:38,365 Et je vais taper dans, squadgoals, même 412 00:20:38,365 --> 00:20:40,770 si nous savons que ce mot de passe. 413 00:20:40,770 --> 00:20:42,540 Avant que je soumets le forment bien, je vais 414 00:20:42,540 --> 00:20:45,864 d'ouvrir les outils de développement, juste pour vous montrer ce qui va se passer ici. 415 00:20:45,864 --> 00:20:47,530 Donc, dans Chrome, je vais juste de frapper F12. 416 00:20:47,530 --> 00:20:54,120 417 00:20:54,120 --> 00:20:57,230 Et cela va ouvrir mon Outils de développement sur le côté droit. 418 00:20:57,230 --> 00:20:59,480 Je ne l'ai pas encore présenté la forme. 419 00:20:59,480 --> 00:21:02,680 Maintenant, je vais frapper Soumettre sur ma forme. 420 00:21:02,680 --> 00:21:05,370 Et apparemment, je fis un appelle à, ou je faisais une demande 421 00:21:05,370 --> 00:21:07,620 à post2.php, ce qui est logique. 422 00:21:07,620 --> 00:21:10,040 Je vais à cliquer sur ce. 423 00:21:10,040 --> 00:21:13,802 >> Alors ici, je vais cliquer sur têtes. 424 00:21:13,802 --> 00:21:15,410 Il ya beaucoup de choses qui se passe ici. 425 00:21:15,410 --> 00:21:21,310 Mais si je défiler vers le très en bas, à droite préavis there-- mon calendrier 426 00:21:21,310 --> 00:21:25,180 l'a bloqué pour une raison second-- il à l'angle très bas, 427 00:21:25,180 --> 00:21:27,386 name-- Doug, squadgoals pw--. 428 00:21:27,386 --> 00:21:30,010 Donc, même si je suis en utilisant le POST méthode, qui est plus sûr, 429 00:21:30,010 --> 00:21:33,570 juste être conscient que si vous le faites, vous êtes toujours la transmission d'informations 430 00:21:33,570 --> 00:21:34,430 via HTTP. 431 00:21:34,430 --> 00:21:36,770 Et il peut encore être trouvée par un adversaire. 432 00:21:36,770 --> 00:21:39,270 Il est juste quelque chose que nous allons d'avoir à traiter avec vraiment. 433 00:21:39,270 --> 00:21:41,980 Peut-être il ya quelques façons de crypter notre les mots de passe avant de les envoyer sur, 434 00:21:41,980 --> 00:21:44,410 ce qui serait une meilleure, dont je ne fais pas ici. 435 00:21:44,410 --> 00:21:47,010 >> Mais juste être conscient que le POST Procédé présente des limitations trop. 436 00:21:47,010 --> 00:21:49,801 Il est une amélioration par rapport GET dans termes d'être immédiatement visible. 437 00:21:49,801 --> 00:21:51,280 Mais il est pas une solution complète. 438 00:21:51,280 --> 00:21:53,280 Alors, voici un exemple de un rapide à la maison d'exercice 439 00:21:53,280 --> 00:21:56,350 que vous pouvez utiliser pour obtenir des pratiquer travailler avec PHP. 440 00:21:56,350 --> 00:21:58,300 Créez la paire de pages web suivante. 441 00:21:58,300 --> 00:22:00,960 Le premier devrait juste être un très simple former avec un seul champ et un Proposez 442 00:22:00,960 --> 00:22:01,460 bouton. 443 00:22:01,460 --> 00:22:04,070 Donc, très semblable à ce que nous juste fait avec post.html. 444 00:22:04,070 --> 00:22:07,450 >> Ensuite, la seconde le fichier que vous devez créer 445 00:22:07,450 --> 00:22:11,687 est un fichier, un fichier PHP, qui est attendant entrée, via POST, 446 00:22:11,687 --> 00:22:14,770 et sur la base de ce que l'utilisateur a tapé, qui vous pouvez supposer sera un entier. 447 00:22:14,770 --> 00:22:16,160 Vous ne devez pas faire tout la vérification des erreurs ou similaire. 448 00:22:16,160 --> 00:22:18,284 Vous pouvez supposer l'utilisateur tapera une valeur entière, 449 00:22:18,284 --> 00:22:22,230 ou quelque chose comme une interprété par PHP comme un entier, dans cette forme. 450 00:22:22,230 --> 00:22:24,790 Vous voulez juste créer un n par le tableau n de multiplication. 451 00:22:24,790 --> 00:22:28,480 >> Donc, si l'utilisateur soumet 10, nous voulons avoir une table 10 par 10 de la multiplication. 452 00:22:28,480 --> 00:22:31,832 Si l'utilisateur soumet un 12, nous voulons une table 12 par 12 de la multiplication. 453 00:22:31,832 --> 00:22:33,790 Juste pour que vous puissiez voir ce que nous conduire à ici, 454 00:22:33,790 --> 00:22:36,040 nous allons jeter un oeil à ce fichier dans mon IDE. 455 00:22:36,040 --> 00:22:38,080 >> Donc, ici, en IDE, je dois mult_form.html. 456 00:22:38,080 --> 00:22:41,370 457 00:22:41,370 --> 00:22:43,100 Je clique dessus. 458 00:22:43,100 --> 00:22:46,020 Tout ce que je veux faire est de soumettre une valeur. 459 00:22:46,020 --> 00:22:47,590 Tapez 10, cliquez sur Envoyer. 460 00:22:47,590 --> 00:22:51,190 Et apparemment, mult_table.php, qui nous pouvons voir en haut là dans l'URL, 461 00:22:51,190 --> 00:22:53,970 Je crée un 10 par 10 table de multiplication. 462 00:22:53,970 --> 00:22:59,365 >> Si je tape 15 et cliquez sur Envoyer, maintenant je avoir une table 15 par 15 de la multiplication. 463 00:22:59,365 --> 00:23:02,240 Je, bien sûr, ne va pas montrer vous le contenu de mult_table.php, 464 00:23:02,240 --> 00:23:04,781 parce que ce serait prendre du plaisir de ce à la maison exercice. 465 00:23:04,781 --> 00:23:07,480 Mais il est un excellent moyen d'obtenir une certaine pratiquer travailler avec des boucles de PHP 466 00:23:07,480 --> 00:23:10,889 et POST, très simple, espérons- le stress par exemple libre, juste 467 00:23:10,889 --> 00:23:12,180 de faire un peu de pratique. 468 00:23:12,180 --> 00:23:16,540 Et je dois un peu de CSS passe ici pour faire ma table individuelle 469 00:23:16,540 --> 00:23:19,710 cellules juste genre de pop off une peu et de regarder un peu plus 470 00:23:19,710 --> 00:23:22,205 comme une table de multiplication, plutôt que de simplement juste le texte 471 00:23:22,205 --> 00:23:23,261 sorte de assis là. 472 00:23:23,261 --> 00:23:26,260 Le dernier Super mondiale, nous parlerons dans cette vidéo est quelque chose appelé 473 00:23:26,260 --> 00:23:27,597 $ _SESSION. 474 00:23:27,597 --> 00:23:29,930 Et peut-être cela est réellement le meilleur exemple de quelque chose 475 00:23:29,930 --> 00:23:31,700 nous pourrions considérer mondiale. 476 00:23:31,700 --> 00:23:33,189 Il est un autre tableau. 477 00:23:33,189 --> 00:23:34,480 Il est un autre tableau associatif. 478 00:23:34,480 --> 00:23:40,580 Mais il est accessible par tous les Fichier PHP qui existe sur notre système. 479 00:23:40,580 --> 00:23:43,410 >> Nous ne disposons pas de soumettre information d'une page à la fois 480 00:23:43,410 --> 00:23:45,400 comme nous le faisons avec GET et POST avec. 481 00:23:45,400 --> 00:23:46,380 Il est toujours là. 482 00:23:46,380 --> 00:23:50,040 Et ce qui est excellent pour une page où vous êtes connecté, par exemple, 483 00:23:50,040 --> 00:23:53,120 et que vous voulez vos informations de connexion à persister de page en page à la page. 484 00:23:53,120 --> 00:23:58,180 >> Vous pouvez simplement démarrer une session, puis utiliser $ _SESSION pour sauver des choses comme 485 00:23:58,180 --> 00:24:02,320 le nom de l'utilisateur ou de l'utilisateur Les informations d'identification, et ainsi de suite. 486 00:24:02,320 --> 00:24:07,600 Et cette information restera en _SESSION $ Jusqu'à ce que vous détruisez la session 487 00:24:07,600 --> 00:24:09,550 un peu plus tard. 488 00:24:09,550 --> 00:24:12,375 >> Rédaction de sites web dynamiques avec PHP les rend beaucoup mieux. 489 00:24:12,375 --> 00:24:14,250 Vos sites deviennent très dynamique, et vous ne le faites pas 490 00:24:14,250 --> 00:24:17,670 avoir à faire trop de plus que ce que que vous auriez fait exactement 491 00:24:17,670 --> 00:24:18,920 le faire avec HTML. 492 00:24:18,920 --> 00:24:21,630 Mais il exige de la pratique, beaucoup de pratique. 493 00:24:21,630 --> 00:24:26,897 >> Vous savez déjà comment travailler avec C, et ainsi de sauter à PHP est pas trop difficile. 494 00:24:26,897 --> 00:24:28,730 Qu'est-ce que peut-être un peu peu délicat travaille 495 00:24:28,730 --> 00:24:33,180 avec cette nouvelle idée de GET et POST, et peut-être le mixage de votre HTML et votre PHP 496 00:24:33,180 --> 00:24:34,220 ensemble. 497 00:24:34,220 --> 00:24:37,570 Mais aussi être conscient que l'Internet est un vaste dépôt d'informations. 498 00:24:37,570 --> 00:24:41,670 Et la documentation de PHP est disponible dans de nombreux endroits, mais peut-être plus 499 00:24:41,670 --> 00:24:43,354 canoniquement à php.net. 500 00:24:43,354 --> 00:24:45,520 Et vous pouvez y trouver, beaucoup de différentes fonctions, 501 00:24:45,520 --> 00:24:48,330 et des cas d'utilisation et des exemples sur des exemples, sur des exemples. 502 00:24:48,330 --> 00:24:51,340 Où si vous voulez essayer de comprendre comment faire quelque chose, les chances sont, 503 00:24:51,340 --> 00:24:52,964 quelqu'un a probablement fait avant vous. 504 00:24:52,964 --> 00:24:55,840 Et vous pouvez les utiliser comme mettre en œuvre quelle que soit source d'inspiration pour 505 00:24:55,840 --> 00:24:58,230 il est vous essayez de mettre en œuvre aussi. 506 00:24:58,230 --> 00:24:59,230 >> Je suis Doug Lloyd. 507 00:24:59,230 --> 00:25:01,210 Ceci est CS50. 508 00:25:01,210 --> 00:25:02,608