>> Doug LLOYD: Yani bizim PHP sözdizimi video,
Biz nasıl PHP hakkında çok şey konuştuk Komut satırında kullanılabilir
Bir şekilde programları çalıştırmak için bu Biz C'den oldukça tanıdık
Ama ben de belirtildiği gibi Bu video PHP
Başlangıçta için geliştirilmiştir , web siteleri, web programlama uygulamak.
Ve böylece bu video biz konum biz nasıl konuşacağım
web geliştirme bağlamında PHP kullanmak.
>> Biz gelen, zaten biliyor HTML bizim video
web siteleri inşa edildiğini HTML etiketleri kümesinin dışında
Bu anlamsal tanımlamak Bir web sayfasının yapısı.
Ama web siteleri yönündedir Saf HTML ile inşa
Çok muzdarip, çok ciddi bir sınırlama.
>> Bu sınırlama göstermek için, en aşağıdaki düşünelim.
Yani şimdi ben bir web sayfasını oluşturmak istiyor Bu, her kullanıcının ziyaret o
bana akımı veriyor Cambridge, Mass zaman.,
son dakikaya görüntüleniyor.
Ben şimdi bu hakkı alıyordu ise, Ben böyle bir şey diyebilirsiniz.
Ben bu yüzden Cambridge-- geçerli saati HTML etiketleri, baş etiketleri, başlık etiketleri,
vücut akımı tags-- Cambridge zaman 14:08 olduğu
Askeri zaman yazdırarak.
>> Ne şimdi 02:09, 14:09 eğer olur?
Peki bugüne kadar, HTML, ben gitmek ve 14:09 bunu değiştirmek için.
Ve sonra bir dakika sonra, Tekrar değiştirmek zorunda.
Tahmin edebileceğiniz gibi, işte Hiç muhtemelen kötü iş.
Bir web sayfası için webmaster konum ve her dakika, günde 24 saat,
Eğer geçerli saati güncellemeniz gerekir el time.html açma ve değişen
kod sadece o pasajı söylemek saat ve dakika olarak şimdiki zaman.
Bu çok değil muhtemelen Bizim kaynakların iyi kullanılması,
İnsan ve hesaplama hem.
>> Tüm HTML web siteleri vardır Tamamen statik bulunmaktadır.
Güncellemek tek yolu içerik, biz sadece gördüğümüz gibi,
elle bu açık kaynak olan Dosyaları, bunları düzenleyebilir ve bunları kaydedin.
Ve sonra, kullanıcı sayfayı yeniler,
ya da ilk sayfasını ziyaret için zaman, onlar son içeriği alırsınız.
Ama biz ettik çünkü sadece elle düzenlenebilir.
>> Biz orada bazı PHP karıştırmak başlarsanız, Bizim kod çok daha esnek alabilirsiniz.
Ve bizim sayfaları için bir yol olabilir Dinamik, ya kendilerini güncellemek için,
Bizim zavallı gerektirmeden Önceki örnekte yöneticisi
şeyleri güncellenmesi manuel olmak.
Onlar bunu otomatik olarak yapabilirsiniz.
Biz müdahale etmek zorunda değilsiniz.
Biz bazı uyku alabilirsiniz.
Hangi muhtemelen iyi bir şey varsa olduğunu web programlama bir çok yapıyoruz.
>> CS50 IDE Yani, biz koşmak Web sunucusu Apache çağırdı.
Bu, çok yaygın olarak kullanılan bu açık kaynak kodlu bir web sunucusu sistemi.
Bu sistem vardır Kapasite yorumlamak
Eğer yararlı olacak PHP, Eğer herhangi bir PHP programlama yapmak istiyorum.
>> Ve CS50 IDE, bir komut var yapmak için bu çok kolay hale getirmek için,
başlangıç ​​apache50.
Ve o çizgi yol, çizgi, çizgi için
dir, bu sadece gerçekten ortak bir yol Burada belirttiğiniz ne belirten
Belirli bir yoldur Dizin bu sana
Kök olmak istiyorum site veya kök sayfası,
klasör veya hangi web sunucusu gelen Dosyaları incelemek ve hizmet başlayacak
bunları istemek müşterilerine onları yedekleyin.
Yani lazım, CS50 IDE üzerinden pop izin Bu nasıl çalıştığını, gerçekten hızlı, size göstereceğim.
>> Yani burada CS50 IDE, ben varım Hafta Sıfır Dokuz denilen dizin.
Ben iki-- Ve ben sadece LS komutu çalıştırılır
Yukarıdaki ben size göstermek için Burada iki dizin, PHP,
Ben kullanılan dosyaların dizi hangi PHP sözdizimi, video ve PHP web
Dosyaların kümesi hangi ben Bu video kullanmak istiyorum.
>> Ve ben başlamak istiyorum Bir web sunucusu örneği
PHP-web klasörünün içeriğini Dosyaları kadar servis ediliyor gibidir.
Peki ne yapacağım?
Ben apache50 boşluk yazın gidiyor başlatmak uzay PHP, tire web.
Bu dizin yolu var Şu anda neredeyim gelen.
Sonra Enter tuşuna basın.
Bu bir yapacak Burada şeyler biraz.
Ve sonra, söyleyecek Apache başarıyla başlatıldı.
Siteniz at-- şimdi mevcuttur ve Daha sonra sitenin URL var.
Peki ne yapacağım?
Ben hızlı bir şekilde bu kopyalamak için gidiyorum.
Ve ben up-- açacağım ve Ben biraz uzaklaştırmak edeceğiz var--
Ben açacağım Chrome'da yeni bir sekme.
Ve ben bu URL'yi ziyaret edeceğim.
>> Ben Enter tuşuna gidiyorum.
Bu yük gidiyor.
Ve tekrar uzaklaştırmak gerekir.
Ve biz burada görebilirsiniz benim PHP web dizini içeriğini.
>> Yani artık temelde ne oluyor Burada CS50 IDE benim örneği olduğunu
bu dosyaları kadar hizmet veriyor Onları istekleri herkes.
Ve boyunca Bu video biz sıralamak edeceğiz
Bu bir demet bakmak bağlamda farklı dosyaları.
>> Senin Apache olduğunu test etmek için Sunucu çalışıyor,
Genellikle hangi gidiyor CS50 IDE durumda gibi,
ancak daha genel bunu yaparsan, ve kendi web oluşturmaya başlayabilirsiniz
sunucular, gerçekten var analog ortak tür
genellikle "hello world" PHP web geliştirme için kullandı.
Bir dosya için hangi Sadece bu code-- oluşan
PHP bilgi ayarlanmış bir PHP sınırlayıcı, Parantez, aralarında noktalı virgül.
Hangi temelde bir özel Size söyler PHP işlevi
PHP hangi sürümü çalıştırdığınız.
>> Yani CS50 IDE, ben Mevcut bu dosya sadece
Bu neye benzeyeceğini göstermek için.
Yani benim endeksi bakıyorum benim PHP örneğinden.
Benim Apache örneği çalışıyor PHP-Web içeriği.
Ve ben bir dosya burada info.php denir var.
>> Ben onu tıklatın uzaklaştırmak için gidiyorum.
Bu gidiyoruz nedir hemen hemen, görmek için.
Bu sadece bana anlatıyor Benim Apache sunucusunun çalışıyor.
Ve bu, görünüşe göre, bir PHP sürümünü çalıştıran ediyorum.
Bu benim analog "merhaba dünyaya."
>> Yani işler operasyonel olduğunu biliyorum.
Yani biz gitmeye hazırız.
Biz buradan devam edebilirsiniz.
>> Yani o tekrar edelim Zaman örneği biz
Bizim zavallı webmaster ile bahsediyoruz kim sürekli sayfayı güncellemek zorunda kaldı.
Bu nasıl bir düzeltme olabilir Bir şeyler uygulamak
böylece webmaster olmadıkları zaman güncelleme tutmak zorunda.
It would sadece sıralama otomatik olarak gerçekleşmesi.
>> Aşağıdaki aşağı, HTML, bu kadar bir istisna dışında, oldukça benzer.
Ama burada ben üstündeki bazı PHP var.
Ben, görünüşe göre, bu çağrıda bulundular Fonksiyon date_default_timezone_set.
>> Ve biz hakkında konuşmak yok CS50 bu fonksiyonlar,
PHP muhtemelen çünkü on binlerce.
Bu bir biraz olabilir abartı, ama olmayabilir.
Bu yerleşik bir çok fonksiyonu var.
Ve böylece bu fonksiyon görünüşte ABD / Doğu olarak zaman zaman dilimini ayarlar
Hangi Ben zaman dilimidir Bu videoyu yapımında.
>> Sonra bir arama yapmak Fonksiyon tarihi çağırdı.
Ve görünüşe göre, ben depolamak ediyorum HIS denilen bir şey, zaman.
Peki burada neler oluyor?
>> Peki, temelde ne olan oluyor, ben bir çağrı yapıyorum
gidiyor bazı sunucuya Zaman şu anda ne olduğunu söyle.
Ve ben bir formata dönüştürülmesi ediyorum saat, dakika, saniye.
Ve nedeni sermaye H bu var Bana 12 24 saat süre değil verecek
küçük h olacağını saatlik zaman.
Ve ben sadece depolamak ediyorum denilen bir değişken, zaman içinde.
Böylece PHP ikinci satırı Orada, işlevi çağrısı,
Tarih, sadece oluyor bazı dize,
Bana tarih vereceğim, ve Zaman ve diğer bilgilerin bir demet.
Ve orada ilk argüman, HIS ki Sadece önemli bir kısmını çıkarma olduğunu
Bu örnek hakkında bakım, hangi saat, dakika ve saniye olduğunu.
Böylece oluyor hepsi bu.
Yani saklamak değişken $ zaman içinde bu.
Ve sonra aşağı at Orada çok alt, ben
o steno var şimdiki zaman yazdırarak.
Ben sadece yazdırmak için gidiyorum Geçerli çıkış saati nedir.
>> Yani bu bir göz atalım CS50 IDE ve şimdi sen nasıl
O webmaster sorun bir çok tasarruf.
Pekala, işte ben yine ben geri kök dizininde
Benim Apache örneğinin.
Ve ben burada bir dosya olarak adlandırılan time.php var.
Ben sadece bu tıklatın gidiyorum.
Ve ben, çünkü yukarı olacak biz oldukça uzakta yer uzaklaştırdınız ediyoruz.
Geçerli saat 14:20:34 olduğunu.
Yani, o saat yapıyorum dakika ve saniye.
Ve ben yenileyebilirsiniz sayfa ve yeni zaman olsun.
--41.
Ben sayfayı yenilemek için gidiyorum ve yeni bir zaman, 44, 46, 47 olsun.
>> Yani, ben açıkça değilim için herşeyi kendim değiştirilmesi.
Burada sayfayı yenilemeyi ediyorum.
Yani düzenleyerek oraya olamaz.
Ve sana söz veriyorum, I do not Herhangi müttefiklerdensiniz var
kim dosyayı düzenlerken tarafında benim adına.
>> Ben sadece, bu PHP fonksiyonunu kullanarak yaşıyorum Zaman, benim için zaman oluşturmak için
otomatik olarak.
Ben uyuyorum bile, bu yüzden ve benim web sunucusu çalışıyor,
Sayfa hala olduğunu ziyaret kullanıcı tam şimdiki zaman alacaksın.
Yani oldukça iyi.
Benim site daha dinamik yaptık çok fazla PHP kodu ile.
Bu kod sadece iki satır ve daha sonra Bir yazdırma deyimi biraz.
Ve zaten bir var daha dinamik site
ilk örnek daha gördüğümüz Videonun başında.
>> Yani, PHP sözdizimi video çağırmak PHP yorumlayıcısı çalıştığında o
program, her şeyi yok sayar Bu, PHP sınırlayıcı içinde değil
tükürerek dışarı.
Bu örnekte ne şey dışarı tükürme olduğunu HTML oldu.
Ve bu şimdi anlamına gelir Birlikte HTML ve PHP serpmek.
Tercüman sadece olacak çünkü HTML ve tam anlamıyla çıktı görmezden.
Hangi doğru, iyi mi?
>> , Muhtemelen çünkü günün sonunda,
Ben benim siteyi istiyorum HTML yapılabilir.
Herhangi bir web tarayıcısı yorumlayabilir, böylece o, ya da sayfadaki HTML anlamak
ve bir şey olarak işlemek biz Aslında insanlar olarak anlayabiliriz.
Ve ben sadece PHP kullanabilirsiniz Sitemde parçaları
bana gerektirir, dinamizmi gerektiren Sürekli güncelleme şeyler var.
Statik bilgiler Aynı kalabilir.
>> Tamam, bu yüzden sorun değil.
Ama bu yüzden yapardın?
Neden HTML ve PHP karıştırmak istiyorsunuz?
Ben sadece çıktısını olabilecek tüm HTML, PHP yazdırma işlevini kullanarak.
Neden bunu yapmıyorum?
Bir saniye düşün.
>> Neden, ben sadece bir konrtol baskı olabilir zaman Sadece söylemek PHP hatları olabilir,
Baskı HTML etiketi, yazdırma kafası.
Neden bunu yapmıyorum?
Neden PHP ve HTML karıştırma ediyorum?
>> Peki, eğer sen düşünmek Bir saniyeliğine bu konuda.
PHP, tercüman var o gördüğünü yorumlamak.
Ve böylece sahip olacak bir kod satırı yürütmek için.
HTML yazdırın.
Açık kafa etiketi yazdırın.
Açık başlık etiketi yazdırın.
Bu zorunda olacak yürütmek ve yorumlamak
yol her adımda söyledi.
Sadece izin vermeyin Neden tercüman sadece geçiştirmeye
anlamadığı şeyler ve otomatik olarak mı?
Bu bana çok zaman kazanmak için gidiyor Birlikte benim HTML ve PHP benim karıştırmak için.
>> Biz bunu neden Ve böylece var sadece açık PHP sınırlayıcı var
ve sonra sadece entire çıktı dev bir PHP gibi bizim sayfanın içeriği
Sonra işlev, Yazdır çağrı ve yakın PHP ayırıcı ve bitti.
Biz onları birlikte karıştırmak İşte bu yüzden.
>> Şimdiye kadar, çok fazla görmedim Genel PHP sözdizimi bir fark var.
Oldukça basit oldu.
Biz zaten gördük soru işareti, eşit.
Biz, yeni işlev çağrıları bir çift gördüm ama gerçekten fantezi bir şey oluyor.
En belki bir şeyler yapalım Biraz meraklısı.
Ne bilgi aktarmak istiyorsanız Farklı PHP dosyaları arasında,
böylece belki kullanıcı can Bana bilgilerinizi gönderin.
Ve sonra bir şey yapabileceğini başka bir sayfada sahip.
>> Yani PHP desteği vardır bir şey Süper Küresel denilen
Oldukça harika sesler Değişkenler.
Onlar gerçekten sadece konum Dev ilişkisel diziler
bu uygulamaya yardımcı geçen işlevselliği
PHP dosyaları arasında bilgi bu Bizim web sunucusu üzerinde mevcut bulunmaktadır.
>> Bu süper ilk küreseller $ _GET olarak adlandırılır.
Ve muhtemelen anlamak için en basit.
Ne $ _GET ile olur?
Peki, temelde, kullanıcı ekstra bilgi yazmak için gidiyor
Bizim URL'lerin sonunda.
Ve onlar yazdığınız ne olursa olsun, varsayarak belirli bir şekilde biçimlendirilmiş oluyor
Sadece hangi bir sorgu dizesi olarak adlandırılan anahtar değer çiftleri bir dizi ayrılmış
'işareti ile.
Bu anahtar değer çiftleri olacak Bir $ _GET ilişkisel dizi saklanan.
Ve bizim video PHP sözdizimi, bildiğimiz
nasıl iş Zaten ilişkisel diziler.
Yani burada örneğidir belki ben bazı PHP,
anahtar değer çiftleri tüm ayıklanması URL verilen kullanıcı söyledi.
Yani benim Açık PHP sınırlayıcı var.
Ben bir foreach döngüsü var.
Ben Super genelinde yineleme ediyorum Küresel Dizi $ _GET denir.
>> Ve ben başvurmak mümkün olmak istiyorum anahtar ve değer hem de.
Ve ben sadece onları baskı yapıyorum dışarı her biri görünüşte
Burada kendi paragraf etiketi.
Ben bazı HTML çıktısını ediyorum ve değerleri interpolating
Bu ifadenin içine anahtar ve değer.
>> Yani bu nasıl bir göz atalım aslında bizim IDE üzerinde çalışmak istiyorum.
Ve belki bu yardımcı olur Biraz göstermek
GET ne aslında yapıyor.
Yani buraya benim web kök değilim.
Ve ben bir yakınlaştırmak olacak biraz size göstermek için
Ben adlı bir dosya, get1.php var.
>> Yani get1.php tıklayın edelim.
Ve ben herhangi bir içeriği göremiyorum.
Doğru, tuhaf değil mi?
Peki, gerçekten değil aslında.
Ben arz etmedi çünkü URL şey.
Ben get1.php gidiyor, ama ben değilim herhangi bir tuşa değer çiftlerini arz etmedi
Benim sorgu dizesi bir parçası olarak.
Yani bir sorgu dizesi ekleyelim ve bu dosya neler yapabileceğini görmek.
>> Bir sorgu dizesi başlamak için, Sadece soru işareti.
O zaman belki ben name = Doug & yılı = 2015 söylerim.
Ve sonra Enter vuracaktır.
Şimdi ne oluyor dikkat edin.
Ben get1.php hala yaşıyorum.
Ama şimdi temin ettik anahtar değer çiftleri ve ben
kendi kendilerine yazdırarak paragraph-- isim, Doug-- yıl, 2015.
Bu tam olarak kod sadece Bir an önce slayt gördüm.
>> Ve ben belki başka eklemek istiyorsanız anahtar değer çifti, & class = CS50.
Şimdi başka bir anahtar değeri var çıktısı var çifti
ne zaman tekrar URL'yi tekrar.
Şimdi belki bu değil korkunç iyi biçimlendirilmiş.
Yani get.php başka sürümü var.
Bu get2.php var.
>> Bu fark bir ben CSS dosyası var ise,
ve bu işler a formatları daha güzel benim için küçük.
O belki de en değil Dünyada güzel CSS.
Ama bunu yapmanın başka bir yolu var.
Yani hala erişebilirsiniz $ GETin kullanarak benim değişkenlere.
Ve bu durumda, ben sadece tür kulüpler CSS biraz daha süslü hale.
Ve biz pop üzerinden ise İkinci benim IDE,
Benim PHP web göstereceğiz Burada dizin, get2.php.
Biz burada, bazı HTML o kadar açık olacak.
Görünüşe göre o bağlama ediyorum Ben bahsediyordu CSS dosyası.
Ben bir tablo etiketi açın.
Ve sonra benim foreach döngüsü var.
>> İşte, bu ne önce slayt gösterdi.
Tek fark I Bu anahtarı ve değeri CSS sahip
Ben buna uyguluyorum stil.
Ama bu, ben yapıyorum, tüm kulüpler mi $ _GET genelinde yineleme tüm almak için
anahtar değer çiftleri.
>> Ve ben tablo olarak onları yazdırarak ediyorum.
Ve görünüşe göre, ben anahtarları biçimlendirme ediyorum tek şekilde, <td class = "anahtar" ile.
Yani görünüşte bazı geçerlidir Benim CSS dosyası GET.CSS sınıf seçici.
Ve görünüşe göre, ben yazdırmak ediyorum Benim değerleri tamamen farklı bir yol.
Hangi oldukça fazla Burada, nereye ne gördüm
Bizim değerler basıldı mavi bir arka plan ile,
ve bizim tuşları basıldı sarı bir arka plan ile.
Ben alıyorum nasıl bu kadar işte Bu farklı stilleri.
Farklı CSS sınıflarını kullanıyorum çünkü.
Ama bu kadar hoş çok GET için.
Sanki sadece bilgi ayıklamak çalışıyorum.
Ve bu durumda, ben sadece ekrana yazdırmadan.
Ben, URL dışarı alıyorum ve bu GET bizim için böyle yapar.
>> Eğer mümkün görüyor musunuz Burada sorun olsa?
Neden belki biz olur $ _GET kullanmak istemiyor?
Ne olursa belki, ben bu sorguyu yapıyordum?
--to get3.php, burada I Benim IDE yok.
Bu sadece varsayımsal bir dosya var.
Ama görünüşe göre burada dikkat benim şifreyi geçiriyordu.
Ve belki benim şifre utanç verici.
Veya belki de insanları istemiyorum şifrem doğru, ne olduğunu biliyorum.
>> Ben kullanıyorum varsa bunu rağmen-- geçirerek eğer $ _GET yöntemidir ne olur
Bu URL olacak.
Bu nedenle bazı kötü niyetli bir kullanıcı olabilir Ben ne yapıyorum görmek mümkün.
Onları geçen olabilir hassas bilgileri.
Ya da belki de, hatta kötü niyetli bir kullanıcı değil.
Belki de sadece senin arkadaşın kim omuz üzerinden duruyor.
Ve şimdi onlar şifreyi bilen Facebook hesabınıza.
>> Ve belki de olmaz onunla her şeyi yaparım.
Ama şifre olsaydı Facebook $ _GET yoluyla gönderilen,
şimdi onlar Facebook şifrenizi biliyorum.
Bu URL orada Çünkü Eğer bilgilerinizi vermeden yaptık zaman.
>> Ve belkide en iyi değil yol hassas bilgileri aktarmak.
Bu bilgiyi geçmek için iyi bir yoldur biz özellikle bilmediğimiz
çok hassas olarak önemsiyorum.
GET oldukça hızlı olduğu için, Diğer süper globaller göre
Biz hakkında konuşmak için gidiyoruz.
Ama belki de değil en iyi aracı hassas bilgiler için.
>> Bunun için biz isteyebilirsiniz , $ _POST denen bir şey kullanmak
başka hangi Süper Genel Değişken olduğunu.
Başka bir ilişkisel dizi var.
Yani hemen hemen çalışıyor GET ile aynı.
Dışında, bunun yerine çıkarma URL'den bilgiler,
HTTP başlıklarını yoluyla bir şey yok.
Yani gelen hatırlamak bizim HTTP video, konuştuk
nasıl tarayıcılar, sunucular hakkında, ve müşteriler iletişim.
Ve bilgi geri geçirilir ileri HTTP üstbilgilerinde.
>> $ _POST Ile bilgi tipik Bu HTTP başlıkları ile gönderdi.
Ve biz en yaygın olarak $ _POST görürsünüz HTML formları göndererek bağlam.
Hala HTML formları kullanabilirsiniz GET şeyler sunmak.
Ama genelde alışık POST bağlamında.
>> Yani burada bir HTML formu bir örnek.
Şimdi önce bu gördüm, ama biz Bu bölüm, eylem = "post.php" görmedim.
Yani biz formlar hakkında konuştuk HTML içeriği, ben bir Gönder düğmesini vardı.
Ve sen hatırlayacak olursak, ben Gönder'i tıklatın ediyorum ve sonra sayfa sadece yenilendi
bir şey yapmadım.
>> Bu durumda, ben teslim ediyorum Bu formda yazdığınız ne olursa olsun,
post.php denilen bir PHP dosyası.
Ve görünüşe göre, yol bunu yapıyorum Bu formda POST yöntemi kullanıyor.
Bilgi Yani her parça Bu forma yazdığınız
sunulacaktır HTTP başlıkları ile.
>> Bu, post.php erişilebilir olacak bu benim formun eylem çünkü.
Bu erişilebilir olacak $ _POST giderek.
Ve görünüşe göre, yol I can her elemanın olsun
Bu ilişkisel dizi ile Bu öznitelik ile,
Bizim girdi etiketleri adı özniteliği.
>> Yani görünüşe göre ben kare $ _POST söyleyebiliriz parantez ne olursa olsun kullanıcı almak isim
İlk alanda yazdınız.
Ve $ _POST şifre, bir pw ziyade, Kullanıcı yazdığınız ne olursa olsun almak için
İkinci alanda.
>> Yani bir göz atalım CS50 IDE bu bitti.
Yani burada biz, ve ben olacak Bir saniye yakınlaştırmak.
Ve biz post.html adlı bir dosya var.
Ben post.html tıklayın.
Ben burada çok üstünde Çok basit bir web form.
Biz sadece gördüğümüz form Bir saniye önce slayt.
>> Ben, Doug yazabilirsiniz, ve elimden Şifremi hepimiz yazın
biliyorum squadgoals olduğunu.
Ve ben Gönder vuracaktır.
Ve görünüşe göre, bu post.php için gönderir.
Ve görünüşe göre o yazdırmayı ediyorum.
Yani bütün güvenlik kurtulmak ediyorum POST sadece yazdırarak bana verdiği
Kullanıcı adı ve şifre.
>> Kullanıcı adı Doug.
Kullanıcının parolası squadgoals olduğunu.
Bunu nasıl yaptın?
Peki, IDE üzerinden pop Yine bir saniye.
Biz almak için aşağı doğru ilerleyin olacak oldu post.php bir bakış,
Ben kullanılan eylem burada sunmak.
Bu benim HTML formu eylem oldu.
Ve ben yapıyorum hepsi bu.
Kullanıcı adı ve ben baskı değilim $ _POST "isim" içeriğini dışarı.
Ve sonra kullanıcının parolası $ _POST "parola" dir.
Yani bu bilgiyi verildi HTML formu göndererek.
Ve ben şimdi $ 'POST kullanarak ayıklamak I iletimi için kullanılan yöntemin,
Bu formda veri POST yöntemi oldu.
>> Şimdi değil muhtemelen Ben gidiyorum o kadar great--
Bir saniye geri gitmek için Bizim set burada-- için
Ben eğer muhtemelen çok büyük değil POST ile bilgi göndererek,
hangi görünüşte daha güvenlidir.
Muhtemelen çok büyük değil Ben o yapıyor ve ediyorsam
kullanıcının parolasını yazdırarak.
Daha güvenli olması gerekiyordu.
>> Tamam, ama tamamen güvenli değil.
Ve böylece bu küçük yer İstediğim burada pasajı
sadece bazı dikkatinizi çekmek için veri güvenlik kaygıları, sadece bir şey
sen olarak düşünmek çalışan veya internet kullanarak.
Bu dikkate sadece bir şeydir.
>> Ben bilgiler olduğunu söylemiştim HTTP başlıkları ile gönderilen
POST yöntemini kullandığınızda.
Hangi onlar tamamen güvenli değildir demektir.
Onlar daha bulmak zordur konum nerede GET yöntemi kullanılarak
o URL sadece doğru.
Ama onu bulmak için bir yol hala var.
Ve ben sadece göstermek istiyorum Bu yüzden size belki
Bu konuda düşünmeye başlar Eğer çalışma kullanarak veya konum olarak
web siteleri ve göndererek şifreler ve belki kullanarak
Bir de aynı şifre Farklı yerlerde çok.
Yani bilin aslında hala güzel birilerinin şifresini bulmak kolay.
>> Ve işte, ben gidiyorum post2.html gitmek için.
Ve post2.html farkı ve post2.php oldukça ince olduğunu.
Fark sadece bir Ben çıktısını olmadığını
Şifre ben formu göndermek zaman.
>> Yani, Doug yazın gidiyorum.
Ve ben yazın gidiyorum squadgoals bölgesi, daha
Bildiğimiz olsa o şifre var.
Ben göndermeden önce Ben gidiyorum, ama formu
yapman lazım, Geliştirici Araçları açmak için Burada ne olacak ne göstereceğim.
Chrome'da Yani, ben sadece F12 vurmak için gidiyorum.
Ve bu kadar açık olacak benim Sağ taraftaki Geliştirici Araçları.
Henüz formu sunmamıştır.
Şimdi benim formda Gönder vurmak için gidiyorum.
Ve görünüşe göre, ben yapılan çağrı, ya da ben bir talepte
mantıklı, post2.php için.
Bunun üzerine tıklayın gidiyorum.
>> Sonra burada, ben gidiyorum Başlıkları tıklayın.
Şeyler burada olacak bir sürü var.
Ama çok gidin eğer alt, haber doğru benim takvim orada--
Bir saniye hakkı için engelledi Orada çok alt köşesinde,
Doug, pw-- squadgoals aşkına--.
Ben POST kullanıyorum Yani olsa da daha güvenli bir yöntem,
Sadece, bunu yaparken farkında olmak Hala bilgi verici konum
HTTP üzerinden.
Ve hala olabilir bir düşman tarafından bulundu.
Biz gidiyoruz bir şey var Gerçekten ile uğraşmak zorunda.
Belki şifrelemek için bazı yollar var bizim şifreler biz onları göndermeden önce
bu, bir daha iyi olurdu Hangi Burada yapmıyorum.
>> Ama POST farkında yöntem çok sınırlamalar vardır.
Bu GET üzerinde bir gelişmedir öyle hemen görünür olmanın şartları.
Ama tam bir düzeltme değil.
Yani burada bir örnek ev egzersiz hızlı bir
Eğer biraz olsun kullanabileceğiniz PHP ile çalışan uygulama.
Web sayfaları aşağıdaki çifti oluşturun.
İlk, sadece çok basit olmalı Tek bir alan ile oluşturmak ve bir Gönder
düğmesine basın.
Yani çok benzer ne Sadece post.html ile yaptı.
>> Ve daha sonra ikinci Eğer oluşturmanız gerekir dosyası
Bir dosya, bir PHP dosyası olduğunu, bir POST üzerinden, giriş bekliyor,
ve dayalı kullanıcı, yazdıklarınızı hangi Eğer bir tamsayı olacaktır varsayabiliriz.
Herhangi yapmak zorunda değilsiniz hata denetimi veya benzeri.
Kullanıcıyı varsayabiliriz bir tamsayı değeri yazacaktır,
ya da yorumladığı gibi bir şey Bu forma bir tamsayı olarak PHP.
Sadece bir oluşturmak istiyorum n çarpım tablosu ile n.
>> Kullanıcı 10 gönderdiğinde Yani, biz istiyoruz 10 10 tarafından çarpım tablosunu var.
Kullanıcı 12 gönderir, biz istiyoruz 12 12 tarafından çarpım tablosu.
Gördüğünüz Sadece ne yani Biz burada en sürüyorsun
biz bir göz atacağız Benim IDE bu dosyayı.
>> Yani burada IDE, ben mult_form.html var.
Ben tıklıyorum.
Ben yapmak istediğim bir değer sunmak olduğunu.
10 yazın, gönderin çarptı.
Ve görünüşe göre, mult_table.php, hangi Biz URL orada üstünde görebilirsiniz
Ben 10 10 tarafından oluşturma çarpım tablosu.
>> Ben 15 yazıp vurursanız ben şimdi, Gönder 15 x 15 çarpım tablosunu var.
Ben, tabii, göstermek için gitmiyorum Eğer mult_table.php içeriği,
Bu eğlenceli alacaktı, çünkü Ev egzersiz bu işten.
Ama bazı almak için harika bir yoldur PHP döngüler ile çalışan uygulama
ve POST, çok basit, umarım stressiz bir örnek, sadece
Uygulamada biraz yapmak.
Ve ben oluyor biraz CSS var Burada benim bireysel tablo yapmak için
Hücreler sadece tür kapalı pop Biraz ve biraz daha bakmak
Bir çarpım tablosu gibi, aksine sadece sadece metin
tür orada oturuyor.
Biz bahsedeceğiz son süper küresel Bu video bir şey denir
$ _SESSION.
Ve belki de bu aslında bir şeyin en iyi örnek
küresel düşünün.
Başka bir dizi var.
Başka bir ilişkisel dizi var.
Ama her erişilebilen Bizim sistemde bulunan PHP dosyası.
>> Biz göndermek zorunda değilsiniz Bir seferde bir sayfa bilgi
gibi biz GET ve POST ile yapmak.
O her zaman var.
Ve böylece bu bir sayfa için harika Örneğin, oturum yerlerde,
ve size giriş bilgilerinizi istiyorum sayfadan sayfaya devam etmek.
>> Sadece o zaman bir oturum başlatmak ve olabilir gibi şeyler kaydetmek için $ _SESSION kullanın
Kullanıcı adı veya kullanıcının Kimlik bilgisi vb.
Ve bu bilgiler kalacaktır $ _SESSION Oturumu yok kadar
Daha sonra biraz.
>> Ile dinamik web siteleri Yazma PHP çok daha iyi bunları yapar.
Sizin siteler haline çok Dinamik ve değil mi
daha çok fazlasını yapmak için ne Eğer aksi takdirde sadece yapardı
HTML ile yapıyor.
Ama pratik gerektirir, Uygulamada bir sürü.
>> Zaten, C ile çalışmak için biliyorum ve böylece PHP atlama çok zor değil.
Ne belki biraz zor biraz çalışıyor
GET ve POST bu yeni fikirle, ve belki HTML ve PHP karıştırma
Birlikte.
Ama aynı zamanda internet farkında bilgilerin büyük bir deposudur.
Ve PHP'nin belgeler mevcuttur birçok yerde, ama belki de en
canonically php.net at.
Ve sen, orada bulabilirsiniz farklı fonksiyonları bir sürü,
ve davaları ve örnekler kullanın örneklere örnekler üzerine.
Nerede denemek ve rakam isterseniz bir şeyler yapmak nasıl, oran vardır
Biri muhtemelen sizin daha önce yapmış.
Ve siz bunları kullanabilirsiniz ilham uygulamak için ne
o çok uygulamaya çalışıyoruz olduğunu.
>> Ben Doug Lloyd değilim.
Bu CS50 olduğunu.