>> DOUG LLOYD: Deci, în nostru video de pe sintaxa PHP,
am vorbit foarte mult despre modul în care PHP pot fi folosite la linia de comandă
pentru a rula programe într-un mod care suntem destul de familiarizați cu de la C.
Dar, așa cum am menționat, de asemenea, în acest video, PHP
a fost inițial dezvoltat pentru a punerea în aplicare a programare web, site-uri web.
Și astfel, în acest film suntem de gând să vorbesc despre modul în care ne-am
utilizați PHP în contextul dezvoltării web.
>> Știm, deja, de la videoclipul nostru pe HTML,
că site-urile sunt construite dintr-un set de tag-uri HTML
care definesc semantic structura unei pagini web.
Dar site-uri care sunt construit cu HTML pur
suferă de o foarte, limitare foarte gravă.
>> Și pentru a ilustra această limitare, să ia în considerare următoarele.
Deci, acum vreau să construiască o pagină web că, ori de câte ori utilizatorul vizitelor,
ea îmi dă curent timp în Cambridge, Mass.,
afișarea la ultima minut.
Dacă am fost a face acest lucru chiar acum, Am putea spune ceva de genul asta.
Ora curentă în Cambridge-- așa că am Tag-uri HTML, tag-uri, tag-uri cap titlu,
corp tags-- curent timp în Cambridge este 14:08,
imprimarea timp militare.
>> Ce se întâmplă dacă e acum 14:09, 14:09?
Bine până acum, cu HTML, am pentru a merge în și schimba-l la 14:09.
Și într-o minut mai târziu, Trebuie să-l schimbe din nou.
Și, după cum vă puteți imagina, e probabil cel mai rău loc de muncă vreodată.
Tu ești webmaster pentru o pagină web, și în fiecare minut, 24 de ore pe zi,
aveți nevoie pentru a actualiza ora curentă de deschiderea manuală a time.html și schimbarea
doar că fragment de cod pentru a spune ora curentă în ore și minute.
Asta nu e, probabil, o foarte buna utilizare a resurselor noastre,
atât umane cât și de calcul.
>> Site-uri, care sunt toate HTML sunt complet statice.
Singura modalitate de puteți actualiza conținut, cum tocmai am văzut,
este de a deschide manual cele source fișiere, edita le, și să le salvați.
Și apoi când utilizatorul reîmprospătează pagina,
sau vizitează pagina pentru prima timp, vor primi cel mai recent conținut.
Dar numai pentru că ne-am editat manual.
>> Dacă vom începe să se amestecă unele PHP acolo, codul nostru poate obține o mulțime mai flexibil.
Si putem avea un mod de paginile noastre să fie dinamică, sau actualiza ei înșiși,
fără a necesita săraci nostru webmaster în exemplul anterior
pentru a fi manual actualizarea lucruri.
Ei pot face acest lucru în mod automat.
Noi nu trebuie să intervină.
Putem dormi.
Care este, probabil, un lucru bun, dacă faci o mulțime de programare web.
>> Deci, în CS50 IDE, vom rula un server web numit Apache.
Este un foarte frecvent utilizate, open source sistem server web.
Acest sistem are capacitatea de a interpreta
PHP, care va fi util dacă vrei sa faci nici o programare PHP.
>> Și în IDE CS50, avem o comandă pentru a face acest lucru foarte ușor de făcut,
apache50 începe.
Și apoi că slash cale, slash la, slash
dir, că e doar un mod foarte comun de indicând ce ai specificat aici
este o cale de a un anumit director vă că
doresc să fie rădăcină site-ul, sau pagina rădăcină,
sau dosarul din care serverul de web va începe să examineze și să servească fișiere
le clienților care le solicită.
Deci, haideți să pop peste la CS50 IDE, doar pentru a să vă arate, într-adevăr rapid, cum funcționează acest lucru.
>> Deci, aici, în IDE CS50, sunt într-o director numit Săptămâna Zero Nine.
Și am two-- am executat o comandă LS doar
de mai sus pentru a vă arăta că am două directoare de aici, PHP,
care este un set de fișiere care am folosit în video sintaxa PHP, și apoi PHP-web,
care este un set de fișiere care am ar dori să folosească în acest film.
>> Și aș dori să încep o instanță de server web
cu conținutul folderului PHP-ul ca fișierele sunt servite.
Deci, ce am de gând să fac?
Am de gând să tastați apache50 spațiu începe, PHP spațiu, linie web.
Asta e calea spre directorul de unde am în prezent sunt.
Apoi am lovit Enter.
Se va face o pic de chestii aici.
Și apoi o să spun, Apache pornit cu succes.
Site-ul dvs. este acum disponibil și at-- atunci nu e URL-ul pentru site-ul.
Deci, ce am de gând să fac?
Am de gând să copiați rapid acest lucru.
Și am de gând să deschidă up-- și Voi micșora un pic here--
Am de gând să se deschidă o filă nouă în Chrome.
Și am de gând să viziteze acel URL.
>> Am de gând să lovi Enter.
O să se încarce.
Și voi micșora din nou.
Și putem vedea aici este conținutul directorul meu web PHP.
>> Deci, acum ce se intampla de fapt aici este, de exemplu mea de CS50 IDE
servește până aceste fișiere la cineva care le solicită.
Și-a lungul acest videoclip, vom sorta de
aruncăm o privire la o grămadă de acestea fișiere diferite în context.
>> Pentru a testa că Apache dvs. server este de lucru,
care este, în general, va să fie cazul în CS50 IDE,
dar dacă faci acest lucru mai mult, în general, și începe construirea propriul dvs. de web
servere, există o foarte un fel comun de analog la,
"Hello World", care este de obicei utilizate pentru dezvoltarea PHP web.
Care este de a avea un fișier format din doar acest code--
un delimitator PHP set cu info PHP, paranteze, punct și virgulă între.
Care este de fapt un deosebit Funcția PHP care vă spune
ce versiune de PHP se execută.
>> Deci, în CS50 IDE, am acel fișier disponibil doar
să-ți arate ce ar arăta.
Deci, mă uit la index mea din exemplu meu PHP.
Apache exemplu meu se execută conținutul de PHP-Web.
Și am un fișier numit aici info.php.
>> Am de gând să faceți clic pe el, zoom out.
Aceasta este ceea ce ai de gând pentru a vedea, destul de mult.
Acesta este doar mi-a spus că serverul meu Apache este de lucru.
Și acest lucru este, aparent, versiune de PHP pe care am pornit.
Acest lucru este analog mea de a "Hello World."
>> Deci, eu știu lucrurile sunt operaționale.
Deci, suntem bine să plec.
Putem continua de aici.
>> Deci, haideți să reexamineze că exemplu timp am fost
vorbesc despre cu webmaster-ul nostru jalnic care a trebuit să actualizeze pagina constant.
Acest lucru ar putea fi un remediu pentru modul în care Mi-ar pune în aplicare lucruri
astfel încât nu a webmaster trebuie să țină actualizarea timp.
Ar fi doar un fel de se întâmplă în mod automat.
>> În jos de mai jos, HTML, e destul de similare, cu o singură excepție.
Dar aici am niște PHP în partea de sus.
Am, aparent, numit acest Funcția date_default_timezone_set.
>> Și nu vorbim despre toate aceste funcții în CS50,
pentru că PHP are, probabil, zeci de mii.
Că ar putea fi un pic de o exagerare, dar nu s-ar putea să fie.
Are o mulțime de funcții construit în.
Și astfel încât acesta este o functie aparent stabilește fusul orar ca SUA / de Est,
care este fusul orar pe care eu sunt în prezent în a face acest film.
>> Apoi am face un apel la funcție numită, data.
Și, aparent, eu depozitarea Sale de ceva numit, timp.
Deci, ce se întâmplă aici?
>> Ei bine, practic ceea ce este întâmplă este, eu sunt efectuarea unui apel
la unele server care se va spune-mi ce în prezent este timpul.
Și eu l conversia într-un format de ore, minute, secunde.
Iar motivul este de capital H este acest este de gând să-mi dea timp 24 de ore, nu 12
timp de ore, ceea ce ar fi h litere mici.
Și eu doar stocarea că într-o variabilă numită, timp.
Așa că a doua linie de PHP acolo, apelul la funcția,
data, este doar obtinerea unele string, care este
O să-mi dea data, și timp, și o grămadă de alte informații.
Și primul argument acolo, că sa, este doar extragerea parte importantă
că îmi pasă de acest exemplu, care este ora, minutul, și de-a doua.
Deci asta e tot ceea ce se întâmplă.
Așa că am stoca că într-un timp variabil $.
Și apoi în jos la foarte jos acolo, am
au ca prescurtare pentru imprimarea ora curentă.
Așa că am de gând să imprima doar ceea ce este timpul curent.
>> Deci, haideți să aruncăm o privire la acest lucru în IDE CS50 și a vedea cum suntem acum
economisire că webmaster o mulțime de probleme.
Bine, asa ca aici am din nou înapoi la directorul rădăcină
de exemplu meu Apache.
Și am un fișier numit aici time.php.
Mă duc să faceți clic pe asta.
Și voi derula în sus, pentru că suntem mărită destul de departe.
Timpul curent este 14:20:34.
Deci, Fac o oră, minute si secunde.
Și pot actualiza pagină și obține noi timp.
--41.
Mă duc pentru a actualiza pagina și de a lua noi timp, 44, 46, 47.
>> Deci, eu nu sunt în mod clar schimba nimic eu.
Sunt aici să actualizați pagina.
Deci, eu nu pot fi acolo editarea ei.
Și îți promit, eu nu nici complicii
care sunt editarea fișierului în numele meu pe partea.
>> Eu doar folosind această funcție PHP, timp, pentru a genera timpul pentru mine
automat.
Așa că, chiar dacă am adormit, și serverul meu de web se execută,
utilizatorul care vizitează pagina este încă mergi la a lua exact ora curentă.
Așa că e destul de bun.
Am făcut site-ul meu mai dinamic cu nu prea mult cod PHP.
Acesta a fost doar două linii de cod și apoi un pic de o declarație de imprimare.
Și deja am un site-ul mult mai dinamic
decât că prim exemplu am văzut la începutul videoclipului.
>> Deci, amintesc de video de pe sintaxa PHP că, atunci când interpretul PHP ruleaza
programul nostru, ignoră totul asta nu e în interiorul delimitatori PHP,
scuipa-l.
În acest exemplu, ceea ce lucru că a fost scuipa afară era HTML.
Și acest lucru înseamnă că pot acum răspândi HTML și PHP împreună.
Deoarece interpretul va doar ignora HTML și literalmente o ieșire.
Ceea ce este bine, nu?
>> Pentru că probabil, la sfarsitul zilei,
Aș dori să-mi site-ul construite din HTML.
Astfel încât orice browser web poate interpreta ea, sau să înțeleagă HTML pe pagina
și face ca pe ceva care ne Pot să înțeleg de fapt ca oameni.
Și eu pot folosi doar PHP pentru părțile din site-ul meu
Se solicită dinamism, care ma solicita de a avea lucruri care se actualizează în mod constant.
Informațiile static poate sta la fel.
>> OK, astfel că e bine.
Dar de ce aș face acest lucru?
De ce aș amesteca HTML și PHP?
Aș putea imprima doar din toate HTML, utilizând funcția PHP imprimare.
De ce nu am face asta?
Gandeste-te pentru un al doilea.
>> De ce, când am putea imprima doar out-- I ar putea avea linii de PHP care spun doar,
tag-ul HTML print, cap de imprimare.
De ce nu am face asta?
De ce am de amestecare PHP și HTML?
>> Ei bine, dacă credeți că cu privire la aceasta pentru o secunda.
PHP, interpretul are să interpreteze ceea ce vede.
Și așa va avea pentru a executa o linie de cod.
Tipăriți HTML.
Imprima tag cap deschis.
Imprima tag titlu deschis.
Va trebui să executa și interpreta
că fiecare pas din drum.
De ce nu lasa doar interpret doar luciu peste
lucrurile nu înțelege și o fac în mod automat?
O să-mi salva o mulțime de timp pentru a amesteca HTML mea și PHP mea împreună.
>> Și așa de aceea nu Trebuie doar deschis PHP delimitator
și apoi doar imprima întregul Conținutul paginii noastre ca unul PHP gigant
apel la funcția, Print, apoi aproape delimitator PHP și am terminat.
Deci, de aceea le-am amesteca împreună.
>> Până în prezent, nu am văzut prea mult din o diferență de sintaxa generală PHP.
A fost destul de simplu.
Am văzut deja semn de întrebare, egal.
Am văzut o pereche de noi apeluri de funcții, dar nimic nu într-adevăr de lux întâmplă.
Să poate face lucruri un pic crescator.
Ce se întâmplă dacă vrem să treci informații între diferite fișiere PHP,
astfel ca poate utilizatorul poate prezinte informații pentru mine.
Și apoi am putea face ceva cu ea la o altă pagină.
>> Deci, PHP are suport pentru ceva numit Super Global
Variabile, care sună destul de minunat.
Sunt de fapt doar tablouri asociative gigant
că ajuta la implementarea acestui funcționalitatea de trecere
informații între fișierele PHP care sunt existente pe serverul nostru web.
>> Prima dintre aceste super- GLOBALS este numit $ _GET.
Și este, probabil, mai simplă de a înțelege.
Ce se întâmplă cu $ _GET?
Ei bine, de fapt, utilizatorul este O să tastați informații suplimentare
la sfârșitul URL-uri noastre.
Și tot ceea ce tastați, presupunând este formatat într-un mod special
numit un șir de interogare, care este doar un set de perechi de valoare cheie separat
de and-urile.
Aceste perechi de valoare-cheie va fi stocate într-un tablou asociativ $ _GET.
Și de la videoclipul nostru pe Sintaxa PHP, știm
cum să lucreze cu tablouri asociative deja.
Deci, aici este un exemplu de unele PHP, unde poate sunt
extragerea toate perechile de valori cheie că utilizatorul furnizate în URL-ul.
Deci, am deschiși PHP delimitator.
Am o buclă foreach.
Mă iterarea peste Super Array Global numit $ _GET.
>> Și vreau să fie în măsură să se refere atât cheia și valoarea.
Și eu doar le imprimați out, fiecare pe aparent
propriul tag-ul său alineatul aici.
Am imprimarea unele HTML și interpolarea valorilor
de cheie și valoare în această declarație.
>> Deci, haideți să aruncăm o privire la modul în care acest va lucra efectiv pe IDE nostru.
Și poate acest lucru va ajuta ilustrează un pic
de ceea ce este, de fapt face GET.
Deci, m-am întors aici, în rădăcină mea de web.
Și voi mări un pic să-ți arăt
că am un fisier numit, get1.php.
>> Deci, haideți să faceți clic pe get1.php.
Și nu văd nici un conținut.
Asta e ciudat, nu?
Ei bine, nu chiar, de fapt.
Pentru că nu a furnizat nimic în URL-ul.
Am de gând să get1.php, dar eu nu a furnizat nici un perechi de valoare-cheie
ca parte a șir meu de interogare.
Deci, haideți să adăugați un șir de interogare și să vedem ce se poate face acest fișier.
>> Pentru a începe un șir de interogare te doar de tip semn de întrebare.
Atunci poate o să spun name = Doug & an = 2015.
Și atunci voi lovi Enter.
Acum observați ce se întâmplă.
Sunt încă în get1.php.
Dar acum am livrat perechi de valoare-cheie, și eu sunt
imprimarea ei pe cont propriu Numele paragraph--, an Doug-- 2015.
Asta e exact codul tocmai am a văzut pe diapozitiv în urmă cu o clipă.
>> Și dacă doriți să adăugați un alt poate pereche de valoare-cheie, si class = CS50.
Acum am o altă valoare cheie pereche care este imprimat
când am revizuiască din nou URL-ul.
Acum, poate că acest lucru nu este formatat teribil de bine.
Deci, am o alta versiune a get.php.
E get2.php.
>> Diferența în acest unul este că am fișier CSS,
și formate lucrurile o puțin mai mult frumos pentru mine.
Nu e poate cel mai mult frumos CSS din lume.
Dar e doar un alt mod de a face aceasta.
Deci, eu pot obține încă acces a variabilelor meu folosind $ _GET.
Și în acest caz, eu sunt doar un fel de face CSS un pic mai mult de lux.
Și dacă ne-am pop de peste la IDE mea pentru o secundă,
Am să-ți arăt în PHP web mea director aici, get2.php.
Vom deschide, unele HTML aici.
Se pare că eu sunt de legătură în care CSS fișier Vorbeam despre.
Am deschis o etichetă masă.
Și apoi aici e bucla foreach mea.
>> Aici este că, ceea ce am a arătat pe diapozitiv înainte.
Singura diferenta este ca eu au această cheie și valoare CSS
Coafura că am să-l aplica.
Dar asta e tot ce fac, este eu sunt iterarea peste $ _GET pentru a obține toate
din perechile de valori cheie.
>> Și eu le-imprimarea ca masa.
Și, aparent, eu formatare cheile într-un fel, cu clasa de "cheia", a <td =.
Deci se pare că se aplică la unele selector clasă în mea GET.CSS fișier CSS.
Și, aparent, eu imprimarea valorile mele un mod cu totul diferit.
Care este destul de mult ceea ce am văzut aici, în cazul în care
au fost tipărite valorile noastre cu un fundal albastru,
și cheile au fost tipărite cu un fundal galben.
Deci, asta e cum Primesc aceste diferite stiluri.
Pentru că eu sunt, folosind diferite clase CSS.
Dar asta e destul de mult pentru GET.
Ca și cum aș doar extragerea de informații.
Și în acest caz, eu sunt doar tipărirea se pe ecran.
Am asistent din URL-ul, și asta e ceea ce face pentru noi GET.
>> Ai vedea un posibil problemă aici, deși?
De ce am poate nu doriți să utilizați $ _GET?
Ce se întâmplă dacă, poate, am fost a face această interogare?
get3.php --to, pe care am nu au pe IDE meu.
E doar un fisier ipotetic.
Dar observați că aici aparent trecând parola în.
Și poate parola este jenant.
Sau poate că nu vreau ca oamenii să știu ce parola este corect.
>> Dacă am o trece though-- dacă utilizez Metoda $ _GET, ceea ce se întâmplă este,
care va fi în URL-ul.
Deci, unele utilizator rău intenționat ar putea putea vedea ce fac.
I se poate trece le informații sensibile.
Sau poate nu e chiar un utilizator rău intenționat.
Poate e doar prietenul tău care este în picioare peste umăr.
Și acum știu parola la contul dvs. de Facebook.
>> Și poate că nu ar fi face orice cu el.
Dar, dacă parola a fost trimise prin $ _GET pentru Facebook,
Acum știu parola de Facebook.
Pentru că este chiar acolo, în URL-ul când ai făcut prezentarea de informații.
>> Și așa poate că nu e cel mai bun mod de a transmite informații sensibile.
Este o modalitate buna de a transmite informații că nu deosebit de
pasă ca fiind prea sensibil.
Deoarece GET este destul de rapid, în raport cu celelalte variabile globale super-
vom vorbi despre.
Dar poate nu cel mai bun instrument pentru informații sensibile.
>> Pentru că ne-am putea dori să folosi ceva numit $ _POST,
care este o altă variabilă Super Global.
Este un alt tablou asociativ.
Așa că funcționează destul de mult exact la fel ca GET.
Cu excepția, în loc de extragere informații de la URL-ul,
face ceva prin antete HTTP.
Deci, amintesc de nostru video de pe HTTP, am vorbit
despre cum browsere, servere, si clientii comunica.
Și informații este trecut înapoi și mai departe în antete HTTP.
>> Cu $ _POST, informații este de obicei trimise prin aceste antete HTTP.
Și vom vedea cel mai frecvent $ _POST în contextul depunerii formularelor HTML.
Puteți utiliza în continuare forme HTML să prezinte lucruri pentru a obține.
Dar acestea sunt, de obicei, folosite în contextul POST.
>> Deci, aici e un exemplu de un formular HTML.
Acum am văzut aceste înainte, dar avem nu a vazut aceasta parte, acțiune = "post.php".
Așa că atunci când am vorbit despre forme în contextul HTML, am avut un buton Submit.
Și dacă vă amintiți, aș faceți clic pe Trimite și apoi pagina doar odihnit,
nu a făcut nimic.
>> În acest caz, eu sunt prezentarea indiferent de tip I la această formă,
într-un fișier PHP numit post.php.
Și, aparent, așa cum fac asta în această formă este folosind metoda POST.
Deci, fiecare bucată de informații ca am tip în această formă
vor fi depuse prin antetele HTTP.
>> Acesta va fi accesibil în post.php, pentru că asta e acțiunea de forma mea.
Acesta va fi accesibil de a merge la $ _POST.
Și se pare că, așa cum am putea ajunge la fiecare element individual
cu tablou asociativ este cu acest atribut,
atributul Numele tag-uri noastre de intrare.
>> Deci, se pare că pot să spun $ _POST pătrat paranteze nume pentru a obține, indiferent de utilizatorul
tastat în primul câmp.
Și $ _POST parola, de pw mai degrabă, pentru a ajunge la orice utilizator tastat
în al doilea câmp.
>> Deci, haideți să aruncăm o privire la acest peste in IDE CS50.
Deci, aici suntem, si voi mări pentru o secundă.
Și avem un fișier numit post.html.
Am faceți clic pe post.html.
La foarte de sus de aici am un formular web foarte simplu.
E forma doar am văzut pe diapozitiv în urmă cu un al doilea.
>> Am posibilitatea să tastați, Doug, și pot tastați parola mea, pe care noi toți
știu este squadgoals.
Și voi lovi Submit.
Și se pare, că supune post.php.
Și eu se pare că imprimarea.
Deci, eu sunt a scăpa de toate de securitate acest post îmi dă doar prin tipărirea
numele de utilizator și parola.
>> Numele utilizatorului este Doug.
Parola utilizatorului este squadgoals.
Cum am făcut acest lucru?
Ei bine, pop peste la IDE din nou, pentru un al doilea.
Vom derula în jos pentru a lua o privire la post.php, care a fost
acțiunea pe care am folosit pentru a prezenta aici.
Asta a fost acțiunea forma mea HTML.
Și asta e tot ce fac.
Numele utilizatorului este, și eu sunt de imprimare din conținutul $ _POST "nume".
Și apoi parola utilizatorului este de $ _POST "parola".
Asa ca am fost dat fiind faptul că informații prin depunerea formularului HTML.
Și pot extrage acum, folosind $ _POST deoarece metoda am folosit pentru a transmite
date cu acea formă a fost metoda POST.
>> Acum, probabil, nu este așa great-- am de gând
să mă întorc pentru un al doilea la setul here-- nostru
Probabil că nu e atât de mare dacă eu sunt transmiterea de informații cu POST,
care este aparent mai sigur.
Este, probabil, nu atât de mare dacă fac asta și apoi
imprimarea parola utilizatorului.
Ar trebui să fie mai sigure.
>> OK, dar nu e în întregime sigură.
Și așa în această mică snippet aici vreau
să atragă atenția doar la unele problemele de securitate a datelor, doar ceva
să se gândească la cum esti de lucru sau utilizarea internetului.
Acest lucru este doar ceva să ia în considerare.
>> Ți-am spus că informația este prezentat prin antete HTTP
atunci când utilizați metoda POST.
Ceea ce înseamnă că nu sunt în totalitate sigure.
Sunt mai greu de găsit decât folosind metoda GET, unde
e doar dreptul în URL-ul.
Dar există încă o modalitate de a găsi.
Și vreau doar să arate vă acest lucru pentru că, poate,
începe să se gândească la această cum lucrați, sau folosind
site-uri web și prezentarea parole, și, poate, cu ajutorul
aceeași parolă în mulțime de locuri diferite.
Să știți că este de fapt destul de este încă ușor pentru a afla parola cuiva.
>> Și așa aici, am de gând pentru a merge la post2.html.
Și diferența cu post2.html și este destul de subtil post2.php.
Diferența este doar care nu imprima
parola când am depune formularul.
>> Deci, am de gând să tastați în, Doug.
Și am de gând să tastați în, squadgoals, chiar
deși știm că e parola.
Înainte de prezinte forma, deși, am de gând
pentru a deschide Instrumente de dezvoltare, doar pentru a ți arăt ce se va întâmpla aici.
Deci, în Chrome, eu doar va lovi F12.
Și asta se întâmplă pentru a deschide-mi Instrumente de dezvoltare de pe partea dreaptă.
N-am depus formularul încă.
Acum am de gând să lovi Trimiteti formularul meu.
Și se pare că, am făcut o apel, sau am făcut o cerere
la post2.php, ceea ce face sens.
Am de gând să faceți clic pe asta.
>> Atunci aici, am de gând să faceți clic pe Cap.
Există o mulțime de lucruri se întâmplă aici.
Dar dacă derulați în jos la foarte fund, o notificare there-- dreapta calendarul meu
a blocat-o pentru un drept second-- acolo la colțul foarte jos,
name-- Doug, squadgoals pw--.
Deci, chiar dacă eu sunt, folosind POST Metoda, care este mai sigur,
doar să fie conștienți de faptul că, atunci când faceți acest lucru, sunteți încă transmiterea de informații
prin HTTP.
Și poate fi încă găsit de către un adversar.
E doar ceva vom pentru a avea de a face cu adevărat.
Poate sunt niște modalități de a cripta nostru parole înainte de a le trimite peste,
care ar fi o mai bună, pe care eu nu fac aici.
>> Ci doar să fie conștienți de faptul că POST Metoda are limitări prea.
Este o îmbunătățire față GET în Termeni de a fi vizibile imediat.
Dar nu este o soluție completă.
Deci, aici e un exemplu de o rapidă la exercițiu acasă
pe care le puteți folosi pentru a obține unele practica de lucru cu PHP.
Creați următorul pereche de pagini web.
Primul ar trebui să fie doar un foarte simplu forma cu un singur câmp și un Trimite
buton.
Deci, foarte similar cu ceea ce am doar a făcut cu post.html.
>> Și apoi a doua fișierul pe care ar trebui să creeze
este un fișier, un fișier PHP, care așteaptă de intrare, prin intermediul POST,
și se bazează pe ceea ce utilizatorul tastat, care puteți presupune va fi un număr întreg.
Tu nu trebuie să faci orice verificarea erorilor sau altele asemenea.
Puteți presupune că utilizatorul va introduce o valoare întreagă,
sau ceva de genul un interpretată de PHP ca un întreg, în acea formă.
Vrei doar pentru a crea un n de masă n multiplicare.
>> Deci, în cazul în care utilizatorul depune 10, vrem să au o masă de 10 de 10 de multiplicare.
În cazul în care utilizatorul depune un 12, ne-o dorim un tabel 12 până la 12 de multiplicare.
Doar astfel încât să puteți vedea ce suntem de conducere la aici,
vom arunca o privire la acest fișier în IDE meu.
>> Deci, aici, în IDE, am mult_form.html.
Voi faceți clic.
Tot ce vreau să fac este prezenta o valoare.
Tip în 10, a lovit Submit.
Și se pare că, mult_table.php, care putem vedea în partea de sus acolo, în URL-ul,
Am crea un 10 cu 10 tabel de multiplicare.
>> Dacă aș tip 15 și a lovit Trimite, acum au o masă de 15 până la 15 de multiplicare.
Sunt, desigur, nu de gând să arate te conținutul mult_table.php,
pentru că ar lua distracție din acest lucru la domiciliu exercițiu.
Dar e un mod minunat de a obține unele practica de lucru cu bucle PHP
și POST, foarte simplu, sperăm stres exemplu gratuit, doar
pentru a face un pic de practică.
Și am luat un pic CSS întâmplă aici pentru a pentru a face masa mea individuală
Celulele doar un fel de pop de pe un pic si uita-te un pic mai mult
ca un tabel de multiplicare, spre deosebire de doar text doar
fel de a sta acolo.
Ultimul super-global vom vorbi despre în acest film se numește ceva
$ _SESSION.
Și poate aceasta este de fapt cel mai bun exemplu de ceva
ne-ar lua în considerare la nivel mondial.
E un alt tablou.
Este un alt tablou asociativ.
Dar este accesibil prin fiecare Fișier PHP care există în sistemul nostru.
>> Noi nu trebuie să prezinte Informatiile o pagină la un moment dat
ca și cum am face cu GET si POST cu.
E mereu acolo.
Și astfel încât acesta este mare pentru o pagină în cazul în care sunteți conectat, de exemplu,
si doriti informatiile de autentificare să persiste la o pagină la pagina.
>> Puteți începe doar o sesiune și apoi utilizați $ _SESSION pentru a salva lucruri, cum ar fi
numele utilizatorului, sau a utilizatorului Informații despre identitatea, și așa mai departe.
Și că informațiile vor rămâne în $ _SESSION Până când distruge sesiunea
un pic mai târziu.
>> Scrierea site-uri dinamice cu PHP le face mult mai bine.
Site-urile devin foarte dinamic, și nu
au de a face prea mult mai mult decât ceea ce ai altfel ar fi făcut doar
faci cu HTML.
Dar este nevoie de practică, o mulțime de practici.
>> Știți deja cum să lucreze cu C, și așa mai departe saltul de la PHP nu este prea complicat.
Ce este poate un pic pic dificil este de lucru
cu această idee nouă de GET și POST, și, poate, de amestecare HTML și PHP dvs.
împreună.
Dar, de asemenea, conștienți de faptul că internetul este un depozit mare de informații.
Și documentația PHP este disponibil în multe locuri, dar poate cel mai
canonic la php.net.
Și puteți găsi acolo, o mulțime de funcții diferite,
Utilizând cazuri, și exemple pe exemple, asupra exemple.
În cazul în care, dacă doriți să încercați și figura cum de a face ceva, cote de pariuri sunt,
cineva, probabil, făcut înainte de a vă.
Și le puteți folosi ca sursă de inspirație pentru punerea în aplicare a ceea ce
este că încerci să pună în aplicare prea.
>> Sunt Doug Lloyd.
Acest lucru este CS50.