>> DOUG LLOYD: Donc, dans notre video sur la syntaxe PHP,
Nous avons beaucoup parlé de la façon dont PHP peut être utilisé à la ligne de commande
pour exécuter des programmes d'une manière qui nous sommes assez familiers avec de C.
Mais comme je l'ai aussi mentionné en ce que vidéo, PHP
a été initialement développé pour mettre en œuvre la programmation web, les sites Web.
Et dans cette vidéo, nous sommes allons parler de la façon dont nous
utiliser PHP dans le contexte de développement web.
>> Nous savons déjà, à partir de notre vidéo sur HTML,
que les sites Web sont construits sur un ensemble de balises HTML
que définie sémantiquement la structure d'une page Web.
Mais les sites Web qui sont construit avec HTML pur
souffrir d'une très, limitation très sérieuse.
>> Et pour illustrer cette limitation, nous allons examiner ce qui suit.
Alors maintenant, je veux construire une page Web que, chaque fois que l'utilisateur visite elle,
il me donne le courant temps à Cambridge, Mass.,
figurent à la dernière minute.
Si je faisais ce droit maintenant, Je pourrais dire quelque chose comme ça.
Heure Cambridge-- donc je dois Les balises HTML, les balises de tête, les balises de titre,
corps tags-- le courant temps à Cambridge est 14h08,
imprimer temps militaire.
>> Qu'advient-il si il est maintenant 14h09, 14h09?
Eh bien jusqu'ici, avec le HTML, je dois aller et le changer à 14h09.
Et puis, une minute plus tard, Je dois changer à nouveau.
Et comme vous pouvez l'imaginer, que ce probablement le pire emploi jamais.
Vous êtes le webmaster pour une page Web, et chaque minute, 24 heures par jour,
vous avez besoin de mettre à jour l'heure actuelle par ouverture manuelle et la modification heure.html
juste que extrait de code pour dire le heure actuelle en heures et minutes.
Voilà probablement pas une très bon usage de nos ressources,
à la fois humaine et de calcul.
>> Les sites Web qui sont tous HTML sont complètement statique.
La seule façon que vous pouvez mettre à jour contenu, comme nous venons de le voir,
est d'ouvrir manuellement les sources les fichiers, les modifier et les enregistrer.
Et puis lorsque l'utilisateur rafraîchit la page,
ou visite la page pour la première temps, ils obtiendront le dernier contenu.
Mais seulement parce que nous avons édité manuellement.
>> Si nous commençons à mélanger un peu de PHP là-dedans, notre code peut obtenir beaucoup plus souple.
Et nous pouvons avoir un moyen pour nos pages pour être dynamique, ou se mettre à jour,
sans exiger notre pauvre webmaster dans l'exemple précédent
d'être mise à jour manuellement les choses.
Ils peuvent le faire automatiquement.
Nous ne devons pas intervenir.
Nous pouvons dormir un peu.
Ce qui est probablement une bonne chose si vous faites beaucoup de la programmation web.
>> Donc, en CS50 IDE, nous courons un serveur web Apache appelé.
Il est un très couramment utilisé, ouverte système de serveur de Web Source.
Ce système présente l' capacité à interpréter
PHP, qui va être utile si vous voulez faire toute la programmation PHP.
>> Et dans CS50 IDE, nous avons une commande pour faire de cette très facile à faire,
apache50 commencer.
Et puis ce slash chemin, à réduire, réduire
dir, qui est juste une façon vraiment commun de indiquant ce que vous avez spécifié ici
est un chemin vers un particulier répertoire que vous
vouloir être la racine site, ou la page racine,
ou le dossier à partir de laquelle votre serveur web va commencer à examiner les dossiers et servir
les à des clients qui en font la demande.
Donc, nous allons POP sur la CS50 IDE, juste pour vous montrer, très rapide, comment cela fonctionne.
>> Donc, ici, dans CS50 IDE, je suis dans un répertoire appelé Semaine zéro neuf.
Et je dois two-- je dois exécuté une commande de LS juste
ci-dessus pour vous montrer que je dois deux répertoires ici, PHP,
qui est l'ensemble des fichiers que je utilisés dans la syntaxe PHP vidéo, puis PHP-web,
qui est l'ensemble des fichiers que je voudraient utiliser dans cette vidéo.
>> Et je voudrais commencer une instance de serveur Web
avec le contenu du dossier PHP Web que les fichiers sont servis.
Alors, que vais-je faire?
Je vais taper apache50 espace commencer, PHP espace, tiret web.
Voilà le chemin de répertoire d'où je suis actuellement.
Puis je tape Entrée.
Il va faire un peu de choses ici.
Et puis, il va dire, Apache a démarré avec succès.
Votre site est maintenant disponible et at-- puis il ya l'URL du site.
Alors, que vais-je faire?
Je vais copier rapidement cela.
Et je vais ouvrir et up-- Je vais effectuer un zoom arrière un peu ici--
Je vais ouvrir un nouvel onglet dans Google Chrome.
Et je vais rendre visite à cette URL.
>> Je vais appuyez sur Entrée.
Il va charger.
Et je vais effectuer un zoom arrière.
Et nous pouvons voir ici est le contenu de mon répertoire web PHP.
>> Alors maintenant, ce qui est fondamentalement passe voici, mon instance de CS50 IDE
est de servir ces fichiers à toute personne qui en fait la demande.
Et au cours de cette vidéo, nous allons trier du
jetez un oeil à un tas de ces fichiers différents dans leur contexte.
>> Pour tester que votre Apache serveur fonctionne,
qui est généralement aller d'être le cas dans CS50 IDE,
mais si vous faites cela, plus généralement, et vous commencez à construire votre propre site web
serveurs, il ya une très Trier commun de analogique,
"bonjour monde», qui est habituellement utilisé pour le développement web PHP.
Qui est d'avoir un fichier constitué de tout cela code--
un séparateur de PHP définir avec PHP info, parenthèses, points-virgules entre les deux.
Qui est essentiellement une spéciale Fonction PHP qui vous dit
quelle version de PHP que vous utilisez.
>> Donc, en CS50 IDE, je dois ce fichier disponible juste
pour vous montrer ce que cela ressemblerait.
Alors je regarde mon index de mon instance de PHP.
Mon instance d'Apache est en marche le contenu de PHP-Web.
Et je dois ici un fichier appelé info.php.
>> Je vais cliquez dessus, un zoom arrière.
Ceci est ce que vous allez à voir, à peu près.
Ceci est juste de me dire que mon serveur Apache travaille.
Et cela est, apparemment, le version de PHP que je suis à court.
Ceci est mon analogique "Bonjour tout le monde."
>> Donc, je sais que les choses sont opérationnels.
Nous sommes donc bon d'aller.
Nous pouvons procéder à partir d'ici.
>> Donc, nous allons revenir sur cette exemple de temps nous étions
parler avec notre pauvre webmaster qui a dû mettre à jour la page en permanence.
Cela pourrait être une solution pour savoir comment Je voudrais mettre en œuvre les choses
de sorte que le webmaster n'a pas doivent garder à jour le temps.
Il serait juste une sorte de se faire automatiquement.
>> Le bas, le code HTML, il est assez similaire, à une exception près.
Mais ici, je dois un peu de PHP au sommet.
Je suis, apparemment, appelé cette date_default_timezone_set fonction.
>> Et nous ne parlons pas de tous ces fonctions dans CS50,
parce que PHP a probablement dizaines de milliers.
Cela pourrait être un peu d'un exagération, mais il pourrait ne pas être.
Il a beaucoup de fonctions intégrées.
Et donc cela est une fonction apparemment définit mon fuseau horaire que US / Eastern,
qui est le fuseau horaire que je suis actuellement à faire cette vidéo.
>> Puis je fais un appel à fonction appelée, la date.
Et, apparemment, je suis stocker le SA de quelque chose appelé, le temps.
Alors qu'est-ce qui se passe ici?
>> Eh bien, ce qui est essentiellement passe est, je fais un appel
à un serveur qui va me dire ce que le temps est actuellement.
Et je le convertir en un format des heures, minutes, secondes.
Et la raison, il est grand H est présent va me donner le temps de 24 heures, pas 12
heure de temps, ce qui serait minuscules h.
Et je suis juste stocker que dans une variable appelée, le temps.
Alors que le deuxième ligne de PHP là, l'appel à la fonction,
A ce jour, ne fait que commencer une chaîne de caractères, qui est
va me donner la date et le temps, et un tas d'autres informations.
Et le premier argument là, que son, est tout simplement extraire la partie importante
que je me soucie pour cet exemple, qui est l'heure, minute et seconde.
Voilà donc le tout ce qui se passe.
Alors je stocke que dans un temps variable $.
Et puis vers le bas à la bas là, je
que pour avoir raccourci imprimer l'heure actuelle.
Donc je vais juste pour imprimer ce que l'heure actuelle est.
>> Donc, nous allons jeter un oeil à ce dans CS50 IDE et de voir comment nous sommes maintenant
sauver que webmaster beaucoup d'ennuis.
Très bien, alors je suis ici à nouveau Retour au répertoire racine
de mon instance d'Apache.
Et je dois ici un fichier appelé time.php.
Je vais juste à cliquer sur ce.
Et je vais défiler vers le haut, parce nous zoomé assez loin.
L'heure actuelle est 14:20:34.
Donc, je le fais heures, minutes et secondes.
Et je peux rafraîchir la la page et d'obtenir une nouvelle fois.
--41.
Je vais rafraîchir la page et obtenir une nouvelle fois, 44, 46, 47.
>> Donc, je suis clairement pas rien changer moi-même.
Je suis là rafraîchir la page.
Donc, je ne peux pas y retourner l'éditer.
Et je vous promets, je ne sais pas avoir des confédérés
qui éditez le fichier en mon nom sur le côté.
>> Je suis juste en utilisant cette fonction de PHP, temps, pour générer le temps pour moi
automatiquement.
Alors que même si je suis endormi, et mon serveur web est en cours d'exécution,
l'utilisateur qui visite cette page est encore va obtenir exactement l'heure actuelle.
Voilà donc assez bonne.
Je me suis fait mon site plus dynamique avec pas trop de code PHP.
Il était seulement deux lignes de code, puis un peu d'une déclaration d'impression.
Et déjà je dois une site beaucoup plus dynamique
que nous avons vu premier exemple au début de la vidéo.
>> Donc, rappeler de la vidéo sur la syntaxe PHP que lorsque l'interpréteur PHP fonctionne
notre programme, il ignore tout ce est pas à l'intérieur des séparateurs de PHP,
recracher.
Dans cet exemple, ce que la chose qu'il crachait était HTML.
Et cela signifie que je peux maintenant intercaler HTML et PHP ensemble.
Parce que l'interprète sera juste ignorer le HTML et littéralement sortie il.
Ce qui est bon, non?
>> Parce que sans doute, à la fin de la journée,
Je voudrais que mon site être construit de HTML.
Alors que tout navigateur Web peut interpréter , ou comprendre le code HTML de la page
et le rendre comme quelque chose que nous peut effectivement comprendre que les humains.
Et je ne peux utiliser PHP pour les parties de mon site
l'exigent dynamisme, qui me nécessitera d'avoir des choses qui mettent à jour en permanence.
L'information statique peut rester le même.
>> OK, alors ça va.
Mais pourquoi devrais-je faire cela?
Pourquoi aurais-je mélanger HTML et PHP?
Je ne pouvais tout simplement imprimer toutes les HTML, en utilisant la fonction d'impression de PHP.
Pourquoi suis-je pas le faire?
Pensez-y une seconde.
>> Pourquoi, quand je ne pouvais tout simplement imprimer out-- I pourrait avoir des lignes de PHP qui disent juste,
balise HTML d'impression, la tête d'impression.
Pourquoi suis-je pas le faire?
Pourquoi suis-je mélanger les PHP et HTML?
>> Eh bien, si vous pensez à ce sujet pour une seconde.
PHP, l'interprète a à interpréter ce qu'il voit.
Et donc il va falloir pour exécuter une ligne de code.
Imprimez HTML.
Imprimez tête ouverte tag.
Imprimez titre ouvert tag.
Il va devoir exécuter et interpréter
que chaque étape du chemin.
Pourquoi ne pas simplement laisser le interprète simplement gommer
des choses qu'il ne comprend pas et de le faire automatiquement?
Ça va me sauver beaucoup de temps de mélanger mon HTML et PHP mon ensemble.
>> Et voilà pourquoi nous ne faisons pas juste avoir ouvert séparateur de PHP
et puis juste imprimer l'ensemble le contenu de notre page PHP comme un géant
appel à la fonction, Imprimer, puis Fermer séparateur de PHP et nous avons terminé.
Voilà pourquoi nous les mélanger ensemble.
>> Jusqu'à présent, on n'a pas vu trop de une différence de syntaxe générale de PHP.
Il a été assez simple.
Nous avons déjà vu la point d'interrogation, égale.
Nous avons vu un couple de nouveaux appels de fonction, mais rien de vraiment envie d'aller sur.
Disons peut-être faire les choses un peu plus fantaisistes.
Que faire si nous voulons passer des informations entre les différents fichiers PHP,
de telle sorte que l'utilisateur peut peut-être soumettre des informations pour moi.
Et puis je pouvais faire quelque chose avec elle sur une autre page.
>> Donc, PHP a le soutien de quelque chose appelé Super mondial
Variables, ce qui semble assez impressionnant.
Ils sont vraiment juste tableaux associatifs géants
aider à mettre ce que fonctionnalité de passage
informations entre les fichiers PHP qui sont existantes sur notre serveur.
>> Le premier de ces super- globales sont appelés $ _GET.
Et il est probablement le plus simple à comprendre.
Qu'est-ce qui se passe avec $ _GET?
Eh bien, au fond, l'utilisateur est aller à taper des informations supplémentaires
à la fin de nos URL.
Et quel que soit leur type, en supposant il est formaté d'une manière particulière
appelé une chaîne de requête, qui est juste un ensemble de paires clé-valeur séparé
par une esperluette.
Ces paires de valeurs clés seront stockée dans un tableau associatif $ _GET.
Et à partir de notre vidéo sur La syntaxe PHP, nous savons
comment travailler avec Déjà tableaux associatifs.
Donc, voici un exemple de un peu de PHP, où peut-être je suis
l'extraction de l'ensemble des paires de valeurs clés que l'utilisateur a fourni à l'URL.
Donc je dois mon Ouvrir séparateur de PHP.
Je dois une boucle foreach.
Je itération à travers le Super Réseau mondial appelé $ _GET.
>> Et je veux être en mesure de se référer à la fois la clé et la valeur.
Et je suis juste de les imprimer sur, chacun sur apparemment
sa propre étiquette de paragraphe ici.
Je imprimer un fichier HTML et interpoler les valeurs
de la clé et de la valeur dans cette déclaration.
>> Donc, nous allons jeter un oeil à la façon dont cette serait effectivement travailler sur notre IDE.
Et peut-être que cela aidera illustrer un peu
de ce que GET est en train de faire.
Donc, je suis de retour ici dans ma racine web.
Et je vais zoomer sur une peu pour vous montrer
que je dois un fichier appelé, get1.php.
>> Donc, nous allons cliquer sur get1.php.
Et je ne vois pas de tout contenu.
Voilà bizarre, non?
Eh bien, pas vraiment en fait.
Parce que je ne fournissons pas de quoi que ce soit dans l'URL.
Je vais get1.php, mais je n'a pas fourni paires de valeurs clés
dans le cadre de ma chaîne de requête.
Ajoutons donc une chaîne de requête et voir ce que ce fichier peut faire.
>> Pour commencer une chaîne de requête vous il suffit de taper point d'interrogation.
Alors peut-être que je vais dire name = & Doug année = 2,015.
Et puis je vais appuyez sur Entrée.
Maintenant, remarquez ce qui se passe.
Je suis toujours dans get1.php.
Mais maintenant, je l'ai fourni paires de valeurs clés, et je suis
les imprimer sur leur propre Nom paragraph--, année Doug-- 2015.
Voilà exactement le code que nous venons vu sur la diapositive il ya un instant.
>> Et si je veux peut-être ajouter une autre paire de valeur de clé, et class = CS50.
Maintenant, je dois une autre valeur de clé paire qui est imprimé
quand je revisite à nouveau l'URL.
Maintenant peut-être ce ne est pas formatée terriblement bien.
Je dois donc une autre version de get.php.
Il est get2.php.
>> La différence dans ce l'un est que je dois fichier CSS,
et il formate les choses un peu plus bien pour moi.
Il est peut-être pas le plus belle CSS dans le monde.
Mais il est juste une autre façon de le faire.
Donc, je peux encore obtenir l'accès à mes variables en utilisant $ _GET.
Et dans ce cas, je suis juste un peu rendant le CSS d'un peu plus de fantaisie.
Et si nous POP sur la mon IDE pour une seconde,
Je vais vous montrer dans mon web PHP répertoire ici, get2.php.
Nous allons ouvrir, certains HTML ici.
Apparemment, je suis reliant dans ce Fichier CSS je parlais.
Je ouvre une étiquette de table.
Et puis voici mon boucle foreach.
>> Ici est que, ce que je montré sur la diapositive avant.
La seule différence est I avoir cette clé et la valeur CSS
style que je suis à lui appliquer.
Mais tout cela est que je fais, est que je suis itérer à travers $ _GET pour obtenir tous
des paires de valeurs clés.
>> Et je les imprimer que la table.
Et, apparemment, je suis mise en forme des touches dans un sens, avec la "clé" <td class =.
Donc, apparemment, cela vaut pour certains sélecteur de classe dans mon fichier CSS GET.CSS.
Et, apparemment, je suis imprimer mes valeurs d'une manière totalement différente.
Qui est à peu près ce que nous avons vu ici, où
nos valeurs ont été imprimés avec un fond bleu,
et nos clés ont été imprimés avec un fond jaune.
Voilà donc comment je reçois ces différents styles.
Parce que je suis en utilisant différentes classes CSS.
Mais cela est à peu près pour GET.
Comme je suis juste extraire des informations.
Et dans ce cas, je suis juste impression à l'écran.
Je suis en train de sortir de l'URL, et voilà ce EEG fait pour nous.
>> Voyez-vous une éventuelle problème ici si?
Pourquoi devrions-nous peut-être ne pas vouloir utiliser $ _GET?
Que faire si, peut-être, je faisais cette recherche?
get3.php --to, que je ne disposent pas sur mon IDE.
Il est juste un fichier hypothétique.
Mais remarquez ici que, apparemment, passant mon mot de passe en.
Et peut-être mon mot de passe est embarrassant.
Ou peut-être que je ne veux pas que les gens savoir ce que mon mot de passe est, à droite.
>> Si je suis de passage, il though-- si je suis en utilisant la méthode $ _GET, ce qui se passe est,
que ça va être dans l'URL.
Ainsi, certains utilisateur malveillant pourrait être en mesure de voir ce que je fais.
Je peux être de les transmettre information sensible.
Ou peut-être il est même pas un utilisateur malveillant.
Peut-être qu'il est juste de votre ami est debout au-dessus de votre épaule.
Et maintenant, ils savent le mot de passe à votre compte Facebook.
>> Et peut-être qu'ils ne seraient pas faire quelque chose avec elle.
Mais si votre mot de passe étaient soumis via $ _GET à Facebook,
maintenant ils savent votre mot de passe Facebook.
Parce qu'il est juste là dans l'URL quand vous avez fait de soumettre des informations.
>> Et peut-être cela est pas la meilleure façon de passer des informations sensibles.
Il est un bon moyen pour transmettre des informations ce que nous faisons pas particulièrement
soucier comme étant trop sensible.
Parce que GET est assez rapide, par rapport aux autres super-globales
nous allons parler.
Mais peut-être pas le meilleur outil pour obtenir des informations sensibles.
>> Pour que nous pourrions vouloir utiliser quelque chose appelé $ _POST,
qui est une autre variable de Super mondial.
Il est un autre tableau associatif.
Donc, cela fonctionne assez bien exactement le même que GET.
Sauf, au lieu d'extraire informations de l'URL,
il fait quelque chose par-têtes HTTP.
Donc rappeler de notre vidéo sur HTTP, nous avons parlé
sur la façon dont les navigateurs, les serveurs, et les clients communiquent.
Et l'information est renvoyé et-vient dans les en-têtes HTTP.
>> Avec $ _POST, l'information est généralement envoyé par les en-têtes HTTP.
Et nous voyons le plus souvent dans $ _POST le contexte de la présentation des formulaires HTML.
Vous pouvez toujours utiliser les formulaires HTML de présenter les choses à obtenir.
Mais ils sont généralement utilisés dans le cadre de POST.
>> Alors, voici un exemple d'un formulaire HTML.
Maintenant que nous avons vu ces derniers avant, mais nous avons pas vu cette partie, action = "post.php".
Alors, quand nous avons parlé de formes dans le contexte de HTML, je avait un bouton Soumettre.
Et si vous vous souvenez, je vous cliquez sur Envoyer puis la page juste rafraîchi,
ne rien faire.
>> Dans ce cas, je vais soumettre tout ce que je tape à ce formulaire,
à un fichier PHP appelé post.php.
Et, apparemment, la façon dont je le fais sous cette forme est d'utiliser la méthode POST.
Ainsi, chaque élément d'information que je tape dans ce formulaire
sera soumis à travers les en-têtes HTTP.
>> Il sera accessible dans post.php, parce que ce l'action de ma forme.
Il sera accessible en allant à $ _POST.
Et apparemment, la façon dont je peux obtenir à chaque élément individuel
avec ce tableau associatif est avec cet attribut,
l'attribut Name de nos balises d'entrée.
>> Donc, apparemment, je peux dire $ _POST carré supports nom pour obtenir ce que l'utilisateur
tapé dans le premier champ.
Et $ _POST mot de passe, de PW plutôt, pour obtenir quel que soit l'utilisateur a tapé
dans le second champ.
>> Donc, nous allons jeter un oeil à ce cours en CS50 IDE.
Donc nous sommes ici, et je vais zoomer pour une seconde.
Et nous avons un fichier appelé post.html.
Je clique sur post.html.
Au sommet ici, je dois une forme très simple web.
Il est la forme nous venons de voir sur la diapositive il ya une seconde.
>> Je peux taper, Doug, et je peux taper mon mot de passe, que nous avons tous
savoir est squadgoals.
Et je vais frapper Soumettre.
Apparemment, ce soumet à post.php.
Et je suis apparemment l'impression que.
Donc, je me débarrasse de toute la sécurité que le POST me donne simplement en imprimant
le nom d'utilisateur et mot de passe.
>> Le nom de l'utilisateur est Doug.
Le mot de passe de l'utilisateur est squadgoals.
Comment ai-je fait cela?
Eh bien, plus pop à IDE pour une deuxième.
Nous allons faire défiler vers le bas pour prendre un oeil à post.php, qui était
l'action que je l'habitude de présenter ici.
Ce fut l'action de mon formulaire HTML.
Et voilà tout ce que je fais.
Le nom de l'utilisateur est, et je suis l'impression le contenu de $ _POST "nom".
Et puis le mot de passe de l'utilisateur $ _POST est "mot de passe".
Alors on m'a donné cette information en soumettant le formulaire HTML.
Et je peux maintenant extraire en utilisant $ _POST parce que la méthode que je utilisé pour transmettre
données avec cette forme, était la méthode POST.
>> Maintenant, il est probablement pas donc je vais great--
aller retour pour une deuxième à notre jeu ici--
il est sans doute pas si grand, si je suis soumettant des informations avec Postes,
qui est apparemment plus sûr.
Il est probablement pas si grande si je fais ça et puis
imprimer le mot de passe de l'utilisateur.
Il est censé être plus sûr.
>> OK, mais il est pas tout à fait sûr.
Et donc dans ce petit extrait ici, je veux
à attirer votre attention sur certains préoccupations de sécurité des données, juste quelque chose
à penser que vous êtes travaillant ou en utilisant Internet.
Ceci est juste quelque chose à considérer.
>> Je vous ai dit que l'information est soumis par des en-têtes HTTP
lorsque vous utilisez la méthode POST.
Ce qui signifie qu'ils ne sont pas entièrement sécurisée.
Ils sont plus difficiles à trouver que en utilisant la méthode GET, où
il est juste dans l'URL.
Mais il ya toujours un moyen de le trouver.
Et je veux juste montrer vous à ce que vous peut-être de manière
commencer à penser à ce sujet que vous travaillez, ou à l'aide
sites et de soumettre mots de passe, et peut-être l'aide
le même mot de passe dans un beaucoup d'endroits différents.
Savoir qui est est encore fait assez facile de trouver le mot de passe de quelqu'un.
>> Et ici, je vais pour aller à post2.html.
Et la différence avec post2.html et post2.php est assez subtile.
La différence est juste que je ne imprime
le mot de passe lorsque je soumets la forme.
>> Donc, je vais taper, Doug.
Et je vais taper dans, squadgoals, même
si nous savons que ce mot de passe.
Avant que je soumets le forment bien, je vais
d'ouvrir les outils de développement, juste pour vous montrer ce qui va se passer ici.
Donc, dans Chrome, je vais juste de frapper F12.
Et cela va ouvrir mon Outils de développement sur le côté droit.
Je ne l'ai pas encore présenté la forme.
Maintenant, je vais frapper Soumettre sur ma forme.
Et apparemment, je fis un appelle à, ou je faisais une demande
à post2.php, ce qui est logique.
Je vais à cliquer sur ce.
>> Alors ici, je vais cliquer sur têtes.
Il ya beaucoup de choses qui se passe ici.
Mais si je défiler vers le très en bas, à droite préavis there-- mon calendrier
l'a bloqué pour une raison second-- il à l'angle très bas,
name-- Doug, squadgoals pw--.
Donc, même si je suis en utilisant le POST méthode, qui est plus sûr,
juste être conscient que si vous le faites, vous êtes toujours la transmission d'informations
via HTTP.
Et il peut encore être trouvée par un adversaire.
Il est juste quelque chose que nous allons d'avoir à traiter avec vraiment.
Peut-être il ya quelques façons de crypter notre les mots de passe avant de les envoyer sur,
ce qui serait une meilleure, dont je ne fais pas ici.
>> Mais juste être conscient que le POST Procédé présente des limitations trop.
Il est une amélioration par rapport GET dans termes d'être immédiatement visible.
Mais il est pas une solution complète.
Alors, voici un exemple de un rapide à la maison d'exercice
que vous pouvez utiliser pour obtenir des pratiquer travailler avec PHP.
Créez la paire de pages web suivante.
Le premier devrait juste être un très simple former avec un seul champ et un Proposez
bouton.
Donc, très semblable à ce que nous juste fait avec post.html.
>> Ensuite, la seconde le fichier que vous devez créer
est un fichier, un fichier PHP, qui est attendant entrée, via POST,
et sur la base de ce que l'utilisateur a tapé, qui vous pouvez supposer sera un entier.
Vous ne devez pas faire tout la vérification des erreurs ou similaire.
Vous pouvez supposer l'utilisateur tapera une valeur entière,
ou quelque chose comme une interprété par PHP comme un entier, dans cette forme.
Vous voulez juste créer un n par le tableau n de multiplication.
>> Donc, si l'utilisateur soumet 10, nous voulons avoir une table 10 par 10 de la multiplication.
Si l'utilisateur soumet un 12, nous voulons une table 12 par 12 de la multiplication.
Juste pour que vous puissiez voir ce que nous conduire à ici,
nous allons jeter un oeil à ce fichier dans mon IDE.
>> Donc, ici, en IDE, je dois mult_form.html.
Je clique dessus.
Tout ce que je veux faire est de soumettre une valeur.
Tapez 10, cliquez sur Envoyer.
Et apparemment, mult_table.php, qui nous pouvons voir en haut là dans l'URL,
Je crée un 10 par 10 table de multiplication.
>> Si je tape 15 et cliquez sur Envoyer, maintenant je avoir une table 15 par 15 de la multiplication.
Je, bien sûr, ne va pas montrer vous le contenu de mult_table.php,
parce que ce serait prendre du plaisir de ce à la maison exercice.
Mais il est un excellent moyen d'obtenir une certaine pratiquer travailler avec des boucles de PHP
et POST, très simple, espérons- le stress par exemple libre, juste
de faire un peu de pratique.
Et je dois un peu de CSS passe ici pour faire ma table individuelle
cellules juste genre de pop off une peu et de regarder un peu plus
comme une table de multiplication, plutôt que de simplement juste le texte
sorte de assis là.
Le dernier Super mondiale, nous parlerons dans cette vidéo est quelque chose appelé
$ _SESSION.
Et peut-être cela est réellement le meilleur exemple de quelque chose
nous pourrions considérer mondiale.
Il est un autre tableau.
Il est un autre tableau associatif.
Mais il est accessible par tous les Fichier PHP qui existe sur notre système.
>> Nous ne disposons pas de soumettre information d'une page à la fois
comme nous le faisons avec GET et POST avec.
Il est toujours là.
Et ce qui est excellent pour une page où vous êtes connecté, par exemple,
et que vous voulez vos informations de connexion à persister de page en page à la page.
>> Vous pouvez simplement démarrer une session, puis utiliser $ _SESSION pour sauver des choses comme
le nom de l'utilisateur ou de l'utilisateur Les informations d'identification, et ainsi de suite.
Et cette information restera en _SESSION $ Jusqu'à ce que vous détruisez la session
un peu plus tard.
>> Rédaction de sites web dynamiques avec PHP les rend beaucoup mieux.
Vos sites deviennent très dynamique, et vous ne le faites pas
avoir à faire trop de plus que ce que que vous auriez fait exactement
le faire avec HTML.
Mais il exige de la pratique, beaucoup de pratique.
>> Vous savez déjà comment travailler avec C, et ainsi de sauter à PHP est pas trop difficile.
Qu'est-ce que peut-être un peu peu délicat travaille
avec cette nouvelle idée de GET et POST, et peut-être le mixage de votre HTML et votre PHP
ensemble.
Mais aussi être conscient que l'Internet est un vaste dépôt d'informations.
Et la documentation de PHP est disponible dans de nombreux endroits, mais peut-être plus
canoniquement à php.net.
Et vous pouvez y trouver, beaucoup de différentes fonctions,
et des cas d'utilisation et des exemples sur des exemples, sur des exemples.
Où si vous voulez essayer de comprendre comment faire quelque chose, les chances sont,
quelqu'un a probablement fait avant vous.
Et vous pouvez les utiliser comme mettre en œuvre quelle que soit source d'inspiration pour
il est vous essayez de mettre en œuvre aussi.
>> Je suis Doug Lloyd.
Ceci est CS50.