>> DOUG LLOYD: Do en nia vídeo sur PHP sintakso,
ni parolis multe pri kiel PHP povas esti uzita ĉe la komandlinio
kuri programojn en maniero kiu ni povos egale konanta de C.
Sed, kiel mi ankaŭ menciis en tiu video, PHP
estis disvolvita komence por efektivigu ttt programado, retejoj.
Kaj tial en ĉi tiu video ni estas tuj parolos pri ni kiel
uzi PHP en la ttt disvolviĝo kuntekston.
>> Ni scias, jam, de niaj filmetoj en HTML,
ke retejoj estas konstruita el aro de HTML etikedoj
ke semantike difini la strukturo de retpaĝo.
Sed retejoj kiuj estas konstruita per pura HTML
suferas tre, tre seriozan limigon.
>> Kaj por ilustri ĉi tiun limigon, ni konsideru la sekvan.
Do nun mi volas konstrui retpaĝo ke, kiam ajn la uzanto vizitas ŝin,
ĝi donas al mi la nunan tempo en Kembriĝo, Mass.,
montri ĝin al la lasta minuto.
Se mi estis faranta ĉi tiun rajton nun, Mi povus diri ion kiel tion.
Nuna tempo en Cambridge-- tial mi havas HTML etikedoj, kapo etikedoj, titolo etikedoj,
korpo tags-- la nuna tempo en Cambridge estas 14:08,
presi el milita tempo.
>> Kio okazas se ĝi estas nun 2:09 Pm, 14:09?
Nu ĝis nun, kun HTML, mi havas iri kaj ŝanĝu ĝin al 14:09.
Kaj tiam unu minuton poste, Mi devos ŝanĝi ĝin denove.
Kaj kiel vi povas imagi, ke estas probable la plej malbonan laboron iam.
Vi estas la retmajstro por retpaĝon, kaj ĉiu minuto, 24 horoj tage,
Vi bezonas ĝisdatigi la nuna tempo de permane malfermante time.html kaj ŝanĝante
Nur ke fragmento de kodo diri la nuna tempo en horoj kaj minutoj.
Tio probable ne estas tre bona uzo de niaj resursoj,
ambaŭ homa kaj komputa.
>> Retejoj kiuj estas ĉiuj HTML estas tute statikaj.
La sola maniero vi povas ĝisdatigi enhavo, kiel ni ĵus vidis,
estas permane malfermi tiujn fonto dosierojn, redakti ilin kaj konservi ilin.
Kaj tiam kiam la uzanto refreŝigas la paĝo,
aŭ vizitas la paĝon por la unua tempo, ili ricevos la lasta enhavo.
Sed nur ĉar ni permane redaktis ĝin.
>> Se ni komencas miksi iuj PHP tien, nia kodo povas akiri multe pli fleksebla.
Kaj ni povas havi vojon por nia paĝoj esti dinamika, aŭ ĝisdatigi sin,
sen postuli nia kompatinda retestro en la antaŭa ekzemplo
esti permane ĝisdatiganta aferojn.
Ili povas fari ĝin aŭtomate.
Ni ne devas interveni.
Ni povas ricevi iun dormon.
Kiu estas probable bona afero se vi faras multajn ttt programado.
>> Do en CS50 IDE, ni kuras retservilo nomata Apache.
Ĝi estas tre ofte uzata, malfermita retservilo sistemo.
Tiu sistemo havas la kapablo interpreti
PHP, kiu tuj estos utila se vi volas fari ajnan PHP programado.
>> Kaj en CS50 IDE, ni havas komandon fari ĉi tre facila fari,
apache50 komenci.
Kaj tiam tiu oblikvo irejo, oblikvo por, oblikvo
dir, tio estas nur vere komuna maniero indikante kion vi specifita tie
estas vojo al aparta dosierujo kiu vi
volas esti la radiko ejo, aŭ la radikon paĝo,
aŭ la dosierujo de kiu via retservilo komencos ekzameni dosierojn kaj servi
ilin al klientoj kiuj petas ilin.
Do ni Pufo al CS50 IDE, nur por montri vin, vere rapida, kiel tio funkcias.
>> Do tie en CS50 IDE, mi estas en dosierujo nomita Semajno Zero Nine.
Kaj mi havas two-- mi havas ekzekutis LS komando simple
supre por montri al vi, ke mi havas du dosierujojn en tie, PHP,
kiu estas la aro de dosieroj kiujn mi uzis en la PHP sintakso vídeo, kaj tiam PHP-retejo,
kiu estas la aro de dosieroj kiujn mi ŝatus uzi en ĉi tiu video.
>> Kaj mi ŝatus komenci retservilo ekzemple
kun la enhavo de la PHP-retejo dosierujo kiel la dosieroj estas estanta servita supren.
Do kion mi faru?
Mi tuj tajpi apache50 spaco komenci, spaco PHP, haltostreko TTT.
Jen la vojo al dosierujo de kie mi nuntempe estas.
Tiam mi batis Enter.
Ĝi tuj fari iomete da aĵoj ĉi tie.
Kaj tiam tuj diri, Apache komenciĝis sukcese.
Via retejo estas nun disponebla at-- kaj tiam ekzistas la URL por la ejo.
Do kion mi faru?
Mi tuj rapide kopiu ĉi.
Kaj mi tuj malfermos up-- kaj Mi malzomi iomete here--
Mi tuj malfermu nova langeto en Chrome.
Kaj mi tuj vizitos tiu URL.
>> Mi tuj batis Enter.
Ĝi tuj ŝarĝas.
Kaj mi malzomi denove.
Kaj ni povas vidi tie estas la enhavo de mia PHP retejo dosierujo.
>> Do nun kio esence okazanta jen, mia petskribo de CS50 IDE
servas tiujn dosierojn iu ajn kiu petas ilin.
Super la apartajxo de ĉi video, ni ordigi de
rigardu faskon de tiuj malsamajn dosierojn en kunteksto.
>> Por testi ke via Apache servilo funkcias,
kiu estas ĝenerale iranta esti la kazo en CS50 IDE,
sed se vi faros tion pli ĝenerale, kaj vi komenci konstrui vian propran ttt
serviloj, ekzistas vere komuna speco de analoga al,
"saluton mondo", te kutime uzita por PHP ttt disvolviĝo.
Kio estas havi dosieron konsistanta el nur tiun code--
PHP delimitador inkrustita per PHP info, krampoj, punktokomo intere.
Kiu estas esence speciala PHP funkcio kiu informas vin
kion versio de PHP vi kuras.
>> Do en CS50 IDE, mi havas ke dosiero disponebla nur
montri vin kion ĉi aspektus.
Do mi rigardis mian indekso de mia PHP ekz.
Mia Apache Ekzemple kuras la enhavo de PHP-retejo.
Kaj mi havas dosieron tie nomata info.php.
>> Mi tuj klaku ĝin, malzomi.
Jen kion vi tuj vidi, preskaux.
Tiu estas nur diras min ke miaj Apache servilo funkcias.
Kaj tiu estas, ŝajne, la versio de PHP ke Mi kuras.
Mia estas analoga al "saluton mondo."
>> Do mi scias aferojn estas operacional.
Do ni estas bone iri.
Ni povas procedi de ĉi tie.
>> Do ni reviziti ke tempo ekzemplo ni estis
parolas kun nia malriĉa retestro kiu devis ĝisdatigi la paĝon senĉese.
Tio povas esti solvon por kiom Mi volus apliki aferoj
por ke la retestro ne devi teni ĝisdatigi la tempo.
Ĝi farus nur ia okazos aŭtomate.
>> La malsupre, la HTML, estas bela similaj, kun unu escepto.
Sed ĉi tie mi mem havigis iuj PHP ĉe la supro.
Mi, ŝajne, nomita tiu funkcio date_default_timezone_set.
>> Kaj ni ne parolas pri ĉiuj tiujn funkciojn en CS50,
ĉar PHP havas probable dekoj da miloj.
Tio povus esti iom de troigo, sed eble ne.
Oni alvenis multajn funkciojn enkonstruita.
Kaj tiel tio estas funkcio ŝajne fiksas mian horzonon kiel US / Eastern,
kiu estas la horzono ke mi estas aktuale en farante tiun video.
>> Tiam mi faras alvokon al funkcio vokita, dato.
Kaj, ŝajne, mi stokante la LIA de iu nomita, tempo.
Do kio okazas ĉi tie?
>> Nu, resume kio estas okazanta estas, mi faras alvokon
al iu servilo kiu tuj diru al mi kio tempo aktuale estas.
Kaj mi konvertado al formato de horoj, minutoj, sekundoj.
Kaj la kialo estas ĉefurbo H estas tiu tuj donu al mi 24 hora tempo, ne 12
hora tempo, kiu estus minuskla h.
Kaj mi simple stoki ke en variablo vokis, tempo.
Do tiu dua linio de PHP ekzistas, la alvoko al la funkcio,
dato, estas nur nun iuj kordoj, kiuj estas
tuj al mi la dato, kaj la tempo, kaj faskon de aliaj informoj.
Kaj la unua argumento tie, ke LIA, Estas ĝuste ĉerpi la grava parto
ke mi zorgas pri ĉi tiu ekzemplo, kiu estas la horo, minuto kaj sekundo.
Do jen la tuta tiu okazas.
Do mi stoki ke en variablo $ tempon.
Kaj poste malsupren al la tre fundo tie, mi
havas tiun stenografio por presi el la nuna tempo.
Do mi simple tuj presi kion la nuna tempo estas.
>> Do ni rigardu tiun en CS50 IDE kaj vidi kiel ni nun
savanta ke retestro multajn problemojn.
Bone, do jen mi denove reen ĉe la radika dosierujo
de miaj Apache ekz.
Kaj mi havas dosieron tie nomata time.php.
Mi simple tuj klaku sur tion.
Kaj mi rulumu supren, ĉar ni zomis en bela malproksima.
La nuna tempo estas 14:20:34.
Do mi faras gxin horoj, minutoj kaj sekundoj.
Kaj mi povas refreŝigi la paĝo kaj akiri novan tempon.
--41.
Mi tuj refreŝigi la paĝon kaj akiri novan tempon, 44, 46, 47.
>> Do, mi estas klare ne ŝanĝi ion mem.
Mi tie refreŝiga la paĝo.
Do mi ne povas esti reen tie redaktante ĝin.
Kaj mi promesas al vi, mi ne faras havas ajnan aliancanoj
kiu redaktas la dosiero por mi sur la flankon.
>> Mi nur uzas ke PHP funkcio, tempo, por generi la tempo por mi
aŭtomate.
Tiel ke eĉ se mi estas dormanta, kaj mia retservilo kuras,
la uzanto kiu vizitas la paĝon estas ankoraŭ tuj ricevas ekzakte la nuna tempo.
Tiel ke estas sufiĉe bonaj.
Mi jam faris mian retejon pli dinamika kun ne tro multe PHP kodo.
Estis nur du linioj de kodo kaj tiam iomete da print komunikaĵo.
Kaj jam mi havas multe pli dinamika ejo
ol tiu unua ekzemplo ni vidis ĉe la komenco de la video.
>> Do, memoras de la video sur PHP sintakso ke kiam la PHP interpretisto kuras
nia programo, ĝi ignoras ĉiu tio ne ene de PHP delimitadores,
kracxi ĝin.
En tiu ekzemplo, kion la afero ke oni kracxis el estis HTML.
Kaj tio signifas mi povas nun intersperse HTML kaj PHP kune.
Ĉar la interpretisto simple ignori la HTML kaj laŭvorte eligo ĝin.
Kio estas bona, ĉu ne?
>> Ĉar supozeble, fine de la tago,
Mi ŝatus mian retejon al esti konstruitaj de HTML.
Tiel ke ajna retumilo povas interpreti ĝi, aŭ kompreni la HTML de la paĝo
kaj redonu ĝin kiel ion, kion ni povas fakte kompreni kiel homoj.
Kaj mi povas nur uzi PHP por la partoj de mia retejo
la postuli dinamismo, kiuj postulas min havi aĵojn kiuj ĝisdatigos senĉese.
La statikaj informoj povas resti la sama.
>> Bone, do tio estas bone.
Sed kial mi faru tion?
Kial mi miksi HTML kaj PHP?
Mi povis nur presi ĉiujn HTML, uzanta la PHP print funkcio.
Kial mi ne faras tion?
Pensu pri ĝi dum sekundo.
>> Ho, kiam mi povis nur presi fjordon mi povus havi liniojn de PHP ke nur diru,
print HTML tag, presi kapo.
Kial mi ne faras tion?
Kial mi miksante la PHP kaj HTML?
>> Nu, se vi opinias pri ĝi dum sekundo.
PHP, la interpretisto havas interpreti kion ŝi vidas.
Kaj tiel ĝi tuj devos ekzekuti linion de kodo.
Elprinti HTML.
Elprinti malfermita kapo etikedo.
Elprinti malfermita titolo etikedo.
Ĝi tuj devos ekzekuti kaj interpreti
ke ĉiu unuopa paŝo de la vojo.
Kial ne simple lasu la interpretisto simple forgliti super
aferoj ne kompreni kaj faras aŭtomate?
Ĝi tuj savi min multa tempo miksi miajn HTML kaj PHP miaj kune.
>> Kaj do jen kial ni ne nur havi malfermitaj PHP delimitador
kaj tiam simple printi la tutan enhavo de nia paĝo kiel unu giganta PHP
vokas al la funkcio, Print, kaj tiam proksime PHP delimitador kaj ni faris.
Tial do ni miksas ilin kune.
>> Ĝis nun, ni ne vidis tro diferenco de ĝeneralaj PHP sintakso.
Ĝi estas estita sufiĉe simpla.
Ni jam vidis la demandosigno, egalaj.
Ni vidis paron de novaj funkcio vokoj, sed nenio vere imago okazas.
Ni eble fari aferojn iom amatoro.
Kio se ni volas pasi informon inter malsamaj PHP dosierojn,
tiel ke eble la uzanto povas prezenti informon al mi.
Kaj tiam mi povis fari ion per ĝi en alia paĝo.
>> Do PHP havas subtenon por iu nomita Super Ĝenerala
Variabloj, kiuj sonas sufiĉe timinda.
Ili estas vere ĝuste giganto asociaj tabeloj
kiu helpas apliki tiun funcionalidad de forpaso
informo inter PHP dosierojn kiuj estas ekzistantaj sur nia ttt-servilo.
>> La unua de tiuj super globals nomiĝas $ _GET.
Kaj estas probable la simplaj kompreni.
Kio okazas kun $ _GET?
Nu, resume, la uzanto estas tuj tajpi ekstra informo
ĉe la fino de nia URLoj.
Kaj kion ajn ili tajpu, supozante ĝi estas formatita per speciala maniero
nomiĝas query string, kiu estas nur aro de ŝlosila valoro paroj apartigitaj
per ampersands.
Tiuj ŝlosilaj valoro paroj estos stokitaj en $ _GET asocieca tabelo.
Kaj de nia vídeo sur PHP sintakso, ni scias
kiel labori kun asociaj tabeloj jam.
Do tie estas ekzemplo de iuj PHP, kie eble mi estas
ĉerpi ĉiujn la ŝlosilo valoro paroj ke la uzanto provizitaj en la URL.
Do mi havas mian Malferma PHP delimitador.
Mi havas foreach buklo.
Mi ripetanta tra la Super Tutmondaj array nomita $ _GET.
>> Kaj mi volas povi rilati al ambaŭ la ŝlosilo kaj la valoro.
Kaj mi simple videbligi ilin eksteren, ĉiu sur ŝajne
lia propra alineo etikedo tie.
Mi presi ekstere kelkajn HTML kaj interpolanta la valoroj
de ŝlosilo kaj valoron en tiu deklaro.
>> Do ni rigardu kiel tio povus fakte funkcii sur nia IDE.
Kaj eble tio helpos ilustri iomete
kio GET estas efektive faranta.
Do mi estas reen tie en mia ttt radiko.
Kaj Mi zomi en iomete montri vin
ke mi havas dosieron nomata, get1.php.
>> Do ni alklaku get1.php.
Kaj mi ne vidas ajnan enhavon.
Tio estas stranga, ĉu ne?
Nu, ne vere reale.
Ĉar mi ne provizi ion en la URL.
Mi tuj get1.php, sed mi ne provizi ajnan ŝlosilo valoro paroj
kiel parto de mia query string.
Do ni aldonu query string kaj vidi kion ĉi tiu dosiero povas fari.
>> Komenci query string vi nur tajpu demandosigno.
Tiam eble mi diru nomo = & Doug jaro = 2015.
Kaj tiam mi batis Enter.
Nun rimarki kio okazas.
Mi estas ankoraŭ en get1.php.
Sed nun mi liveris ŝlosilo valoro paroj, kaj mi estas
presi ilin ekstere arope paragraph-- nomo, Doug-- jaro, 2015.
Tio estas ĝuste la kodo ni simple vidis sur la glito antaŭ momento.
>> Kaj se mi volas eble aldoni alian ŝlosilo valoro paro, & klaso = CS50.
Nun mi havas alian ŝlosilon valoro simila kiu estas presita eksteren
kiam mi reviziti la URL denove.
Nun eble tio ne formatita terure bone.
Do mi havas alian version de get.php.
Estas get2.php.
>> La diferenco en ĉi unu estas mi havas CSS -dosiero,
kaj ĝi formatojn aferojn iom pli bele por mi.
Ĝi estas eble ne la plej bela CSS en la mondo.
Sed estas nur alia maniero fari ĝin.
Do mi ankoraŭ povas akiri aliron al mia variabloj uzante $ _GET.
Kaj en ĉi tiu kazo, mi estas nur speco de farante la CSS iom pli eleganta.
Kaj se ni pop super al miaj IDE por dua,
Mi montros al vi en mia PHP retejo dosierujo tie, get2.php.
Ni malfermos ĝin, iuj HTML.
Ŝajne mi kunligi ke CSS dosiero mi parolas.
Mi malfermu tablo etikedo.
Kaj poste jen mia foreach buklo.
>> Jen tio, kion mi montris sur la glito antaŭe.
La sola diferenco estas mi havas tiun ŝlosilon kaj valoro CSS
stiligante ke mi aplikanta al ĝi.
Sed jen ĉio mi faras, estas mi ripetanta trans $ _GET akiri ĉiuj
de la ŝlosilo valoro paroj.
>> Kaj mi presi ilin eksteren kiel la tablo.
Kaj, ŝajne, mi formati la klavoj unumaniere kun la <td class = "ŝlosilo".
Do ŝajne ke validas por iuj klaso selector en mia CSS-dosiero GET.CSS.
Kaj, ŝajne, mi estas presi el miaj valoroj plene malsama maniero.
Kio estas preskaux kion ni vidis tie, kie
niaj valoroj estis presitaj kun blua fono,
kaj niajn ŝlosilojn estis presitaj kun flava fono.
Do jen kiel mi ricevas tiuj malsamaj stiloj.
Ĉar mi uzas malsamajn CSS klasoj.
Sed tio estas sufiĉe multe por GET.
Kiel mi simple ĉerpante informojn.
Kaj en ĉi tiu kazo, mi estas nur presi ĝin al la ekrano.
Mi ricevas ĝin el la URL, kaj tio GET faras por ni.
>> Ĉu vi vidas eblan problemo tie kvankam?
Kial ni eble Ne volas uzi $ _GET?
Kio se, eble, mi estis farante ĉi query?
--to get3.php, kiun mi ne havas sur mia IDE.
Estas nur hipoteza dosiero.
Sed rimarki ĉi tie ke ŝajne pasante mia pasvorto.
Kaj eble mia pasvorto estas hontinda.
Aŭ eble mi ne volas ke oni scias kion mia pasvorto estas, dekstre.
>> Se mi pasante ŝin though-- se mi uzas la $ _GET metodo, kio okazas estas,
ke tuj estos en la URL.
Do iu malica uzanto povus povos vidi kion mi faras.
Mi povas pasi ilin sentema informo.
Aŭ eble estas eĉ malica uzanto.
Eble estas nur via amiko kiu staras super via ŝultro.
Nun ili scias la pasvorton al via Facebook konto.
>> Kaj eble ili ne volis fari ion per ĝi.
Sed se via pasvorto estis prezentita per $ _GET Facebook,
Nun ili scias vian Facebook pasvorton.
Ĉar estas ĝuste tie en la URL kiam vi faris sendado informo.
>> Kaj do eble tio ne estas la plej bona maniero pasi sentema informo.
Estas bona maniero por pasi informo ke ni ne aparte
zorgi pri kiel esti tro sentema.
Ĉar GET estas sufiĉe rapida, relativa al la aliaj super globals
ni tuj paroli.
Sed eble ne la plej bona ilo por sentema informo.
>> Por ke ni povus voli uzi iun nomita $ _POST,
kiu estas alia super tutmonda variablo.
Ĝi estas alia asocieca tabelo.
Do ĝi funkcias sufiĉe multe ĝuste la sama kiel GET.
Krom, anstataŭ ĉerpi informoj el la URL,
faras iun tra HTTP kaplinioj.
Do rememori el nia vídeo sur HTTP, ni parolis
pri kiel retumiloj, serviloj, kaj klientoj komunikas.
Kaj informo trasmite reen kaj reen en HTTP kaplinioj.
>> Kun $ _POST, informoj estas tipe sendita tra tiuj HTTP kaplinioj.
Kaj ni plej ofte vidi $ _POST en la kunteksto de sendado HTML formoj.
Vi tamen povas uzi HTML formoj submeti aferoj ENIRU.
Sed ili estas kutime uzita en la kunteksto de POST.
>> Do jen ekzemplo de HTML formo.
Nun ni vidis tiujn antaŭe, sed ni havas ne vidis tiun parton, agado = "post.php".
Do kiam ni parolis pri formoj en la kunteksto de HTML, mi havis Submetu butonon.
Kaj se vi memoras, mi klaki Submit kaj tiam la paĝo nur refresxigis,
faris nenion.
>> En tiu kazo, mi sendado kion mi tajpas ĉe tiu formo,
al PHP-dosiero nomita post.php.
Kaj, ŝajne, la maniero mi faras ke en tiu formo estas uzante la POST metodo.
Do ĉiu peco de informo ke mi tajpas en tiun formon
estos prezentita tra la HTTP kaplinioj.
>> Estos alirebla en post.php, ĉar tio estas la ago de mia formo.
Estos alirebla irante al $ _POST.
Kaj ŝajne, la maniero mi povas atingi ĉe ĉiu individua elemento
kun tiu asocieca tabelo Estas kun ĉi tiu atributo,
la Nomo atributo de niaj enigo etikedoj.
>> Do ŝajne mi povas diri $ _POST kvadrataj krampoj nomi akiri kion ajn la uzanto
tajpita en la unua kampo.
Kaj $ _POST pasvorton, de pw prefere, akiri ĉe kio ajn la uzanto tajpas
en la dua kampo.
>> Do ni rigardu aferon CS50 IDE.
Do jen ni estas, kaj mi zomi enen por dua.
Kaj ni havas dosieron nomatan post.html.
Mi alklaku post.html.
Ĉe la plejsupro tie mi havas tre simpla retejo formo.
Ĝi estas la formo ni ĵus vidis sur la glitejo duan antaŭe.
>> Mi povas tajpi, Doug, kaj mi povas tajpi mian pasvorton, kiun ni ĉiuj
scii estas squadgoals.
Kaj Mi batis Proponu.
Kaj ŝajne, ke submetas al post.php.
Kaj mi ŝajne videbligi tion.
Do mi liverante de ĉiuj sekureco ke POST donas min por nur presi el
la salutnomon kaj pasvorton.
>> La uzanto nomo estas Doug.
La uzanto pasvorto estas squadgoals.
Kiel mi faru tion?
Nu, pop super al IDE denove por dua.
Ni rulumu malsupren por preni Rigardu post.php, kiu estis
la ago kiun mi uzis por sendi tie.
Tio estis la agado de mia HTML formo.
Kaj jen ĉio mi faras.
La uzanto nomo estas, kaj mi estas printado el la enhavon de $ _POST "nomo".
Kaj tiam la uzanto pasvorton estas $ _POST "pasvorto".
Do mi ricevis tiun informon sendante la HTML formo.
Kaj mi nun povas ĉerpi ĝin uzante $ _POST ĉar la metodo mi uzis transdoni
datumojn ke formo estis la POST metodo.
>> Nun ĝi estas probable ne tiel great-- Mi tuj
iri reen dum sekundo al nia aro here--
ĝi estas probable ne tiom grandaj, se mi Sendante informojn kun POST,
kiu estas ŝajne pli sekura.
Estas probable ne tiel granda se mi faras tion kaj tiam
presi el la uzanto pasvorton.
Ĝi estas supozita esti pli sekura.
>> Bone, sed ĝi ne estas tute sekura.
Kaj tiel en tiu iom fragmento tie mi volas
nur atentigi vin iuj datumoj sekureco koncernoj, nur io
pensi pri kiel vi estas laborante aŭ uzante la interreton.
Tiu estas nur iu al konsideri.
>> Mi diris al vi, ke informo prezentis tra HTTP kaplinioj
kiam vi uzas la POST metodo.
Kio signifas ili ne estas tute sekura.
Ili estas malpli facile trovi ol uzante la GET metodo, kie
ĝi estas nur ĝuste en la URL.
Sed estas ankoraŭ maniero por trovi ĝin.
Kaj mi nur deziras montri vi, por ke vi eble
komenci pensi pri tiu kiel vi laboras, aŭ uzante
retejoj kaj Submeti pasvortoj, kaj eble uzante
la saman pasvorton en multaj malsamaj lokoj.
Sciu ke estas ankoraŭ efektive sufiĉe facile eltrovi ies pasvorton.
>> Kaj do ĉi tie, mi tuj iri al post2.html.
Kaj la diferenco kun post2.html kaj post2.php estas sufiĉe subtila.
La diferenco estas nur ke mi ne elprinti
la pasvorton kiam mi submeti la formo.
>> Do mi tuj tajpi en, Doug.
Kaj mi tuj tajpi en, squadgoals, eĉ
kvankam ni scias ke estas la pasvorton.
Antaŭ mi opinias la formi kvankam, mi tuj
malfermiĝi Developer Tools, nur por montri al vi kion okazos tie.
Do en Chrome, mi simple tuj trafi F12.
Kaj ke tuj malfermos miajn Ellaboranto Iloj dekstre flanka.
Mi ne submetis ĝin ankoraŭ.
Nun mi tuj trafis Proponu sur mia formo.
Kaj ŝajne, mi faris vokas, aŭ mi faris peton
al post2.php, kiuj havas sencon.
Mi tuj klaku sur tio.
>> Tiam super tie, mi tuj alklaki kaplinioj.
Ekzistas multe da aĵoj okazas ĉi tie.
Sed se mi rulumu malsupren al la tre fundo, avizo dekstra there-- mia kalendaro
blokis gxin kiel second-- dekstra tie je la tre fundo angulo,
name-- Doug, pw-- squadgoals.
Do kvankam mi uzas la POST metodo, kiu estas pli sekura,
nur konscii, ke kiam vi faras tion, vi ankoraŭ transdoni informojn
tra HTTP.
Kaj ĝi povas ankoraŭ esti trovita de kontrauxulo.
Estas nur ion ke ni tuj al devi trakti vere.
Eble tie estas iuj manieroj por ĉifri nia pasvortoj antaŭ ni sendu ilin,
kiu estus pli bona, kion mi ne faras cxi tie.
>> Sed nur konscii ke la POST metodo havas limigojn ankaŭ.
Ĝi estas plibonigo super ENIRU Kondiĉoj de esti tuj videbla.
Sed ĝi ne estas kompleta embaraso.
Do jen ekzemplo de rapidan hejme ekzerco
kiun vi povas uzi por akiri iom praktiki laborante kun PHP.
Krei la sekva paro de retpaĝoj.
La unua devus esti nur tre simplaj formas kun sola kampo kaj Submit
butono.
Do tre simila al kion ni nur faris kun post.html.
>> Kaj tiam la dua dosieron vi devus krei
dosiero, PHP-dosiero, ke atendas enigo, tra POST,
kaj surbaze de kion la uzanto tajpas, kiu vi povas supozi estos entjero.
Vi ne devas fari ajnan Eraro kontrolanta aŭ similaj.
Vi povas supozi ke la uzanto tajpos entjera valoro,
aŭ io kiel interpretita de PHP kiel entjero, en tiun formon.
Vi nur volas krei n per n multipliko tablo.
>> Do se la uzanto submetas 10, ni volas havas 10 per 10 multipliko tablo.
Se la uzanto submetas 12, ni volas 12 de 12 multipliko tablo.
Ĝuste tiel vi povas vidi kion ni celas tie ĉi,
ni rigardu ĉi dosiero en mia IDE.
>> Do jen en IDE, mi havas mult_form.html.
Mi klaki ĝin.
Ĉiuj mi deziras fari estas prezenti valoro.
Tajpu 10, batis Proponu.
Kaj ŝajne, mult_table.php, kiu ni povas vidi ĉe la pinto en la URL,
Mi kreante 10 de 10 multipliko tablo.
>> Se mi tajpas 15 kaj batis Submit, nun mi havas 15 por 15 multipliko tablo.
Mi, kompreneble, ne tuj montras vi la enhavon de mult_table.php,
ĉar kiu portus la amuzo el ĉi hejme ekzerco.
Sed ĝi estas granda vojo akiri iun praktiki laborante per PHP cikloj
kaj POST, tre simpla, espereble streso libera ekzemple, ĵus
fari iom da praktiko.
Kaj mi havas iom CSS daŭriganta tie al fari mian individuan tablo
ĉeloj nur speco de pop suferintojn iomete kaj aspektas iom pli
kiel multipliko tablo kontraste al nur teksto nur
ia sidas tie.
La lasta super tutmonda ni parolos pri en tiu video estas iu nomita
$ _SESSION.
Kaj eble tio estas fakte la plej bona ekzemplo de io
ni konsiderus tutmondan.
Ĝi estas alia tabelo.
Ĝi estas alia asocieca tabelo.
Sed estas alirebla tra ĉiu PHP dosieron kiu ekzistas sur nia sistemo.
>> Ni ne devas submetiĝi informo unu paĝo samtempe
kiel ni faras kun GET kaj POST kun.
Ĝi estas ĉiam tie.
Kaj tiel tio estas granda por paĝo kie vi estas ensalutinta, ekzemple,
kaj vi volas vian salutinformon persistemaj de paĝo al paĝo al paĝo.
>> Vi povas simple komenci kunsidon kaj tiam uzi $ _SESSION savi aferojn kiel
la uzanto nomo, aŭ la uzanto ID informo, kaj tiel plu.
Kaj ke informo restos en $ _SESSION Ĝis vi detruos la kunsido
iomete poste.
>> Skribante dinamikajn retejojn kun PHP faras ilin multe pli bone.
Via lokoj fariĝis tre dinamika, kaj vi ne
devi fari tro multe pli ol kio vi alie estus farinta ĵus
farante ĝin kun HTML.
Sed ĝi postulas praktikon, multan praktikon.
>> Vi jam scias kiel labori per C, kaj tiel saltas al PHP ne estas tro malfacila.
Kio estas eble iom iom malfacila laboras
kun tiu nova ideo de GET kaj POST, kaj eble miksante via HTML kaj via PHP
kune.
Sed ankaŭ atenti ke la interreto Estas vasta deponejo de informoj.
Kaj PHP la dokumentado estas disponeblaj multloke, sed eble plej
kanone ĉe php.net.
Kaj vi povas trovi tie, multaj malsamaj funkcioj,
kaj uzi kazoj kaj ekzemploj sur ekzemploj, sur ekzemploj.
Kie se vi volas provi kaj figuro eksteren kiel fari ion, probablecoj estas,
iu verŝajne faris ĝin antaŭ vi.
Kaj vi povas uzi ilin kiel inspiro implementar ajn
ĝi estas vi provas apliki ankaŭ.
>> Mi Doug Lloyd.
Jen CS50.