1 00:00:00,000 --> 00:00:05,040 2 00:00:05,040 --> 00:00:08,440 >> SAM Levatich: Hoşgeldiniz Bu hafta bölüm. 3 00:00:08,440 --> 00:00:10,040 Ben Andi değilim. 4 00:00:10,040 --> 00:00:14,590 Andi bu gün hasta düştü ve ben vardır tür son dakikada denilen edilmiştir 5 00:00:14,590 --> 00:00:15,700 devralmaya. 6 00:00:15,700 --> 00:00:20,920 Bu grip sezonu, bu yüzden emin olun siz Temiz kalıyorsun, ellerini yıkamak, 7 00:00:20,920 --> 00:00:24,800 ve sağlıklı beslenme, böylece Sen de, yatalak değildir. 8 00:00:24,800 --> 00:00:26,870 >> Ama daha olmadan ado, hadi başlayalım. 9 00:00:26,870 --> 00:00:29,970 Bugün, biz konuşacağız PHP hakkında biraz nasıl Kişilik Sokak 10 00:00:29,970 --> 00:00:33,900 PHP nasıl, HTML ile ilgilidir CSS ile ilgilidir ve web bazı 11 00:00:33,900 --> 00:00:36,100 şeyler son atama yaptı. 12 00:00:36,100 --> 00:00:37,930 Biz konuşacağız SQL hakkında biraz 13 00:00:37,930 --> 00:00:41,360 ve veritabanları ile çalışmak nasıl, hangi P oldukça önemli bir bileşenidir 14 00:00:41,360 --> 00:00:43,650 set 8-- P 7 ayarlayın. 15 00:00:43,650 --> 00:00:44,480 P 7 ayarlayın. 16 00:00:44,480 --> 00:00:48,400 >> Ve sonra biz biraz konuşacağız görünüm denetleyicileri nasıl çalıştığı hakkında biraz 17 00:00:48,400 --> 00:00:54,640 ve bazı arkasında bir felsefe neden Modern web sayfaları ve farklı tasarım. 18 00:00:54,640 --> 00:00:58,760 Apps türleri Hemen hemen bir çok ve uygulamalar gemi olabilir 19 00:00:58,760 --> 00:01:01,120 Bu modeli kullanan, görünümü denetleyicisi çerçevesi, 20 00:01:01,120 --> 00:01:02,890 Kullandığınız olacağını P 7 set, bu yüzden olacak 21 00:01:02,890 --> 00:01:05,220 biraz konuşmak Bu hale geldi neden 22 00:01:05,220 --> 00:01:07,970 popüler, önemli ve güzel neden. 23 00:01:07,970 --> 00:01:12,052 Ve sonra nihayet hareket edeceğiz P mücadele konusunda bazı ipuçları 7 ayarlayın. 24 00:01:12,052 --> 00:01:13,760 Ve biz zamanınız varsa sonunda arta kalan, 25 00:01:13,760 --> 00:01:17,320 biz aslında bazı yapabiliriz Birlikte o çalışır. 26 00:01:17,320 --> 00:01:20,380 >> Yani, PHP. 27 00:01:20,380 --> 00:01:23,790 Aslında, bu-- fark etmişsinizdir Eğer gerçekten bu-- dalmak yoktu 28 00:01:23,790 --> 00:01:27,880 ancak P 6 set bazı PHP vardı gidiyordu kodu. 29 00:01:27,880 --> 00:01:34,710 Ve PHP çünkü C-gibi dil, PHP, HTML ve CSS aksine, 30 00:01:34,710 --> 00:01:39,030 bir programlama dilidir, HTML ve CSS ise statik bulunmaktadır. 31 00:01:39,030 --> 00:01:44,050 Onlar uğraşan biçimlendirme dilleri konum stil ve görsel düzen. 32 00:01:44,050 --> 00:01:46,230 PHP gerçek anlaşma olduğunu. 33 00:01:46,230 --> 00:01:51,590 >> PHP conditions-- vardır, döngüler vardır C hakkında eğlenceli tüm bu şeyler 34 00:01:51,590 --> 00:01:56,190 Bu biraz bir kaç şey vardır biz göreceğiz C daha iyi bit, 35 00:01:56,190 --> 00:01:59,760 ama en kolay yolu konuşmak düşünüyorum PHP hakkında sadece dalış. 36 00:01:59,760 --> 00:02:04,087 Yani doğru gidiyorum Bu noktada IDE içine. 37 00:02:04,087 --> 00:02:06,170 Biz gidiyoruz ilk şey aslında bakmak yapmak için 38 00:02:06,170 --> 00:02:10,169 bazı biraz P oldu PHP kodu 6 olarak ayarlayın. 39 00:02:10,169 --> 00:02:13,600 Bu yüzden ki- yapmak yoludur Biz çalışan edildi şekilde, daha önce 40 00:02:13,600 --> 00:02:18,550 Cihazın sunucu Biz type-- olurdu oldu 41 00:02:18,550 --> 00:02:21,750 Ya da uygulama kullanmak veya personelin uygulama 42 00:02:21,750 --> 00:02:27,059 dizine giderek server.c arasında ve hiçbir ile ya server.c çalıştıran 43 00:02:27,059 --> 00:02:30,100 arguments-- yüzden sadece onu aramak ne muhtemelen yerel ana bilgisayar, 44 00:02:30,100 --> 00:02:31,849 olan Zamanın çoğunu yaptım ve daha sonra besleme 45 00:02:31,849 --> 00:02:35,380 bir directory-- hangi kendi kök olarak kullanmak için 46 00:02:35,380 --> 00:02:38,310 nerede web sitesi olur temelde, koşmak olacak. 47 00:02:38,310 --> 00:02:42,180 >> P Bu hafta olarak, 7 set server.c için kod gibi büyük 48 00:02:42,180 --> 00:02:47,580 ise, zaten insanlar var CS50 de bu ince şeyleri üzerine yazılmış 49 00:02:47,580 --> 00:02:49,630 Bu biraz var Daha fazla işlevsellik, 50 00:02:49,630 --> 00:02:52,920 yetenekli bir sunucu programı biraz daha başa 51 00:02:52,920 --> 00:02:56,350 inceliklerini biz edeceğiz Her iki P görmek 7 set ve P 8 ayarlayın. 52 00:02:56,350 --> 00:03:01,410 Ve başlatmak yolu Sunucu sadece yazarak olduğunu "apache50." 53 00:03:01,410 --> 00:03:03,960 >> Ve sen bir şey yapmadan önce, Eğer emin olmak 54 00:03:03,960 --> 00:03:06,070 Apache 50 olmadığını Olduğu gibi zaten çalışıyor 55 00:03:06,070 --> 00:03:08,130 Bunu test etmek için yaptım benim makinede üzerinde. 56 00:03:08,130 --> 00:03:10,320 Ve apache50 arayarak bunu. 57 00:03:10,320 --> 00:03:14,070 Dur, ve bunu durduran görürsünüz web sunucusu, eğer orada bakabilirsiniz 58 00:03:14,070 --> 00:03:16,340 Terminal penceresinin alt kısmında. 59 00:03:16,340 --> 00:03:21,090 Ve sonra sadece biz değil, başlatmak için , arayacağım "start apache50." 60 00:03:21,090 --> 00:03:23,150 Ve sonra biz gidiyoruz bunu bir dizin beslemek için. 61 00:03:23,150 --> 00:03:26,950 >> Şimdi, çünkü bakmak istiyorum P bazı 6 kod set 62 00:03:26,950 --> 00:03:32,850 Biz aslında hayata ettiğini P biraz kopyalanamaz 63 00:03:32,850 --> 00:03:37,090 Kendi klasöre 6 kodunu ayarlamak, hangi orada solda görebilirsiniz. 64 00:03:37,090 --> 00:03:40,170 Bu, "SECTION8" denir harflerle 65 00:03:40,170 --> 00:03:44,510 Ben sadece bu kadar heyecanlıyım çünkü Bugün canlı akış olmak. 66 00:03:44,510 --> 00:03:47,330 >> Biz bu çalıştırırsanız, gerektiği Yani tüm oldukça verimli çalışmasını. 67 00:03:47,330 --> 00:03:52,350 Tamam, sitemiz artık diyor IDE adresinde mevcuttur, 68 00:03:52,350 --> 00:03:57,710 temelde, hangi kullandığınız ne P 7-- set içinde öyleydi aynen P 6 olarak ayarlayın. 69 00:03:57,710 --> 00:04:00,899 Bütün endeksleri, bir indeks bugün. 70 00:04:00,899 --> 00:04:02,940 Yani biz o gidebilirsiniz adres, sen hatırlayacağım eğer, 71 00:04:02,940 --> 00:04:05,710 Sadece bu küçük tıklayarak sağ üst düğmesini tıklayın. 72 00:04:05,710 --> 00:04:14,200 >> Ve bu kodu, Hatırlayacaksınız ki Eğer merhaba.php girdiğinde oldu. 73 00:04:14,200 --> 00:04:18,000 Ve kod için tasarlanmıştır ne Eğer bir isim yazdığınız zaman do 74 00:04:18,000 --> 00:04:20,550 Eğer Sam demek var-- eğer bu benim aşkına-- çünkü 75 00:04:20,550 --> 00:04:23,620 ve ben Say Hello tıklayın zaman Biz sonraki sayfaya gittik, 76 00:04:23,620 --> 00:04:25,270 Bu adı görüntülenir gerekiyordu. 77 00:04:25,270 --> 00:04:28,550 Bu, derdi "Merhaba Sam" ya da "Merhaba" adı ne olursa olsun size 78 00:04:28,550 --> 00:04:32,470 gittik olsa bile içine koymak tamamen yeni bir web sayfasına. 79 00:04:32,470 --> 00:04:36,610 >> Ve bu tür bir şey olduğunu PHP Senin için yapabileceğim söyledi. 80 00:04:36,610 --> 00:04:42,840 PHP veri geçmek mümkün iki web sayfaları arasında. 81 00:04:42,840 --> 00:04:44,390 Bu tamamen farklı bir sayfası. 82 00:04:44,390 --> 00:04:46,990 Sen başlığı "merhaba" burada göreceksiniz. 83 00:04:46,990 --> 00:04:49,080 Aslında, onlar Aynı başlık, ama ben 84 00:04:49,080 --> 00:04:52,560 Onlar farklı web söz veriyorum sayfaları biz kaynak bakarsanız. 85 00:04:52,560 --> 00:04:55,890 Ve sen bu veri geçirebiliriz Bu metin alanına girilen, 86 00:04:55,890 --> 00:04:59,830 sonraki gönderebilirsiniz tıklandı ediliyor sayfa, 87 00:04:59,830 --> 00:05:02,490 ve daha sonra bu verileri edebilmektedir Mevcut haliyle orada olacağım. 88 00:05:02,490 --> 00:05:04,810 >> Şimdi henüz uygulanmadı var Bu kendimizi, hangi 89 00:05:04,810 --> 00:05:08,710 şu an için yapacağımız budur sıralama, PHP nasıl çalıştığını bir tat almak 90 00:05:08,710 --> 00:05:15,070 ancak anahtar fikir yapabilirsiniz PHP-- olduğunu çeşit bir fonksiyonu gibi düşün. 91 00:05:15,070 --> 00:05:18,570 PHP size sağlayabilirsiniz şey bu parametre olduğunu alabilir do 92 00:05:18,570 --> 00:05:24,710 Bu bir HTML sayfası içine girdi size PHP ve formların kullanımı yoluyla, 93 00:05:24,710 --> 00:05:29,960 ve parametre olarak bu iletebilirsiniz o kadar yükler sonraki sayfaya. 94 00:05:29,960 --> 00:05:35,110 >> Bu durumda, biz bu yüklüyoruz "merhaba deyin" butonu ile sayfa. 95 00:05:35,110 --> 00:05:38,960 Ama şimdi, ben aslında Bu kodun bazı silindi 96 00:05:38,960 --> 00:05:44,850 merhaba.php o run ediliyordu aslında, "Merhaba görüntüleniyor oldu 97 00:05:44,850 --> 00:05:49,680 dünya "ya da" merhaba, Sam "ya da "Merhaba," adil girdi neyse. 98 00:05:49,680 --> 00:05:53,620 Şu an için yüzden, sen Temelde, böyle yapacaksın. 99 00:05:53,620 --> 00:05:56,570 Biz yeniden gidiyoruz ve Ayrıca, biraz daha işlevsellik eklemek 100 00:05:56,570 --> 00:06:00,210 daha onunla biraz yapmak, bakın Ne PHP gerçekten yetenekli olduğunu. 101 00:06:00,210 --> 00:06:04,870 >> Yani ilk, en bahsedelim Bu dosya, merhaba.php. 102 00:06:04,870 --> 00:06:07,440 Biz yakınlaştırmak Yani eğer Şimdi ben Kişilik Sokak küçük ve 103 00:06:07,440 --> 00:06:10,520 sıralama tüm ilerlemek için çalışıyor yolu var etrafta gidiyoruz. 104 00:06:10,520 --> 00:06:14,220 Bunu denir görürsünüz merhaba.php, ancak sözdizimi bunun 105 00:06:14,220 --> 00:06:16,880 Bir HTML dosyası gibi görünüyor. 106 00:06:16,880 --> 00:06:20,380 Bunun nedeni ise, Bu dosyada gerçek PHP 107 00:06:20,380 --> 00:06:25,220 Tüm bu arasına sıkışmış soru işareti-şapka blokları. 108 00:06:25,220 --> 00:06:28,610 Burada her şey PHP kodu olarak kabul edilir. 109 00:06:28,610 --> 00:06:32,040 >> Ve bunu fark edeceksiniz Ben bir yorum yaptım, 110 00:06:32,040 --> 00:06:35,320 Tanıdık görürsünüz İki eğik. 111 00:06:35,320 --> 00:06:38,440 Ve sen, Hatırlayacaksınız eğer HTML, ben bir yorum yazarsanız, 112 00:06:38,440 --> 00:06:42,540 o yakın bir şey görünüyor HTML bir yorumdur olan bu. 113 00:06:42,540 --> 00:06:46,570 Arasında Yani gerçekten her şey Bu iki açılı ayraçlar 114 00:06:46,570 --> 00:06:50,060 Şimdi PHP kodu, hangi Aslında yansıtıyor 115 00:06:50,060 --> 00:06:53,270 Bu küçük açıklama sembolü olduğunu Bir açıklama dönüştü. 116 00:06:53,270 --> 00:06:58,420 >> Yani her zaman bile, PHP kod yazmak HTML kodunu bunun dışında varsa, 117 00:06:58,420 --> 00:07:02,720 her zaman olacak Bu Açılı ayraçlar 118 00:07:02,720 --> 00:07:04,080 soru işaretleri ile. 119 00:07:04,080 --> 00:07:08,260 Nasıl all tür dökersin-- hakkında aklınıza gelebilecek C programlarında koştu kod 120 00:07:08,260 --> 00:07:13,950 Bir int main, boşlukta kapatılmıştır, kaşlı ayraç, son kaşlı ayraç ifadesi. 121 00:07:13,950 --> 00:07:17,100 Ve sen küme parantezi görürsünüz PHP, çok, ama bu tür bir 122 00:07:17,100 --> 00:07:20,490 PHP'nin ana yöntemi gibi. 123 00:07:20,490 --> 00:07:25,630 >> Yani şimdi, nasıl PHP şey yapmak? 124 00:07:25,630 --> 00:07:29,190 Şimdi, PHP programlama Çok C-gibi dil, 125 00:07:29,190 --> 00:07:30,970 ancak web üzerinde çalışır. 126 00:07:30,970 --> 00:07:33,270 Yani bir şey birini immediately-- edeceğiz 127 00:07:33,270 --> 00:07:38,130 Eğer gerçekten birlikte yaptığımız ilk şeylerden C doğru, şeyler dışarı basıldı? 128 00:07:38,130 --> 00:07:42,290 Yani C biz bunu yaptık Bir printf fonksiyonu ile. 129 00:07:42,290 --> 00:07:46,430 Biz bunu bir dize verdi Muhtemelen yeni bir hat ile, 130 00:07:46,430 --> 00:07:49,850 ve sonra sonlandırıldı o bir noktalı virgül ile. 131 00:07:49,850 --> 00:07:53,790 >> Yani biz bunu yapmak için gidiyoruz yolu PHP-- o oldukça printf çünkü. 132 00:07:53,790 --> 00:07:55,940 Farklı sözdizimi biraz öyle. 133 00:07:55,940 --> 00:08:02,580 Biz şeyler yazdırmak yolu PHP biz "Merhaba echo" demek olduğunu 134 00:08:02,580 --> 00:08:04,180 ya da herhangi bir kelime "echo". 135 00:08:04,180 --> 00:08:09,830 Ve bunu yaparken etkisi vardır bir dize ile printf "merhaba." 136 00:08:09,830 --> 00:08:11,990 Ve buna yeni bir çizgi ekler. 137 00:08:11,990 --> 00:08:16,000 >> Yani sure-- Hemen şimdi yapalım Ben yine biraz uzaklaştırmak edeceğiz Kişilik Sokak 138 00:08:16,000 --> 00:08:18,250 en emin olalım bu kod çalışıyor 139 00:08:18,250 --> 00:08:21,030 Orada çok olabilir çünkü da bu kodda bir hata 140 00:08:21,030 --> 00:08:22,880 biz mücadele olacak. 141 00:08:22,880 --> 00:08:25,860 Yani sunucu zaten çalışıyor. 142 00:08:25,860 --> 00:08:30,630 Bu yüzden geri aşağı kaydırma eğer, yup, sunucu hala çalışıyor. 143 00:08:30,630 --> 00:08:34,510 Biz sadece bu dokunun Yani biraz sağa burada-- 144 00:08:34,510 --> 00:08:37,620 welcome-- biz büyük get-- gerekir. 145 00:08:37,620 --> 00:08:39,930 >> Biz hala yaşıyorsanız tanıdık "merhaba deyin" diyalog, 146 00:08:39,930 --> 00:08:45,750 Ben yazarken ama "Merhaba," göreceğiz Metnin bu "merhaba" gerçekten oldu 147 00:08:45,750 --> 00:08:50,080 Tam olarak hangi çıktısı PHP echo çünkü biz bekleniyor 148 00:08:50,080 --> 00:08:53,190 Sadece bir printf ifadesi gibidir. 149 00:08:53,190 --> 00:09:01,410 Böylece geri koduna nasıl P 6 yaptım set Eğer sağlanan dağıtım kodu 150 00:09:01,410 --> 00:09:05,920 PHP olur ki bunu yapmak şey çıktı size 151 00:09:05,920 --> 00:09:07,920 Bir önceki ekranda yazdığınız? 152 00:09:07,920 --> 00:09:10,350 >> Ve bir çeşit incelemek bu gerçekleşirse neden biz konum 153 00:09:10,350 --> 00:09:15,510 , index.html içine gidecek olan Özgün dosya, dosya olduğunu 154 00:09:15,510 --> 00:09:18,710 Bu ekranda gösterir "merhaba deyin" düğmesi ile. 155 00:09:18,710 --> 00:09:20,950 Sen orada olduğunu fark tüm klasik şeyler 156 00:09:20,950 --> 00:09:26,910 Biz HTML gibi beklemek için geldim Bunlardan olarak, bu etiketleri kapalı 157 00:09:26,910 --> 00:09:31,080 açılı parantez içinde, PHP gibi ama soru işaretleri olmadan, 158 00:09:31,080 --> 00:09:34,650 hangi HTML özel bir şey olduğunu gösterir. 159 00:09:34,650 --> 00:09:36,895 Biz ise başlık var "Merhaba." 160 00:09:36,895 --> 00:09:41,010 Ve sen, gördüğümüz gibi olduğunu fark edeceksiniz başlık her iki durumda da "merhaba" dır. 161 00:09:41,010 --> 00:09:43,260 Şimdi bu bir değiştirelim sadece bu yüzden "demek" biz 162 00:09:43,260 --> 00:09:48,170 Nerede kendimizi ayırt edebilir. 163 00:09:48,170 --> 00:09:49,600 >> Ama biz bir ceset var. 164 00:09:49,600 --> 00:09:52,690 Ve sonra ilginç biraz HTML gösterir bit, 165 00:09:52,690 --> 00:09:54,530 Bu formu unsurdur. 166 00:09:54,530 --> 00:09:56,370 Ve böylece biz bir form var. 167 00:09:56,370 --> 00:09:58,330 Ve bu anahtarıdır. 168 00:09:58,330 --> 00:10:00,530 PHP ile çalışıyoruz nasıl budur. 169 00:10:00,530 --> 00:10:05,790 Eylem parametresi Form diyor merhaba.php 170 00:10:05,790 --> 00:10:09,310 Biz göndermek için gidiyoruz ne Bu formda değerler. 171 00:10:09,310 --> 00:10:13,830 Biz geçiyoruz budur parametreler, tabiri caizse. 172 00:10:13,830 --> 00:10:18,680 >> Burada başka bir şey fark edeceksiniz yöntem olduğunu "olsun." 173 00:10:18,680 --> 00:10:24,450 İki primer vardır yöntemler olacak hangi 174 00:10:24,450 --> 00:10:28,750 veri geçmek için PHP kullanarak olacak websites-- web sayfaları arasında, 175 00:10:28,750 --> 00:10:30,500 Bu atama rather--. 176 00:10:30,500 --> 00:10:34,070 Ve bu yöntemler "get" ve "yazı". 177 00:10:34,070 --> 00:10:37,010 Bazı ince vardır get ve post arasındaki farklar 178 00:10:37,010 --> 00:10:40,520 biz into-- alacak eğer sen, içine "get" olacaktır. 179 00:10:40,520 --> 00:10:44,030 >> Ama tüm niyet ve amaçları, almak ve sonrası 180 00:10:44,030 --> 00:10:47,120 her ikisi de sadece yolları olduğunu Eğer parametreleri geçirmek 181 00:10:47,120 --> 00:10:49,500 biraz farklı infazlar ile. 182 00:10:49,500 --> 00:10:53,500 Şimdilik, biz olsun çünkü kullanmak için gidiyoruz olsun başlangıçta kullanılan neydi 183 00:10:53,500 --> 00:10:57,340 P PHP dosyasında 6 olarak ayarlayın. 184 00:10:57,340 --> 00:11:00,850 Biz gitmek ve eğer Ve aslında, bak biz başka bir şey düzenlenmiş ettik önce, 185 00:11:00,850 --> 00:11:03,090 Ben merhaba demek için gidiyorum adın ne ki--? 186 00:11:03,090 --> 00:11:03,812 >> HEDEF KİTLE: Elliot. 187 00:11:03,812 --> 00:11:04,770 SAM Levatich: Oh, Tanrım. 188 00:11:04,770 --> 00:11:05,600 Bunu büyü nasıl bilmiyorum. 189 00:11:05,600 --> 00:11:06,766 Bunu benim için yazım olabilir? 190 00:11:06,766 --> 00:11:08,710 İZLEYİCİ: E-L-L-I-O-T. 191 00:11:08,710 --> 00:11:09,720 >> SAM Levatich: I-O-T? 192 00:11:09,720 --> 00:11:10,440 >> HEDEF KİTLE: Evet. 193 00:11:10,440 --> 00:11:10,960 >> SAM Levatich: Mükemmel. 194 00:11:10,960 --> 00:11:11,210 TAMAM. 195 00:11:11,210 --> 00:11:12,751 Ben o büyü nasıl biliyor muydunuz sanırım. 196 00:11:12,751 --> 00:11:13,510 Bunun için üzgünüm. 197 00:11:13,510 --> 00:11:16,560 Ama biz "merhaba deyin," öyle değil diyorsan ekranda göstermek için gitmiyor 198 00:11:16,560 --> 00:11:18,476 henüz biz modifiye çünkü Kod biraz. 199 00:11:18,476 --> 00:11:21,290 Ama biz "merhaba deyin" yoksa - Tamam, "merhaba" burada. 200 00:11:21,290 --> 00:11:24,137 Ama biz daha yakından alırsak URL'ye kendisine bakmak, 201 00:11:24,137 --> 00:11:26,220 biz biter görürsünüz ile merhaba.php? name = Elliot. 202 00:11:26,220 --> 00:11:30,980 203 00:11:30,980 --> 00:11:37,180 >> Yani, bu bir yoludur Bir sonraki web sayfasına iletişim 204 00:11:37,180 --> 00:11:39,240 biz geçtik parametreler. 205 00:11:39,240 --> 00:11:40,870 Biz name = Elliot söyledi. 206 00:11:40,870 --> 00:11:46,290 P 6 set nasıl ve sonuçta var Biz geçti değişken erişilen 207 00:11:46,290 --> 00:11:47,520 formu ile. 208 00:11:47,520 --> 00:11:51,470 Ve bu bir şey olduğunu Bir get isteği mahsustur. 209 00:11:51,470 --> 00:11:57,480 Bir get isteği parametrelerini yapar web sitesinin URL da bilinir. 210 00:11:57,480 --> 00:12:01,190 >> Ve sen de Hatırlayacaksınız, P size o 6 set 211 00:12:01,190 --> 00:12:04,450 bir işlevi yazmak zorunda Aslında ele olduğunu 212 00:12:04,450 --> 00:12:09,700 Bu sorgu dizesi olduğunu Bir dosya sonra var olabilir. 213 00:12:09,700 --> 00:12:14,684 Takip soru işareti var olabilir karakter temelde herhangi sayısına göre. 214 00:12:14,684 --> 00:12:16,350 Ve bu tam olarak burada neler neler. 215 00:12:16,350 --> 00:12:21,280 Ve yaşadığınız nedeni ayrıştırmak için P server.c sizin uygulanmasında 216 00:12:21,280 --> 00:12:27,570 Eğer söyleyebilirdi ki 6 ayarlayın = Elliot adını PHP kodu. 217 00:12:27,570 --> 00:12:30,460 Sen edebilmek için gerekli URL üzerinden bu ayrıştırma 218 00:12:30,460 --> 00:12:35,900 Böylece söz konusu PHP dosyası onunla ilgili ne biliyordu. 219 00:12:35,900 --> 00:12:39,350 >> Yani umarım bu verir server.c için motivasyon 220 00:12:39,350 --> 00:12:43,900 Üzerinde gidiyoruz şimdi PHP içinde C'nin dışında. 221 00:12:43,900 --> 00:12:48,240 Yani aslında erişme odaklanalım işler artık bir get isteği geçti 222 00:12:48,240 --> 00:12:48,880 Bu noktada. 223 00:12:48,880 --> 00:12:50,157 Ben bu kurtarmak için gidiyorum. 224 00:12:50,157 --> 00:12:51,240 Biz bir şey değişmedi. 225 00:12:51,240 --> 00:12:56,080 Biz giriş alanını var gibi görünüyor. 226 00:12:56,080 --> 00:12:58,550 >> Biz bazı özelliklerini ayarlayarak ediyoruz, olarak biz HTML yapabiliriz. 227 00:12:58,550 --> 00:12:59,550 Bu basit şeylerdir. 228 00:12:59,550 --> 00:13:00,580 Biz bunlara ihtiyacınız yok. 229 00:13:00,580 --> 00:13:03,750 Ama biz, otomatik tamamlama kapalı var hangi temelde, bilirsin dedi ki-- 230 00:13:03,750 --> 00:13:05,710 şeyleri yazarken ağ-yapı halinde, bazen 231 00:13:05,710 --> 00:13:07,355 Senin için de doldurmak için çalışır. 232 00:13:07,355 --> 00:13:08,230 Yani güzel bir şey. 233 00:13:08,230 --> 00:13:11,700 Bu amaçla kapatmak istiyorum. 234 00:13:11,700 --> 00:13:13,970 Bu bir CS50 karardı. 235 00:13:13,970 --> 00:13:15,640 Yani biz istedik eğer silebilirsiniz. 236 00:13:15,640 --> 00:13:19,510 >> Otofokus sadece imleci sopalarla başında formu sağ. 237 00:13:19,510 --> 00:13:21,060 Yine, çok önemli değil. 238 00:13:21,060 --> 00:13:26,220 >> Ama name = "name" - Biraz var o isim ve ad çünkü zor. 239 00:13:26,220 --> 00:13:28,730 Ama biz değiştirdik olabilir başka bir şeye bu. 240 00:13:28,730 --> 00:13:30,563 Ve aslında, işte şu an ne yapacağız. 241 00:13:30,563 --> 00:13:34,830 Biz, "kişiyi" diyeceğim ki çeşit ismi gibi 242 00:13:34,830 --> 00:13:36,790 Bir kişinin kendi ismi ile tanımlanır eğer. 243 00:13:36,790 --> 00:13:41,480 >> Yani bu kapatalım, Web sitemizi kadar yeniden 244 00:13:41,480 --> 00:13:46,110 Bizim sunucu hala çalışıyor beri Apache 50 ve biz merhaba, burada, söyleyeceğim 245 00:13:46,110 --> 00:13:47,200 Elliot yine. 246 00:13:47,200 --> 00:13:48,460 Neden olmasın? 247 00:13:48,460 --> 00:13:49,220 Merhaba. 248 00:13:49,220 --> 00:13:52,880 Biz buraya giderseniz, biz göreceğiz Daha sonra isim yerine = Elliot, 249 00:13:52,880 --> 00:13:55,200 o kişinin Elliot = söylüyor. 250 00:13:55,200 --> 00:14:00,060 Ve aslında doğrudan bir sonucudur var biz sadece name = "kişiyi." değişti 251 00:14:00,060 --> 00:14:06,840 >> Bir giriş elemanı Yani bir HTML formu, adı alanı 252 00:14:06,840 --> 00:14:10,590 belirleyicisidir geçirilen ediliyor parametresi. 253 00:14:10,590 --> 00:14:14,250 Eğer bir işlev oluştururken eğer Sanki İki tamsayı aldı o "add" 254 00:14:14,250 --> 00:14:16,670 ve int a ve b int dedi. 255 00:14:16,670 --> 00:14:22,680 Bu isim bir olacak ve eğer olur Eğer başka bir form, istedim hangi 256 00:14:22,680 --> 00:14:27,800 Biz kopyalayarak sadece yapabilirsiniz ve yapıştırma, o zaman adı b olurdu. 257 00:14:27,800 --> 00:14:31,030 >> Yani şimdi iki parametre olacak Bu geçirilir edilmektedir 258 00:14:31,030 --> 00:14:36,970 Bir sonraki website-- olsun Bir sonraki web sayfası, merhaba.php. 259 00:14:36,970 --> 00:14:39,770 Ve biz aslında görebilirsiniz O yine biz isterseniz. 260 00:14:39,770 --> 00:14:44,830 Bu başa kolay yoludur temelde IDE web kodu. 261 00:14:44,830 --> 00:14:47,940 Sunucuyu başlatmak, bunu elde Her zaman size çalışan ve daha sonra 262 00:14:47,940 --> 00:14:50,649 Sadece yakın bazı değişiklikler yapmak Bu dosya sadece güvenli olması için. 263 00:14:50,649 --> 00:14:52,440 Geri düğmesine basıldığında biraz zor 264 00:14:52,440 --> 00:14:55,800 daha önceki bir yükleme olabilir çünkü sürüm değil, en güncel biri. 265 00:14:55,800 --> 00:14:59,200 >> Ve sonra sadece tıklayın senin düğmesine tekrar pop sağ oh up-- 266 00:14:59,200 --> 00:15:00,510 ve şimdi iki şekli vardır. 267 00:15:00,510 --> 00:15:10,440 Ve biz her birine bir şey yazın eğer öyleyse instance-- için bölgesi varış "Jason Hirshhorn" 268 00:15:10,440 --> 00:15:11,590 merhaba diyorum. 269 00:15:11,590 --> 00:15:12,840 Biz bizim parametrelerine bakmak. 270 00:15:12,840 --> 00:15:18,910 Elimizdeki gibi gibi görünüyor beklenen, a = Jason ve b = Hirshhorn, 271 00:15:18,910 --> 00:15:23,760 hangi iki parametreyi temsil Bu işleve geçti. 272 00:15:23,760 --> 00:15:27,900 >> Yani şimdi en doğrusu başlayalım Bu işlevselliği uygulama biz 273 00:15:27,900 --> 00:15:30,840 P vardı 6 olarak ayarlayın. 274 00:15:30,840 --> 00:15:32,490 Yani şu anda biz sadece Merhaba yankılanan ediyoruz. 275 00:15:32,490 --> 00:15:34,310 Ve bu çok kullanışlı değil. 276 00:15:34,310 --> 00:15:38,530 Biz bazı değişken echo istiyorum bize geçildi. 277 00:15:38,530 --> 00:15:40,320 Ve biz bu değişkenin adını biliyorum. 278 00:15:40,320 --> 00:15:41,770 Biz var ve biz b var. 279 00:15:41,770 --> 00:15:43,500 Bu yüzden ikisinden biri yankı seçebilirsiniz. 280 00:15:43,500 --> 00:15:45,470 >> Ama nasıl bunu ulaşabilirim? 281 00:15:45,470 --> 00:15:48,820 Peki, bazı vardır PHP global değişkenler. 282 00:15:48,820 --> 00:15:51,240 Ve ben yazmaya gidiyorum Buradaki yorumların onları. 283 00:15:51,240 --> 00:15:59,910 Iki en önemli olanları şunlardır olsun Şu anda bizim amaçlı yazı. 284 00:15:59,910 --> 00:16:05,350 Bu diziler ya vardır, teknik, sözlükler 285 00:16:05,350 --> 00:16:10,540 nerede sen bizim değişkenler Bir sonraki web sayfası canlı geçerek. 286 00:16:10,540 --> 00:16:14,520 Ve yakında bunları nasıl kullanacağınızı göreceğiz. 287 00:16:14,520 --> 00:16:19,720 >> PHP kodu hakkında başka kısa bir not ve C dökersin-- bazı özelliklerini, 288 00:16:19,720 --> 00:16:23,260 Bir değişken bildirmek için veya değişkenleri kullanmak için, 289 00:16:23,260 --> 00:16:24,570 İlk onları bildirmek zorunda. 290 00:16:24,570 --> 00:16:30,860 Ne zaman ve ne vardı yapmak Onları int a veya b karakter demek olduğunu ilan etti. 291 00:16:30,860 --> 00:16:35,630 Bu türlerini bildirmek zorunda Sizden önce değişkenler olarak yarattı. 292 00:16:35,630 --> 00:16:38,800 PHP-- Bunu birini yapmak gerekmez. 293 00:16:38,800 --> 00:16:42,522 PHP sormuyor değişken türü. 294 00:16:42,522 --> 00:16:44,480 Ve yol olduğunu yerine variable-- oluşturmak 295 00:16:44,480 --> 00:16:49,930 diyerek daha int, char, string-- Biz biliyorsun-- olarak hangi * gerçekten char 296 00:16:49,930 --> 00:16:52,180 yerine tüm yaparken daha bu, çünkü her 297 00:16:52,180 --> 00:16:54,620 Aynı tipte typeless, biz sadece can 298 00:16:54,620 --> 00:16:59,210 Bir karakteri, kullandığınız Dolar işareti olduğunu. 299 00:16:59,210 --> 00:17:03,700 Ve zaten haşhaş göreceksiniz küçük otomatik tamamlama şeyler, yukarı. 300 00:17:03,700 --> 00:17:11,380 Ve o GETin ve POST 'diyor Ben mevcut olan iki seçenek vardır 301 00:17:11,380 --> 00:17:11,900 bana göre. 302 00:17:11,900 --> 00:17:16,430 Bu diğer şeyler bazıları PHP diğer global değişkenler 303 00:17:16,430 --> 00:17:18,430 Eğer üzerinde kullanılarak olacağım P kurs 7 ayarlayın. 304 00:17:18,430 --> 00:17:20,569 Şimdi biz gidiyoruz İçin get ve post odaklanın. 305 00:17:20,569 --> 00:17:22,910 Ama bu yararlı IDE yaptığı şey 306 00:17:22,910 --> 00:17:24,980 Nereye yazdığınız kez Bu dolar işareti, 307 00:17:24,980 --> 00:17:28,760 küresel değişkenler doldurarak başlayacağız veya değişkenler zaten tanımlanmış var. 308 00:17:28,760 --> 00:17:34,360 >> Tanımlamak istedim Yani eğer adında bir değişken "string" 309 00:17:34,360 --> 00:17:38,290 Sadece eşit olarak ayarlanmış olabilir "Merhaba." 310 00:17:38,290 --> 00:17:40,100 Ve o kadar basit temelde. 311 00:17:40,100 --> 00:17:44,720 Ve sonra biz yapabiliriz gibi bir şey "echo $ dizesi." 312 00:17:44,720 --> 00:17:48,524 IDE bazı atma olmalıdır Ben yanlış bir şey yapıyorum hatalar, 313 00:17:48,524 --> 00:17:50,190 bu yüzden umarım her şeyi doğru yapıyorum. 314 00:17:50,190 --> 00:17:52,060 Ama hatalar hep ortaya çıkar. 315 00:17:52,060 --> 00:17:56,670 >> Ilgili bir diğer zor bir şey PHP derlenmiş olması. 316 00:17:56,670 --> 00:18:00,640 C programları ile Peki, yapardın günlük rutin temelde of--, 317 00:18:00,640 --> 00:18:02,710 Eğer düzenlemeler yapacak kod, bunu kaydetmek istiyorum, 318 00:18:02,710 --> 00:18:04,460 ve daha sonra yapacağınız o marka oldu, nerede yapmak 319 00:18:04,460 --> 00:18:08,830 derleyici denilen adım, kodunuzu yapmak için, tınlamak, bu metin 320 00:18:08,830 --> 00:18:10,570 Bir yürütülebilir dosyaya. 321 00:18:10,570 --> 00:18:15,550 PHP C gibi, ancak idam var web tarayıcınız tarafından anında. 322 00:18:15,550 --> 00:18:17,640 Yani bilmek hiçbir yolu yoktur. 323 00:18:17,640 --> 00:18:19,790 >> Bu atmak olun yararlı hataları, değil mi? 324 00:18:19,790 --> 00:18:22,190 Senin gibi olurdu Bu değişken bildirmek vermedi 325 00:18:22,190 --> 00:18:23,320 bunu kullanmak için çalıştı önce. 326 00:18:23,320 --> 00:18:29,120 Siz, bütün bu kötü stuff-- segfault yaptım segfault, bütün bu tür eğlenceli zamanlar 327 00:18:29,120 --> 00:18:31,000 O make ile geldi. 328 00:18:31,000 --> 00:18:33,920 PHP iki ucu keskin bir kılıç Eğer bu hataları almazsınız, çünkü 329 00:18:33,920 --> 00:18:37,770 ama o da bilmiyor demektir Gerçekten programı nesi var 330 00:18:37,770 --> 00:18:39,840 Sadece çalıştırın ve bu çalışma değilse. 331 00:18:39,840 --> 00:18:45,130 Ama debugger işaret etmelidir Bazı umarım yararlı küçük şeyler 332 00:18:45,130 --> 00:18:47,950 Eğer çözebilirsiniz sözdizimsel. 333 00:18:47,950 --> 00:18:52,850 >> Yani şimdi biz aşağıdaki amaçlara üzerinde giderseniz en yakın o edelim, diyorum. 334 00:18:52,850 --> 00:18:54,522 Yeniden açın. 335 00:18:54,522 --> 00:18:55,480 Ve biz buraya döndük. 336 00:18:55,480 --> 00:18:57,210 Yani biz bir değişken var ve değişken, b. 337 00:18:57,210 --> 00:18:58,626 Ve bunlar nihayetinde önemli değildir. 338 00:18:58,626 --> 00:19:01,850 Onlara h ve g arayacağım özel bir nedeni yok. 339 00:19:01,850 --> 00:19:03,120 >> Ve biz selam. 340 00:19:03,120 --> 00:19:07,480 Şimdi bizim dize gibi görünüyor "Merhaba" aslında baskı yapıyor. 341 00:19:07,480 --> 00:19:10,460 Biz denilen bir değişken yarattı "dizesi," eşit olarak ayarlanmış "merhaba." 342 00:19:10,460 --> 00:19:15,520 Yapmamız yoktu fark malloc veya karakter dizisi yapmak. 343 00:19:15,520 --> 00:19:19,110 >> PHP, değişkenlere çünkü bir dize typeless vardır 344 00:19:19,110 --> 00:19:22,230 için bir char aynıdır Tüm niyet ve amaçlar. 345 00:19:22,230 --> 00:19:23,570 Bu "merhaba." Olabileceğini 346 00:19:23,570 --> 00:19:26,340 Bu sadece karakter k olabilir. 347 00:19:26,340 --> 00:19:29,290 Bu sayı 1 olabilir. 348 00:19:29,290 --> 00:19:30,300 Ve bu umurunda değil. 349 00:19:30,300 --> 00:19:33,560 PHP umurunda değil senin değişken türü. 350 00:19:33,560 --> 00:19:34,390 Veya, bakım yapar. 351 00:19:34,390 --> 00:19:36,240 Eğer denemek zaman umurunda ve onunla bir şeyler yapmak, 352 00:19:36,240 --> 00:19:38,790 ama içinde umursamıyor beyan adım. 353 00:19:38,790 --> 00:19:46,960 >> Sadece C yapabilirsiniz gibi Ve yapabilirsiniz Böyle yığını stringler 354 00:19:46,960 --> 00:19:51,130 "yığın" diyerek biraz olsa potansiyel bir yanlış isim olduğunda bit 355 00:19:51,130 --> 00:19:52,230 Biz PHP bahsediyoruz. 356 00:19:52,230 --> 00:19:54,020 Ama biz bu konuda endişelenmenize gerek yok. 357 00:19:54,020 --> 00:19:55,936 Bu yüzden bizim dize var "Merhaba," biz dize echo. 358 00:19:55,936 --> 00:19:58,880 Yani şimdi biz değişkenleri ele ettik. 359 00:19:58,880 --> 00:20:06,060 Yani şimdi biz get hakkında konuşmalıyız ve gönderebilir ve bu son şey yapmak 360 00:20:06,060 --> 00:20:12,660 Gerçekten bu yedekleme almak için gerekli P işlevselliği 6 olarak ayarlayın. 361 00:20:12,660 --> 00:20:14,990 Yani şimdi biz konum dize yankılanan, ama biz 362 00:20:14,990 --> 00:20:17,080 Bu değişkenler almak ve sonrası var. 363 00:20:17,080 --> 00:20:19,430 Ve biz kullanıyoruz, çünkü yöntem olsun, 364 00:20:19,430 --> 00:20:24,810 doğal görünüyor bizim değişken o Biz a ve b, hem ilgilendiğiniz 365 00:20:24,810 --> 00:20:29,870 dizide yer alacak veya sözlük, teknik olsun. 366 00:20:29,870 --> 00:20:33,510 >> Biz kurmak Yani eğer böyle olsun senin groups-- I girmek preslenmiş 367 00:20:33,510 --> 00:20:36,770 ve Durdur-- gibi değildi ama burada olsun var. 368 00:20:36,770 --> 00:20:38,000 Ve böylece zaten var olsun. 369 00:20:38,000 --> 00:20:41,380 Yani biz zaten erişime başlayabilirsiniz get elemanlarının bazılarıdır. 370 00:20:41,380 --> 00:20:45,000 Aldığımız takdirde, bu sözdizimi için PHP diziler çok C-gibi. 371 00:20:45,000 --> 00:20:47,900 Biz bizim iki köşeli parantez var. 372 00:20:47,900 --> 00:20:53,440 >> Yani eğer biz normal olsun demek Dizi, biz erişebilir 373 00:20:53,440 --> 00:20:55,600 sıfırıncı endeksi, ilk endeks. 374 00:20:55,600 --> 00:20:56,840 PHP sıfır endeksidir. 375 00:20:56,840 --> 00:21:00,550 Biz, sıfır, bir söyleyebiliriz Böyle iki-- şeyler. 376 00:21:00,550 --> 00:21:03,420 Ve ben o olsun diyerek oldum teknik olarak bir sözlüktür. 377 00:21:03,420 --> 00:21:08,290 Yani PHP kaputun altında ne yaptığını, hangi C'den biraz daha güzel, 378 00:21:08,290 --> 00:21:12,760 o zaten bazı veriyor Sözlük işlevsellik, burada 379 00:21:12,760 --> 00:21:16,240 Gerçekten hash tabloları olduğunu ya güya, çalışır. 380 00:21:16,240 --> 00:21:19,360 Ya da, teknik olarak o Bir de deneyebilirsiniz olabilir. 381 00:21:19,360 --> 00:21:25,500 Ama PHP karma tablo uyguluyor, bu etkili bir sözlük oluşturur. 382 00:21:25,500 --> 00:21:28,400 >> Ve böylece biz adını biliyor Bizim değişken, değil mi? 383 00:21:28,400 --> 00:21:32,440 Bu geçirilen ediliyor PHP ile sorgu dizesi. 384 00:21:32,440 --> 00:21:37,290 Biz = h ve b var = g b değişkenlerin isimlerdir. 385 00:21:37,290 --> 00:21:41,580 Yani şekilde biz erişebilmesi anahtara karşılık gelen değer 386 00:21:41,580 --> 00:21:45,055 Bizim sözlükte olduğunu Sadece ["a"] _GET_GET diyerek. 387 00:21:45,055 --> 00:21:48,170 388 00:21:48,170 --> 00:21:51,365 >> Yani şimdi biz GETin ["a"] var. 389 00:21:51,365 --> 00:21:56,930 Ve biz sadece içeride değiştirirseniz Bizim yankı, biz _GET_GET yankı eğer ["a"] - 390 00:21:56,930 --> 00:22:02,410 ve biz hata ayıklayıcı olmadığını görürsünüz bu-- hakkında herhangi bir hata atar 391 00:22:02,410 --> 00:22:05,620 biz kaydetmek ve bunu kapatmak gerekir. 392 00:22:05,620 --> 00:22:07,130 O kadar aç. 393 00:22:07,130 --> 00:22:10,390 Yani biz sadece bir hak yapıyoruz Şimdi, bu yüzden b önemli olmamalı. 394 00:22:10,390 --> 00:22:12,980 "Onu" ve "onu" - "hum". "Onu" ve "hum". 395 00:22:12,980 --> 00:22:14,810 Kulağa iyi geliyor. 396 00:22:14,810 --> 00:22:18,040 >> Ve o dışarı basılabilir "Onu," hangi deli. 397 00:22:18,040 --> 00:22:21,920 Ama bu tam olarak ne var P oluyordu 6 olarak ayarlayın. 398 00:22:21,920 --> 00:22:27,240 Temelde, ne P 6 set oldu doing-- echo hello, 399 00:22:27,240 --> 00:22:31,580 aşkına-- o vardı nerede Değişken adı ve sadece 400 00:22:31,580 --> 00:22:35,520 metnin o biraz yazmanız sorar. 401 00:22:35,520 --> 00:22:37,380 Orada da bazı ek kod nerede 402 00:22:37,380 --> 00:22:40,550 ifadeleri eğer dahil hangi şu anda yapabiliriz. 403 00:22:40,550 --> 00:22:50,120 >> , Varsa diyebiliriz ki PHP içindeki bir işlevsellik, 404 00:22:50,120 --> 00:22:55,110 Çizgi ile _GET, "isim" - temelde hangi söyleyerek, 405 00:22:55,110 --> 00:22:58,760 Çünkü "adı doldurulmuş olması halinde" biz sadece düğmeye tıklandığında olabilir 406 00:22:58,760 --> 00:23:02,580 olmadan formu göndermek için Bu alana bir şey yazarak. 407 00:23:02,580 --> 00:23:07,760 Ve biz bu sarın bizim dost kaşlı. 408 00:23:07,760 --> 00:23:09,175 Biz başka bir bildirimde bulunmamış olabilir. 409 00:23:09,175 --> 00:23:13,300 410 00:23:13,300 --> 00:23:18,820 Ve tüm PHP açı içinde var aparatı, soru işareti, açı aparatı, 411 00:23:18,820 --> 00:23:20,040 eğer sen. 412 00:23:20,040 --> 00:23:21,750 >> Bu işe yararsa Ve şimdi göreceğiz. 413 00:23:21,750 --> 00:23:26,300 Ben hata ayıklama bunun için beklemeye devam ve temelde, beni dışarı bok 414 00:23:26,300 --> 00:23:28,410 ama henüz değil vardır. 415 00:23:28,410 --> 00:23:30,830 Belki şimdi olacak Ben konuştuk çünkü. 416 00:23:30,830 --> 00:23:31,330 Aynen. 417 00:23:31,330 --> 00:23:32,510 Aslında, yaptım. 418 00:23:32,510 --> 00:23:34,610 Yani, hiçbir şey gösteriyor. 419 00:23:34,610 --> 00:23:38,750 Bunun nedeni yanlış bir şey var PHP kodunda yazdı. 420 00:23:38,750 --> 00:23:42,844 Ve ben hata ayıklama söz Biz nedeniyle PHP zor 421 00:23:42,844 --> 00:23:45,260 önceden derlemek vermedi ve derleyici, gibi değildi 422 00:23:45,260 --> 00:23:46,710 senin hataları nerede burada. 423 00:23:46,710 --> 00:23:49,690 >> Ama biz ne yapabilirim Bu-- insanlar hatırlıyorum 424 00:23:49,690 --> 00:23:57,010 Farklı bir ağa bakmak için nasıl PHP-- veya web siteleri bu istekleri 425 00:23:57,010 --> 00:23:57,620 göndermek? 426 00:23:57,620 --> 00:24:00,290 [? Malin?] Bu yaptığımız bir veya iki kez ders. 427 00:24:00,290 --> 00:24:05,830 Biz bulmak için nereye hatırlıyor Farklı borçlar ve 200 Okeyledi, 428 00:24:05,830 --> 00:24:09,780 gönderilen bütün bu kodları web sayfası web sayfasından HTTP? 429 00:24:09,780 --> 00:24:12,514 Herkes hatırlıyor mu nerede biz bunu gidilir? 430 00:24:12,514 --> 00:24:13,787 >> HEDEF KİTLE: Sayfa Kaynağı. 431 00:24:13,787 --> 00:24:14,870 SAM Levatich: Sayfa kaynağı. 432 00:24:14,870 --> 00:24:15,890 Kesinlikle. 433 00:24:15,890 --> 00:24:19,230 Eğer sayfa Source-- de mükemmel gidin. 434 00:24:19,230 --> 00:24:21,630 Yani Page Source müfettiş yukarı çeker. 435 00:24:21,630 --> 00:24:23,140 >> Ve ben Safari kullanıyorum. 436 00:24:23,140 --> 00:24:25,790 Size bir sürü muhtemelen olacaktır Chrome ya da Firefox kullanıyor. 437 00:24:25,790 --> 00:24:27,750 Ama sürece konum olarak herhangi bir modern browser-- içinde 438 00:24:27,750 --> 00:24:29,500 ve takip etmek çekinmeyin İstersen birlikte. 439 00:24:29,500 --> 00:24:32,560 Bu kodu yazabilirsiniz veya Sadece P seti 6 içine bakmak 440 00:24:32,560 --> 00:24:35,820 bazı benzer şeyler için dizin. 441 00:24:35,820 --> 00:24:41,020 merhaba.php we 'ne Şu anda taklit üzerinde çalışıyor. 442 00:24:41,020 --> 00:24:42,476 >> Yani sekmelerin çeşitli vardır. 443 00:24:42,476 --> 00:24:43,850 Biz bütün kaynaklara bakabilirsiniz. 444 00:24:43,850 --> 00:24:45,810 Biz kaynak kodunu görebilirsiniz. 445 00:24:45,810 --> 00:24:49,900 Öyle değil mi gibi görünüyor Yani Sonunda geçmişte vücut olsun. 446 00:24:49,900 --> 00:24:54,890 PHP ve ona bir hata buldum tüm web sayfasının yüklenmesini durdu. 447 00:24:54,890 --> 00:24:58,320 Biz bile bir sonu yok HTML veya herhangi bir şey için etiket. 448 00:24:58,320 --> 00:25:07,189 >> Biz ağa bakarsanız, biz biz bir isteği gönderiliyor olduğunuzu görüyoruz. 449 00:25:07,189 --> 00:25:07,980 Bu etki alanıdır. 450 00:25:07,980 --> 00:25:09,270 Bu adres. 451 00:25:09,270 --> 00:25:10,070 Bu bir belge var. 452 00:25:10,070 --> 00:25:14,310 Biz get yöntemi kullanılarak ediyoruz. 453 00:25:14,310 --> 00:25:15,760 >> Ve bu kırmızı. 454 00:25:15,760 --> 00:25:19,030 Ya da kırmızı zaman ben seçerek değildi. 455 00:25:19,030 --> 00:25:22,680 Bunu nasıl seçimini kaldırabilirsiniz mı? 456 00:25:22,680 --> 00:25:23,980 Peki, bu kırmızı oldu. 457 00:25:23,980 --> 00:25:25,201 Beni tazeleyelim. 458 00:25:25,201 --> 00:25:25,700 İşte burada. 459 00:25:25,700 --> 00:25:26,640 Şimdi kırmızı. 460 00:25:26,640 --> 00:25:30,530 >> Bu yüzden, yani kırmızı var kötü olan, başarısız oldu. 461 00:25:30,530 --> 00:25:32,280 Bu yüzden başarısız neden en inceleyelim. 462 00:25:32,280 --> 00:25:37,070 Böylece tüm Page Source olabilir ki temelde size bir şey olduğunu söyleyebilirim 463 00:25:37,070 --> 00:25:38,720 biz zaten görebileceğiniz, hangi işe yaramadı. 464 00:25:38,720 --> 00:25:42,100 Yani ideal orada olur Bir daha yararlı bir araç olabilir. 465 00:25:42,100 --> 00:25:45,710 Ve bazı tarayıcı uzantıları vardır Bu, PHP hata ayıklama için izin 466 00:25:45,710 --> 00:25:50,490 ama biz gitmiyoruz PHP bir ton yazılı, 467 00:25:50,490 --> 00:25:53,190 bu yüzden muhtemelen sadece en iyi kodunuzu bakmak 468 00:25:53,190 --> 00:25:56,760 dikkatli ve adil olduğundan emin olun o başka bir şey yapmıyor. 469 00:25:56,760 --> 00:26:03,876 >> Yani görelim eğer bu formatı ifadesi ise sorun olduğu. 470 00:26:03,876 --> 00:26:07,420 Ben burada tekrar yüklemek istiyor. 471 00:26:07,420 --> 00:26:09,830 Merhaba Merhaba. 472 00:26:09,830 --> 00:26:11,350 Yani bir sorun var var. 473 00:26:11,350 --> 00:26:15,130 >> Doğru sözdizimi Yani PHP, PHP gidiyor 474 00:26:15,130 --> 00:26:17,369 C-gibi döngüleri görürsünüz olmak. 475 00:26:17,369 --> 00:26:18,410 Sen ifadeleri olmadığını görürsünüz. 476 00:26:18,410 --> 00:26:20,920 Tüm bu arkadaşlar göreceksiniz Eğer aşina olduğunuz 477 00:26:20,920 --> 00:26:24,820 boyunca birlikte Bu CS50 dönem. 478 00:26:24,820 --> 00:26:29,960 Ama en iyi yolu nasıl anlamaya do PHP şey Google'dan için 479 00:26:29,960 --> 00:26:33,170 ya da PHP kod bazı örneklere bakmak için işlevselliğini biliyorum çünkü. 480 00:26:33,170 --> 00:26:35,080 >> Sen ne olabilir biliyor programı ile yapmak. 481 00:26:35,080 --> 00:26:35,976 Sen döngü yapabilirsiniz. 482 00:26:35,976 --> 00:26:37,600 İstediğiniz kadar döngü birçok kez olabilir. 483 00:26:37,600 --> 00:26:39,433 Tüm yapabilirsiniz döngü Farklı şekillerde türlü. 484 00:26:39,433 --> 00:26:40,700 Siz fonksiyonları oluşturabilirsiniz. 485 00:26:40,700 --> 00:26:43,241 Siz fonksiyonları oluşturabilirsiniz diğer fonksiyonlar, arama işlevleri 486 00:26:43,241 --> 00:26:44,150 kendilerini diyoruz. 487 00:26:44,150 --> 00:26:45,733 Ve bu kavramların isimler var. 488 00:26:45,733 --> 00:26:49,860 Sen, döngüler, özyineleme var diğer kontrol akımları, eğer. 489 00:26:49,860 --> 00:26:51,300 Ve böylece Google senin en iyi arkadaşın olduğunu. 490 00:26:51,300 --> 00:26:53,540 Hatta PHP eğer "derler Açıklamada "ve orada olacak 491 00:26:53,540 --> 00:26:57,740 ile mesajların ton diğer insanlara cevaplar 492 00:26:57,740 --> 00:27:02,090 kim, sana benzer sorular yaşadım kim sadece PHP ile başlayan 493 00:27:02,090 --> 00:27:03,820 ve bir sözdizimi şey hakkında merak ediyoruz. 494 00:27:03,820 --> 00:27:08,480 >> Biz olma lüksüne sahip olduğundan P seti 6 koduna bakmak mümkün, 495 00:27:08,480 --> 00:27:14,980 biz aslında yukarı çekin ve görmek Tamam, burada ilginç bir şey var. 496 00:27:14,980 --> 00:27:18,070 Yani bu aslında nedir o P 6 set benziyordu. 497 00:27:18,070 --> 00:27:20,340 Yani biz bu geçmesi durumunda, biz ettik görebilirsiniz 498 00:27:20,340 --> 00:27:27,150 got bu küçük birkaç PHP-benzeri bir soru işareti bit. 499 00:27:27,150 --> 00:27:29,050 >> Ve kaşlı yoktur. 500 00:27:29,050 --> 00:27:30,250 Kolonlar vardır. 501 00:27:30,250 --> 00:27:32,340 Ve kıvırcık vardır PHP parantez, ancak bu 502 00:27:32,340 --> 00:27:38,700 bir biçim ve yapmanın bir yoludur HTML ile iyi çalışır PHP 503 00:27:38,700 --> 00:27:43,830 sizin de göreceğiniz gibi, çünkü biz kapatıyoruz birinin bits-- bu PHP kapalı 504 00:27:43,830 --> 00:27:49,770 IFS ve daha sonra ki- ve tamamı ve Biz içlerinde HTML interspersing ediyoruz 505 00:27:49,770 --> 00:27:54,640 Hala takip ederken kontrol akışı PHP tarafından yola çıktı. 506 00:27:54,640 --> 00:27:58,480 >> Ben sadece gidiyorum Bu aracılığıyla hızlı bir yürüyüş 507 00:27:58,480 --> 00:28:01,740 aynı bir sürü çünkü Daha önce yaptıklarını kavramlar. 508 00:28:01,740 --> 00:28:07,280 Boş değil eğer biz var Parantez, _GET_GET ["name"]. 509 00:28:07,280 --> 00:28:08,500 Bu aynı şeyler. 510 00:28:08,500 --> 00:28:15,430 Biz _GET sözlüğü kullanmakta olduğunuz PHP, formlar talebi üzerine gönderir 511 00:28:15,430 --> 00:28:20,720 Bu parametreleri olduğu eylem ve yöntem olsun. 512 00:28:20,720 --> 00:28:22,110 Sonra o sona erer. 513 00:28:22,110 --> 00:28:27,420 Kolon, sadece bunu yapmak için bir signifier olduğunu if ifadesi true olursa. 514 00:28:27,420 --> 00:28:29,490 Bir küme ayracı gibi. 515 00:28:29,490 --> 00:28:33,320 Ve aslında, bu bir kaşlı ayraç olduğunu Python gibi diğer dillerde, 516 00:28:33,320 --> 00:28:37,070 Sadece eğer hangi karşılaşabileceğiniz final proje için bunu. 517 00:28:37,070 --> 00:28:40,170 >> Ve sonra bu hat, merhaba. 518 00:28:40,170 --> 00:28:41,510 Sonra bu garip bir şey var. 519 00:28:41,510 --> 00:28:43,190 Biz daha fazla parantez var. 520 00:28:43,190 --> 00:28:46,140 Üzgünüm, hiçbir HTTP orada-- veya PHP var. 521 00:28:46,140 --> 00:28:47,250 Ama eşit işareti var. 522 00:28:47,250 --> 00:28:50,625 Ve sonra bir işlevi vardır, htmlspecialchars (_GEThtmlspecialchars (_GET ["ad"]). 523 00:28:50,625 --> 00:28:54,440 524 00:28:54,440 --> 00:28:58,040 Bu gibi daha fazla çeşit olduğunu yankı gelişmiş versiyonu. 525 00:28:58,040 --> 00:29:01,450 Biz bir yol olarak yankı vardı gibi PHP şeyler yazdırmak için. 526 00:29:01,450 --> 00:29:03,890 , Bu bir fonksiyonudur PHP tanımlanan 527 00:29:03,890 --> 00:29:08,160 Biraz daha kötü ile ilgileneceğiz karakterleri ve bayt değerleri 528 00:29:08,160 --> 00:29:09,540 Bunu geçebileceği. 529 00:29:09,540 --> 00:29:11,070 Bu kullanmak için her zaman en güvenli değil. 530 00:29:11,070 --> 00:29:14,930 Ama iş yapacak yankı biz eğer sadece iyi 531 00:29:14,930 --> 00:29:17,620 Çok kötü bir şey ile ilgili. 532 00:29:17,620 --> 00:29:20,340 >> Ve böylece aynı sahiptir temelde etkisi 533 00:29:20,340 --> 00:29:26,360 Söz arasında bu şeyler işaretleri PHP tarafından değerlendirilir. 534 00:29:26,360 --> 00:29:34,490 htmlspecialchars'ın güzel bir HTML döndürür _GET_GET ["name"], yani basılı değeri 535 00:29:34,490 --> 00:29:36,010 ne olursa olsun biz formda yazdınız. 536 00:29:36,010 --> 00:29:40,025 Ve sonra, merhaba diyeceğim virgül uzay ve o. 537 00:29:40,025 --> 00:29:42,910 Arasındaki her şey açılı ayraçlar 538 00:29:42,910 --> 00:29:47,390 ile değiştirilir ne olursa olsun htmlspecialchars'ın ortaya koyar. 539 00:29:47,390 --> 00:29:49,390 Bu temelde benzer Yani biz ne yapıyoruz için. 540 00:29:49,390 --> 00:29:54,760 Ve biz bu bir başka bildirimde bulunmamış mantıklı merhaba dünya. 541 00:29:54,760 --> 00:29:58,070 Yani şimdi en geri dönelim bizim Kod ve oh tam olarak-- bakın. 542 00:29:58,070 --> 00:30:02,200 Ben değil, hangi var dedi yapmak istediğim bir şey. 543 00:30:02,200 --> 00:30:05,370 Biz boş değil demek istedim. 544 00:30:05,370 --> 00:30:10,020 >> Ve böylece bu biraz çalışması gerekir biraz daha iyi, değil boş _GET_GET ["name"]. 545 00:30:10,020 --> 00:30:12,710 Ve bu kaşlı ayraç Bu küme ayracı eşleşir. 546 00:30:12,710 --> 00:30:15,210 Biz burada bizim küme parantezi var. 547 00:30:15,210 --> 00:30:17,790 echo hello _GET ["name"]. 548 00:30:17,790 --> 00:30:19,912 Bu biraz daha iyi çalışır Bakalım. 549 00:30:19,912 --> 00:30:21,350 Biz hala bizim sunucusu çalıştıran ediyoruz. 550 00:30:21,350 --> 00:30:23,910 Jason Merhaba. 551 00:30:23,910 --> 00:30:24,780 Jason Merhaba. 552 00:30:24,780 --> 00:30:25,810 Ve bu sefer çalıştı. 553 00:30:25,810 --> 00:30:29,860 Ve böylece bir kanıtı var Eğer gerçekten olabilir ki 554 00:30:29,860 --> 00:30:35,180 kıvırcık parantez kullanmak olduğunu sen biliyorum ve HTML PHP kodu aşk. 555 00:30:35,180 --> 00:30:41,100 Verilen PHP kodu pset size 6-- pset 6-- 556 00:30:41,100 --> 00:30:44,760 Başka bir yol sağlar aynı şeyi yapıyor. 557 00:30:44,760 --> 00:30:49,220 >> Yani şimdi biz güce sahip. 558 00:30:49,220 --> 00:30:55,740 Biz uygulamak özelliğe sahip Biz pset 6 gördüğümüz PHP kodu 559 00:30:55,740 --> 00:30:57,390 kendimiz, temelde. 560 00:30:57,390 --> 00:31:01,350 Ben hareket etmeden önce, bazıları nelerdir Bu noktada gereken sorular? 561 00:31:01,350 --> 00:31:02,066 Evet [duyulamaz]. 562 00:31:02,066 --> 00:31:06,512 >> HEDEF KİTLE: pset6 sürüm Yani Bunu çalıştırdığınızda, bir boşluk var. 563 00:31:06,512 --> 00:31:09,330 Uzay nerede olduğunu görebilirsiniz virgülden sonra. [Duyulamaz] başlangıç 564 00:31:09,330 --> 00:31:10,700 açık destek. 565 00:31:10,700 --> 00:31:15,420 Eğer boşluk dahil nasıl Kendi kodlarını yazdı yolu? 566 00:31:15,420 --> 00:31:17,910 >> KONUŞMACI: Bu iyi bir soru. 567 00:31:17,910 --> 00:31:21,650 Ve bu yüzden anlamaya edelim. 568 00:31:21,650 --> 00:31:24,450 Yani gerçekten iyi bir soru ve ben dikkate almadı biri. 569 00:31:24,450 --> 00:31:25,950 Ama beraber yapalım. 570 00:31:25,950 --> 00:31:30,280 >> Bütün Yani ilk ne Ben echo ile yapıyorum 571 00:31:30,280 --> 00:31:33,690 biz sadece echo zaman olduğu Merhaba, bu merhaba çıktılar. 572 00:31:33,690 --> 00:31:41,310 Şimdi echo Eğer bu ayrı bir olsun çizgi, en ne inceleyelim. 573 00:31:41,310 --> 00:31:43,740 Yani biz bu tıklatın. 574 00:31:43,740 --> 00:31:45,220 Biz Jason merhaba diyerek devam edin. 575 00:31:45,220 --> 00:31:48,690 Yani yine, biz bu alanı yok. 576 00:31:48,690 --> 00:31:53,090 >> Ve ki, çünkü bu Biz yankı var PHP, 577 00:31:53,090 --> 00:31:55,820 olursa olsun kaç spaces-- hayır değil V-- 578 00:31:55,820 --> 00:32:01,770 ne kadar çok alanlarda biz koymak Şimdi tekrar yüklemek var-- eğer, 579 00:32:01,770 --> 00:32:03,010 Jason merhaba. 580 00:32:03,010 --> 00:32:05,770 Evet, bunların hepsini görmek alanlarda kadar yemiş. 581 00:32:05,770 --> 00:32:08,020 Ve bu bir şey olduğunu yankı işlev yapar. 582 00:32:08,020 --> 00:32:11,110 >> Yani dikkat çekmek için uzay ve bu 583 00:32:11,110 --> 00:32:14,960 nedenlerinden biri Eğer yankı kullanmayın neden 584 00:32:14,960 --> 00:32:18,200 ve bunun yerine htmlspecialchars kullanın. 585 00:32:18,200 --> 00:32:22,140 Ne olurdu merak ediyorum Bunu yaptım ne 586 00:32:22,140 --> 00:32:26,700 nerede bir dize bir boşluk içine. 587 00:32:26,700 --> 00:32:29,720 Ben dürüst emin değilim Bunu yapmak zaman ne olacak. 588 00:32:29,720 --> 00:32:30,790 >> Yani tek yolu bu. 589 00:32:30,790 --> 00:32:32,210 Yani bunu dikkat çekmek için tek yoldur. 590 00:32:32,210 --> 00:32:34,840 Eğer boşluk sarın ise Daha sonra bir dize, boşluk 591 00:32:34,840 --> 00:32:36,920 yankı güzel çıktı olacaktır. 592 00:32:36,920 --> 00:32:41,930 Yapılacak en güvenli şey htmlspecialchars yapmak. 593 00:32:41,930 --> 00:32:43,800 Bu her zaman güvenli bir bahis. 594 00:32:43,800 --> 00:32:47,050 Ama şimdi yapmamız gereken bir yol var o Gerekirse yankı ile. 595 00:32:47,050 --> 00:32:50,700 Ve benzer şekilde, biz yeni hatlar eko, her tür 596 00:32:50,700 --> 00:32:53,550 şeyler PHP yapıyor aşina. 597 00:32:53,550 --> 00:32:57,460 >> Başkasının, bir daha ne Diğer insanların sahip olduğu sorular 598 00:32:57,460 --> 00:33:01,090 PHP ile ilgili bu noktada? 599 00:33:01,090 --> 00:33:04,620 Insanlar biraz geç geldi ise, Ben biraz sonra kalmak için çok mutluyum 600 00:33:04,620 --> 00:33:06,420 ve başından bazıları hakkında konuşmak. 601 00:33:06,420 --> 00:33:10,380 Ve aynı zamanda, tüm livestreamed var ve çılgın olan arşivlenmiş. 602 00:33:10,380 --> 00:33:13,960 >> Neyse, şimdi Biraz yapalım PHP ile daha gelişmiş şeyler. 603 00:33:13,960 --> 00:33:18,790 Ve ilk şeylerden biri size C döngüler için olduğu içinde tanıtıldı. 604 00:33:18,790 --> 00:33:24,060 Ve PHP için daha güçlü var loop foreach döngüsü denir. 605 00:33:24,060 --> 00:33:37,940 Ve her boş için paha gibi görünüyor Boş, kıvırcık parantez gibi şey. 606 00:33:37,940 --> 00:33:41,500 Yani bu temelde bir kısaltmadır. 607 00:33:41,500 --> 00:33:45,380 >> Bir şekilde döngü Bakınız sözdizimsel yapı 608 00:33:45,380 --> 00:33:50,590 C ve montaj icat edildi dil ve işler gibi. 609 00:33:50,590 --> 00:33:56,300 Bir kısaltma olarak, tam C tasarladı ilmeklerin tip bir çok 610 00:33:56,300 --> 00:33:57,750 insanlar görürdünüz. 611 00:33:57,750 --> 00:34:01,230 Orada, bir döngü yazdı gibi genellikle başlatma adımdı 612 00:34:01,230 --> 00:34:04,700 başlangıç, a doğru idam döngü stop-- nerede şart 613 00:34:04,700 --> 00:34:07,030 ve bu özellik Bu, sadece bir süre döngü var 614 00:34:07,030 --> 00:34:10,040 ya da bir süre tam olarak sahip olduğu Sadece bu feature-- ve sonra 615 00:34:10,040 --> 00:34:12,320 sonunda bir çoğaltıcı bir adım. 616 00:34:12,320 --> 00:34:16,489 Ve böylece sık sık kendinizi bulmak istiyorum aşağıdaki gibi kod yazma. 617 00:34:16,489 --> 00:34:19,780 Ben bu biraz silmek için gidiyorum. 618 00:34:19,780 --> 00:34:23,850 >> Ama biz yineleme eğer Bir dizideki karakterler, 619 00:34:23,850 --> 00:34:26,960 Örneğin, gibi biz ettik karakterleri bir dizi var. 620 00:34:26,960 --> 00:34:29,400 Biliyorum C geri getirmek için üzgünüm, Eğer bitmiş sanmıştım. 621 00:34:29,400 --> 00:34:31,900 Ama amaç sadece var PHP öğrenme, söz veriyorum. 622 00:34:31,900 --> 00:34:38,880 Yani eğer bir karakter str var uzunluğu 8 ve atalım 623 00:34:38,880 --> 00:34:46,760 o Hellooo diyor ki sonunda bir null. 624 00:34:46,760 --> 00:34:48,270 Büyük, böylece bizim dize var. 625 00:34:48,270 --> 00:34:51,469 >> Ve sonra for döngüsü vardı. 626 00:34:51,469 --> 00:34:53,730 I 0 eşittir int Biz var. 627 00:34:53,730 --> 00:34:57,960 628 00:34:57,960 --> 00:35:09,110 Ve biz str zaman çıkmak istiyor i null eşit değildir eşittir, 629 00:35:09,110 --> 00:35:11,590 null eşit olduğunda biz çıkmak çünkü. 630 00:35:11,590 --> 00:35:19,170 Ve sonra biz ben her birinde ++ yapmak for döngüsünde nokta. 631 00:35:19,170 --> 00:35:30,480 I str ile bir şey yapıyor. 632 00:35:30,480 --> 00:35:34,950 >> Yani temel formülü oldu Bu dizi vardı biz 633 00:35:34,950 --> 00:35:37,910 ayrı unsurları tedavi etmek istedim. 634 00:35:37,910 --> 00:35:45,170 Ama biz yapmak zorunda ne biz vardı temelde ayrı bir tamsayı oluşturmak 635 00:35:45,170 --> 00:35:50,530 değişkeni kadar her sayma olduğunu kez döngü geçti. 636 00:35:50,530 --> 00:35:55,240 Ve sonra biz sonra aramak olurdu strstr [i] biz gerçekten yapmak istediği zaman 637 00:35:55,240 --> 00:35:57,280 Sadece karakteri gitmek olduğunu karakteri ile, değil mi? 638 00:35:57,280 --> 00:36:00,185 Biz artırmak istemiyoruz tamsayı ve o tamsayı kullanın 639 00:36:00,185 --> 00:36:02,780 tek tek her karaktere erişmek için. 640 00:36:02,780 --> 00:36:04,410 Biz gerçekten karakter karakter istiyorum. 641 00:36:04,410 --> 00:36:08,600 >> Ve böylece her akıllıca için Bizim için bu hesaplar. 642 00:36:08,600 --> 00:36:11,875 Biz bir dizi varsa hangi Biz PHP ilan edebilir 643 00:36:11,875 --> 00:36:15,900 sadece- gibi biz bir değişken varsa denilen, en dizi diyelim. 644 00:36:15,900 --> 00:36:19,840 Hiçbir yazarak mucizeler, bu kadar tıpkı diğer değişken gibi. 645 00:36:19,840 --> 00:36:20,730 Bu sadece bir dizi var. 646 00:36:20,730 --> 00:36:26,890 Ve biz, biraz [duyulamaz] 1 gibi var Başlatılan bir dizi 2, 3, sadece bir tür. 647 00:36:26,890 --> 00:36:29,680 Tamam, benim foreach sevmez. 648 00:36:29,680 --> 00:36:33,120 >> Ama biz aslında foreach-- yoksa Biraz yanlış olduğunu yazdınız. 649 00:36:33,120 --> 00:36:34,840 Bir foreach döngüsü yapmak için iki yol vardır. 650 00:36:34,840 --> 00:36:37,400 Sözdizimi gibi sözdizimi var. 651 00:36:37,400 --> 00:36:40,580 Ve biz yapacağız İlk sözdiziminde, değil. 652 00:36:40,580 --> 00:36:41,780 Bu benim hatam. 653 00:36:41,780 --> 00:36:53,785 >> Dizideki Yani foreach num, eko num. 654 00:36:53,785 --> 00:36:56,970 655 00:36:56,970 --> 00:36:59,500 Ve PHP bağırıyor nedense bana. 656 00:36:59,500 --> 00:37:03,520 Bu beklenmedik bulgu var bir şey olarak, 657 00:37:03,520 --> 00:37:05,820 hangi bir zahmet biraz olduğunu. 658 00:37:05,820 --> 00:37:09,105 Ama biz çözeriz neden bir an olduğunu. 659 00:37:09,105 --> 00:37:11,960 660 00:37:11,960 --> 00:37:13,610 Yani öyle değil. 661 00:37:13,610 --> 00:37:15,040 En olarak kullanarak deneyelim. 662 00:37:15,040 --> 00:37:17,310 Bu sözdizimi görünüyor gibi tercih ediyor. 663 00:37:17,310 --> 00:37:22,550 Yani num olarak foreach dizi yapalım. 664 00:37:22,550 --> 00:37:24,520 >> Yani biraz açıklama Sadece ne oldu 665 00:37:24,520 --> 00:37:30,670 olarak sözdizimi ilk sıra saying-- edilir, Şimdi bu yazdırır ne olduğuna bakalım. 666 00:37:30,670 --> 00:37:32,260 Yani bizim IDE açın. 667 00:37:32,260 --> 00:37:33,110 Biz buraya gidin. 668 00:37:33,110 --> 00:37:35,845 Biz Merhaba Jason, söylüyorlar. 669 00:37:35,845 --> 00:37:41,390 Ve bu içerikleri hangi, 123 yaptım Biz kontör oluşturulan dizinin. 670 00:37:41,390 --> 00:37:45,500 >> Bu foreach döngü içine Yani dalış, Biz değişken olarak adlandırılan bir dizi var 671 00:37:45,500 --> 00:37:47,470 hangi üç sayı dizisidir. 672 00:37:47,470 --> 00:37:52,120 Ve sonra foreach yapıyoruz num olarak dizi yankı num. 673 00:37:52,120 --> 00:37:54,990 Ve bu daha var lop için daha sezgisel. 674 00:37:54,990 --> 00:38:02,380 Biz her tedavi, söylüyorsun num olarak dizideki şeyler, 675 00:38:02,380 --> 00:38:05,180 Bana num vermek istiyorum. 676 00:38:05,180 --> 00:38:06,640 Ve o ne yaptığını tam olarak budur. 677 00:38:06,640 --> 00:38:12,000 >> PHP bu hesaplarken Eğer foreach dizi derken, 678 00:38:12,000 --> 00:38:16,080 ve bir dizi ile uğraşıyoruz ne Eğer üzerinde yineleme yapmak istiyorum gidiyoruz 679 00:38:16,080 --> 00:38:19,950 Bu dizide karakterden bu dizide int olduğu 680 00:38:19,950 --> 00:38:21,920 Bu dizinin elemanları. 681 00:38:21,920 --> 00:38:26,110 Ve saklamak izin verdi num sıra bu değişkenler 682 00:38:26,110 --> 00:38:29,360 ve sonra sadece çıkış num hemen yerine söyleyerek daha, 683 00:38:29,360 --> 00:38:34,090 Ben i adında bir değişken var ve Sonra çıktı strstr [i] istiyoruz. 684 00:38:34,090 --> 00:38:39,130 >> Ve böylece bize güzel şeyler yapmanızı sağlar. 685 00:38:39,130 --> 00:38:43,330 Temelde gibi biz oluşturmak zorunda değilsiniz Ben en ve yapılacak gibi tüm bu değişkenler 686 00:38:43,330 --> 00:38:45,090 sonunda bu incrementation şeyler. 687 00:38:45,090 --> 00:38:48,290 PHP sizin için tüm önemser. 688 00:38:48,290 --> 00:38:54,470 >> Şimdi en olarak foreach konuşalım Bizim _GET sözlüğe de geçerlidir. 689 00:38:54,470 --> 00:38:57,170 Yani biz hızla bu açıklama olacak. 690 00:38:57,170 --> 00:39:02,030 Bu yüzden bizim _GET dizi var. 691 00:39:02,030 --> 00:39:04,361 Bu değişken var. 692 00:39:04,361 --> 00:39:05,610 Ve o bazı şeyler var. 693 00:39:05,610 --> 00:39:10,275 >> Şu anda, biz sadece bir değişkene sahip adı, bu da geçirilmektedir. 694 00:39:10,275 --> 00:39:13,420 Ama artık, Enter tuşuna basın eğer Biz iki değişken olabilir. 695 00:39:13,420 --> 00:39:17,910 Biz, örneğin, isim ve yaş olabilir Biz de yaş almak ve isterseniz 696 00:39:17,910 --> 00:39:20,960 tuhaftır, bir kişinin adı. 697 00:39:20,960 --> 00:39:25,690 >> Yani şimdi _GET bir olacak iki eleman ile sözlük, 698 00:39:25,690 --> 00:39:27,980 İki anahtar değer çiftleri. 699 00:39:27,980 --> 00:39:33,490 Ve ilk key-- ben gidiyorum Çok gemide bu bir yazma. 700 00:39:33,490 --> 00:39:37,136 Biz bizim Sözlük _GET olduğunu var. 701 00:39:37,136 --> 00:39:39,520 Üzgünüm, bu kadar görmek biraz zor. 702 00:39:39,520 --> 00:39:46,690 Ama sözlüğe içinde biz bir şey olacak ki, isim 703 00:39:46,690 --> 00:39:47,680 biz verildi ediyoruz. 704 00:39:47,680 --> 00:39:53,040 Ve biz hangi da, yaş olacak Biz verilen konum şey olacak. 705 00:39:53,040 --> 00:39:56,020 Bu bütünüdür Bizim Sözlük. 706 00:39:56,020 --> 00:39:57,730 >> Yani o iki öğe var. 707 00:39:57,730 --> 00:40:01,310 Ve böylece çünkü foreach döngüler biz akıllı 708 00:40:01,310 --> 00:40:04,900 düşünmek ve doğru olabilir Bu foreach düşünebilir 709 00:40:04,900 --> 00:40:08,080 Bu yineleyebilirsiniz Sözlük, dışarı baskı 710 00:40:08,080 --> 00:40:10,850 değerler adına ve yaşa göre verilen. 711 00:40:10,850 --> 00:40:14,510 >> Yani aslında Sadece yapalım. 712 00:40:14,510 --> 00:40:17,520 En bir foreach döngüsü inşa edelim. 713 00:40:17,520 --> 00:40:23,351 Ve biz _GET yapmak için gidiyoruz. 714 00:40:23,351 --> 00:40:24,850 Ve biz aşağıdakileri yapmak için gidiyoruz. 715 00:40:24,850 --> 00:40:34,186 Bu yüzden biz yazarsanız ne olacağını görelim Daha sonra, sadece kelime ve yankı kelimeyi söyleyin. 716 00:40:34,186 --> 00:40:40,540 Biz de yeni bir satır yankı gidiyoruz Sadece biraz daha net hale getirmek için, 717 00:40:40,540 --> 00:40:41,260 nasıl gidiyor. 718 00:40:41,260 --> 00:40:42,890 >> Yani görelim. 719 00:40:42,890 --> 00:40:44,390 Bana herhangi bir hata vermiyor. 720 00:40:44,390 --> 00:40:46,810 Ve biz bu yakın olacağım. 721 00:40:46,810 --> 00:40:51,020 Web sitemizde, sen yapıyor olması gidiyoruz pset7 boyunca bu bir sürü. 722 00:40:51,020 --> 00:40:53,890 Bu yüzden benim adım Sam olduğunu söylüyorlar. 723 00:40:53,890 --> 00:40:58,560 Benim yaş 45 olduğunu. 724 00:40:58,560 --> 00:41:01,060 Bu değil. 725 00:41:01,060 --> 00:41:05,640 Ama, beklendiği gibi, Sam 45 yazdırır. 726 00:41:05,640 --> 00:41:08,930 >> Ve böylece fark edeceksiniz Ne foreach döngüsü, burada did-- 727 00:41:08,930 --> 00:41:12,360 o kadar yani en o geri dönelim board-- biz sözcük olarak GETin olsun. 728 00:41:12,360 --> 00:41:15,130 Ve _GET dört şey vardı. 729 00:41:15,130 --> 00:41:17,410 Ama sadece iki şey yazdırılır. 730 00:41:17,410 --> 00:41:21,290 foreach, istihbarat kendini olma, kabul biz gerçekten ne istediğini o 731 00:41:21,290 --> 00:41:24,100 değerleri değil, anahtarlar oldu. 732 00:41:24,100 --> 00:41:27,800 >> Ama biz yazdırmak ki bir yolu var tuşları üzerinden, hem de eğer biz istedik. 733 00:41:27,800 --> 00:41:30,810 Biz de ne bilmek istiyorsa Bu değişkenler çağrıldı, 734 00:41:30,810 --> 00:41:33,540 bir yol var biz de bu erişebilirsiniz. 735 00:41:33,540 --> 00:41:36,840 Ve yol bir çeşit yapmak, biz gerçekten sağlar söyleyebiliriz 736 00:41:36,840 --> 00:41:39,485 anahtar değer çiftleri bölmek. 737 00:41:39,485 --> 00:41:42,370 738 00:41:42,370 --> 00:41:47,580 Yani şimdi ne olduğunu görelim. 739 00:41:47,580 --> 00:41:50,550 >> Bu yüzden anahtar var. 740 00:41:50,550 --> 00:41:52,290 Biz değere sahip. 741 00:41:52,290 --> 00:41:56,650 Biz yeni bir var okunabilir olması için hattı. 742 00:41:56,650 --> 00:42:00,540 Ve en ne olacağını görelim Şimdi bu ne zaman. 743 00:42:00,540 --> 00:42:04,950 744 00:42:04,950 --> 00:42:06,720 Ben Jason kaç yaşında olduğunu bilmiyorum. 745 00:42:06,720 --> 00:42:09,180 Jason 15. 746 00:42:09,180 --> 00:42:11,650 Bu yüzden adı Jason yaş 15 var. 747 00:42:11,650 --> 00:42:15,830 Bu yüzden anahtar erişebilir Bu sözlük ve değer çiftleri 748 00:42:15,830 --> 00:42:18,590 Sadece değer gibi kilit noktaları söyleyerek. 749 00:42:18,590 --> 00:42:23,350 Ve bu foreach sözdizimsel var izin veren şeker bit 750 00:42:23,350 --> 00:42:25,960 Eğer sözlükte şeyler erişmek için. 751 00:42:25,960 --> 00:42:31,190 >> Yani umarım bu tür vurgular foreach döngüsü gücü. 752 00:42:31,190 --> 00:42:35,690 Hemen hemen atmak can iterable görünüyor şey, 753 00:42:35,690 --> 00:42:38,922 bir şey gibi o birden sahip Bir dizi benzeri elemanlar, 754 00:42:38,922 --> 00:42:41,880 Bir dictionary-- gibiler iki vardır Eğer çalışma olacak birincil şeyler 755 00:42:41,880 --> 00:42:45,630 hayatında ve pset 7 hem de. 756 00:42:45,630 --> 00:42:49,350 Yani o şeyi atabilir ona ve o anlamaya 757 00:42:49,350 --> 00:42:51,030 Onunla ne yapmak istediğinizi. 758 00:42:51,030 --> 00:42:54,250 Tamam, ben alacağım, söyleyeceğim veri bu işler o 759 00:42:54,250 --> 00:42:55,680 Bana geçildi. 760 00:42:55,680 --> 00:43:02,470 Ve bu sen bir şey var pset 7 bir sürü kullanarak olacak. 761 00:43:02,470 --> 00:43:08,550 >> Ben hızlı kaydırma gidiyorum Nerede olduğumu aşağı sadece görmek için. 762 00:43:08,550 --> 00:43:11,410 763 00:43:11,410 --> 00:43:13,070 Insanlar bu noktada sorunuz var mı? 764 00:43:13,070 --> 00:43:13,778 Hiç sorularınız mı var? 765 00:43:13,778 --> 00:43:14,400 Evet? 766 00:43:14,400 --> 00:43:18,320 >> HEDEF KİTLE: anahtar ve değer Yani bunu başka bir şey sayabilirim 767 00:43:18,320 --> 00:43:20,507 ve hala çalışmaya devam eder? 768 00:43:20,507 --> 00:43:21,090 KONUŞMACI: Oops. 769 00:43:21,090 --> 00:43:22,820 Vay be, ben tamamen bütün çizgi silindi. 770 00:43:22,820 --> 00:43:23,380 Harika iş. 771 00:43:23,380 --> 00:43:26,502 Bu nedenle a, a. 772 00:43:26,502 --> 00:43:30,109 Anahtar ve değer sadece bir kuralıdır. 773 00:43:30,109 --> 00:43:30,650 Bu yararlı olur. 774 00:43:30,650 --> 00:43:34,010 Bazı tasarım alacağı puan, belki biraz stil noktaları 775 00:43:34,010 --> 00:43:36,970 Bunun nedeni bunu yaparken için Gerçekten niyeti taşır. 776 00:43:36,970 --> 00:43:39,650 Ama biz a ve yarp söylüyorlar. 777 00:43:39,650 --> 00:43:42,476 >> HEDEF KİTLE: Sen zorunda değilsiniz HTML dosyasındaki herhangi bir değişiklik 778 00:43:42,476 --> 00:43:43,607 sırayla yansıtmak için? 779 00:43:43,607 --> 00:43:44,440 KONUŞMACI: Hiç de değil. 780 00:43:44,440 --> 00:43:47,260 HEDEF KİTLE: Ve sadece bunu biliyor daha edemememden eşittir nedeniyle 781 00:43:47,260 --> 00:43:47,801 KONUŞMACI: Evet. 782 00:43:47,801 --> 00:43:49,489 HEDEF KİTLE: bu- -Öyle göstergesi 783 00:43:49,489 --> 00:43:50,030 KONUŞMACI: Evet. 784 00:43:50,030 --> 00:43:52,260 Evet ama, bir foreach sözdizimi. 785 00:43:52,260 --> 00:43:53,720 >> HEDEF KİTLE: tipleri yoktur. 786 00:43:53,720 --> 00:43:57,230 Yani isterseniz neler yaş sadece bir sayı olmak? 787 00:43:57,230 --> 00:43:59,510 Bunu yapmanın bir yolu var mı? 788 00:43:59,510 --> 00:44:04,550 >> KONUŞMACI: olmadığını kontrol etmek için yolu vardır değişkenler belirli türleri için uygundur. 789 00:44:04,550 --> 00:44:08,482 Yani PHP biraz daha sorar Eğer herhangi bir türü vardır çünkü. 790 00:44:08,482 --> 00:44:09,440 Bazı yollar daha az sorar. 791 00:44:09,440 --> 00:44:11,070 Bazı yönlerden daha sorar. 792 00:44:11,070 --> 00:44:13,320 Sadece varsa Çünkü Bir değişkenin bir şey, 793 00:44:13,320 --> 00:44:14,960 Eğer bunun ne tür bir fikrim yok. 794 00:44:14,960 --> 00:44:19,310 Ama değişkenlere ilişkin akıllı iseniz sen türlerini atamak ve emin olun 795 00:44:19,310 --> 00:44:22,750 fonksiyonları sadece return-- olduğunu Sadece dönüş fonksiyonları istiyorum 796 00:44:22,750 --> 00:44:26,210 değeri bir tür bu nedenle temelde olabilir ki 797 00:44:26,210 --> 00:44:31,090 Değişken geri almak bekliyoruz Bir işlevden tip olacaktır 798 00:44:31,090 --> 00:44:32,780 Sizce o temelde olacaktır. 799 00:44:32,780 --> 00:44:36,550 >> Ancak bazı yöntemler vardır hangi kontrol edebilirsiniz. 800 00:44:36,550 --> 00:44:39,801 Onları hatırlamıyorum Kafamın üst kapalı. 801 00:44:39,801 --> 00:44:43,300 Mavi açmak için bekliyorum. 802 00:44:43,300 --> 00:44:45,560 isint? 803 00:44:45,560 --> 00:44:48,070 isstr? 804 00:44:48,070 --> 00:44:52,000 Yöntem vardır PHP yerleşik olduğu can 805 00:44:52,000 --> 00:44:54,440 Sizin için değişkenlerin türünü denetleyin. 806 00:44:54,440 --> 00:44:58,250 Ama değişkenleri atarsanız akıllıca, sen olmamalı 807 00:44:58,250 --> 00:45:01,330 pset 7 çok fazla yapmak zorunda. 808 00:45:01,330 --> 00:45:02,780 Ama bu yöntemler mevcut. 809 00:45:02,780 --> 00:45:06,704 Ve bu bir şey olduğunu dilin kendisi olduğunu. 810 00:45:06,704 --> 00:45:08,370 Ve ben kesin sözdizimi hatırlamıyorum. 811 00:45:08,370 --> 00:45:09,930 Hatta o kadar bakmak olabilir. 812 00:45:09,930 --> 00:45:11,974 Fakat zaman hakikatın. 813 00:45:11,974 --> 00:45:13,890 sahip başkasının mı Başka sorunuz var mı? 814 00:45:13,890 --> 00:45:14,660 Evet. 815 00:45:14,660 --> 00:45:15,951 >> İZLEYİCİ: Ben sadece bir tane daha var. 816 00:45:15,951 --> 00:45:19,050 Yani GET yöntemini söz, ancak Eğer POST yöntemini söz etmedi. 817 00:45:19,050 --> 00:45:20,500 Biz geri o geliyor musun? 818 00:45:20,500 --> 00:45:21,540 >> HOPARLÖR: Evet, biz olacak geri o geliyor olabilir. 819 00:45:21,540 --> 00:45:24,840 Ben aradığım tam olarak ne Şimdi uykuya daldı benim telefon, at, 820 00:45:24,840 --> 00:45:26,960 ama onu bulacaksınız. 821 00:45:26,960 --> 00:45:30,680 Biz vurmak emin Sadece yapım PHP notları hepsi. 822 00:45:30,680 --> 00:45:35,640 Evet, hiçbir hata ayıklama sürümü var. 823 00:45:35,640 --> 00:45:41,940 Evet, biz birkaç şey daha var Bu noktada hemen yapmak istiyorum. 824 00:45:41,940 --> 00:45:45,980 >> Yani POST bahsediyoruz, hangi söz, 825 00:45:45,980 --> 00:45:49,630 Tek fark, GET ve POST arasındaki 826 00:45:49,630 --> 00:45:53,150 Biz baktığında unutmayın ve bu adresten biz, oh, gördüm 827 00:45:53,150 --> 00:45:58,270 adı eşittir ve yaş yarp eşittir Doğru bizim için URL bulunmaktadır. 828 00:45:58,270 --> 00:46:03,300 POST biraz daha ketum olduğunu bilgi onun geçmesiyle. 829 00:46:03,300 --> 00:46:08,090 >> Eğer bir kullanıcı istemiyordu Yani bilmek, mesela, 830 00:46:08,090 --> 00:46:11,160 adını istemedi ve kişinin şifresi 831 00:46:11,160 --> 00:46:15,080 Şu anda görüntülenecek giriş makul bir şey URL 832 00:46:15,080 --> 00:46:17,770 URL istemiyor, Birisi görebilirsiniz çünkü. 833 00:46:17,770 --> 00:46:21,520 Onlar bir sayfaya birisi bağlantı varsa, Onların URL orada sıvalı istemiyorum, 834 00:46:21,520 --> 00:46:27,850 insanların giriş için izin verecek, çünkü yerine sadece bir URL yapıştırma ile 835 00:46:27,850 --> 00:46:29,670 aslında bir form doldurarak. 836 00:46:29,670 --> 00:46:31,710 POST biraz daha ketum olduğunu. 837 00:46:31,710 --> 00:46:34,150 >> Ve tek şey bu biz değiştirmek gerekecek 838 00:46:34,150 --> 00:46:38,550 Bu yöntem, değişim vardır dan göndermek için olsun. 839 00:46:38,550 --> 00:46:42,367 Sonra HTTP içinde yerine Dizi GETin erişme, 840 00:46:42,367 --> 00:46:43,950 Biz dizi 'POST erişmek için gidiyoruz. 841 00:46:43,950 --> 00:46:48,600 >> Ve biz eğer, fark edeceksiniz Biz yine bu geri açmak 842 00:46:48,600 --> 00:46:51,910 Jason yavaş yavaş yaş azalır. 843 00:46:51,910 --> 00:46:53,230 Jason, yaş 14 adlandırın. 844 00:46:53,230 --> 00:46:54,280 Aynı şeyler açılır. 845 00:46:54,280 --> 00:46:57,190 Ama biz URL'ye gidin ve Bu değişkenler yok. 846 00:46:57,190 --> 00:47:00,540 >> Ve yolu, POST yani hatırlıyorum passes-- 847 00:47:00,540 --> 00:47:02,750 nasıl bir sayfanın kaynağına bakmak. 848 00:47:02,750 --> 00:47:04,570 Biz ağa gidin. 849 00:47:04,570 --> 00:47:06,920 Biz yenileyin. 850 00:47:06,920 --> 00:47:10,690 Ve bu başka bir şey olduğunu POST size hakkında uyarılar verecektir. 851 00:47:10,690 --> 00:47:15,050 Bir kutu, bir metin görmüş olabilir tarayıcınızda böyle kutu. 852 00:47:15,050 --> 00:47:18,170 İstediğine emin misin Yine bir form göndermek için? 853 00:47:18,170 --> 00:47:21,170 POST 'Bu formları göndererek Neler olduğunu. 854 00:47:21,170 --> 00:47:24,680 >> Gönderdiğiniz temelde Çünkü eğer senin birine kredi kartı bilgileriniz, 855 00:47:24,680 --> 00:47:26,350 Bu URL göstermek için gitmiyor. 856 00:47:26,350 --> 00:47:28,180 Bu bir POST isteği olacak. 857 00:47:28,180 --> 00:47:32,905 Yani sayfayı yenileyin zaman, o sonrası isteği yeniden göndermeyi ediyor. 858 00:47:32,905 --> 00:47:35,530 Yani şimdi göndermek istiyoruz o gitmiyor çünkü tekrar oluşturmak 859 00:47:35,530 --> 00:47:37,340 Herhangi bir yinelenen satın oluşturun. 860 00:47:37,340 --> 00:47:41,160 >> Ve biz, burada aşağı fark edeceksiniz biz kullanıyoruz yöntem POST olduğunu. 861 00:47:41,160 --> 00:47:43,065 Ve gerçekten bayt transferi etmedi. 862 00:47:43,065 --> 00:47:45,460 Bunlardan 401 transfer. 863 00:47:45,460 --> 00:47:47,190 Programın oldukça küçük. 864 00:47:47,190 --> 00:47:51,600 Ama biz görebilirsiniz hiçbir yerde geçirilen değerler. 865 00:47:51,600 --> 00:47:59,540 Kendilerini görebilirsiniz web sayfaları, ancak kullanıcılar olarak biz, görmek mümkün değildir 866 00:47:59,540 --> 00:48:01,650 Eğer bir hacker değilsen. 867 00:48:01,650 --> 00:48:05,340 Eğer iyi bir bilgisayar korsanı iseniz, bakabilirsiniz. 868 00:48:05,340 --> 00:48:09,360 >> Temel biliyorsanız HTML formatında 869 00:48:09,360 --> 00:48:11,790 değerler yapacak kendileri sayfalarda da bilinir. 870 00:48:11,790 --> 00:48:13,160 Sen görmek mümkün olacak. 871 00:48:13,160 --> 00:48:16,720 Değerleri, konum, orada olacak Sizin için daha az belirgin biraz 872 00:48:16,720 --> 00:48:19,522 erişim, temelde. 873 00:48:19,522 --> 00:48:23,620 >> Biz herhangi bir daha var mı GET, POST ilgili sorular 874 00:48:23,620 --> 00:48:26,800 Önümüzdeki yapmak için gidiyoruz ne before-- aslında kod bazı bakmak olduğunu 875 00:48:26,800 --> 00:48:30,837 Eğer pset 7 veriyoruz ki hakkında konuşmak bu kavramların bazıları nasıl kullandığını, 876 00:48:30,837 --> 00:48:32,670 ve hakkında konuşmak Nereye gidiyorsun şeyler 877 00:48:32,670 --> 00:48:35,090 pset 7 biraz yapmak zorunda. 878 00:48:35,090 --> 00:48:36,760 Daha önce herhangi bir daha fazla soru? 879 00:48:36,760 --> 00:48:38,047 Daha fazla soru siz var? 880 00:48:38,047 --> 00:48:41,250 881 00:48:41,250 --> 00:48:41,840 Büyük. 882 00:48:41,840 --> 00:48:45,370 >> Pekala, bakalım pset 7'de biraz, 883 00:48:45,370 --> 00:48:49,530 şüphe yok ki ne hakkında tüm en heyecanlı. 884 00:48:49,530 --> 00:48:52,126 885 00:48:52,126 --> 00:48:54,750 Yani, bu bir şey olduğunu David biraz geçer. 886 00:48:54,750 --> 00:49:00,890 Ama biz üç dizinleri olacak Üst yanı sıra bir yapılandırma dosyası. 887 00:49:00,890 --> 00:49:04,650 Yani hangi yaparız, veritabanları için var yaklaşık beş dakika içinde konuşuruz. 888 00:49:04,650 --> 00:49:07,220 Asla ihtiyaç Kapsar Bu dizinde bakmak 889 00:49:07,220 --> 00:49:12,480 Eğer istemediğiniz ama güzel eğer yardımcıları her türlü olduğunu biliyorum. 890 00:49:12,480 --> 00:49:14,210 Yardımcılar yararlı fonksiyonlar gibi. 891 00:49:14,210 --> 00:49:18,120 Ve sonra yapılandırma var, hangi bazı şeyler kadar ayarlar. 892 00:49:18,120 --> 00:49:24,590 >> CS50 olan bazı işlevler vardır yardımcı ve yapılandırma olduklarını yazılı. 893 00:49:24,590 --> 00:49:27,250 Ve PHP bazı o Zaten dosyaları çıkar 894 00:49:27,250 --> 00:49:30,880 Daha fazla çeşit bir sürü yapacak Sizin için geniş bacak çalışması. 895 00:49:30,880 --> 00:49:35,250 Biz halkın içine giderseniz gibi login.php, burada ne bir 896 00:49:35,250 --> 00:49:38,350 Eğer pset 7 gittiğinizde sağ gösterir. 897 00:49:38,350 --> 00:49:40,580 Biz var olduğunu görürsünüz Bu ifadeyi gerektirir. 898 00:49:40,580 --> 00:49:43,420 Ve böyle bu tür Keskin, hashtag içerir 899 00:49:43,420 --> 00:49:46,850 Eğer yeni bir nesil iseniz içerir. 900 00:49:46,850 --> 00:49:49,740 Ama bu temelde Ben erişim ihtiyacı olduğunu söylüyor 901 00:49:49,740 --> 00:49:52,260 config.php tüm işlevlerin. 902 00:49:52,260 --> 00:49:55,290 Ve gerektiren olabilir diğer şeyler her türlü için. 903 00:49:55,290 --> 00:49:59,670 >> yapılandırma aslında yardımcıları gerektirir. 904 00:49:59,670 --> 00:50:02,490 Peki ne zaman ihtiyaç config da sensin 905 00:50:02,490 --> 00:50:05,660 dahil veya yanı sıra yardımcıları gerektiren. 906 00:50:05,660 --> 00:50:09,590 Yani tüm erişmenizi sağlar Biz kullanmak için gidiyoruz serin fonksiyonlar, 907 00:50:09,590 --> 00:50:10,420 şeyler işlemek gibi. 908 00:50:10,420 --> 00:50:13,490 Aslında kolaylaştırmak için gidiyorum Bu aşağı biraz. 909 00:50:13,490 --> 00:50:16,280 Biz konum sonra fonksiyon Yani yürümek için gidiyor 910 00:50:16,280 --> 00:50:22,380 Biz biraz SQL hareket hemen önce bit sadece login.php işlevi 911 00:50:22,380 --> 00:50:26,586 bu konuların bazılarını kullanır, çünkü biz sadece PHP hakkında konuştuk. 912 00:50:26,586 --> 00:50:30,840 >> Sen ilk şey $ _SERVER olmadığını görüyorum. 913 00:50:30,840 --> 00:50:34,500 Bu da başka bir genel değişken olduğunu sizinle ilgileniyor olacağız. 914 00:50:34,500 --> 00:50:38,460 Bu _GET ve _POST, ama ne gibi Sunucu bu sizi sağlayabilirsiniz içerdiğinde 915 00:50:38,460 --> 00:50:42,730 biliyorsanız istek yöntemi GET veya POST oldu. 916 00:50:42,730 --> 00:50:47,250 Daha önce ne yaptığımızı gibi Sadece biz yazdı bizim kodunda olduğu 917 00:50:47,250 --> 00:50:51,880 biz sadece GET olmaya değişen ve POST HTML vardır ne bağlı. 918 00:50:51,880 --> 00:50:55,120 Ama olabilir sayfaları vardır istekleri her iki tip ile erişilen. 919 00:50:55,120 --> 00:50:57,410 Ve yapmak isteyebilirsiniz bağlı olarak farklı şeyler 920 00:50:57,410 --> 00:50:59,740 isteğe türüne, tıpkı giriş yapar. 921 00:50:59,740 --> 00:51:04,400 >> Yani bu isteği kontrol edebilirsiniz erişim tuşları aracılığıyla yöntem, 922 00:51:04,400 --> 00:51:08,630 bir anahtar kullanarak ve alma yoluyla sözlükte bir şeyin değeri 923 00:51:08,630 --> 00:51:10,260 _SERVER. 924 00:51:10,260 --> 00:51:13,800 Yani başka bir küresel bulunuyor _GET ve _POST gibi değişken. 925 00:51:13,800 --> 00:51:16,990 >> O GET oluyor, biz istiyoruz giriş formunu kılmaktadır. 926 00:51:16,990 --> 00:51:21,920 Render temelde bir işlevdir Sadece uygun HTML koyar 927 00:51:21,920 --> 00:51:24,500 ve o bazı parametreleri geçer. 928 00:51:24,500 --> 00:51:28,740 Bu başlık var bir parametredir işin garibi, görüntülenmesinde kullanılan 929 00:51:28,740 --> 00:51:32,670 sayfanın başlığı olarak Soru, buraya bir şey, 930 00:51:32,670 --> 00:51:34,850 söylemek ya önceki örnekte merhaba. 931 00:51:34,850 --> 00:51:36,100 Şimdi farklı bir şey var. 932 00:51:36,100 --> 00:51:38,570 O POST var else if, biz diğer bazı şeyler yapmak. 933 00:51:38,570 --> 00:51:40,790 Biz boş bir yöntem kullanıyoruz. 934 00:51:40,790 --> 00:51:42,750 O boş, mevcut değil. 935 00:51:42,750 --> 00:51:45,440 Ve biz, daha önce PHP gördüm inşa adil bir miktar vardır 936 00:51:45,440 --> 00:51:52,370 yöntemler David orada will-- olduğunu sizin için yararlı olan yöntemler, 937 00:51:52,370 --> 00:51:55,560 Onlar size uyarılmak olacak O David aracılığıyla yürüyüşle 938 00:51:55,560 --> 00:51:59,770 başlayan genel olarak verir, ve ayrıca Zamyla en yararlı bit. 939 00:51:59,770 --> 00:52:01,040 O geri herkes var. 940 00:52:01,040 --> 00:52:03,100 Hepimiz sevinebilir. 941 00:52:03,100 --> 00:52:06,530 Özür dilemek bir aptly adlı bir fonksiyondur bu sadece temelde yazdırır 942 00:52:06,530 --> 00:52:10,130 bazı hata mesajları, CS50 çok kibar çünkü. 943 00:52:10,130 --> 00:52:14,770 >> Ve şimdi bu, bu bir Bu çünkü zor bit 944 00:52:14,770 --> 00:52:16,697 Biz veritabanı sorgulama nereye olduğunu. 945 00:52:16,697 --> 00:52:18,280 Şimdi veritabanları hakkında konuşmadık. 946 00:52:18,280 --> 00:52:22,220 Ve önümüzdeki içinde gidiyoruz beş dakika ya da öylesine, maksimum. 947 00:52:22,220 --> 00:52:24,980 Fakat bu bir fonksiyonudur Bu CS50 yazmış 948 00:52:24,980 --> 00:52:38,050 Bir veritabanından temelde bir tablo almak için Biz pset 7 ile çalışıyoruz söyledi. 949 00:52:38,050 --> 00:52:40,860 Ben gerçekten kötüyüm benim Sıfır indeksleme bugün. 950 00:52:40,860 --> 00:52:42,060 Ama evet, 7. 951 00:52:42,060 --> 00:52:46,340 >> Yani bir geri gidiyor sorgulamak Dizi, temel olarak anahtar parçasıdır. 952 00:52:46,340 --> 00:52:54,130 Ve bunlar yok çünkü yazarak, satır, böylece dizilerin bir dizidir. 953 00:52:54,130 --> 00:52:59,480 Biz düşünmeye yaparken Çünkü Bir tablo, ne yapacağız 954 00:52:59,480 --> 00:53:04,830 Eğer psets öğrenilen olduğu gibi, bir Zaten 15 oyun, gibi 955 00:53:04,830 --> 00:53:06,990 Bir kullanmak zorunda nerede çift ​​dizi, biz temelde 956 00:53:06,990 --> 00:53:15,210 diğer dizi var dizileri tablo yapar. 957 00:53:15,210 --> 00:53:18,150 Ve satır ve sütun var. 958 00:53:18,150 --> 00:53:24,450 Ve sonra gibi onları erişebilirsiniz [0] [1], olsun [0] [1]. 959 00:53:24,450 --> 00:53:26,900 Bu gibi temel şeyler. 960 00:53:26,900 --> 00:53:29,380 >> Peki biz yapıyoruz Burada bu işlevi, 961 00:53:29,380 --> 00:53:35,070 Biz veritabanı soruyorsun eğer var kullanıcı 962 00:53:35,070 --> 00:53:40,200 Giriş yapmak için çalışıyor, o olacak POST yöntemi ile gönderdi. 963 00:53:40,200 --> 00:53:43,950 Biz alıyoruz görürsünüz _POST gelen kullanıcı adı. 964 00:53:43,950 --> 00:53:46,900 Onlar, kullanıcı gönderdiğiniz adres olacak ya da, bir değer göndereceğiz 965 00:53:46,900 --> 00:53:50,750 POST aracılığıyla bir form aracılığıyla çünkü o kullanıcı adı ve şifre şeyler. 966 00:53:50,750 --> 00:53:54,830 Biz adınızı kontrol ediyoruz görmek için, bu tablodaki nedir? 967 00:53:54,830 --> 00:53:58,070 Bir kullanıcı oturum eğer Çünkü sonra kendi kullanıcı adı olarak 968 00:53:58,070 --> 00:54:03,320 tablosunda saklanabilir Bu site için mevcut kullanıcıları. 969 00:54:03,320 --> 00:54:09,360 Yani temelde eğer Kullanıcı, veritabanında 970 00:54:09,360 --> 00:54:16,400 Sorgu geri gidiyor bir dizi olduğu satır. 971 00:54:16,400 --> 00:54:24,560 >> Ama zor kısmı olduğunu bile eğer çift ​​dizi, tek bir satır olan 972 00:54:24,560 --> 00:54:31,900 hatta bir tek satır ise array-- gibi basically-- var 973 00:54:31,900 --> 00:54:36,900 Bir boyut tek dizi var eğer Bu, başka bir dizi tutuyor 974 00:54:36,900 --> 00:54:38,940 Eğer gerçekten bir sütun ile uğraşıyoruz. 975 00:54:38,940 --> 00:54:41,420 Ama yine de tedavi ediyor Bir çift dizi gibi. 976 00:54:41,420 --> 00:54:44,560 >> Bazen nereden bulabilirim ve bu zor, burada satır var çünkü. 977 00:54:44,560 --> 00:54:46,440 Bizim değişken satırlar olduğunu. 978 00:54:46,440 --> 00:54:48,590 Ve sonra biz yaratıyoruz Yeni değişken olarak adlandırılan bir satır 979 00:54:48,590 --> 00:54:51,450 ve eşit ayarlayarak satırların ilk satırı. 980 00:54:51,450 --> 00:54:55,150 Ve bu yorumunu fark edeceksiniz ilk ve tek satır olduğunu söylüyor. 981 00:54:55,150 --> 00:54:57,080 >> Yani bu zor bölüm şimdi işlevleri 982 00:54:57,080 --> 00:54:59,660 çok kolay diziler dönebilirsiniz. 983 00:54:59,660 --> 00:55:01,270 Mallocs yok. 984 00:55:01,270 --> 00:55:02,280 Sen mallocs görmezsiniz. 985 00:55:02,280 --> 00:55:03,940 Yani seg hataları görmezsiniz. 986 00:55:03,940 --> 00:55:08,380 Ama işlevleri yine geçen olacaktır gruplar halinde dizileri ve veri etrafında. 987 00:55:08,380 --> 00:55:12,250 Ve sen ne dikkatli olmak zorunda tam olarak işlevlerini dönecektir. 988 00:55:12,250 --> 00:55:15,160 Ve bir olsa bile Böyle sütun, sorgu 989 00:55:15,160 --> 00:55:17,520 Hala bir çift dizi dönmek için gidiyor. 990 00:55:17,520 --> 00:55:21,390 Erişim Yani column-- veya bu ters olarak tüm bu düşünebilirsiniz 991 00:55:21,390 --> 00:55:22,870 Biz satır bahsediyoruz çünkü. 992 00:55:22,870 --> 00:55:26,810 Ama bu bir satır erişmek için, Sadece satırları diyemeyiz. 993 00:55:26,810 --> 00:55:31,540 O bir satır olsa bile, sen var rowsrows [0] tür bu ortadan kaldırmak için yapmak 994 00:55:31,540 --> 00:55:37,360 dizinin dış bit ve Sadece bir satır var. 995 00:55:37,360 --> 00:55:38,342 >> Başka şeyler yapın. 996 00:55:38,342 --> 00:55:40,050 Bir işlev var adı password_verify 997 00:55:40,050 --> 00:55:42,980 doğrular POSTed edildi şifre. 998 00:55:42,980 --> 00:55:48,500 Ve sonra biz başka bir küresel bakın Burada değişken, _SESSION. 999 00:55:48,500 --> 00:55:51,340 Temelde oturum kimliği izlemenize nasıl 1000 00:55:51,340 --> 00:55:53,990 birisi giriş olup olmadığını. 1001 00:55:53,990 --> 00:55:58,590 Yani şu anda login.php ile, Biz bir kullanıcı oturum ediyoruz. 1002 00:55:58,590 --> 00:56:01,920 Bu yüzden ne yapmak istediğinizi biz istiyoruz ise session id satırda eşit olduğunu söylemek 1003 00:56:01,920 --> 00:56:05,890 sadece mantıklı çünkü yapar id, her satırı farklı bir kimliği olacak 1004 00:56:05,890 --> 00:56:07,239 tablonun bir parçası olarak sayısı. 1005 00:56:07,239 --> 00:56:09,280 Biz de SQL içine alırsınız ikinci olarak, bu nedenle bu, eğer varsa 1006 00:56:09,280 --> 00:56:13,500 görünüyor filan gibi biraz, Daha sonra tüm kadar temizlenir. 1007 00:56:13,500 --> 00:56:18,450 Ama biz eşit id ayarlamak için gidiyoruz kullanıcıya oturum düzgün bir şey. 1008 00:56:18,450 --> 00:56:20,530 Bir şey yanlış giderse özür dileriz. 1009 00:56:20,530 --> 00:56:27,600 Ve bu oturumların amacı ise Profesör Malan olarak hayat söyleyebilirim. 1010 00:56:27,600 --> 00:56:29,130 >> Yani login.php oldu. 1011 00:56:29,130 --> 00:56:33,750 Ve yazmak PHP kodunun bir sürü pset 7, onlar biraz olacağım. 1012 00:56:33,750 --> 00:56:36,470 Için chmod unutmayın Uygun izinler. 1013 00:56:36,470 --> 00:56:40,180 Hakkında biraz olacaktır spec başında olduğunu. 1014 00:56:40,180 --> 00:56:46,382 >> Ama sen PHP yazma olacak 1015 00:56:46,382 --> 00:56:47,840 Buna benzer şeyler yapıyor. 1016 00:56:47,840 --> 00:56:49,715 Sen olacaksın bazı şeyler erişen o 1017 00:56:49,715 --> 00:56:52,760 size verilen PHP global değişkenler olduğunu 1018 00:56:52,760 --> 00:56:56,105 Geçerli ile ilgileniyor ister orada, kullanıcı giriş 1019 00:56:56,105 --> 00:57:00,460 Bu gönderilen olmuştur istekleri sayfa, böyle farklı şeyler. 1020 00:57:00,460 --> 00:57:05,790 Ve aynı zamanda, potansiyel olacaktır Bu şey satırları arasında yineleme. 1021 00:57:05,790 --> 00:57:09,010 >> Farklı bir işlev, sorgudaki Bu çifte dizi çıkmıyor. 1022 00:57:09,010 --> 00:57:11,450 Ve daha fazlası varsa İçinde bir sıra daha 1023 00:57:11,450 --> 00:57:15,080 Evet, eğer orada mudur varsa İçinde birden fazla dizisi, 1024 00:57:15,080 --> 00:57:16,870 o zaman bir tablo olacaktır. 1025 00:57:16,870 --> 00:57:20,500 Ve yineleme isteyebilirsiniz kullanarak bu dizinin satırları arasında 1026 00:57:20,500 --> 00:57:22,860 Biz açıklanan foreach döngüsü. 1027 00:57:22,860 --> 00:57:30,270 >> Yani bir çift üzerinde foreach yaparsanız Dizi ne word-- burada olacak, 1028 00:57:30,270 --> 00:57:31,909 Aslında yazacağım. 1029 00:57:31,909 --> 00:57:32,950 Ben hızlı buraya yazacağım. 1030 00:57:32,950 --> 00:57:44,280 >> Biz satır foreach varsa satır olarak, satır türü nedir? 1031 00:57:44,280 --> 00:57:45,390 Kimse biliyor mu? 1032 00:57:45,390 --> 00:57:54,000 1033 00:57:54,000 --> 00:57:54,500 Anladın sen? 1034 00:57:54,500 --> 00:57:57,110 Satır Yani bir çift dizidir. 1035 00:57:57,110 --> 00:58:02,810 Yani foreach anlaması için ne olup bittiğini Bu çifte diziden istediğiniz 1036 00:58:02,810 --> 00:58:04,280 eğer biz yineleme mi? 1037 00:58:04,280 --> 00:58:07,170 1038 00:58:07,170 --> 00:58:10,770 Biz temelde varsayabiliriz bu iki unsurlar olacak, 1039 00:58:10,770 --> 00:58:14,970 temelde veya satır, sütun ya da. 1040 00:58:14,970 --> 00:58:18,740 Ve böylece satır ve sütun biz Aynı şey olarak davranabilirsiniz. 1041 00:58:18,740 --> 00:58:23,880 >> Temelde foreach döngüsü ne oluyor yapmak için bu satırları döndürmek için gidiyor olduğunu. 1042 00:58:23,880 --> 00:58:28,500 satır, türü satırın olacak satır ise bir çift dizidir. 1043 00:58:28,500 --> 00:58:32,290 Yani foreach verirsen Bir çift dizi, bu kadar 1044 00:58:32,290 --> 00:58:35,830 yineleme gitmiyor Birden fazla düzey derin. 1045 00:58:35,830 --> 00:58:44,464 Hangi olmadığını söylemek temelde var 1,2 Bu table-- sekiz hücreleri, 1046 00:58:44,464 --> 00:58:48,110 3 4, 5, 6, 7, 8-- foreach döngüsü değildir 1047 00:58:48,110 --> 00:58:51,880 Bu hücrelerin her biri üzerinden gidecek. 1048 00:58:51,880 --> 00:58:56,390 Foreach döngüsü ne yapacağı Bu satır ile gidecek oldu, 1049 00:58:56,390 --> 00:58:57,870 Sana bütün bu satır verir. 1050 00:58:57,870 --> 00:58:59,410 Ve sonra bu satır ile gidersiniz. 1051 00:58:59,410 --> 00:59:01,850 >> Yani sadece derin bir seviye yinelenir. 1052 00:59:01,850 --> 00:59:05,310 Eğer iç içe geçmiş bir eklerseniz foreach döngüsü, sonra 1053 00:59:05,310 --> 00:59:16,280 dönen her satırı tedavi edebilir satırlar, sen elemanı olarak foreach satır yapmak 1054 00:59:16,280 --> 00:59:17,640 diyelimki. 1055 00:59:17,640 --> 00:59:22,750 Ve sonra eleman yankı olabilir. 1056 00:59:22,750 --> 00:59:24,930 Yani kısa var nasıl küçük tazeleme 1057 00:59:24,930 --> 00:59:30,220 Eğer foreach kullanıyor olabilirsiniz sorguda bağlamında döngüler. 1058 00:59:30,220 --> 00:59:32,840 >> PHP üzerinde herhangi bir sorunuz var mı? 1059 00:59:32,840 --> 00:59:36,520 Herhangi bir şey biz önce SQL bahsediyoruz geçmek 1060 00:59:36,520 --> 00:59:37,820 ve veritabanı eğlenceli? 1061 00:59:37,820 --> 00:59:41,480 1062 00:59:41,480 --> 00:59:42,110 İyi hissediyorum? 1063 00:59:42,110 --> 00:59:42,750 İyi hissediyorum. 1064 00:59:42,750 --> 00:59:43,470 Pekala. 1065 00:59:43,470 --> 00:59:49,130 >> Geri hareket edelim Muhtemelen özledim PowerPoint. 1066 00:59:49,130 --> 00:59:51,800 SQL, yay. 1067 00:59:51,800 --> 00:59:57,900 Tipik benim bölümünde insanlar bilecek kısaltmalar alt başlıklar 1068 00:59:57,900 --> 01:00:01,220 İlk sözler her zaman O maçın düşünüyorum 1069 01:00:01,220 --> 01:00:02,690 Bu kısaltma algorithm--. 1070 01:00:02,690 --> 01:00:04,090 Bu bir algoritma değil. 1071 01:00:04,090 --> 01:00:08,050 >> Yani SQL veritabanı olduğunu. 1072 01:00:08,050 --> 01:00:11,060 Bu bir dil olduğunu veritabanları ile çalışır. 1073 01:00:11,060 --> 01:00:14,440 Ve tüm veritabanları vardır en az bir şekilde tablolar, 1074 01:00:14,440 --> 01:00:17,220 SQL onları temsil eder. 1075 01:00:17,220 --> 01:00:23,610 >> Veritabanları hakkında düşünmek için başka bir yoludur veritabanları anahtarları ve değerleri bir dizi vardır 1076 01:00:23,610 --> 01:00:24,110 temelde. 1077 01:00:24,110 --> 01:00:29,530 Bir veritabanı olarak düşünmek olabilir Bir tablo olarak bir sözlük ve ayrıca. 1078 01:00:29,530 --> 01:00:34,300 Temelde ilişkilendirmek için bir yol var diğer veriler farklı veri 1079 01:00:34,300 --> 01:00:36,270 genellikle satırlar ve sütunlar aracılığıyla. 1080 01:00:36,270 --> 01:00:38,470 Ve bu yol SQL iyi çalışır var. 1081 01:00:38,470 --> 01:00:40,880 >> Yani bu, bir tablonun bir örneğidir. 1082 01:00:40,880 --> 01:00:44,610 Ben birkaç örnek var Benim bölümünde, insanlar hangi 1083 01:00:44,610 --> 01:00:45,970 Ben değiştirmek için zaman yoktu. 1084 01:00:45,970 --> 01:00:52,020 Ama biz, kimliği gibi şeyler var isim, süper güç ve memleketi. 1085 01:00:52,020 --> 01:00:54,100 Herkes nerede bilmiyorum Benim bölümünde in, 1086 01:00:54,100 --> 01:00:56,266 bu yüzden sadece varsaymak gidiyorum Herkes New York'tan var 1087 01:00:56,266 --> 01:00:59,370 Şehir ben istatistiki yüksek olması nedeniyle doğru olma olasılığı. 1088 01:00:59,370 --> 01:01:04,200 >> SQL otomatik alacak Sizin için kimlik sütun önemsiyorum. 1089 01:01:04,200 --> 01:01:07,560 Eğer yeni bir satır eklemek durumunda Bir SQL veritabanına, 1090 01:01:07,560 --> 01:01:09,700 o artırır Kimlik numarası ve sadece 1091 01:01:09,700 --> 01:01:14,890 temelde beş isimleri gibi sopa, süpergüç, memleketi kim 1092 01:01:14,890 --> 01:01:16,430 Bu tablonun sonuna üzerine. 1093 01:01:16,430 --> 01:01:19,160 Yani ID sütun olacak olan Hiç endişelenmenize gerek. 1094 01:01:19,160 --> 01:01:22,770 Ancak, davada gibi login.php bölgesinin ne zaman 1095 01:01:22,770 --> 01:01:26,610 oturum kimliği elde edildi Bir tablodan sadece kimliğini kullanarak 1096 01:01:26,610 --> 01:01:30,320 Kimliği benzersiz tanımlamak için bir yoldur Bir veritabanı bir unsur. 1097 01:01:30,320 --> 01:01:34,980 >> Yani eğer iki Sams, her ikisi de vardı Hangi CS50 öğretti ve kim hem 1098 01:01:34,980 --> 01:01:39,370 Milwaukee vardı o olur Hala farklı kimlik numaralarını var 1099 01:01:39,370 --> 01:01:43,420 ve bu nedenle belirgin olarak Tablonun bağlam. 1100 01:01:43,420 --> 01:01:48,700 Yani bu SQL dağıtıyor ne arka sonunda çalışan, birlikte. 1101 01:01:48,700 --> 01:01:54,160 >> Şimdi bu dört komutları Eğer SQL ile çalışmanız gerekir söyledi. 1102 01:01:54,160 --> 01:01:56,390 Ve ben bir slayt hepsini kustu. 1103 01:01:56,390 --> 01:01:59,530 Ama biz doğru gidiyoruz hepsini tek tek. 1104 01:01:59,530 --> 01:02:03,300 >> İlk komut, UPDATE olduğunu hangi beklediğiniz yapar. 1105 01:02:03,300 --> 01:02:07,240 Eğer bazı verileri Say güncel değil tablo. 1106 01:02:07,240 --> 01:02:09,470 Eğer tutuyorlar sanki gibi İnsanların isimlerinin iz 1107 01:02:09,470 --> 01:02:13,350 ve yaşları birisi var, eğer Daha sonra yaş arttıkça, 1108 01:02:13,350 --> 01:02:18,590 Eğer gitmek istediğiniz gidiyoruz ve Sadece o kişinin yaşını güncelleyin. 1109 01:02:18,590 --> 01:02:21,902 Çalışan bir örnek için İlk table-- ile 1110 01:02:21,902 --> 01:02:24,610 Tüm yazma konusunda endişelenmeyin Aynı anda bu komutlar. 1111 01:02:24,610 --> 01:02:27,640 Ama aşağı güncelleştirme var ise, Bu, bu bölümü için iyi olacak 1112 01:02:27,640 --> 01:02:29,790 Biz gidiyoruz, çünkü masaya geri gidin. 1113 01:02:29,790 --> 01:02:33,920 >> Yani biz masaya geri giderseniz, şey oldu bir şey diyelim 1114 01:02:33,920 --> 01:02:38,480 bir deprem oldu ya doğrudan bölünmüş bir fay hattı 1115 01:02:38,480 --> 01:02:39,920 New York aracılığıyla. 1116 01:02:39,920 --> 01:02:45,130 Ve herkesi güncellemek istedim Kim New York'ta yaşıyordu. 1117 01:02:45,130 --> 01:02:49,670 Hepsi Pennsylvania taşımak zorunda kaldı. 1118 01:02:49,670 --> 01:02:51,130 Bu bir memleketi değil. 1119 01:02:51,130 --> 01:02:53,180 Hepsi New Haven taşımak zorunda kaldı. 1120 01:02:53,180 --> 01:02:54,030 Oraya gidiyoruz. 1121 01:02:54,030 --> 01:02:57,630 New York'ta yüzden herkes New Haven taşınır. 1122 01:02:57,630 --> 01:03:01,300 >> Ve böylece bir şeyi var Bu tabloda üç satır düzenleme. 1123 01:03:01,300 --> 01:03:04,716 Ama SQL yapabileceğiniz Sadece bir açıklamada söyledi. 1124 01:03:04,716 --> 01:03:05,715 Yani biz GÜNCELLENİR geri dönmek. 1125 01:03:05,715 --> 01:03:09,670 Bana hızlı yine bu tahtayı silmeye edelim. 1126 01:03:09,670 --> 01:03:14,570 Ne zaman bahsediyoruz güncelleme vardır 1127 01:03:14,570 --> 01:03:17,640 anahtar sözdizimi bir kaç parça. 1128 01:03:17,640 --> 01:03:19,770 Eh, sözdizimi tüm anahtarıdır. 1129 01:03:19,770 --> 01:03:22,210 Ama yeşil şeyler isteğe bağlıdır. 1130 01:03:22,210 --> 01:03:25,680 Beyaz gereklidir gibi önceden tanımlı isimler. 1131 01:03:25,680 --> 01:03:30,750 Ve açık mavi şeyler O tablosuna bağlı olarak değişir. 1132 01:03:30,750 --> 01:03:34,640 Yani birlikte neler var Burada, orada renk düzeni. 1133 01:03:34,640 --> 01:03:40,250 >> Biz sadece bu satırları güncellemek istiyorsanız Yani New York'ta yaşayan insanların, 1134 01:03:40,250 --> 01:03:43,490 Biz GÜNCELLEME dedi eğer öyleyse ne yapardınız? 1135 01:03:43,490 --> 01:03:46,320 Biz nereye koyduğunuzu Yani tablo Bizim tablonun adı. 1136 01:03:46,320 --> 01:03:49,170 Sadece ismini diyelim Bizim tablonun tablo biridir. 1137 01:03:49,170 --> 01:03:52,515 Bu yüzden tablo, bir UPDATE istiyorum. 1138 01:03:52,515 --> 01:03:57,470 Ve biz set-- istiyoruz ne ayarlamak istiyorsun? 1139 01:03:57,470 --> 01:04:05,160 Peki biz söylemek istiyorum, bu yüzden column-- PHP tek belirleyici olarak satırları davranır. 1140 01:04:05,160 --> 01:04:07,930 Ve sonra sütunlar Farklı alanların 1141 01:04:07,930 --> 01:04:09,940 veritabanının bu unsurların. 1142 01:04:09,940 --> 01:04:14,210 >> Veritabanı ilk elemana So Sam, CS50 bir süper gücün bir adı vardır 1143 01:04:14,210 --> 01:04:16,210 ve Milwaukee bir memleketi. 1144 01:04:16,210 --> 01:04:20,710 Biz set sözü Yani, en bakalım parametreleri tekrar set alır. 1145 01:04:20,710 --> 01:04:23,880 Biz sütun değerine eşit olması. 1146 01:04:23,880 --> 01:04:27,290 Bu yüzden bazı söylemek istiyorum column-- hatırlıyorum ki 1147 01:04:27,290 --> 01:04:31,850 Bir field-- biz görmek istiyoruz olduğunu yeni bir şey eşit bir alan. 1148 01:04:31,850 --> 01:04:42,340 >> Biz sadece güncelleme söyledi Yani eğer Tablo 1, set isim eşit Elliot. 1149 01:04:42,340 --> 01:04:46,310 Bazı insanlar olsun Bu konuda yeni bölüm. 1150 01:04:46,310 --> 01:04:51,540 Ama biz sadece güncelleme tablo 1 yaptım set isim eşit Elliot, ne istiyorsunuz 1151 01:04:51,540 --> 01:04:55,530 Bundan sonra böyle masa bakmak? 1152 01:04:55,530 --> 01:04:56,410 İnsanlar herhangi bir fikrin var mı? 1153 01:04:56,410 --> 01:04:59,710 1154 01:04:59,710 --> 01:05:00,210 Evet. 1155 01:05:00,210 --> 01:05:03,195 >> HEDEF KİTLE: Bu her şey Satır Elliot olacaktı. 1156 01:05:03,195 --> 01:05:04,570 KONUŞMACI: Hangi satırda şey? 1157 01:05:04,570 --> 01:05:06,067 HEDEF KİTLE: İlk satırda. 1158 01:05:06,067 --> 01:05:07,150 KONUŞMACI: İlk satırda? 1159 01:05:07,150 --> 01:05:09,724 Neden ilk satır? 1160 01:05:09,724 --> 01:05:10,890 Sana almaya anlamına gelmez. 1161 01:05:10,890 --> 01:05:13,287 >> HEDEF KİTLE: Belki de her şey Bütün tablo? 1162 01:05:13,287 --> 01:05:15,120 KONUŞMACI: Her şey içinde Bütün tablo, evet. 1163 01:05:15,120 --> 01:05:19,520 Ve bu tam olarak doğru çünkü-- I var Sadece biraz dışarı yardımcı oldu 1164 01:05:19,520 --> 01:05:22,650 orada-- biz ihmal nedeniyle İsteğe bağlı yan tümcesi. 1165 01:05:22,650 --> 01:05:27,260 Eğer WHERE yoksa fıkra, bu komut ne yapacak 1166 01:05:27,260 --> 01:05:32,240 Her birlikte çalışacağız edilir Tabloda tek sıra. 1167 01:05:32,240 --> 01:05:35,430 Herkesin ismi olacak olmak Elliott, temelde, 1168 01:05:35,430 --> 01:05:37,360 Hangi Elliot hakkında çok mutludur. 1169 01:05:37,360 --> 01:05:40,070 Veya Yanni, ikisinden biri. 1170 01:05:40,070 --> 01:05:42,490 Ama herkesin ismi değişecek. 1171 01:05:42,490 --> 01:05:47,880 >> Yani yol kullandığımız NEREDE clause-- ve Nerede için geçerli olan 1172 01:05:47,880 --> 01:05:51,410 Her olduğu Bu farklı şeyler. 1173 01:05:51,410 --> 01:05:54,380 Yani o SET fark edeceksiniz Sütun eşit değere sahiptir. 1174 01:05:54,380 --> 01:05:55,190 Ve böylece NEREDE yapar. 1175 01:05:55,190 --> 01:06:00,040 Ancak, bu farklı olan tabloların çeşitleri. 1176 01:06:00,040 --> 01:06:04,400 Yani sütun değerine eşit SET atamasında olduğunu. 1177 01:06:04,400 --> 01:06:08,320 Gibi biz istiyoruz söylüyorsun Elliot eşit adını ayarlamak için. 1178 01:06:08,320 --> 01:06:15,390 Ama NEREDE cümlelerinde, Bu eşitlik ifadelerdir. 1179 01:06:15,390 --> 01:06:20,410 Yani biz sadece istedim diyelim Elliot Kişinin adını değiştirmek 1180 01:06:20,410 --> 01:06:23,940 onların adı Ryan olsaydı, diyelim. 1181 01:06:23,940 --> 01:06:24,920 >> Yani biz deyince 1182 01:06:24,920 --> 01:06:32,700 >> NEREDE adı Ryan ki eşittir Başarıyla tek değişiklik olur 1183 01:06:32,700 --> 01:06:37,440 aşkına-- sadece olur satırlarda adı alanını değiştirin 1184 01:06:37,440 --> 01:06:40,770 nerede adını alan Ryan eşittir. 1185 01:06:40,770 --> 01:06:44,430 Yani eğer biz birden fazla kişi vardı Ryan, isimleri tüm adlandırılmış 1186 01:06:44,430 --> 01:06:45,730 Elliot değiştirmek istiyorum. 1187 01:06:45,730 --> 01:06:48,169 >> Bu örneğe benzer Bir fay hattı böler if 1188 01:06:48,169 --> 01:06:50,960 New York ve herkes için vardır New Haven için elimizden gelen şekilde hareket 1189 01:06:50,960 --> 01:06:56,570 tek açıklamada GÜNCELLEME olduğunu do tablo1 SET memleketi = New Haven 1190 01:06:56,570 --> 01:07:00,210 nerede memleketi New York eşittir. 1191 01:07:00,210 --> 01:07:03,410 Bu gücü UPDATE deyimi. 1192 01:07:03,410 --> 01:07:10,530 Biz herhangi bir sayı seçebilirsiniz Gerçek tablolar aracılığıyla satırlar 1193 01:07:10,530 --> 01:07:12,860 Bu satırlardaki alanlar hakkında. 1194 01:07:12,860 --> 01:07:19,510 Biz GÜNCELLEME tablo1 set diyemeyiz name = Elliot NEREDE satır = 1, 1195 01:07:19,510 --> 01:07:24,820 biz ID = 1 derseniz can dışında. 1196 01:07:24,820 --> 01:07:27,350 1197 01:07:27,350 --> 01:07:29,830 >> Yani biz olacağız eşitlik ile çalışan 1198 01:07:29,830 --> 01:07:32,830 alanların, sütun eşitlik. 1199 01:07:32,830 --> 01:07:38,030 Ama kimlik alanını kullanarak bir yoludur Özellikle bireysel satırları seçmek, 1200 01:07:38,030 --> 01:07:43,210 Kimlik alanı benzersiz olduğundan Bir SQL veritabanında tanımlayıcı. 1201 01:07:43,210 --> 01:07:45,860 Yani satır, bir güncelleme gibi, ID 1 eşittir. 1202 01:07:45,860 --> 01:07:49,560 Sadece, satır, iki güncellenmesi Bu kimlik numarasını değiştirin. 1203 01:07:49,560 --> 01:07:51,610 Ama gücü WHERE deyimi biz ise 1204 01:07:51,610 --> 01:07:57,480 Ne dayalı şeyler güncelleyebilirsiniz onların Bazı şeylerin geçerli değerlerdir. 1205 01:07:57,480 --> 01:07:58,155 Elliot Evet? 1206 01:07:58,155 --> 01:08:02,678 >> HEDEF KİTLE: Ve ne isterseniz aşağıdaki amaçlara Yine, bu başka bir sorudur. 1207 01:08:02,678 --> 01:08:07,660 Ama benim ilk soruydu, bu olay nerede? 1208 01:08:07,660 --> 01:08:09,130 Nerede bu güncelleme ki? 1209 01:08:09,130 --> 01:08:11,100 Bu bir PHP kodu var mı? 1210 01:08:11,100 --> 01:08:13,379 >> KONUŞMACI: güncellemek durumunda, evet. 1211 01:08:13,379 --> 01:08:15,170 Biz konuşacağız Bu nerede tüm hakkında 1212 01:08:15,170 --> 01:08:18,729 gidiyoruz tür bir kez olur tüm komutları aracılığıyla. 1213 01:08:18,729 --> 01:08:21,130 Ama gerekeni Şimdi temelde biliyorum 1214 01:08:21,130 --> 01:08:26,279 SQL veritabanı olduğunu bir şey olarak var 1215 01:08:26,279 --> 01:08:30,090 sorgu tarafından erişilecek CS50 tanımlayan fonksiyon. 1216 01:08:30,090 --> 01:08:33,800 Sorgu işlevini kullanmak Yani eğer, Bu tabloyu erişebilirsiniz. 1217 01:08:33,800 --> 01:08:39,529 >> Yani bu gönderme olacak PHP dosyaları masanıza komutları 1218 01:08:39,529 --> 01:08:41,420 Sorgu fonksiyonu sayesinde. 1219 01:08:41,420 --> 01:08:45,410 Ayrıca oynayabilir masanıza doğrudan. 1220 01:08:45,410 --> 01:08:49,050 Ve en iyi yolu komutları bu tür test edin. 1221 01:08:49,050 --> 01:08:52,720 Ve biz tam olarak ne ile gidersiniz Sadece biraz içinde bunu yapmak için. 1222 01:08:52,720 --> 01:08:54,910 >> Yani UPDATE komutu var. 1223 01:08:54,910 --> 01:08:57,939 Ve komutların kalanı tür benzer olacak, 1224 01:08:57,939 --> 01:08:59,069 Benzer şeyler üzerinde çalışıyor. 1225 01:08:59,069 --> 01:09:02,740 INSERT INTO muhtemelen GÜNCELLEME en farklı. 1226 01:09:02,740 --> 01:09:06,170 Ben orada o kadar bırakacağım Buraya biraz ve çalışma. 1227 01:09:06,170 --> 01:09:10,215 Yani INTO INSERT görürsünüz Bu tablo hala aynıdır. 1228 01:09:10,215 --> 01:09:17,010 Sen INTO INSERT istiyorum. 1229 01:09:17,010 --> 01:09:20,286 Harf, SQL duyarsız olduğunu. 1230 01:09:20,286 --> 01:09:22,160 Yani gerek yok Bunları yararlanmak. 1231 01:09:22,160 --> 01:09:27,960 Geleneksel olarak, sözler beyaz aktifleştirilir. 1232 01:09:27,960 --> 01:09:31,590 Ama aynı zamanda renk kodlu onları. 1233 01:09:31,590 --> 01:09:34,390 Eğer yararlanmak tek nedeni O zaman bunları yazıyorsun 1234 01:09:34,390 --> 01:09:36,609 Sadece vurgulamak olduğunu Bu olduğu sabittir. 1235 01:09:36,609 --> 01:09:39,189 Ve böylece her iki bakabilirsiniz harf veya gerçek 1236 01:09:39,189 --> 01:09:40,740 ben farklı şekilde renkli ettik. 1237 01:09:40,740 --> 01:09:44,910 >> Bu yüzden, INSERT INTO var tekrar tablo1 yapalım. 1238 01:09:44,910 --> 01:09:45,930 Bu tek bir satırda. 1239 01:09:45,930 --> 01:09:48,609 Ben sadece bunu ayıran ediyorum Farklı ifadeler. 1240 01:09:48,609 --> 01:09:52,399 Yani gerçeği dert etmeyin tablo1 ikinci çizgi üzerine yaptı. 1241 01:09:52,399 --> 01:09:56,130 >> Yani biz INSERT istiyoruz Bazı değerleri Tablo 1. INTO. 1242 01:09:56,130 --> 01:09:58,922 Ve isteğe bağlı farkedeceğiniz Ben bir saniye içinde alırsınız biraz. 1243 01:09:58,922 --> 01:09:59,755 Bu yüzden DEĞERLER var. 1244 01:09:59,755 --> 01:10:03,640 1245 01:10:03,640 --> 01:10:08,100 >> Yani biz Andi eklemek istediğiniz diyelim masamıza, çünkü biz Andi özledim. 1246 01:10:08,100 --> 01:10:09,390 Andi hasta. 1247 01:10:09,390 --> 01:10:12,490 Yani bizim masaya Andi ekleyelim. 1248 01:10:12,490 --> 01:10:15,150 Kimlik numarası unutmayın otomatik olarak güncellenir. 1249 01:10:15,150 --> 01:10:17,320 Sadece alanlar Yani biz hakkında endişelenmenize gerek 1250 01:10:17,320 --> 01:10:20,230 isim, süper güç ve memleketi bulunmaktadır. 1251 01:10:20,230 --> 01:10:23,660 >> Ve böylece biz bunu yolu, Bizim sözdizimi bakarak, biz ettik olduğu 1252 01:10:23,660 --> 01:10:28,780 Sadece virgül ile, bir parantez var ayrılmış değerler, her biri 1253 01:10:28,780 --> 01:10:29,890 bir değerdir. 1254 01:10:29,890 --> 01:10:35,530 Yani eğer biz içine Andi eklemek istedim bizim masa, yapmamız gereken tüm doğru Andi olduğunu. 1255 01:10:35,530 --> 01:10:38,630 Andi adlı süper gücü nedir, Andi adlı bölümünde insanlar? 1256 01:10:38,630 --> 01:10:45,406 1257 01:10:45,406 --> 01:10:47,545 O uçuşu gibi, ya da ister hız, ya da bir şey. 1258 01:10:47,545 --> 01:10:48,920 Biz zaten orada ne var? 1259 01:10:48,920 --> 01:10:53,425 Biz, CS50, uçuş var Hız ve kuvvet. 1260 01:10:53,425 --> 01:10:54,850 >> HEDEF KİTLE: Zaman yolculuğu. 1261 01:10:54,850 --> 01:10:56,180 >> KONUŞMACI: Zaman yolculuğu, inanılmaz. 1262 01:10:56,180 --> 01:11:04,280 Bu yüzden Andi, zaman var seyahat, ve onun memleketi. 1263 01:11:04,280 --> 01:11:05,530 Bu gerçekten iyi bir soru. 1264 01:11:05,530 --> 01:11:09,210 New York, sürece kimse bilmiyor. 1265 01:11:09,210 --> 01:11:13,600 New York ise herkesin var ders bugünden itibaren götürmek. 1266 01:11:13,600 --> 01:11:17,710 >> Yani bu beyanı olur beşinci satırda olarak eklemek, 1267 01:11:17,710 --> 01:11:21,900 süpergüç zaman yolculuğu ile ve New York'ta bir memleketi. 1268 01:11:21,900 --> 01:11:25,660 Ama isteğe bağlı alan temelde bir yoldur 1269 01:11:25,660 --> 01:11:30,090 tam olarak hangi sütunları belirtmek için Eğer bir şeyler eklemek istiyorum. 1270 01:11:30,090 --> 01:11:33,710 >> Şimdi bunu yapıyoruz yolu, Andi zaman yolculuğu, New York, 1271 01:11:33,710 --> 01:11:38,150 tam sırayla gidiyor bizim table-- isim, süper güç, memleketi. 1272 01:11:38,150 --> 01:11:42,290 Ve yapmak istedim Bunun dışında bir şey 1273 01:11:42,290 --> 01:11:44,970 gibi bilmiyordum demek Birinin süper güç, 1274 01:11:44,970 --> 01:11:47,660 Ben Andi adlı bilmiyordum nasıl gibi başlangıçta süper. 1275 01:11:47,660 --> 01:11:50,450 Böylece tüm biliyordum oydu isim ve onun memleketi. 1276 01:11:50,450 --> 01:11:54,550 Ne yapabileceğini I could olduğunu sanıyor- Ben bu hızlı silmek gerekir. 1277 01:11:54,550 --> 01:11:57,910 1278 01:11:57,910 --> 01:12:00,090 >> Ben sadece sütunları güncelleştirmek istiyor. 1279 01:12:00,090 --> 01:12:04,100 Ve bu nerede isteğe bağlıdır sütun listesi devreye giriyor. 1280 01:12:04,100 --> 01:12:09,185 Ben sadece isim ve memleketi güncellemek istiyorum. 1281 01:12:09,185 --> 01:12:12,650 1282 01:12:12,650 --> 01:12:16,480 Ve sonra DEĞERLER diyecekler. 1283 01:12:16,480 --> 01:12:24,430 Ben Andi ve New York yapacağız. 1284 01:12:24,430 --> 01:12:28,980 >> Ben sütunların listesini ihmal olsaydı ve sadece bu iki şeyi yapmış, 1285 01:12:28,980 --> 01:12:32,450 New York nerede giderdi? 1286 01:12:32,450 --> 01:12:35,900 Hangi sütun olur New York Şehir yerleştirilmiştir? 1287 01:12:35,900 --> 01:12:38,950 İnsanlar herhangi bir fikrin var mı? 1288 01:12:38,950 --> 01:12:40,160 Superpower, tam. 1289 01:12:40,160 --> 01:12:41,890 >> Yani bu sadece sırayla gidecek. 1290 01:12:41,890 --> 01:12:45,530 Ve sonuna ulaştığında Liste, sadece bir şeyler dolduruyor durdurmak olacak. 1291 01:12:45,530 --> 01:12:49,080 Ve değerler sopa edeceğiz tüm sütunları sadece null olacaktır. 1292 01:12:49,080 --> 01:12:51,840 Biz belirtilen çünkü bunu isim ve memleketi, 1293 01:12:51,840 --> 01:12:56,110 Biz Kimliği 5 için gidiyoruz Andi, süper güç NULL adlandırın. 1294 01:12:56,110 --> 01:12:58,750 Yani süper bir başlatılmamış bir değerdir. 1295 01:12:58,750 --> 01:13:01,340 Mutlaka almazsınız Aynı Valgrind hataları denerseniz 1296 01:13:01,340 --> 01:13:01,970 ve erişmek. 1297 01:13:01,970 --> 01:13:05,160 Her şey güzel olacak zeroed dışarı, null SQL bir değer olduğundan. 1298 01:13:05,160 --> 01:13:06,780 Yani bir sabittir. 1299 01:13:06,780 --> 01:13:08,980 Ve sonra memleketi New York olacak. 1300 01:13:08,980 --> 01:13:11,860 Böylece INSERT INTO komut var. 1301 01:13:11,860 --> 01:13:13,610 Biz hareket etmeden önce, orada iki komutları. 1302 01:13:13,610 --> 01:13:19,060 Insanlar hakkında herhangi bir sorunuz var mı UPDATE, INSERT INTO hakkında, SQL hakkında 1303 01:13:19,060 --> 01:13:21,556 Genellikle biz taşınmadan önce Bizim son bit üzerine? 1304 01:13:21,556 --> 01:13:25,500 1305 01:13:25,500 --> 01:13:26,910 İnsanlar harika, iyi hissediyorum. 1306 01:13:26,910 --> 01:13:27,410 Onu seviyorum. 1307 01:13:27,410 --> 01:13:29,480 Öyleyse, SELECT bahsedelim. 1308 01:13:29,480 --> 01:13:33,445 Buraya hendek GÜNCELLEME gidiyor. 1309 01:13:33,445 --> 01:13:35,720 >> Ve SEÇ çok benzer olacak. 1310 01:13:35,720 --> 01:13:38,790 SELECT hedefi, Hayatta seçmek amacı 1311 01:13:38,790 --> 01:13:45,910 Size sütunların bir demet vermektir belirli koşulları yerine. 1312 01:13:45,910 --> 01:13:48,230 Ve ben tatmin dediğimde belirli koşullar, 1313 01:13:48,230 --> 01:13:50,800 Aklını hemen olabilir WHERE o geri dönmek 1314 01:13:50,800 --> 01:13:52,090 O UPDATE geldi. 1315 01:13:52,090 --> 01:13:54,880 Ve bu fıkra ise Orada tam olarak SELECT. 1316 01:13:54,880 --> 01:14:06,020 >> Nereye koymazsanız fıkra ve SEÇ isim, demek 1317 01:14:06,020 --> 01:14:16,490 hometown-- biraz o yazıldığından wrong-- isim, FROM tablo1 memleketi. 1318 01:14:16,490 --> 01:14:19,690 Biz sadece derseniz ne SEÇ Bize verecek bu kadar olduğunu 1319 01:14:19,690 --> 01:14:23,730 Bize verecek bunun yerine, bir tablo double--. 1320 01:14:23,730 --> 01:14:27,450 Bir çift dizi, biz eğer PHP duyuları de düşünmeye. 1321 01:14:27,450 --> 01:14:33,239 Ama bu sadece bize vermek için gidiyor İki columns-- adının çift dizi, 1322 01:14:33,239 --> 01:14:33,780 ve memleketi. 1323 01:14:33,780 --> 01:14:36,400 1324 01:14:36,400 --> 01:14:38,130 Ve bu kimliği yok sayacaktır. 1325 01:14:38,130 --> 01:14:41,310 Ve süper güç yok sayacaktır. 1326 01:14:41,310 --> 01:14:44,696 Ve bu sadece bize her vereceğiz Bu tablonun tek sıra. 1327 01:14:44,696 --> 01:14:46,570 Biz sadece takılı Yani eğer Andi biz Andi gerekecek. 1328 01:14:46,570 --> 01:14:48,605 Ve biz orijinal dört gerekecek. 1329 01:14:48,605 --> 01:14:53,720 Güncel olduysan, o olacak yansıtılacaktır, vesaire, vesaire. 1330 01:14:53,720 --> 01:14:56,520 >> Yani bu çünkü biz WHERE yan tümcesi kullanmak vermedi. 1331 01:14:56,520 --> 01:14:59,200 Ama biz tam olarak kullanabilirsiniz Aynı şekilde biz UPDATE kullandı. 1332 01:14:59,200 --> 01:15:05,310 Biz sadece isimleri bir tablo istiyorsanız ve insanların süper güçler yaşayan 1333 01:15:05,310 --> 01:15:13,430 New York'ta, biz bir açıklama çalıştırabiliriz SEÇ isim gibi, superpower-- 1334 01:15:13,430 --> 01:15:27,190 Ben sadece DAN ki- bırakacağım tablo1 WHERE memleketi = New York. 1335 01:15:27,190 --> 01:15:33,370 >> Yani bu yapabilirsiniz göstermek için gider tamamen farklı sütunları olsun, 1336 01:15:33,370 --> 01:15:36,920 ve o sen değilsin o sütunları koymak Hatta geri WHERE alıyorum. 1337 01:15:36,920 --> 01:15:39,200 Biz bile istemiyoruz herkesin memleketi. 1338 01:15:39,200 --> 01:15:41,920 Ama biz isim istiyoruz ve insan süper 1339 01:15:41,920 --> 01:15:43,817 kimin memleketi New York olduğunu. 1340 01:15:43,817 --> 01:15:45,650 Yani bir şey biz WHERE ile yapabilirsiniz 1341 01:15:45,650 --> 01:15:49,112 fıkra biz sütunlar başa çıkabilirim olduğunu biz mutlaka geri istemiyorum. 1342 01:15:49,112 --> 01:15:52,320 UPDATE Aynı şekilde, biz başa çıkabilirim Bu sütunlarla biz mutlaka yok 1343 01:15:52,320 --> 01:15:53,270 güncelleştirmek istiyor. 1344 01:15:53,270 --> 01:15:58,890 Biz herkesin şehri güncelleyebilirsiniz kim isim örneğin, Sam. 1345 01:15:58,890 --> 01:16:02,080 Biz şehir güncelleyebilirsiniz kimin kimlik numarası herkesin 2 'dir. 1346 01:16:02,080 --> 01:16:04,960 Dolayısıyla, sadece güncelleme İkinci sıranın kent 1347 01:16:04,960 --> 01:16:08,220 biz uğraşmak zorunda değilsiniz nerede Gerekli ortak soru. 1348 01:16:08,220 --> 01:16:13,264 >> Ve gibi ederim, bir DELETE FROM tablo1 DELETE bekliyoruz. 1349 01:16:13,264 --> 01:16:14,930 Ve sonra biz başka bir WHERE yan tümcesi var. 1350 01:16:14,930 --> 01:16:17,940 Yani biz NEREDE ID = 1 söyleyebiliriz. 1351 01:16:17,940 --> 01:16:18,950 İlk satırı silin. 1352 01:16:18,950 --> 01:16:23,240 Ve her zaman bir satır siler DELETE, ya da satır bazı numarayı silmek olacaktır. 1353 01:16:23,240 --> 01:16:26,990 Masanın NEREDEN DELETE FROM memleketi = New York 1354 01:16:26,990 --> 01:16:28,740 New York herkesi silecektir. 1355 01:16:28,740 --> 01:16:30,985 Bir varsa budur Ani trajik veba 1356 01:16:30,985 --> 01:16:33,360 ve sadece kaldırmak istedim Tablodan herkes kim 1357 01:16:33,360 --> 01:16:35,760 Belirli bir şehirde yaşamış Bu veba çarptı. 1358 01:16:35,760 --> 01:16:38,050 Huzur içinde yatsın. 1359 01:16:38,050 --> 01:16:43,849 >> Bu dört SQL komutlar Bu kullanmanız gerekecektir. 1360 01:16:43,849 --> 01:16:45,390 Hatta hepsini kullanmak gerekmeyebilir. 1361 01:16:45,390 --> 01:16:47,690 Ancak bu dörttür CS50 sizi beklediğini 1362 01:16:47,690 --> 01:16:53,630 girmeden rahat olmak için Quiz 1 ve ayrıca pset7 ve pset8 hem. 1363 01:16:53,630 --> 01:16:55,820 >> Sadece bu tablo yine var. 1364 01:16:55,820 --> 01:16:58,930 Bu bir, Roy'un süper güç var lazer ışınları, için güncellendi hangi 1365 01:16:58,930 --> 01:17:00,880 I did değil kullanma bir örnektir. 1366 01:17:00,880 --> 01:17:05,480 Bilmiyorum hangisi Roy tercih eder, fakat gücü. 1367 01:17:05,480 --> 01:17:07,670 Roy güçlü bir süper güç vardır. 1368 01:17:07,670 --> 01:17:09,090 Katherine bugün yapmak değildi. 1369 01:17:09,090 --> 01:17:10,260 Bu talihsizlik. 1370 01:17:10,260 --> 01:17:11,260 Ama süper hıza sahip. 1371 01:17:11,260 --> 01:17:13,780 1372 01:17:13,780 --> 01:17:14,670 >> Peki bu PHP idi. 1373 01:17:14,670 --> 01:17:19,410 Biz MVC hakkında konuşmaya başlamadan önce, yapar Herkes PHP ile ilgili sorularınız mı var? 1374 01:17:19,410 --> 01:17:23,864 Şimdi SQL veya PHP aniden varsa PHP ile ilgili bir soru ile gelip? 1375 01:17:23,864 --> 01:17:27,560 1376 01:17:27,560 --> 01:17:28,460 Büyük. 1377 01:17:28,460 --> 01:17:29,920 Pekala, hepimiz o hazırız. 1378 01:17:29,920 --> 01:17:33,660 >> Yani biraz konuşuyor Model görünümü denetleyicileri hakkında, 1379 01:17:33,660 --> 01:17:38,770 Biraz geri gidelim pset7 içinde şeyler. 1380 01:17:38,770 --> 01:17:42,470 Peki modeli görünümü Kontrolör değilim o-- 1381 01:17:42,470 --> 01:17:45,660 Giriş yapmak için benim değişiklikleri kaydetmek için gidiyor Ben tamamen butchered çünkü. 1382 01:17:45,660 --> 01:17:49,220 Ama temelde biz iki tane var Ayrı şeyler oluyor. 1383 01:17:49,220 --> 01:17:52,390 Bir halkı var içeren dizin 1384 01:17:52,390 --> 01:17:56,460 yürütülecek gidiyor kod ve ziyaret edilecektir web sayfaları. 1385 01:17:56,460 --> 01:17:58,780 Ve biz de bu görüşleri dizin var. 1386 01:17:58,780 --> 01:18:01,780 Ve düşünceler şablonları içerir. 1387 01:18:01,780 --> 01:18:04,390 >> Bu nedir fonksiyonudur render-- biz işlemek gördüm 1388 01:18:04,390 --> 01:18:08,240 PHP kod bir demet fonksiyonu Bu CS50 zaten sizin için yazmış 1389 01:18:08,240 --> 01:18:10,550 belirli parametrelerde alır. 1390 01:18:10,550 --> 01:18:14,510 Ne bu kod yapıyor bu görünümler içine gidiyor edilir 1391 01:18:14,510 --> 01:18:18,000 kümeleridir gibi olan önceden yazılmış HTML kodu 1392 01:18:18,000 --> 01:18:20,720 ve değerler ekleyerek oluyor Belirli yerlere. 1393 01:18:20,720 --> 01:18:23,990 Bu nasıl zaman sizi CS50 Maliye gidin, 1394 01:18:23,990 --> 01:18:25,760 Aynı başlık her sayfada olduğunu. 1395 01:18:25,760 --> 01:18:28,130 Aynı altbilgi her sayfada olduğunu. 1396 01:18:28,130 --> 01:18:31,880 Bu arada nedeni işleri işlemek o olacak olan 1397 01:18:31,880 --> 01:18:36,720 otomatik olarak bu başlığında yama ve Eğer görünümler bulabilirsiniz görüntüleyici. 1398 01:18:36,720 --> 01:18:41,400 >> Biz aslında başlık içine gidin ve olabilir bak, bir kafa bir HTML dosyası var. 1399 01:18:41,400 --> 01:18:43,280 Bazı stil var. 1400 01:18:43,280 --> 01:18:48,450 Sen CSS bakmak gerekmez pset7 için size istemiyorsanız. 1401 01:18:48,450 --> 01:18:50,560 Ama değiştirebilirsiniz Onları isterseniz, yapmak 1402 01:18:50,560 --> 01:18:53,470 Finans biraz farklı görünüyor. 1403 01:18:53,470 --> 01:18:57,560 >> Bazı PHP içinde var Biraz görmek için başlık 1404 01:18:57,560 --> 01:19:01,240 Farklı bir başlık varsa Bu başlığında koymak gerekir. 1405 01:19:01,240 --> 01:19:04,300 Ama diğer bazı scriptler, ve bağlantıları ve diğer şeyler. 1406 01:19:04,300 --> 01:19:08,700 Baş ayy biter, vücut başlar ve, Bu garip küçük uç bit var. 1407 01:19:08,700 --> 01:19:14,730 Ve tıpkı bir div var elemanının şekilsiz tür 1408 01:19:14,730 --> 01:19:17,120 Bu orta bir fikri vardır. 1409 01:19:17,120 --> 01:19:22,450 >> Ve sonra biz, altbilgi görünce bir div uca sahiptir. 1410 01:19:22,450 --> 01:19:25,000 Biz olan bir taban vardır nerede altbilgi metindir. 1411 01:19:25,000 --> 01:19:26,770 Div, vücudun sonunda, HTML sonu sonu. 1412 01:19:26,770 --> 01:19:29,070 >> Peki hale olduğunu hale yapıyor tür 1413 01:19:29,070 --> 01:19:33,150 başlığını yama, bir Farklı PHP dosyası olduğunu 1414 01:19:33,150 --> 01:19:37,110 Gerçek şeyler içerecek Eğer hisse senedi masanıza gibi görüntülemek edeceğiz 1415 01:19:37,110 --> 01:19:39,690 Eğer hisse senedi satın alma ya da satıyoruz. 1416 01:19:39,690 --> 01:19:41,480 Ve sonra altbilgi ekleyeceğiz. 1417 01:19:41,480 --> 01:19:44,890 Ve model görünümü Kontrolör fikri biz ise 1418 01:19:44,890 --> 01:19:49,590 nasıl ayırmak istiyorum şeyler kodundan bak. 1419 01:19:49,590 --> 01:19:53,420 Biz önyüz ayırmak istiyoruz bulunuyor ve önyüz arka uç, nerede 1420 01:19:53,420 --> 01:20:00,440 kullanıcının gördüğü şeyler, güzel visuals-- HTML, CSS, bunun gibi şeyler, 1421 01:20:00,440 --> 01:20:02,320 görüntüler, vesaire. 1422 01:20:02,320 --> 01:20:05,780 Ve arka uç PHP. 1423 01:20:05,780 --> 01:20:07,710 Bu yazdığınız koddur. 1424 01:20:07,710 --> 01:20:10,240 Kod olduğunu budur Gerçek işlemleri yapıyor. 1425 01:20:10,240 --> 01:20:12,400 Eğer eklerken Bu masanıza stok, 1426 01:20:12,400 --> 01:20:14,890 ne zaman satın alıyoruz ve satış, o arka uç var. 1427 01:20:14,890 --> 01:20:20,210 >> Ve biz, gördüm gibi HTML doğrudan PHP dahil. 1428 01:20:20,210 --> 01:20:23,210 Biz yapmış olabilir Peki Bu atama sadece yaşamadım 1429 01:20:23,210 --> 01:20:26,200 login gibi her sayfa için bir HTML dosyası. 1430 01:20:26,200 --> 01:20:30,260 Ve sonra bu sayfada, sadece PHP kod büyük bir blok vardı 1431 01:20:30,260 --> 01:20:33,822 kod dahil olmak üzere tüm bu Bu sayfa, özellikle gerekir. 1432 01:20:33,822 --> 01:20:35,780 Ve sonra olabilir portföyüne done that. 1433 01:20:35,780 --> 01:20:40,250 Biz satın alma tüm yapmış olabilir ve tek tek sayfaları içinde satmaktadır. 1434 01:20:40,250 --> 01:20:43,680 >> Ama biz render çünkü ayrı yerden 1435 01:20:43,680 --> 01:20:46,660 Biz arka uç yazıyoruz Kod, biz kolayca yapabilirsiniz 1436 01:20:46,660 --> 01:20:52,660 şeyler olmadan nasıl bakmak değiştirmek her dosya değiştirme. 1437 01:20:52,660 --> 01:20:55,460 Biz bunu sadece eklemek gibi şeyler alt yeni div 1438 01:20:55,460 --> 01:21:00,720 Merhaba of-- Ben altbilgi güncellenmiştir. 1439 01:21:00,720 --> 01:21:03,710 Sadece böyle şeyler yapabilir. 1440 01:21:03,710 --> 01:21:07,250 Ama aynı zamanda, siz değiştirebilirsiniz Tüm görsel düzeni 1441 01:21:07,250 --> 01:21:09,290 etkilemeden ne backend gidiyor. 1442 01:21:09,290 --> 01:21:12,000 Ve değiştirebilirsiniz Tüm arka uç ve hala 1443 01:21:12,000 --> 01:21:13,900 o daha önce yaptığı gibi bakmak gerekir. 1444 01:21:13,900 --> 01:21:14,400 Bu 1445 01:21:14,400 --> 01:21:16,170 >> Model görünümü denetleyicisi fikirdir. 1446 01:21:16,170 --> 01:21:19,992 Ve aslında bir paradigma empoze programlama dilleri bazı 1447 01:21:19,992 --> 01:21:21,700 Eğer kullanmak isteyebilirsiniz Nihai projeler için. 1448 01:21:21,700 --> 01:21:25,100 IOS geliştirme yaparsanız, Onlar manzarasına sahiptir, 1449 01:21:25,100 --> 01:21:29,120 iPhone'da görmek ve ne olduğu Daha sonra ayrı bir şey gibi arkayüz. 1450 01:21:29,120 --> 01:21:31,260 >> Sen biraz düşünmek olabilir. 1451 01:21:31,260 --> 01:21:35,190 Ikili bir sürü içinde var komik bilgisayar bilimi, 1452 01:21:35,190 --> 01:21:37,270 Her şey ikili çünkü. 1453 01:21:37,270 --> 01:21:38,550 Bunu planı yoktu. 1454 01:21:38,550 --> 01:21:41,590 Bu bir kelime oyunu istenmeyen oldu. 1455 01:21:41,590 --> 01:21:43,860 Evet, cinas amaçlanan değil. 1456 01:21:43,860 --> 01:21:49,070 >> Ama .h dosyaları ve .c dosyaları gibi, var şeylerin ayıran bir çok biz 1457 01:21:49,070 --> 01:21:49,900 gerekmeyebilir. 1458 01:21:49,900 --> 01:21:54,330 Yani biz sadece h dosyalarını düzenlemek, ya da Birisi sadece .h dosyasına bakın ve biliyorsunuz 1459 01:21:54,330 --> 01:21:57,650 içinde tam olarak işlev mutlaka bilmeden .c dosyası 1460 01:21:57,650 --> 01:21:58,870 bunların uygulanması. 1461 01:21:58,870 --> 01:22:02,800 Ayırma bileşenleri Bu fikir birbirine bağımlı olduğunu 1462 01:22:02,800 --> 01:22:06,990 ama çeşit birbirini erişebilirsiniz Farklı kanallardan, geçen 1463 01:22:06,990 --> 01:22:09,310 değişkenlerin, sadece tablolar, şeyleri içerir 1464 01:22:09,310 --> 01:22:14,440 bunun gibi, bu ilke uygulamaları oluşturmak için yardımcı olur 1465 01:22:14,440 --> 01:22:17,080 bu daha kolay olabilir, birden fazla kişi tarafından düzenlendi, 1466 01:22:17,080 --> 01:22:20,440 daha kolay değiştirilebilir ya da büyük bir ölçekte, modifiye 1467 01:22:20,440 --> 01:22:24,880 ve daha kolay yollar bir sürü hata ayıklama. 1468 01:22:24,880 --> 01:22:28,254 >> Gerçekten hızlı, ben pset7 için birkaç ipucu, 1469 01:22:28,254 --> 01:22:31,420 ki ben tam ekran size yüzden yapacağız Sadece Şeyin ucu ucu Tippee bakıyor. 1470 01:22:31,420 --> 01:22:33,964 1471 01:22:33,964 --> 01:22:35,130 Birçok ipucu yoktur. 1472 01:22:35,130 --> 01:22:38,060 >> Ama PHP ayıklama zor bahsettiniz. 1473 01:22:38,060 --> 01:22:39,290 Kontrol İkili ve üçlü. 1474 01:22:39,290 --> 01:22:41,550 Kodunuzu sadece değilse sayfada gösteren 1475 01:22:41,550 --> 01:22:46,240 üzgünüm, muhtemelen bir PHP hatası var. 1476 01:22:46,240 --> 01:22:48,570 >> Sen bakmak gerekiyor asla CSS için istemiyorsanız. 1477 01:22:48,570 --> 01:22:52,150 İşiniz bittiğinde Ama bir kez bu olabilir Güzel bir küçük eğlenceli bir şey, sadece gitmek 1478 01:22:52,150 --> 01:22:54,770 ve CSS parametreleri ile karışıklık. 1479 01:22:54,770 --> 01:22:58,700 CSS ve HTML bir model bir örnektir görünümü denetleyicisi tarzı bir şey de, değil mi? 1480 01:22:58,700 --> 01:23:02,150 Sen stil etiketleri olabilir HTML öğelerinin içinde. 1481 01:23:02,150 --> 01:23:04,800 Ama eğer nevi CSS onları dış kaynak, 1482 01:23:04,800 --> 01:23:08,180 onlar düzenlemek daha kolaydır, ve oyun etrafında olan ve eğlenin. 1483 01:23:08,180 --> 01:23:10,816 >> CS50 yardımcı davranın siyah kutular olarak işlev görür. 1484 01:23:10,816 --> 01:23:12,940 Biliyorsunuz gerek yok Tam olarak ne yapıyor, render 1485 01:23:12,940 --> 01:23:16,770 ama her zaman doğru yapmak için güven Eğer onu geçmek ne bağlı bir şey, 1486 01:23:16,770 --> 01:23:17,690 Bu gibi şeyler. 1487 01:23:17,690 --> 01:23:21,040 Ve ben tavsiye ederim David'in örneklerde izlerken, 1488 01:23:21,040 --> 01:23:24,490 geçiyor tüm şeyler değil, sadece todos, 1489 01:23:24,490 --> 01:23:26,960 ama gerçekten tedavi edebilir Bu siyah kutular. 1490 01:23:26,960 --> 01:23:29,280 Bu girmeyiniz fonksiyonlar böcek arıyor. 1491 01:23:29,280 --> 01:23:33,510 >> Ve geri dönüşü hoş geldiniz Bizim derebeyi Zamyla evi. 1492 01:23:33,510 --> 01:23:34,010 Büyük. 1493 01:23:34,010 --> 01:23:40,430 >> Herhangi bir nihai soru önce var biz bir çeşit günü için sıçrama? 1494 01:23:40,430 --> 01:23:42,610 Hala yaşıyor muyum? 1495 01:23:42,610 --> 01:23:44,700 Büyük. 1496 01:23:44,700 --> 01:23:47,120 Merhaba livestream insanlar. 1497 01:23:47,120 --> 01:23:47,620 Büyük. 1498 01:23:47,620 --> 01:23:50,260 Sorular artık var mı? 1499 01:23:50,260 --> 01:23:50,760 Hayır mı? 1500 01:23:50,760 --> 01:23:52,884 >> Ve sonra biz olduğunu düşünüyorum Bugün için gitmek iyi. 1501 01:23:52,884 --> 01:23:55,550 Ben biraz etrafta sopa insanlar sorular vardı sonra eğer 1502 01:23:55,550 --> 01:23:57,480 Onlar akışta sormaya korktular. 1503 01:23:57,480 --> 01:23:59,790 Ama aksi takdirde, iyi günler. 1504 01:23:59,790 --> 01:24:01,933