1 00:00:00,000 --> 00:00:10,393 >> [เล่นเพลง] 2 00:00:10,393 --> 00:00:11,037 3 00:00:11,037 --> 00:00:12,120 เดวิดเจลัน: ทั้งหมดขวา 4 00:00:12,120 --> 00:00:12,830 สู่ขวัญ 5 00:00:12,830 --> 00:00:13,890 นี้เป็น CS50 6 00:00:13,890 --> 00:00:15,570 นี่คือจุดสิ้นสุดของสัปดาห์ที่ 8 7 00:00:15,570 --> 00:00:18,360 และในขณะที่คุณรู้ว่าเรามีความสวย เวลาทำงานปกติในไม่กี่ 8 00:00:18,360 --> 00:00:21,090 ของห้องอาหาร, รวมทั้ง Annenberg 9 00:00:21,090 --> 00:00:23,860 และบางส่วนของทีมที่ละเมียดละไม เอาภาพบางส่วนเมื่อเร็ว ๆ นี้ 10 00:00:23,860 --> 00:00:26,230 และเพื่อเป็นเกียรติแก่ วันฮาโลวีนเราคิดว่าเราควรที่จะ 11 00:00:26,230 --> 00:00:30,160 แบ่งปันหนึ่งที่ค่อนข้างติดเรา แปลกใจที่นี่ใน Annenberg ฮอลล์เพียง 12 00:00:30,160 --> 00:00:31,490 คืนอื่น ๆ 13 00:00:31,490 --> 00:00:36,300 เพื่อนร่วมชั้นของคุณจาค็อบถ่าย ภาพนี้ แต่ก็สนุกมากขึ้น 14 00:00:36,300 --> 00:00:39,760 อยู่บน Facebook, ลีสซิ่ง การสนทนาที่เกิดขึ้นหลังจากนั้น 15 00:00:39,760 --> 00:00:43,020 >> โพสต์ครั้งแรกของเขาในการตอบสนอง ภาพของเขาเป็นแบบนี้ 16 00:00:43,020 --> 00:00:46,740 ไม่กี่นาทีต่อมาเขาตัดสินใจ หนึ่งขึ้นกับตัวเองนี้ 17 00:00:46,740 --> 00:00:53,800 ดังต่อไปนี้จากนั้นจะไปที่นี้ แล้วยิ่งตลก 18 00:00:53,800 --> 00:00:55,320 คือเมื่อแม่ของเขา chimed ใน 19 00:00:55,320 --> 00:00:59,240 20 00:00:59,240 --> 00:01:01,800 และแล้วในที่สุด ดูเหมือนว่านี้เป็นเพียง 21 00:01:01,800 --> 00:01:04,860 อุบายที่ยอดเยี่ยมสำหรับ เล่นที่เกิดขึ้น 22 00:01:04,860 --> 00:01:07,080 >> ดังนั้นถ้าคุณต้องการ เพื่อดูจาค็อบและอื่น ๆ 23 00:01:07,080 --> 00:01:10,880 ในหมู่พวกเขาซินเทียเม้งที่เป็น เบื้องหลังของพนักงานโซน CS50, 24 00:01:10,880 --> 00:01:13,970 มุ่งหน้าไปยัง URL นี้และการเล่นที่นี่ 25 00:01:13,970 --> 00:01:18,810 โดยไม่ต้องกังวลใจต่อไปในวันนี้เรา ยังคงดูที่การเขียนโปรแกรมเว็บนี้ 26 00:01:18,810 --> 00:01:21,810 และการสร้างที่เกิดขึ้นจริงของโปรแกรม ที่ไม่ได้ทำงานที่บรรทัดคำสั่งของคุณ 27 00:01:21,810 --> 00:01:24,080 แต่แทนที่จะทำงานภายในของเบราว์เซอร์ 28 00:01:24,080 --> 00:01:26,320 >> น่าจะตอนนี้หรือมาก ในไม่ช้าคุณจะ 29 00:01:26,320 --> 00:01:30,200 ที่จะอยู่ในท่ามกลางของการดำเนินการ เว็บเซิร์ฟเวอร์ของคุณเองซึ่ง 30 00:01:30,200 --> 00:01:31,700 จะแตกต่างจากการเขียนโปรแกรมเว็บ 31 00:01:31,700 --> 00:01:36,210 เว็บเซิร์ฟเวอร์ใน pset6 เป็นข้อมูลเกี่ยวกับ การเขียนซอฟแวร์ที่รู้วิธีที่จะใช้ 32 00:01:36,210 --> 00:01:39,300 ร้องขอ HTTP จากเบราว์เซอร์ หรือแม้กระทั่งจากคุณมนุษย์ 33 00:01:39,300 --> 00:01:42,340 กับโปรแกรมที่เรียกว่า Telnet และ แล้วตอบสนองต่อการร้องขอของผู้ใด 34 00:01:42,340 --> 00:01:48,600 โดยคายออกไฟล์ HTML หรือ JPEG หรือ GIF หรือแม้กระทั่งไฟล์ .php 35 00:01:48,600 --> 00:01:52,490 >> แต่กับเว็บเซิร์ฟเวอร์ก็ไม่ได้ ควรจะเพียงแค่เปิดไฟล์ PHP, 36 00:01:52,490 --> 00:01:55,260 สิ่งที่สิ้นสุดใน .php และ แล้วคายออกเนื้อหา 37 00:01:55,260 --> 00:01:58,440 มันควรจะทำ สิ่งที่ไปยังไฟล์ที่ครั้งแรก? 38 00:01:58,440 --> 00:01:59,390 จึงจะพูด 39 00:01:59,390 --> 00:02:04,060 ไม่ได้คอมไพล์นั้นเรากล่าวว่าในวันจันทร์ที่ แต่ rather-- ดังนั้นตีความว่า 40 00:02:04,060 --> 00:02:08,070 >> PHP เป็นภาษาตีความและอื่น ๆ หนึ่งในคุณสมบัติที่สำคัญในเว็บของคุณ 41 00:02:08,070 --> 00:02:11,550 เซิร์ฟเวอร์แม้จะดำเนินการโดยเรา คือความสามารถของเว็บเซิร์ฟเวอร์ของคุณนี้ 42 00:02:11,550 --> 00:02:12,490 จะแจ้งให้ทราบล่วงหน้าโอ้ 43 00:02:12,490 --> 00:02:14,580 นี้เป็นไฟล์ที่ลงท้ายด้วย .php 44 00:02:14,580 --> 00:02:17,970 ผมขอไม่เพียงส่งไปยัง ผู้ใช้เหมือนมันเป็นเนื้อหาแบบคงที่ 45 00:02:17,970 --> 00:02:20,970 แต่ให้ฉันอ่านมันเส้น เส้นซ้ายไปขวาและตีความมัน 46 00:02:20,970 --> 00:02:23,030 >> และจะทำอย่างไรที่คุณ ผู้ชายจะเป็นหลัก 47 00:02:23,030 --> 00:02:26,520 ม้าไปยังโปรแกรมในเครื่อง, และจำนวนมากของระบบคอมพิวเตอร์ 48 00:02:26,520 --> 00:02:27,500 เรียกว่าเพียงแค่ PHP 49 00:02:27,500 --> 00:02:30,579 นั่นคือชื่อของ PHP ล่ามภาษาของตัวเอง 50 00:02:30,579 --> 00:02:33,120 ดังนั้นชิ้นที่เราใช้สำหรับ คุณและสิ่งที่เหลือสำหรับคุณ 51 00:02:33,120 --> 00:02:35,240 ท้ายที่สุดคือจำนวน ของชิ้นส่วนในระหว่างที่ 52 00:02:35,240 --> 00:02:37,960 มีการดำเนินการสนับสนุน สำหรับเนื้อหาแบบคงที่ 53 00:02:37,960 --> 00:02:40,180 >> แต่ตอนนี้และมี ปัญหาตั้งเจ็ดคุณ 54 00:02:40,180 --> 00:02:43,660 จะเริ่มเปลี่ยนไป จริงการเขียนโค้ด PHP 55 00:02:43,660 --> 00:02:45,970 ที่ได้รับการตีความ ในการพูดคุยกับปลายด้านหลัง 56 00:02:45,970 --> 00:02:47,960 ฐานข้อมูลที่เก็บข้อมูล 57 00:02:47,960 --> 00:02:51,020 จึงขอทำความเข้าใจก่อน คู่ของ superglobals เหล่านี้ 58 00:02:51,020 --> 00:02:53,720 และเพียงแค่ว่าอำนาจคุณมาก ได้รับการออกจากกล่องฟรี 59 00:02:53,720 --> 00:02:55,250 กับภาษาเช่น PHP 60 00:02:55,250 --> 00:02:57,350 สิ่งที่คุณจะได้ไม่ต้อง ในการดำเนินการด้วยตัวคุณเอง 61 00:02:57,350 --> 00:03:01,700 >> ดังนั้นที่เราเห็นในวันจันทร์ที่ $ _GET, ซึ่งเป็น superglobal, 62 00:03:01,700 --> 00:03:05,496 ซึ่งเป็นเพียงการพูดสำหรับ PHP ทั่วโลก ตัวแปรที่คุณสามารถเข้าถึงได้ทุกที่ 63 00:03:05,496 --> 00:03:06,620 และสิ่งที่อยู่ภายในของ $ _GET? 64 00:03:06,620 --> 00:03:09,930 65 00:03:09,930 --> 00:03:12,110 สิ่งที่อยู่ภายในนี้ superglobal ที่เราเห็น? 66 00:03:12,110 --> 00:03:15,900 67 00:03:15,900 --> 00:03:19,020 สถิติที่แน่นอน อย่างน้อยหนึ่งคนที่รู้ว่า 68 00:03:19,020 --> 00:03:21,590 สิ่งที่อยู่ภายในของ $ _GET? 69 00:03:21,590 --> 00:03:22,426 ใช่? 70 00:03:22,426 --> 00:03:24,130 >> ผู้ชม: มันเป็นตัวแปร ที่คุณใส่ในสตริงการสืบค้น 71 00:03:24,130 --> 00:03:24,530 >> เดวิดเจลันเพอร์เฟ 72 00:03:24,530 --> 00:03:26,488 มันเป็นตัวแปรคุณ ใส่ในสตริงการสืบค้น 73 00:03:26,488 --> 00:03:29,910 ดังนั้นในตัวอย่างเก่าของเรา reimplementing Google เมื่อเรามี 74 00:03:29,910 --> 00:03:34,130 URL แล้วเครื่องหมายคำถาม, ซึ่ง demarcates เริ่มต้นของ HTTP 75 00:03:34,130 --> 00:03:37,950 พารามิเตอร์แล้วเรามีคิวเท่ากัน บางสิ่งบางอย่างเช่น Q เท่ากับแมว 76 00:03:37,950 --> 00:03:41,500 สิ่งที่จะไปโดยอัตโนมัติภายใน ที่ $ _GET ซุปเปอร์ทั่วโลกสำหรับคุณ 77 00:03:41,500 --> 00:03:47,430 เพราะของ PHP เป็นกุญแจสำคัญของ Q, และค่าดังกล่าวของแมว 78 00:03:47,430 --> 00:03:51,250 >> ในคำอื่น ๆ , $ _GET และทุก สิ่งเหล่านี้จะเชื่อมโยงอาร์เรย์ 79 00:03:51,250 --> 00:03:54,530 ตารางแฮชแปลก ๆ ว่า คีย์และค่าจัดเก็บ 80 00:03:54,530 --> 00:03:57,980 ตอนนี้กลับมาอยู่ใน pset5, กัญชา ตารางที่คุณอาจจะมีการดำเนินการ 81 00:03:57,980 --> 00:04:00,220 หรือคุณอาจจะพยายาม ได้ดำเนินการจริงๆ 82 00:04:00,220 --> 00:04:04,010 เป็นผลเชื่อมโยง อาร์เรย์โครงสร้างข้อมูล 83 00:04:04,010 --> 00:04:07,220 โดยคุณสามารถเชื่อมโยง คีย์ที่มีค่า 84 00:04:07,220 --> 00:04:09,690 >> แต่ใน pset5 ค่าได้เล็กน้อย 85 00:04:09,690 --> 00:04:12,430 มูลค่าเป็นความจริงเป็นหลักหรือเท็จ 86 00:04:12,430 --> 00:04:13,900 เป็นคำในพจนานุกรมหรือไม่ 87 00:04:13,900 --> 00:04:18,279 ดังนั้นเมื่อคุณ hashed คำเช่นแอปเปิ้ล เพื่อดูว่าแอปเปิ้ลอยู่ในพจนานุกรม 88 00:04:18,279 --> 00:04:21,820 ฟังก์ชั่นการตรวจสอบของคุณน่าจะ กลับมาจริงหรือเท็จ 89 00:04:21,820 --> 00:04:24,120 ดังนั้นที่มีประสิทธิภาพ ค่าที่เราได้รับกลับมา 90 00:04:24,120 --> 00:04:26,456 >> แต่ที่เราเห็นในวันจันทร์ที่ สั้น ๆ ที่คุณสามารถอย่างแน่นอน 91 00:04:26,456 --> 00:04:28,830 เชื่อมโยงที่น่าสนใจมากขึ้น ค่ากว่าเพียงแค่จริงหรือเท็จ 92 00:04:28,830 --> 00:04:30,790 ด้วยปุ่มเช่นแอปเปิ้ล 93 00:04:30,790 --> 00:04:33,909 คุณจริงจะกลับมา สตริงโดยพลการและแน่นอน 94 00:04:33,909 --> 00:04:36,200 นั่นคือสิ่งที่ $ _GET และสิ่งเหล่านี้ ตัวแปรอื่น ๆ ช่วยให้คุณทำ 95 00:04:36,200 --> 00:04:40,595 >> ดังนั้น $ _POST จะคล้ายกันในจิตวิญญาณ แต่ถ้าคุณส่งแบบฟอร์มผ่านการโพสต์ 96 00:04:40,595 --> 00:04:44,490 วิธี HTTP ที่แตกต่างกันที่ ใช้สำหรับสิ่งที่ต้องการบัตรเครดิต 97 00:04:44,490 --> 00:04:48,410 และข้อมูลส่วนตัวและแม้กระทั่ง ข้อมูลไบนารีเช่นภาพถ่าย, 98 00:04:48,410 --> 00:04:51,840 สิ่งเหล่านั้นจะจบลงภายในของ $ _POST 99 00:04:51,840 --> 00:04:53,770 และที่จริงสำหรับไฟล์ เช่น JPEGs และ whatnot, 100 00:04:53,770 --> 00:04:58,290 มีแม้กระทั่งอื่นที่ไม่ ที่นี่เรียกว่า $ _FILES เช่นกัน 101 00:04:58,290 --> 00:05:01,280 >> ดังนั้นเซิร์ฟเวอร์เราจะไม่อาศัยอยู่บนเกินไป มาก แต่ก็ช่วยให้คุณเข้าถึง 102 00:05:01,280 --> 00:05:04,860 การเรียงลำดับของรายละเอียดเกี่ยวกับระดับที่ต่ำกว่า เซิร์ฟเวอร์ของตัวเองว่าคุณกำลังใช้ 103 00:05:04,860 --> 00:05:07,430 คุกกี้และเซสชั่นแม้ว่า เราได้อย่างมีประสิทธิภาพจะเห็นตอนนี้ 104 00:05:07,430 --> 00:05:10,940 สุดท้ายคือสิ่งที่เราใช้ในการดำเนินการ ความคิดของตะกร้าช้อปปิ้ง 105 00:05:10,940 --> 00:05:14,480 หนึ่งง่ายสุด แต่เรียก ว่าเรามีตัวอย่างนี้ที่นี่ 106 00:05:14,480 --> 00:05:17,640 นับจำนวนครั้งที่คุณ ได้เข้าเยี่ยมชมหน้านี้ก่อน 107 00:05:17,640 --> 00:05:20,850 >> แต่วันนี้มากกว่าแค่มองไปที่ ผลของการนี​​้ให้เปิดขึ้น 108 00:05:20,850 --> 00:05:22,640 Chrome ของสารวัตร ซึ่งคุณสามารถที่จะ 109 00:05:22,640 --> 00:05:25,740 ทำโดยการคลิกหรือการควบคุมที่เหมาะสม คลิกที่ใดก็ได้บนหน้าเว็บ, 110 00:05:25,740 --> 00:05:27,250 และจากนั้นเลือกตรวจสอบองค์ประกอบ 111 00:05:27,250 --> 00:05:31,600 หรือคุณสามารถไปผ่านเมนู ที่เราจะอธิบายในข้อมูลจำเพาะของ pset6 112 00:05:31,600 --> 00:05:35,020 และฉันจะแท็บเครือข่าย ที่นี่และขอดูสักครู่ 113 00:05:35,020 --> 00:05:37,590 การจราจร HTTP ที่เป็น จะกลับมา 114 00:05:37,590 --> 00:05:40,929 >> ก่อนอื่นผมขอไปข้างหน้า และชัดเจนแคช Chrome ได้ 115 00:05:40,929 --> 00:05:43,470 ดังนั้นบางส่วนของคุณอาจจะคุ้นเคย ด้วยเทคนิคนี้อยู่แล้ว 116 00:05:43,470 --> 00:05:45,790 และเรากำลังจะใช้มัน เพื่อวัตถุประสงค์ในการแก้จุดบกพร่องที่นี่ 117 00:05:45,790 --> 00:05:48,890 118 00:05:48,890 --> 00:05:50,890 ตอนนี้เราเป็นคอมพิวเตอร์ นักวิทยาศาสตร์กำลังจะเริ่มต้น 119 00:05:50,890 --> 00:05:53,920 ทำเช่นนี้เพื่อแก้จุดบกพร่อง วัตถุประสงค์โดย 120 00:05:53,920 --> 00:05:55,910 เราจะล้างแคช, โดยปกติเพื่อให้เรา 121 00:05:55,910 --> 00:05:57,670 สามารถกำจัดสิ่งที่เรียกว่าคุกกี้ 122 00:05:57,670 --> 00:06:01,700 ดังนั้นคุณอาจคุ้นเคยโดยทั่วไป กับสิ่งที่ทำอยู่หรืออย่างน้อย 123 00:06:01,700 --> 00:06:04,370 ว่าพวกเขาอยู่ แต่สิ่งที่ ความเข้าใจของพวกเขาของคุณ 124 00:06:04,370 --> 00:06:06,920 เช่นเดียวกับผู้ใช้ คอมพิวเตอร์คืออะไรคุกกี้? 125 00:06:06,920 --> 00:06:09,490 126 00:06:09,490 --> 00:06:09,990 ใช่ 127 00:06:09,990 --> 00:06:14,391 >> ผู้ชม: เป็นบิตเอ่อไม่ บิตในระยะของวิทยาการคอมพิวเตอร์ 128 00:06:14,391 --> 00:06:18,303 มันเป็นชิ้นส่วนของข้อมูลที่ ส่งไปยังเว็บไซต์ของคุณในการสั่งซื้อ 129 00:06:18,303 --> 00:06:20,209 เพื่อให้สามารถที่จะบันทึกสถิติเกี่ยวกับคุณ 130 00:06:20,209 --> 00:06:21,250 เดวิดเจลัน: ตกลงที่ดี 131 00:06:21,250 --> 00:06:24,980 ดังนั้นจึงเป็นชิ้นส่วนของข้อมูลที่ เซิร์ฟเวอร์ทำให้คอมพิวเตอร์ของคุณ 132 00:06:24,980 --> 00:06:28,840 และขอพูดคุยมันก็ มากขึ้นก็เป็นเรื่องที่สำคัญ value-- ดี 133 00:06:28,840 --> 00:06:30,064 ที่ได้รับความแม่นยำมากขึ้น 134 00:06:30,064 --> 00:06:31,980 มันเป็นชิ้นส่วนของ ข้อมูลชิ้นส่วนของข้อมูล, 135 00:06:31,980 --> 00:06:34,430 ว่าเซิร์ฟเวอร์สามารถ ที่จะใส่ในคอมพิวเตอร์ของคุณ 136 00:06:34,430 --> 00:06:38,592 และบ่อยครั้งมากเซิร์ฟเวอร์ไม่ นี้เพื่อที่จะจำได้ว่าคุณเป็นใคร 137 00:06:38,592 --> 00:06:40,300 ดังนั้นสำหรับตัวอย่างเช่นการต่อรอง ที่คุณอาจ 138 00:06:40,300 --> 00:06:42,982 เข้าสู่เว็บไซต์เช่น Facebook, หรือ Gmail หรืออื่น ๆ มาก่อน 139 00:06:42,982 --> 00:06:44,940 และคุณเข้าสู่ระบบด้วยของคุณ ชื่อผู้ใช้และรหัสผ่าน 140 00:06:44,940 --> 00:06:49,000 แล้วหลังจากนั้นสำหรับจำนวนบางส่วน นาทีหรือชั่วโมงหรือแม้กระทั่งวัน, 141 00:06:49,000 --> 00:06:52,970 เซิร์ฟเวอร์จำได้ว่า คุณกำลังในความเป็นจริงเข้าสู่ระบบ 142 00:06:52,970 --> 00:06:54,600 ตอนนี้วิธีการที่เกิดขึ้นจริง? 143 00:06:54,600 --> 00:06:58,630 เพราะคุณอย่างแน่นอนไม่จำเป็นต้องพิมพ์ ชื่อผู้ใช้และรหัสผ่านของคุณทุกครั้ง 144 00:06:58,630 --> 00:07:00,760 คุณนำทางไปยัง หน้าแตกต่างกันใน Facebook 145 00:07:00,760 --> 00:07:02,570 ดังนั้นมันจะเปิดออก คุกกี้คือคำตอบ 146 00:07:02,570 --> 00:07:05,360 >> คุกกี้ที่คุณสามารถคิดเป็น การจัดเรียงของชอบ, มือดิจิตอล 147 00:07:05,360 --> 00:07:09,200 แสตมป์ที่คุณอาจได้รับอย่างสนุก สวนสาธารณะหรือชมรมที่เป็นหลัก 148 00:07:09,200 --> 00:07:11,740 แสดงว่าคุณได้รับที่นี่ ก่อนและคุณได้อยู่แล้ว 149 00:07:11,740 --> 00:07:16,070 แสดง ID ของคุณที่จะโกหกเพื่อ เช่นและว่าสโมสรหรือสวนสาธารณะ 150 00:07:16,070 --> 00:07:19,050 ตอนนี้ควรจะคิดว่าคุณ ได้รับรองความถูกต้องแล้ว 151 00:07:19,050 --> 00:07:21,270 คุณได้รับการระบุไว้แล้วโดยมัน 152 00:07:21,270 --> 00:07:24,740 >> ดังนั้นด้วยที่ในใจ เรามาเปิดเคาน์เตอร์ที่นี่ 153 00:07:24,740 --> 00:07:27,220 ให้ฉันไปข้างหน้าผมก็ทำ และล้างทั้งหมดของคุกกี้ของฉัน 154 00:07:27,220 --> 00:07:29,970 และตอนนี้สิ่งที่ผมจะทำคือ แป้น Shift ค้างไว้เพียงสำหรับการวัดที่ดี 155 00:07:29,970 --> 00:07:31,740 และบังคับให้โหลดหน้าเว็บ 156 00:07:31,740 --> 00:07:34,170 เปลี่ยนเพียงให้แน่ใจว่า ไม่มีอะไรที่ได้รับการเก็บไว้ 157 00:07:34,170 --> 00:07:36,850 และนี่คือการร้องขอ ที่เดินกลับมา 158 00:07:36,850 --> 00:07:41,560 ดังนั้นกว่าที่นี่เรามีการร้องขอและให้ ฉันขยายลงที่นี่และจำนวนมากนี้ 159 00:07:41,560 --> 00:07:44,710 เป็นรายละเอียดการจัดเรียงของน่าทึ่งสำหรับ ตอนนี้ที่เบราว์เซอร์ได้โดยอัตโนมัติ 160 00:07:44,710 --> 00:07:47,800 ส่ง แต่ขอให้คลิกดู แหล่งที่มาจะเห็นส่วนหัวของดิบ 161 00:07:47,800 --> 00:07:51,700 >> และถ้าคุณได้ดำดิ่งลงไป pset6 แล้ว แน่นอนคุณจะได้รับรู้สิ่งที่ 162 00:07:51,700 --> 00:07:54,990 เช่นนี้และบางทีบาง ของสายอื่น ๆ เหล่านี้ที่นี่ 163 00:07:54,990 --> 00:07:59,040 แต่สิ่งที่น่าสนใจมากขึ้นสำหรับวันนี้ ถ้าผมเลื่อนลงมาไม่ได้ที่จะขอ 164 00:07:59,040 --> 00:08:02,870 แต่การตอบสนองที่เรียกว่า บรรทัดนี้อาจจะมีลักษณะที่คุ้นเคย 165 00:08:02,870 --> 00:08:04,977 นั่นเป็นสิ่งที่ดี เมื่อคุณเห็น 200 OK 166 00:08:04,977 --> 00:08:07,060 เห็นได้ชัดว่านี่คือ วันที่และเวลาบนเซิร์ฟเวอร์ 167 00:08:07,060 --> 00:08:08,268 และมีพวงของสิ่ง 168 00:08:08,268 --> 00:08:09,290 โอ้นี้เป็นที่น่าสนใจ 169 00:08:09,290 --> 00:08:13,430 >> จะเปิดออกเมื่อใดก็ตามที่คุณใช้ PHP, อย่างน้อยในเซิร์ฟเวอร์นี้ 170 00:08:13,430 --> 00:08:16,360 เซิร์ฟเวอร์ถ่มน้ำลายออกมาสิ่งที่ รุ่นของ PHP ที่คุณกำลังใช้ 171 00:08:16,360 --> 00:08:18,962 ซึ่งในความเป็นจริงสำหรับการรักษาความปลอดภัย จุดประสงค์ไม่ได้เป็นสิ่งที่ดี 172 00:08:18,962 --> 00:08:21,170 แต่เราจะกลับมาที่ บางเวลาอื่น ๆ อาจจะ 173 00:08:21,170 --> 00:08:25,740 แต่ตอนนี้เป็นสายฉ่ำในวันนี้ และในเวลาสั้น ๆ ที่เราเห็นบางส่วนของเหล่านี้ 174 00:08:25,740 --> 00:08:29,240 ผมคิดว่าด้วย Facebook เมื่อเราแหย่ ตรวจสอบรอบในเวลานั้น 175 00:08:29,240 --> 00:08:33,380 คุกกี้ชุดคือสิ่งที่ปลูก ชิ้นส่วนเล็ก ๆ ของข้อมูล 176 00:08:33,380 --> 00:08:34,890 ไปยังเครื่องคอมพิวเตอร์ของคุณ 177 00:08:34,890 --> 00:08:37,490 >> นี่คือส่วนหัว HTTP ที่มีประสิทธิภาพ 178 00:08:37,490 --> 00:08:39,970 บอกเบราว์เซอร์ของคุณ Chrome, IE, อะไรก็ตาม 179 00:08:39,970 --> 00:08:44,480 เฮ้เบราว์เซอร์ในการจัดเก็บของผู้ใช้ ฮาร์ดไดรฟ์หรือในหน่วยความจำของผู้ใช้ 180 00:08:44,480 --> 00:08:49,680 ที่สำคัญที่เรียกว่า PHPSESSID ซึ่งเป็น สัญกรณ์ชวเลขสำหรับ ID เซสชั่น, 181 00:08:49,680 --> 00:08:53,670 และให้ค่าเป็น 0vlk8t จุดจุดจุด 182 00:08:53,670 --> 00:08:56,480 หลอกนานจริงๆ สตริงตัวอักษรและตัวเลขแบบสุ่ม 183 00:08:56,480 --> 00:08:59,480 มันเป็นเพียงเป็นจำนวนมากจริงๆ แต่ จะเข้ารหัสกับตัวอักษรและตัวเลข 184 00:08:59,480 --> 00:09:03,550 เพื่อให้ขนาดของมันสามารถ แม้จะมีขนาดใหญ่กว่าตัวเลขเพียงอย่างเดียว 185 00:09:03,550 --> 00:09:06,947 และแล้วโดยวิธีการที่เส้นทาง = / ที่ ก็หมายความว่าคุกกี้นี้ควรจะเป็น 186 00:09:06,947 --> 00:09:08,780 ที่เกี่ยวข้องกับ ความสมบูรณ์ของเว็บไซต์ 187 00:09:08,780 --> 00:09:11,150 ไม่เพียงเฉพาะ หน้าสิ่งที่ทั้ง 188 00:09:11,150 --> 00:09:12,930 ดังนั้นนี่คือตราประทับมือที่เสมือน 189 00:09:12,930 --> 00:09:16,330 มันราวกับว่าเซิร์ฟเวอร์, Facebook, หรือในกรณีของเราเครื่องใช้ไฟฟ้า, 190 00:09:16,330 --> 00:09:21,140 มี 0vlk8t เขียนตัวอักษร และอื่น ๆ ในมือของคุณ 191 00:09:21,140 --> 00:09:24,360 สังเกตเห็นสิ่งที่เซิร์ฟเวอร์ของ ไม่ได้ทำมันไม่ได้ 192 00:09:24,360 --> 00:09:27,730 การจัดเก็บชื่อผู้ใช้ของฉันอย่างแน่นอน ไม่จัดเก็บรหัสผ่านของฉัน 193 00:09:27,730 --> 00:09:31,710 >> แต่มันดูเหมือนจะเป็น การจัดเก็บข้อมูลแบบสุ่มหลอก 194 00:09:31,710 --> 00:09:35,010 เพื่อให้ไม่มีใครสามารถคาดเดาได้ สิ่งที่ประทับมือของฉันคือ 195 00:09:35,010 --> 00:09:37,590 ในฝั่งเซิร์ฟเวอร์, ขณะที่เซิร์ฟเวอร์ 196 00:09:37,590 --> 00:09:40,370 จะไปจำได้ว่าอาจจะ ในฐานข้อมูลหรืออะไร 197 00:09:40,370 --> 00:09:46,490 ที่ผู้ใช้ที่อยู่ในอนาคต นำเสนอประทับมือของ 0vlk8t, จุด, 198 00:09:46,490 --> 00:09:51,440 จุดจุดควรจะเกี่ยวข้องกับเรื่องนี้ ตะกร้าช้อปปิ้งโดยเฉพาะอย่างยิ่งเพื่อที่จะพูด 199 00:09:51,440 --> 00:09:55,060 ในคำอื่น ๆ ถ้าฉันตอนนี้ไป กลับมาที่นี่และโหลดหน้าเว็บนี้ 200 00:09:55,060 --> 00:09:58,020 วิธีการที่ไม่ทราบว่าเซิร์ฟเวอร์ ที่ผมไปเยี่ยมครั้งหนึ่ง? 201 00:09:58,020 --> 00:10:01,730 >> หรือถ้าเราทำมันอีกครั้งไม่ว่าเซิร์ฟเวอร์ รู้ว่าผมเคยไปเยี่ยมมันสองครั้ง? 202 00:10:01,730 --> 00:10:04,680 ดีถ้าผมไปลงไปนี้ คำขอที่ผ่านมามากที่สุดซึ่ง 203 00:10:04,680 --> 00:10:09,150 ขณะนี้เป็นที่สามที่ผมได้ส่ง รวมแจ้งให้ทราบคำขอของฉันตอนนี้ 204 00:10:09,150 --> 00:10:11,300 ยังมีนี้ ขอขึ้นที่นี่เหมือนกัน 205 00:10:11,300 --> 00:10:15,040 เหมือนก่อนหน้านี้ยังคงมีทั้งกลุ่ม ของสิ่งที่เราสนใจเช่นเดิม 206 00:10:15,040 --> 00:10:19,350 แต่ส่วนหัวสุดท้ายนี้ เวลาเพราะผมอยู่ที่นี่มาก่อน 207 00:10:19,350 --> 00:10:21,980 เป็นการนำเสนอของ แสตมป์เสมือนมือนี้ 208 00:10:21,980 --> 00:10:28,957 >> โดยสายนี้ที่นี่ไม่ได้ตั้งค่าคุกกี้ แต่ลำไส้ใหญ่คุกกี้ PHPSESSI = 0vlk8t, 209 00:10:28,957 --> 00:10:32,040 นั่นเป็นเพียงเบราว์เซอร์ของฉันโดยอัตโนมัติ การนำเสนอของแสตมป์มือนี้เพื่อให้ 210 00:10:32,040 --> 00:10:37,910 ตอนนี้เซิร์ฟเวอร์ที่เร็วที่สุดเท่าที่จะตระหนักถึง, โอนี้เป็นผู้ใช้จุด 0vlk8t, จุด, จุด, 211 00:10:37,910 --> 00:10:42,010 ตอนนี้ผมสามารถจำที่เขาหรือเธอเป็น และสร้างความสัมพันธ์ให้กับผู้ใช้ว่าสิ่งที่ 212 00:10:42,010 --> 00:10:46,450 ข้อมูลที่ผมต้องการและทุก ข้อมูลที่สามารถเก็บไว้โดยคุณ 213 00:10:46,450 --> 00:10:50,130 โปรแกรมเมอร์ใน $ _SESSION 214 00:10:50,130 --> 00:10:57,170 >> ดังนั้นเพื่อให้มีความชัดเจนถ้าผมเปิดขึ้นจริงอย่างรวดเร็ว ใน Gedit ว่าไฟล์จริง counter.php, 215 00:10:57,170 --> 00:11:02,340 ในพื้นที่ท้องถิ่นไดเรกทอรีสาธารณะของฉัน ก่อนที่จะแจ้งให้ทราบว่าจริง 216 00:11:02,340 --> 00:11:06,860 ฉันในที่สุดการจัดเก็บใน $ _SESSION อ้าง unquote "โต้" 217 00:11:06,860 --> 00:11:10,110 ค่าของที่เคาน์เตอร์ก่อนหน้านี้ที่ ฉันได้รับจากบรรทัดเหล่านี้ขึ้นที่นี่ว่าเรา 218 00:11:10,110 --> 00:11:13,010 มองที่ครั้งสุดท้ายที่บวกหนึ่ง 219 00:11:13,010 --> 00:11:14,980 ดังนั้นภายใต้เครื่องดูดควัน, ที่คุกกี้ทั้งหมด 220 00:11:14,980 --> 00:11:17,563 มันเป็นเพียงการเรียงลำดับของดิจิตอล ประทับมือจะกลับมา 221 00:11:17,563 --> 00:11:20,450 และตรงไปตรงมาถ้าคุณเปิดโครเมี่ยม ตรวจสอบในเว็บไซต์ใด ๆ 222 00:11:20,450 --> 00:11:22,580 คุณเข้าเยี่ยมชมในวันนี้ด้วย สุดน่าจะเป็นสูง 223 00:11:22,580 --> 00:11:25,450 คุณกำลังจะไปดูบางทีหนึ่ง คุกกี้อาจจะครึ่งโหล 224 00:11:25,450 --> 00:11:26,650 ถูกจำได้ว่าคุณ 225 00:11:26,650 --> 00:11:29,500 >> และแย่ลงยังถ้าผู้ เว็บไซต์ที่คุณกำลังเยี่ยมชม 226 00:11:29,500 --> 00:11:32,640 ทุกคนมีการโฆษณาซึ่ง แน่นอนวันนี้บ่อย 227 00:11:32,640 --> 00:11:36,100 และหากโฆษณาเหล่านี้จะมา จากบุคคลกลางบางคน 228 00:11:36,100 --> 00:11:39,000 เช่น Google AdWords หรือที่พวกเขา เรียกหนึ่งของผลิตภัณฑ์ของตน 229 00:11:39,000 --> 00:11:42,880 หรือผู้ค้าอื่น ๆ ที่ ขายโฆษณาสิ่งที่น่าสนใจ 230 00:11:42,880 --> 00:11:46,510 และตรงไปตรงมาว่ามีอะไรเล็ก ๆ น้อย ๆ น่าเป็นห่วงเกี่ยวกับวิธีการทำงานของ HTTP, 231 00:11:46,510 --> 00:11:50,855 คือว่าถ้าคุณมีโฆษณาที่ฝังตัว ใน Facebook.com และ Google.com, 232 00:11:50,855 --> 00:11:54,240 และ Harvard.edu, หมายเลขใด ๆ ของเว็บไซต์จึงเป็นเช่น 233 00:11:54,240 --> 00:11:58,130 ว่ามีชายวัยกลางคนที่กำลังทำหน้าที่ ค่าโฆษณาสำหรับทั้งสามของเว็บไซต์เหล่านั้น 234 00:11:58,130 --> 00:12:02,110 ปรากฎว่า คุกกี้เป็นราคาต่อโดเมน 235 00:12:02,110 --> 00:12:05,910 >> ดังนั้นถ้าคุณมีโฆษณามาจาก บริษัท เดียวกันบนเว็บไซต์ที่แตกต่างกัน, 236 00:12:05,910 --> 00:12:11,140 บริษัท ที่มีประสิทธิภาพสามารถติดตามผู้ที่ คุณอยู่ในทุกเว็บไซต์เหล่านั้น 237 00:12:11,140 --> 00:12:13,140 ฮาร์วาร์อาจไม่ทราบ คุณกำลังเยี่ยมชม Facebook 238 00:12:13,140 --> 00:12:15,306 Facebook อาจไม่ทราบและ คุณกำลังเยี่ยมชมฮาร์วาร์ 239 00:12:15,306 --> 00:12:18,160 แต่บริการโฆษณาใด ๆ ก็ตาม พวกเขากำลังใช้ถ้าโดเมนที่เป็น 240 00:12:18,160 --> 00:12:21,710 ปัจจุบันทั้งในเว็บ Harvard.edu หน้าและหน้าเว็บ Facebook.com, 241 00:12:21,710 --> 00:12:26,850 ชายกลางแห่งนี้อย่างแน่นอนรู้ว่าคุณเป็นใคร เพราะคุกกี้เหล่านี้ถูกใช้ร่วมกัน 242 00:12:26,850 --> 00:12:30,910 ข้ามหรือมากกว่าไป ที่เรียกว่าพ่อค้าคนกลาง 243 00:12:30,910 --> 00:12:33,820 >> ดังนั้นเราจะกลับมาที่นี้ ผลกระทบการรักษาความปลอดภัยดังกล่าว 244 00:12:33,820 --> 00:12:37,170 แต่มีข้อมูลจำนวนมากที่เป็น ถูกเก็บไว้เกี่ยวกับคุณเวลาที่คุณ 245 00:12:37,170 --> 00:12:40,120 เยี่ยมชมหน้าเว็บมากที่สุดใด ๆ อินเทอร์เน็ตและมันจริงๆ 246 00:12:40,120 --> 00:12:42,877 ช่วยลดนี้กลไกที่ง่ายมาก 247 00:12:42,877 --> 00:12:44,710 จะเกิดอะไรขึ้นแล้วถ้า คุณซุปเปอร์หวาดระแวง 248 00:12:44,710 --> 00:12:48,190 และคุณตัดสินใจที่จะไปลงใน Chrome หรือ IE หรืออะไรก็ตามและปิดคุกกี้ของคุณ? 249 00:12:48,190 --> 00:12:49,365 เกิดอะไรขึ้น? 250 00:12:49,365 --> 00:12:50,790 ใช่? 251 00:12:50,790 --> 00:12:53,170 คุณทีี่จริงที่คุณได้ทำถูกต้องหรือไม่? 252 00:12:53,170 --> 00:12:54,350 ตกลง 253 00:12:54,350 --> 00:12:55,994 ไม่มีการไปข้างหน้า 254 00:12:55,994 --> 00:12:59,645 >> ผู้ชม: บางเว็บไซต์ไม่ได้ ฟังก์ชั่นโดยไม่ได้เช่น Facebook 255 00:12:59,645 --> 00:13:00,520 เดวิดเจลัน: ใช่! 256 00:13:00,520 --> 00:13:02,311 เว็บไซต์ดังนั้นบางอย่าง ก็จะหยุดทำงาน 257 00:13:02,311 --> 00:13:05,520 และในเว็บไซต์มากที่สุดวันนี้ ที่เป็นพื้นฐานพึ่งพาคุกกี้ 258 00:13:05,520 --> 00:13:08,360 โดยเฉพาะอย่างยิ่งถ้าพวกเขามีคุณเข้าสู่ระบบ ในพวกเขากำลังจะทำลาย 259 00:13:08,360 --> 00:13:10,360 เพราะพิจารณา ทางเลือกถ้าเว็บไซต์ 260 00:13:10,360 --> 00:13:14,480 มีวิธีการที่ไม่มีการจดจำว่าคุณเป็นใคร และดังนั้นจึงเว็บเบราว์เซอร์ของคุณไม่ได้ 261 00:13:14,480 --> 00:13:16,949 ที่เป็นตัวแทนของทุก HTTP คำขอของแสตมป์มือนี้ 262 00:13:16,949 --> 00:13:18,740 ได้อย่างมีประสิทธิภาพเว็บไซต์ เช่น Facebook ที่เกิดขึ้น 263 00:13:18,740 --> 00:13:22,050 ที่จะมีการแจ้งให้คุณ เข้าสู่ระบบในทุกครั้งที่สาป 264 00:13:22,050 --> 00:13:26,200 คุณเปลี่ยนหน้าหรือคลิกลิงค์ที่ แน่นอนไม่ใช่ผู้ใช้ที่ดีโดยเฉพาะอย่างยิ่ง 265 00:13:26,200 --> 00:13:26,920 ประสบการณ์ 266 00:13:26,920 --> 00:13:30,020 >> เพื่อให้มีมากเกินไปคือ ในการแข่งขันทางการค้า 267 00:13:30,020 --> 00:13:34,140 โดยไม่ต้องกังวลใจต่อไปลองมา เหมาว่ากับการเขียนโปรแกรมเว็บ 268 00:13:34,140 --> 00:13:37,630 ในภาษาเช่น PHP, คุณสามารถจำได้ ข้อมูลเช่นว่าในปัญหาการตั้งค่า 269 00:13:37,630 --> 00:13:41,550 เจ็ดเมื่อคุณใช้ของคุณเอง เว็บไซต์ E * การค้าเช่นเดียวกับที่จะซื้อ 270 00:13:41,550 --> 00:13:45,710 และขายหุ้นคุณจะจำได้ว่า สิ่งที่ผู้ใช้มีการซื้อและขาย 271 00:13:45,710 --> 00:13:49,110 และผู้ที่เขาหรือเธอเป็น โดยวิธีการของการประชุมครั้งนี้ 272 00:13:49,110 --> 00:13:51,110 แต่เรากำลังจะต้อง วิธีที่นักเล่นกว่าอีเมล์ 273 00:13:51,110 --> 00:13:52,640 ที่จะเริ่มต้นการเก็บรักษาข้อมูลรอบ 274 00:13:52,640 --> 00:13:53,140 ใช่มั้ย? 275 00:13:53,140 --> 00:13:56,780 >> ในวันจันทร์ที่เราได้พูดคุยเกี่ยวกับ Frosh IMs และวิธีการในรุ่นหนึ่งของเว็บไซต์นั้น 276 00:13:56,780 --> 00:14:00,250 ปีที่ผ่านมาทั้งหมดที่เราทำก็คือ อีเมลสอบว่ามีใคร 277 00:14:00,250 --> 00:14:04,250 ในความดูแลของกีฬาภายใน โปรแกรมชื่อและเพศ 278 00:14:04,250 --> 00:14:07,330 และหรือไม่พวกเขากำลังกัปตัน และหอพักของใครบางคนที่เป็น 279 00:14:07,330 --> 00:14:10,136 การลงทะเบียนสำหรับการเล่นกีฬาภายใน 280 00:14:10,136 --> 00:14:13,010 ดังนั้นจึงไม่เลวร้าย แต่เขาหรือเธอแล้ว มีการหมุนรอบผ่านทางอีเมลของพวกเขา 281 00:14:13,010 --> 00:14:16,010 ทำให้สเปรดชีทหรือสิ่งที่ต้องการ นั้นเพื่อให้ทุกอย่างจัด 282 00:14:16,010 --> 00:14:19,750 ดังนั้นแน่นอนเราเป็นโปรแกรมเมอร์ สามารถทำเช่นนี้สำหรับการสอบที่ 283 00:14:19,750 --> 00:14:22,970 และเพื่อให้เข้าใน SQL, Structured Query Language, 284 00:14:22,970 --> 00:14:26,050 ซึ่งจะดูสวย ที่แตกต่างกันทั้ง C และ PHP, 285 00:14:26,050 --> 00:14:30,990 และคุณจะดำน้ำในมือมากขึ้นใน PHP และปัญหาการตั้งเจ็ดคน แต่ยัง SQL, 286 00:14:30,990 --> 00:14:35,310 หรือ SQL นี้เป็นภาษาที่ คุณใช้ในการพูดคุยกับฐานข้อมูล 287 00:14:35,310 --> 00:14:36,480 >> แต่สิ่งที่เป็นฐานข้อมูลหรือไม่ 288 00:14:36,480 --> 00:14:38,440 ดีที่คุณคิดว่า ฐานข้อมูลอย่างน้อยสำหรับตอนนี้ 289 00:14:38,440 --> 00:14:41,750 เช่นเดียวกับการเป็นเช่นไฟล์ Excel หรือ ถ้าคุณเป็นแฟ้ม Mac หมายเลขผู้ใช้ 290 00:14:41,750 --> 00:14:44,400 หรือถ้าคุณเป็นผู้ใช้ Google Apps ผู้ใช้ Google สเปรดชีต 291 00:14:44,400 --> 00:14:49,120 มันได้อย่างมีประสิทธิภาพฐานข้อมูลหรือจริงๆ โดยเฉพาะฐานข้อมูลเชิงสัมพันธ์ 292 00:14:49,120 --> 00:14:53,070 ฐานข้อมูลเชิงสัมพันธ์เป็นเพียง สิ่งที่มีแถวและคอลัมน์ 293 00:14:53,070 --> 00:14:56,440 และคุณสามารถจัดเก็บชนิดของใด ๆ ข้อมูลในแถวหรือคอลัมน์เหล่านี้ 294 00:14:56,440 --> 00:15:00,480 >> แต่สิ่งที่ดีเกี่ยวกับ SQL และ เกี่ยวกับฐานข้อมูลที่เกิดขึ้นจริงไม่เพียง 295 00:15:00,480 --> 00:15:04,910 กระดาษคำนวณหรือ Google สเปรดชีต คือการที่คุณสามารถใช้ภาษา 296 00:15:04,910 --> 00:15:09,000 ที่จริงการดำเนินการสอบถามไปยัง ใส่ข้อมูลที่จะลบข้อมูล 297 00:15:09,000 --> 00:15:11,620 ที่จะมองหาข้อมูลได้ ที่สำคัญที่สุดและคุณ 298 00:15:11,620 --> 00:15:16,110 ไม่ได้มีการใช้อย่างเป็นธรรมด้วยตนเอง ที่คุณอาจจะ Google 299 00:15:16,110 --> 00:15:17,690 สเปรดชีตเช่นนี้ 300 00:15:17,690 --> 00:15:22,217 >> ดังนั้นใน SQL มีพวงของ งบพื้นฐานหรือชิ้นส่วน 301 00:15:22,217 --> 00:15:23,300 ของการทำงานที่สร้างขึ้นใน 302 00:15:23,300 --> 00:15:26,450 ยังมีอีกมากมายกว่านี้ แต่คุณสามารถไปไกลมาก 303 00:15:26,450 --> 00:15:28,620 เพียงแค่รู้ว่า ภาษานี้เรียกว่า 304 00:15:28,620 --> 00:15:30,840 SQL มีอย่างน้อยสี่ งบที่คุณสามารถใช้ประโยชน์จาก 305 00:15:30,840 --> 00:15:34,420 >> ลบสำหรับการลบข้อมูล แทรกสำหรับการเพิ่มแถว 306 00:15:34,420 --> 00:15:37,340 การปรับปรุงสำหรับการเปลี่ยน แถวและคัดเลือก 307 00:15:37,340 --> 00:15:39,860 สำหรับการกลับมาแถวและ นั่นคือสิ่งที่แน่นอน SQL ไม่ 308 00:15:39,860 --> 00:15:43,810 จะดำเนินการทั้งหมดในแถวเพื่อ ว่าเมื่อคุณแทรกหรือลบ 309 00:15:43,810 --> 00:15:47,470 หรือการปรับปรุงหรือเลือกสิ่งที่คุณกำลัง การกลับมาเป็นชุดผลที่เรียกว่า 310 00:15:47,470 --> 00:15:49,690 เช่นเดียวกับอาร์เรย์ของแถว 311 00:15:49,690 --> 00:15:51,700 พวงของแถวจากตาราง 312 00:15:51,700 --> 00:15:54,050 >> ดังนั้นกลับมาในวันที่ และแม้กระทั่งวันนี้ 313 00:15:54,050 --> 00:15:56,560 คุณสามารถโต้ตอบกับ ฐานข้อมูลโดยใช้บรรทัดคำสั่ง, 314 00:15:56,560 --> 00:15:59,691 แต่มันก็ไม่สนุกโดยเฉพาะอย่างยิ่งที่จะใช้ หน้าต่างแบบสีดำและสีขาว 315 00:15:59,691 --> 00:16:02,190 และที่จริงรันคำสั่ง และกระตุ้นรอบฐานข้อมูลของคุณ 316 00:16:02,190 --> 00:16:06,054 อินเตอร์เฟซผู้ใช้แบบกราฟิกหรือ GUI, เป็นอย่างมากที่นิยมมากขึ้นเนื้อหา 317 00:16:06,054 --> 00:16:08,970 และเพื่อให้เครื่องมือที่เราขอแนะนำและ ติดตั้งไว้แล้วสำหรับคุณบนตัวเครื่อง 318 00:16:08,970 --> 00:16:10,580 เรียกว่า phpMyAdmin 319 00:16:10,580 --> 00:16:14,060 มันเป็นความบังเอิญที่ทั้งหมด ชื่อของสิ่งนี้มี PHP ในนั้น 320 00:16:14,060 --> 00:16:17,430 มันก็หมายความว่าคน ผู้เขียนโปรแกรมนี้ตัวเอง 321 00:16:17,430 --> 00:16:18,670 เขียนใน PHP 322 00:16:18,670 --> 00:16:23,740 >> แต่มันเป็นเรื่องเกี่ยวกับการบริหารในที่สุด เซิร์ฟเวอร์ฐานข้อมูลเช่น MySQL เซิร์ฟเวอร์ 323 00:16:23,740 --> 00:16:26,589 ที่คุณอาจมีเป็นคุณ ทำในเครื่อง CS50 324 00:16:26,589 --> 00:16:29,130 เพื่อให้มีรายละเอียดมากขึ้นกว่าที่นี่ เราจำเป็นต้องดูแลเกี่ยวกับวันนี้ 325 00:16:29,130 --> 00:16:33,280 แต่สิ่งที่สำคัญคือทางด้านซ้าย ด้านซ้ายมือคือรายการของฐานข้อมูล 326 00:16:33,280 --> 00:16:36,040 ที่คุณมีในเครื่องคอมพิวเตอร์ของคุณ บนตัวเครื่อง CS50 ของคุณ 327 00:16:36,040 --> 00:16:40,090 หรือมาโครงการสุดท้ายที่คุณอาจ ที่มีต่อบุคคลที่สาม บริษัท ฯ 328 00:16:40,090 --> 00:16:43,415 เว็บไซต์หรือเว็บเซิร์ฟเวอร์ที่ คุณอาจจะจ่ายเงินสำหรับพื้นที่ 329 00:16:43,415 --> 00:16:45,290 ดังนั้นด้านซ้ายเป็น ฐานข้อมูลหนึ่งซึ่ง 330 00:16:45,290 --> 00:16:48,750 เป็น pset7 ซึ่งผมยืมมาจากต่อไป สัปดาห์ pset แล้วด้านบน 331 00:16:48,750 --> 00:16:51,570 มีแจ้งให้ทราบล่วงหน้ามี พวงของแท็บหนึ่งซึ่ง 332 00:16:51,570 --> 00:16:55,150 เป็นฐานข้อมูล SQL สถานะ, ผู้ส่งออกและอื่น ๆ 333 00:16:55,150 --> 00:16:56,900 เพื่อให้คุณสามารถไปนาน วิธีการเพียงแค่การตระหนักถึง 334 00:16:56,900 --> 00:16:59,770 ว่าส่วนใหญ่ของส่วนติดต่อผู้ใช้ อยู่ในคอลัมน์ซ้ายด้านบน 335 00:16:59,770 --> 00:17:02,650 และในส่วนบนขวาขึ้นอยู่ 336 00:17:02,650 --> 00:17:04,980 ดังนั้นสิ่งที่เราสามารถทำจริงกับเรื่องนี้? 337 00:17:04,980 --> 00:17:08,609 ดีขอเริ่มต้นสร้าง บิตของข้อมูลดังต่อไปนี้ 338 00:17:08,609 --> 00:17:11,760 >> สมมติว่าต่อไปนี้เป็นกรณีที่ ที่จะได้รับในเวลาเพียงไม่กี่วัน 339 00:17:11,760 --> 00:17:14,440 คุณต้องการที่จะดำเนินการ เว็บไซต์ที่เรียกว่า CS50 การคลัง 340 00:17:14,440 --> 00:17:17,328 และเว็บไซต์นี้จะช่วยให้คุณซื้อ อ้าง unquote และขายหุ้น 341 00:17:17,328 --> 00:17:19,619 และมันจะคิดออก ราคาของหุ้นเหล่านั้น 342 00:17:19,619 --> 00:17:22,380 ที่สุดเท่าที่คุณจะเห็น โดยพูดคุยกับกองทุนการเงินระหว่างประเทศ 343 00:17:22,380 --> 00:17:26,250 ที่เยี่ยมยอดมีบริการฟรี โดยคุณสามารถส่งในราคาหุ้น 344 00:17:26,250 --> 00:17:29,830 เช่น GOOG สำหรับ Google และจะ ให้คุณกลับหุ้นปัจจุบันของ Google 345 00:17:29,830 --> 00:17:32,250 ราคาในอดีตที่ผ่านมา ไม่กี่นาทีอย่างน้อย 346 00:17:32,250 --> 00:17:35,080 >> ดังนั้นคุณจะใช้มันในที่สุด เพื่อหลอกให้ผู้ใช้ 347 00:17:35,080 --> 00:17:37,750 การซื้อและขายที่เกิดขึ้นจริง หุ้นใช้เงินเสมือน 348 00:17:37,750 --> 00:17:39,750 แต่สิ่งแรกที่ ผู้ใช้จะเห็น 349 00:17:39,750 --> 00:17:43,850 เป็นหน้าจอเข้าสู่ระบบนี้ที่ถาม ชื่อผู้ใช้และรหัสผ่านของพวกเขา 350 00:17:43,850 --> 00:17:46,540 และเพื่อให้คนแรก ความท้าทายสำหรับคุณใน pset7 351 00:17:46,540 --> 00:17:50,460 เป็นไปได้ที่จะใช้ปลายด้านหลัง ฐานข้อมูลสเปรดชีตถ้าคุณจะ, 352 00:17:50,460 --> 00:17:53,369 ที่จะจัดเก็บ ชื่อผู้ใช้และรหัสผ่าน 353 00:17:53,369 --> 00:17:56,660 และในที่สุดสิ่งที่พวกเขาเป็นเจ้าของหุ้นและ หลายวิธีและวิธีการมากเงินสดที่พวกเขามี 354 00:17:56,660 --> 00:18:00,110 เพื่อให้พวงของสิ่งอื่น ๆ ใน ตารางอื่น ๆ หรือสเปรดชีท 355 00:18:00,110 --> 00:18:05,020 >> ดังนั้นลองมาดูที่วิธีการนี​​้ อาจจะปรากฏได้อย่างรวดเร็วก่อน 356 00:18:05,020 --> 00:18:06,980 ฉันจะกลับไป เครื่องใช้และฉัน 357 00:18:06,980 --> 00:18:14,102 จะไปที่ URL นี้ที่นี่ phpMyAdmin localhost / phpMyAdmin 358 00:18:14,102 --> 00:18:16,060 และคุณจะเห็นว่ามัน ฉันจะใช้เวลากับอินเตอร์เฟซ 359 00:18:16,060 --> 00:18:18,520 ตรงตามที่เราเห็นใน ยิงหน้าจอและที่นี่ฉัน 360 00:18:18,520 --> 00:18:21,560 มีฐานข้อมูลเพิ่มเติม ที่เรียกว่าการบรรยายสำหรับวันนี้ 361 00:18:21,560 --> 00:18:24,280 และแจ้งให้เราไปข้างหน้า ครั้งแรกและคลิกที่ pset7 362 00:18:24,280 --> 00:18:27,940 >> ฉันดูเหมือนจะมีสองตัวเลือก, หนึ่งใหม่สำหรับการสร้างตารางใหม่ 363 00:18:27,940 --> 00:18:30,770 และเชื่อมโยงกับผู้ใช้ซึ่ง เป็นตารางที่ผมสร้างไว้แล้ว 364 00:18:30,770 --> 00:18:31,790 ดังนั้นสิ่งที่โต๊ะ? 365 00:18:31,790 --> 00:18:33,740 ดังนั้นถ้าคุณใช้ Excel ก่อนและถ้าคุณได้ 366 00:18:33,740 --> 00:18:37,110 หมายเลขที่ใช้หรือ Google Spreadsheets คุณเปิดหน้าต่าง 367 00:18:37,110 --> 00:18:39,350 และคุณจะได้รับทั้งกลุ่ม ของแถวและคอลัมน์ 368 00:18:39,350 --> 00:18:43,120 แต่แล้วคุณมักจะมีแผ่นงาน ตามด้านล่างหรือแท็บแยกต่างหาก 369 00:18:43,120 --> 00:18:46,140 คุณสามารถคิดของแต่ละ แผ่นเป็นตาราง 370 00:18:46,140 --> 00:18:51,150 เพื่อให้ฐานข้อมูลว่าในท้ายที่สุดคือ การรวมกันของหนึ่งหรือมากกว่าหนึ่งตารางหนึ่ง 371 00:18:51,150 --> 00:18:54,064 หรือแผ่นงานมากขึ้นใน โลกของสเปรดชีทปกติ 372 00:18:54,064 --> 00:18:55,980 เพื่อให้ฉันไปข้างหน้าและ คลิกบนแผ่นงานนี้ 373 00:18:55,980 --> 00:18:59,420 ที่ฉันเพสตรี้ที่เรียกว่าผู้ใช้ a.k.a. 374 00:18:59,420 --> 00:19:00,700 ตารางฐานข้อมูล 375 00:19:00,700 --> 00:19:04,130 และถ้าผมเลื่อนลงมาที่นี่ ให้ฉันซูมออกเล็กน้อย 376 00:19:04,130 --> 00:19:08,479 นี่คือสิ่งที่จะบอก phpMyAdmin เราที่อยู่ภายในของตารางนี้ได้ในขณะนี้ 377 00:19:08,479 --> 00:19:11,020 มันเป็นเรื่องเล็ก ๆ น้อย ๆ ทำให้เกิดความสับสนในตอนแรก อย่างรวดเร็วเพราะ UI ไม่ได้ 378 00:19:11,020 --> 00:19:15,140 สิ่งที่สวยที่สุดในโลก แต่ สิ่งที่น่าสนใจเป็นส่วนหนึ่งที่นี่ 379 00:19:15,140 --> 00:19:17,970 รหัสชื่อผู้ใช้และกัญชา 380 00:19:17,970 --> 00:19:20,510 >> ล่วงหน้าและคุณจะส่ง ปัญหานี้ในการตั้งเจ็ด 381 00:19:20,510 --> 00:19:25,050 เราให้คุณไฟล์ที่มีซุปเปอร์ ตารางฐานข้อมูลขนาดเล็กที่ยืมจริง 382 00:19:25,050 --> 00:19:27,070 จากรุ่นแฮ็กเกอร์ ของปัญหาการตั้งสอง 383 00:19:27,070 --> 00:19:29,480 ภายในซึ่งมีหกแถว 384 00:19:29,480 --> 00:19:32,720 หนึ่งสำหรับเบลินดาทั้งหมด ทางลงไปหนึ่งสำหรับ Zamyla, 385 00:19:32,720 --> 00:19:35,980 และขอให้สังเกตทางด้านซ้ายของผู้ ชื่อผู้ใช้เป็นรหัสที่ไม่ซ้ำเช่นหนึ่ง 386 00:19:35,980 --> 00:19:39,410 สองสามสี่ห้าหกจำนวนเต็ม และจากนั้นไปทางขวาเป็นแฮช 387 00:19:39,410 --> 00:19:42,780 >> และหากการต่อรองที่คุณไม่ได้ทำ ปัญหาฉบับแฮกเกอร์ตั้งสอง, 388 00:19:42,780 --> 00:19:46,560 แต่กัญชาเป็นเหมือนการเข้ารหัสเพียง รหัสผ่านที่มีเพียงไม่กี่คำเตือน 389 00:19:46,560 --> 00:19:49,470 ดังนั้นสิ่งที่คุณเห็นที่นี่เป็น รุ่นเข้ารหัสของทั้งหก 390 00:19:49,470 --> 00:19:52,950 ของรหัสผ่านของเราจากปัญหา ตั้งรุ่นแฮ็กเกอร์ที่สอง 391 00:19:52,950 --> 00:19:56,500 ตอนนี้ไปทางซ้ายเป็นเพียงบางสิ่งที่ GUI, แก้ไขแถวนี้คัดลอกแถวนี้ 392 00:19:56,500 --> 00:19:57,630 การลบแถวนี้ 393 00:19:57,630 --> 00:19:59,840 >> แต่สิ่งที่น่าสนใจ ขณะนี้คือต่อไปนี้ 394 00:19:59,840 --> 00:20:03,810 ที่จริงผมสามารถเริ่มต้น ทดลองกับตารางนี้ 395 00:20:03,810 --> 00:20:07,330 ดังนั้นถ้าเราไปคลิก SQL แท็บผมได้รับกล่องข้อความนี้ขนาดใหญ่ 396 00:20:07,330 --> 00:20:10,190 และนี่ไม่ใช่วิธีการที่เรากำลังจะไป ทำมันจริงเมื่อเขียนโค้ด 397 00:20:10,190 --> 00:20:12,700 การจะมีความชัดเจน phpMyAdmin เป็นเพียงเครื่องมือที่ 398 00:20:12,700 --> 00:20:16,450 จะให้เรากระตุ้นรอบฐานข้อมูล และให้เราทดลองกับคำสั่ง 399 00:20:16,450 --> 00:20:19,430 >> ดังนั้นสำหรับตัวอย่างเช่นสมมติว่า ผมดำเนินการตรงนี้ 400 00:20:19,430 --> 00:20:22,820 เลือกซึ่งเป็นหนึ่งในบรรดา คำหลักที่ผมกล่าวถึงก่อนหน้านี้, ดาว, 401 00:20:22,820 --> 00:20:25,900 ซึ่งแสดงให้เห็นทั้งหมด คอลัมน์ในตาราง 402 00:20:25,900 --> 00:20:26,820 จากสิ่งที่โต๊ะ? 403 00:20:26,820 --> 00:20:27,990 ดีผู้ใช้ 404 00:20:27,990 --> 00:20:29,950 และแจ้งให้ทราบว่ามีนี้ การประชุมแปลกใน SQL 405 00:20:29,950 --> 00:20:32,140 ที่คุณใช้จริง กลับเห็บปกติ 406 00:20:32,140 --> 00:20:35,940 คำพูดไม่ได้คนเดียวและคำพูดไม่ได้คู่ เมื่อคุณพูดคุยเกี่ยวกับชื่อตาราง 407 00:20:35,940 --> 00:20:38,990 ดังนั้นคำพูดกลับเป็นสิ่งที่ มือซ้ายด้านบนของแป้นพิมพ์ของคุณมากที่สุด 408 00:20:38,990 --> 00:20:39,720 น่าจะ 409 00:20:39,720 --> 00:20:41,850 >> เพื่อให้ฉันไปข้างหน้าตอนนี้ และเพิ่งออกจากที่อยู่คนเดียว 410 00:20:41,850 --> 00:20:46,020 และเลื่อนลงและคลิกไปและเรา จริงจะได้เห็นในสิ่งเดียวกัน 411 00:20:46,020 --> 00:20:52,410 เราได้ดำเนินการเพียงแค่แบบสอบถาม SQL บอกว่าเลือกทุกอย่างดาว 412 00:20:52,410 --> 00:20:55,610 จากตารางที่เรียกว่าผู้ใช้และ สิ่งที่คุณจะได้รับกลับมาคือ 413 00:20:55,610 --> 00:20:58,400 ในที่สุดเราจะสามารถที่จะ ทำสิ่งเดียวกันในรหัส 414 00:20:58,400 --> 00:21:02,109 แต่สำหรับตอนนี้สิ่งที่ผมอยากจะ ทำก็คือดูได้ในเบราว์เซอร์ของฉัน 415 00:21:02,109 --> 00:21:03,900 ดีให้ทำอะไรบางอย่าง แตกต่างกันเล็กน้อย 416 00:21:03,900 --> 00:21:08,330 ผมขอกลับไปที่แท็บ SQL, และให้เพียงกล่าวว่าสิ่งที่? 417 00:21:08,330 --> 00:21:11,520 Zamyla ได้หายไปทั้งหมดของเธอ เงินและดังนั้นจึงเป็น 418 00:21:11,520 --> 00:21:13,190 เวลาที่เราจะลบเธอเป็นผู้ใช้ 419 00:21:13,190 --> 00:21:14,630 เธอไม่ได้เข้าสู่ระบบ 420 00:21:14,630 --> 00:21:18,870 >> ดังนั้นฉันจะบอกว่าลบ from-- ดีรักษามูลค่า 421 00:21:18,870 --> 00:21:23,080 เพื่อความมั่นคงลบ จากผู้ใช้ที่ 422 00:21:23,080 --> 00:21:25,430 และเพื่อให้เราสามารถมีเหล่านี้ ภาคหรือเหล่านี้ 423 00:21:25,430 --> 00:21:31,180 บ่นในตอนท้ายของคำสั่งของฉัน และวิธีการที่ฉันสามารถลบ Zamyla? 424 00:21:31,180 --> 00:21:34,190 โดยใช้ชื่อ Zamyla เธอดังนั้น คอลัมน์หนึ่งคอลัมน์ 425 00:21:34,190 --> 00:21:37,950 ถูกเสนอชื่อเพื่อให้ที่ชื่อ = "Zamyla" 426 00:21:37,950 --> 00:21:40,000 และที่นี่ผมใช้สองครั้ง คำพูดหรือคำพูดเดียว 427 00:21:40,000 --> 00:21:42,958 คุณจะใช้กลับเห็บเมื่อ พูดคุยเกี่ยวกับชื่อตัวอย่างเช่น 428 00:21:42,958 --> 00:21:45,130 ของตารางหรือสาขา 429 00:21:45,130 --> 00:21:47,440 และแจ้งให้เราคลิกไปที่นี่ 430 00:21:47,440 --> 00:21:50,400 และตอนนี้หน้าเว็บเป็น เป็นตกใจเล็กน้อย 431 00:21:50,400 --> 00:21:53,620 >> หรือคุณไม่ต้องการที่จะดำเนินการลบจริงๆ จากผู้ใช้ที่ชื่อเท่ากับ Zamyla? 432 00:21:53,620 --> 00:21:54,680 ใช่ 433 00:21:54,680 --> 00:22:01,900 ดังนั้นตอนนี้ถ้าเรากลับไปที่โต๊ะของฉัน โดยการคลิกที่ผู้ใช้พบว่าอืม 434 00:22:01,900 --> 00:22:02,530 ฉัน goofed 435 00:22:02,530 --> 00:22:04,070 และในความเป็นจริงผมชนิด คลิกออกไปอย่างรวดเร็ว 436 00:22:04,070 --> 00:22:06,195 คุณไม่ได้เห็น เกิดข้อผิดพลาดสีแดงบางที 437 00:22:06,195 --> 00:22:07,649 ผมทำอะไรผิดหรือเปล่า? 438 00:22:07,649 --> 00:22:09,690 ผู้ชม: คุณไม่จำเป็นต้อง ที่จะใช้ประโยชน์ชื่อของเธอ 439 00:22:09,690 --> 00:22:11,260 เดวิดเจลัน: ใช่ฉัน พิมพ์ชื่อของเธอ 440 00:22:11,260 --> 00:22:13,770 แต่เธอ username-- ที่จริงผม ทำผิดพลาดคู่ใช่มั้ย? 441 00:22:13,770 --> 00:22:16,720 หนึ่งชื่อของเธอ zamyla พิมพ์เล็ก Z, 442 00:22:16,720 --> 00:22:20,140 และชื่อคอลัมน์ที่เป็นชื่อผู้ใช้ ได้ชื่อนี้จึงขอทำเช่นนี้อีกครั้ง 443 00:22:20,140 --> 00:22:25,750 ให้ฉันไปข้างหน้าและ ลบจากผู้ใช้ที่ 444 00:22:25,750 --> 00:22:28,990 ชื่อผู้ใช้เท่ากับอ้าง unquote "Zamyla" 445 00:22:28,990 --> 00:22:29,490 ทั้งหมดใช่มั้ย? 446 00:22:29,490 --> 00:22:32,600 ดังนั้นนี่ดูดีกว่าเล็ก ๆ น้อย ๆ ให้ ฉันไปเลื่อนลงและคลิกไป 447 00:22:32,600 --> 00:22:34,730 มันยังจะ ตะโกนมาที่ผมเพื่อให้แน่ใจว่า 448 00:22:34,730 --> 00:22:37,500 ฉันคลิกใช่และตอนนี้เราเห็น ตรงไปตรงมาเรื่องนี้เกิดขึ้นจริงๆ 449 00:22:37,500 --> 00:22:39,870 รวดเร็วน้อยกว่าหนึ่ง ที่สองอย่างแน่นอนนี้ 450 00:22:39,870 --> 00:22:41,720 เป็นว่าแบบสอบถามที่ได้ดำเนินการ 451 00:22:41,720 --> 00:22:45,617 เพื่อยืนยันให้ฉันคลิกผู้ใช้ และแน่นอนตอนนี้ Zamyla หายไป 452 00:22:45,617 --> 00:22:46,700 ตอนนี้ขอทำตรงข้าม 453 00:22:46,700 --> 00:22:49,320 สมมติว่าเกบต้องการ ลงทะเบียนสำหรับเว็บไซต์ 454 00:22:49,320 --> 00:22:52,825 อะไรแบบสอบถาม SQL อะไร คำสั่งฉันสามารถพิมพ์เพื่อเพิ่มเกบ? 455 00:22:52,825 --> 00:22:54,200 ดีก็ตรงไปตรงสวย 456 00:22:54,200 --> 00:22:58,260 ใส่ลงในผู้ใช้และตอนนี้ จะได้รับความลับเล็ก ๆ น้อย ๆ 457 00:22:58,260 --> 00:23:03,190 ฉันต้องการที่จะระบุไปยังเซิร์ฟเวอร์ ว่าฟิลด์ผมต้องการที่จะกำหนด 458 00:23:03,190 --> 00:23:06,630 ฉันไม่สนใจจริงๆสิ่งที่เกบ ID ของ จำนวนเป็นดังนั้นฉันจะข้ามว่า 459 00:23:06,630 --> 00:23:11,360 ฉันแทนจะพูด ชื่อผู้ใช้กัญชาแล้ว 460 00:23:11,360 --> 00:23:14,960 ค่าที่ฉันต้องการที่จะนำ มีเป็นไปได้เกบ 461 00:23:14,960 --> 00:23:16,800 แล้วแฮชของเขาผมไม่ทราบ 462 00:23:16,800 --> 00:23:19,900 ดังนั้นสำหรับตอนนี้ผมกำลังจะไป ออกจากที่เป็นขนาดใหญ่ที่จะทำ 463 00:23:19,900 --> 00:23:21,650 เราจะกลับมาที่ ว่าในปัญหาที่กำหนด 464 00:23:21,650 --> 00:23:23,390 ข้อมูลจำเพาะเป็นวิธีที่คุณทำจริงว่า 465 00:23:23,390 --> 00:23:24,630 >> ดังนั้นสังเกตเห็นอีกครั้งไวยากรณ์ 466 00:23:24,630 --> 00:23:28,430 ใส่ลงในชื่อของตารางแล้ว รายการวงเล็บของฟิลด์, 467 00:23:28,430 --> 00:23:30,980 คอลัมน์ที่คุณต้องการเพิ่ม ค่าและจากนั้นเพียง 468 00:23:30,980 --> 00:23:34,495 การสั่งซื้อที่แน่นอนเดียวกันจากซ้ายไป ด้านขวาของค่าที่คุณต้องการเพิ่ม 469 00:23:34,495 --> 00:23:36,870 และเป็นเพียงการตัดเพราะ ข้อความที่มีความยาวเพียงเล็กน้อย 470 00:23:36,870 --> 00:23:38,520 ดังนั้นตอนนี้ให้ฉันคลิกไป 471 00:23:38,520 --> 00:23:39,830 หนึ่งแถวแทรก 472 00:23:39,830 --> 00:23:43,020 และตอนนี้ถ้าผมกลับไป ผู้ใช้สิ่งที่น่าสนใจ 473 00:23:43,020 --> 00:23:48,960 เป็นที่ไม่เพียง แต่เป็นเกบอยู่ในขณะนี้ ฐานข้อมูลเป็นสิ่งที่เห็นได้ชัด ID ของเขา? 474 00:23:48,960 --> 00:23:49,820 >> ดีมันเจ็ด 475 00:23:49,820 --> 00:23:51,479 ทำไมมันเจ็ดเมื่อฉันไม่ได้เพิ่มมันได้หรือไม่ 476 00:23:51,479 --> 00:23:54,020 ดังนั้นนี่ก็เป็นหนึ่งใน คุณจะได้รับคุณสมบัติของฐานข้อมูล 477 00:23:54,020 --> 00:23:55,750 จำนวนมากที่สร้างขึ้นในการทำงาน 478 00:23:55,750 --> 00:23:57,950 แต่กลับกลายเป็นว่าเมื่อ สร้างตารางนี้ 479 00:23:57,950 --> 00:24:01,390 ผมไว้ล่วงหน้ามันโดยอัตโนมัติ กำหนดรหัสในลักษณะ 480 00:24:01,390 --> 00:24:02,480 ว่ามันเพิ่มขึ้น 481 00:24:02,480 --> 00:24:05,470 ดังนั้นถ้าคุณได้เคยโผล่ไปรอบ ๆ และมองไปที่ Facebook ID ของคุณสิ่งที่ 482 00:24:05,470 --> 00:24:09,292 จำนวนคือวันนี้มันไม่ได้จริงๆ สิ่งที่จะทำ แต่ Facebook เป็น API, 483 00:24:09,292 --> 00:24:11,750 Programming Interface แอพลิเคชัน โดยคุณจะได้รับกลับมา 484 00:24:11,750 --> 00:24:14,430 ทั้งกลุ่มของข้อมูลเกี่ยวกับ ตัวเองเกี่ยวกับเพื่อนของคุณ 485 00:24:14,430 --> 00:24:15,347 และการเชื่อมต่อของคุณ 486 00:24:15,347 --> 00:24:17,430 และสิ่งที่ใช้จะเป็นชนิด เย็นกลับในวันที่ 487 00:24:17,430 --> 00:24:19,510 ก็คือมองหาสิ่งที่คุณ หมายเลข ID Facebook เป็น 488 00:24:19,510 --> 00:24:22,390 Mark Zuckerberg ของ ตัวอย่างเช่นเป็นสาม 489 00:24:22,390 --> 00:24:23,890 ตั้งแต่เขายังเป็นผู้เขียนของเว็บไซต์ 490 00:24:23,890 --> 00:24:27,610 และเป็นเรื่องที่ไปเขาสร้าง การทดสอบทั้งสองบัญชีผู้ใช้หนึ่งและสอง, 491 00:24:27,610 --> 00:24:28,690 ซึ่งเขาก็ลบออก 492 00:24:28,690 --> 00:24:32,780 ดังนั้น Zuck เป็นชื่อผู้ใช้ของเขา ใน Facebook, คือหมายเลขสาม 493 00:24:32,780 --> 00:24:36,110 และเราทุกคนมีจำนวนมาก มีขนาดใหญ่กว่าสามวันนี้ 494 00:24:36,110 --> 00:24:37,980 ในความเป็นจริงในบางจุด facebook ย้ายออกไป 495 00:24:37,980 --> 00:24:42,410 จากการได้ใช้ int ซึ่ง เป็นค่า 32 บิตในการใช้ 496 00:24:42,410 --> 00:24:44,480 ขั้นตอนที่เพิ่มขึ้นต่อไป เป็นหลักเป็นเวลานานนานมาก 497 00:24:44,480 --> 00:24:47,150 ว่าพวกเขาสามารถรองรับ แม้ผู้ใช้มากขึ้นในการลงทะเบียน 498 00:24:47,150 --> 00:24:49,420 ดังนั้นความสนุกสนานความเป็นจริงทางประวัติศาสตร์เล็ก ๆ น้อย ๆ 499 00:24:49,420 --> 00:24:51,660 >> เพื่อให้เป็นเพียง ไวยากรณ์พื้นฐานที่ 500 00:24:51,660 --> 00:24:54,470 เราอาจจะดำเนินการคู่ของ คำสั่ง แต่เราสามารถทำได้จริง 501 00:24:54,470 --> 00:24:56,744 ทำในสิ่งที่พวงมากขึ้นกับ SQL 502 00:24:56,744 --> 00:24:58,910 และคุณจะเห็นในที่สุด ในปัญหาที่กำหนดเจ็ด 503 00:24:58,910 --> 00:25:01,034 ที่คุณจะต้องทำ จำนวนของการตัดสินใจการออกแบบ 504 00:25:01,034 --> 00:25:03,290 ในหมู่พวกเขาเป็นไปได้ สิ่งที่ชนิดของข้อมูลที่จะใช้ 505 00:25:03,290 --> 00:25:08,240 ดังนั้นเช่นเดียวกับใน C มีข้อมูล ประเภทในฐานข้อมูลเช่น MySQL, 506 00:25:08,240 --> 00:25:12,640 และประเภทข้อมูลที่คุณต้องเลือก จากการรวมเขตข้อมูลเหล่านี้ที่นี่ 507 00:25:12,640 --> 00:25:17,287 char, varchar, int, int ใหญ่ทศนิยม และเวลาวันที่และอื่น ๆ อีกมากมาย 508 00:25:17,287 --> 00:25:18,370 ดังนั้นขอให้ทำจริง 509 00:25:18,370 --> 00:25:21,060 ลองแกล้งทำเป็นว่าเราไม่ได้ คุณตารางของผู้ใช้นี้มือ 510 00:25:21,060 --> 00:25:25,080 และแจ้งให้เราไปข้างหน้าและสร้างสำหรับ ตัวเองในการบรรยาย database-- 511 00:25:25,080 --> 00:25:31,000 จริงให้ฉันไปข้างหน้าและลบ ตารางที่ฉันมีในที่นี่แล้ว 512 00:25:31,000 --> 00:25:32,940 เพื่อที่ว่าเราจะสามารถสร้างนี้ 513 00:25:32,940 --> 00:25:33,550 ขออภัย 514 00:25:33,550 --> 00:25:35,970 ฉันจะลดลงนี้ ตารางและตอนนี้ฉัน 515 00:25:35,970 --> 00:25:38,337 จะไปอีกครั้งเพื่อ บรรยายฐานข้อมูลกว่าที่นี่ 516 00:25:38,337 --> 00:25:40,420 ฉันจะสร้างตาราง เรียกว่าผู้ใช้และผู้ให้ 517 00:25:40,420 --> 00:25:43,010 เพียงแค่ทำสามคอลัมน์ ในขั้นต้นและคลิกไป 518 00:25:43,010 --> 00:25:44,990 >> ตอนนี้สำหรับส่วนใหญ่ อีกครั้งนี้เป็นเพียง 519 00:25:44,990 --> 00:25:48,570 โดยใช้เครื่องมือแบบกราฟิกนี้เรียกว่า phpMyAdmin และสิ่งที่เรากำลังทำอยู่ตอนนี้ 520 00:25:48,570 --> 00:25:49,600 คือการสร้างตาราง 521 00:25:49,600 --> 00:25:53,170 ดังนั้นนี่คือเหมือนจะแฟ้มใหม่ และการสร้างแฟ้ม Excel ใหม่ 522 00:25:53,170 --> 00:25:55,440 ดังนั้นจึงขอให้ฉันไม่กี่ คำถามจากซ้ายไปขวา 523 00:25:55,440 --> 00:25:58,620 สิ่งที่ชื่อของคอลัมน์แรก แล้วชื่อของคอลัมน์ที่สอง 524 00:25:58,620 --> 00:25:59,560 และชื่อของบุคคลที่สาม 525 00:25:59,560 --> 00:26:00,518 จึงขอสร้างนี้ 526 00:26:00,518 --> 00:26:05,460 ID และชื่อผู้ใช้เป็นคนหนึ่ง, แล้วสับเป็นอีก 527 00:26:05,460 --> 00:26:08,970 ดังนั้นสิ่งที่ควรจะเป็นชนิดข้อมูล เป็นตอนนี้สำหรับเขตข้อมูลเช่นรหัส? 528 00:26:08,970 --> 00:26:14,470 >> นี่คือรายชื่อทั้งหมดของชนิดข้อมูลเป็น มีให้คุณในฐานข้อมูล 529 00:26:14,470 --> 00:26:16,070 และสำหรับตอนนี้ขอเพียงแค่ไปกับ int 530 00:26:16,070 --> 00:26:18,160 ค่า 32 บิตที่ผมทำไม่ได้ คิดว่าจริงฉัน 531 00:26:18,160 --> 00:26:21,484 จะมีมากกว่า 4 พันล้าน ผู้ใช้ในบัญชีของฉันในการให้บริการของฉัน 532 00:26:21,484 --> 00:26:23,650 ดังนั้นฉันจะให้ย้าย เพื่อคำถามต่อไป 533 00:26:23,650 --> 00:26:25,490 ฉันจะไม่ระบุ ระยะเวลาหรือค่านิยม 534 00:26:25,490 --> 00:26:28,540 ก็ไม่สามารถใช้ได้ ที่นี่เพื่อ int ต่อ se 535 00:26:28,540 --> 00:26:30,740 และตอนนี้ฉันสามารถระบุ เห็นได้ชัดเริ่มต้น 536 00:26:30,740 --> 00:26:33,970 ค่าซึ่งผมจะไม่ระบุ 537 00:26:33,970 --> 00:26:36,050 เรียงผมไม่ทราบว่ามันคืออะไร 538 00:26:36,050 --> 00:26:37,290 แอตทริบิวต์ 539 00:26:37,290 --> 00:26:39,455 ตอนนี้เราทำจริง มีการตัดสินใจการออกแบบ 540 00:26:39,455 --> 00:26:42,580 เพื่อให้มีสาขาไม่กี่ที่นี่ไม่ได้ทั้งหมด ซึ่งสามารถใช้งานได้ แต่ไม่ได้ลงนาม 541 00:26:42,580 --> 00:26:43,380 ก็หมายความว่าอะไร? 542 00:26:43,380 --> 00:26:45,400 ที่ int จะต้องเป็นอย่างไร 543 00:26:45,400 --> 00:26:46,210 เพียงแค่ไม่เป็นลบ 544 00:26:46,210 --> 00:26:48,090 ดังนั้นมันจึงเป็น 0 ขึ้นมี 545 00:26:48,090 --> 00:26:51,120 ไม่ฉันจะไม่ตรวจสอบเพราะ ฉันต้องการผู้ใช้ทุกคนที่จะมี ID, 546 00:26:51,120 --> 00:26:52,470 มันไม่สามารถเป็นโมฆะ 547 00:26:52,470 --> 00:26:55,949 และจากนั้นเราจะได้รับการเพิ่มเติมบางส่วน ตัดสินใจในการออกแบบที่น่าสนใจเช่นนี้ 548 00:26:55,949 --> 00:26:58,990 เราจะกลับมาในช่วงเวลาที่ แต่สิ่งที่เป็นลักษณะของฐานข้อมูลอื่น 549 00:26:58,990 --> 00:27:04,200 คือคือการที่คุณสามารถบอกได้ เซิร์ฟเวอร์ฐานข้อมูลไปข้างหน้า 550 00:27:04,200 --> 00:27:07,100 และเพิ่มประสิทธิภาพของตัวเองของคุณ RAM และพื้นที่ฮาร์ดดิสก์ของคุณ, 551 00:27:07,100 --> 00:27:11,770 เพื่อให้เลือกและแทรกและ ลบและการปรับปรุงอย่างรวดเร็วจริงๆ 552 00:27:11,770 --> 00:27:13,250 คมชัดนี้กับ pset5 553 00:27:13,250 --> 00:27:16,259 >> ถ้าคุณต้องการที่จะมองหาบางสิ่งบางอย่าง ในตารางแฮชคุณซึ่ง 554 00:27:16,259 --> 00:27:18,300 คุณคิดว่าเป็นฐานข้อมูล ที่ต้องทำทั้งหมด 555 00:27:18,300 --> 00:27:21,500 ทำงานสำหรับการทำตารางแฮชคุณได้อย่างรวดเร็ว 556 00:27:21,500 --> 00:27:22,840 มันก็เหมือนกับการเห็นได้ชัดคุณ 557 00:27:22,840 --> 00:27:23,060 ใช่มั้ย? 558 00:27:23,060 --> 00:27:26,080 คุณต้องใส่ในทุกเวลาที่ดี การปรับแต่งสิ่งที่ได้รับฟังก์ชันแฮช 559 00:27:26,080 --> 00:27:27,820 สิทธิการหาวิธี ถังจำนวนมากที่จะมี 560 00:27:27,820 --> 00:27:29,611 >> แต่สิ่งที่มีความสุขอีกครั้ง เกี่ยวกับฐานข้อมูลเป็น 561 00:27:29,611 --> 00:27:31,762 คุณเพียงแค่ม้าทั้งหมดของ นี้ให้คนอื่น ๆ 562 00:27:31,762 --> 00:27:33,720 ที่มีความคิดนี้ ผ่านสำหรับคุณและสิ่งที่ 563 00:27:33,720 --> 00:27:37,170 ฉันจะบอกว่าที่นี่อยู่ภายใต้ ดัชนีคือข้อมูลรหัสของฉัน 564 00:27:37,170 --> 00:27:41,149 เป็นไปได้วิธีการหลักของ ระบุผู้ใช้ในฐานข้อมูลนี้ 565 00:27:41,149 --> 00:27:42,940 ผมไม่อยากจะคิด ของ Zamyla เป็น Zamyla, 566 00:27:42,940 --> 00:27:45,800 ฉันจะคิดว่า เธอเป็นจำนวน 6 567 00:27:45,800 --> 00:27:49,814 >> มันเป็นเหตุผลที่อาจจะดีกว่า สังหรณ์ใจที่จะคิดและรูปแบบ 568 00:27:49,814 --> 00:27:52,480 แต่ละแถวของแต่ละบุคคลโดยใช้ ตัวเลขแทนสิ่ง 569 00:27:52,480 --> 00:27:56,480 เช่นสตริงเช่น Zamyla หรือเกบหรือสตริงนานยัง? 570 00:27:56,480 --> 00:27:57,444 ใช่? 571 00:27:57,444 --> 00:28:00,117 >> ผู้ชม: ID ที่ไม่ซ้ำกัน? 572 00:28:00,117 --> 00:28:01,200 เดวิดเจลัน: พูดอีกครั้งหรือไม่ 573 00:28:01,200 --> 00:28:02,283 ผู้ชม: ID ที่ไม่ซ้ำกัน? 574 00:28:02,283 --> 00:28:04,400 เดวิดเจลัน: ID จะไม่ซ้ำกัน แต่ suppose-- 575 00:28:04,400 --> 00:28:06,320 เป็นกรณีในทั่วไป ที่มีชื่อผู้ใช้สมมติว่า 576 00:28:06,320 --> 00:28:10,110 ฉันยังกล่าวว่ามีเพียงสามารถเป็นหนึ่ง Zamyla ในโลกและมีเพียงหนึ่งเกบ 577 00:28:10,110 --> 00:28:13,730 ฉันสามารถกำหนดเอกลักษณ์ ข้อ จำกัด ที่สายเกินไปหากผมต้องการ 578 00:28:13,730 --> 00:28:15,550 จึงไม่เป็นความคิดที่ไม่ดี 579 00:28:15,550 --> 00:28:16,500 >> ผู้ชม: การรักษาความปลอดภัยอื่น ๆ 580 00:28:16,500 --> 00:28:17,874 >> เดวิดเจลัน: ความปลอดภัยมากขึ้นทำไม? 581 00:28:17,874 --> 00:28:20,705 ผู้ชม: คุณไม่สามารถบอกได้ว่า ซึ่งเป็นเช่นเดียวกับในการใช้งาน 582 00:28:20,705 --> 00:28:22,580 เดวิดเจลัน: ตกลงคุณ ไม่สามารถบอกได้ที่ผู้ใช้ 583 00:28:22,580 --> 00:28:24,380 ซึ่งเป็นจึงมี ด้านความเป็นส่วนตัวกับมัน 584 00:28:24,380 --> 00:28:27,810 โดยเฉพาะอย่างยิ่งถ้ารหัสอาจจะ ที่ปรากฏใน URL ที่ 585 00:28:27,810 --> 00:28:29,960 ดังนั้นแน่ใจว่าสามารถชนิดของการทำงานได้อีกด้วย 586 00:28:29,960 --> 00:28:30,640 ความคิดอื่น ๆ ? 587 00:28:30,640 --> 00:28:31,383 ใช่? 588 00:28:31,383 --> 00:28:34,316 >> ผู้ชม: มันง่ายที่จะ ทำการดำเนินการบน int 589 00:28:34,316 --> 00:28:35,940 เดวิดเจลัน: นั่นเป็นนักเตะจริง 590 00:28:35,940 --> 00:28:38,850 มันเป็นเพียงมีประสิทธิภาพมากขึ้น หรือง่ายสำหรับเครื่องคอมพิวเตอร์ 591 00:28:38,850 --> 00:28:40,431 ในการดำเนินการเกี่ยวกับจำนวนเต็ม 592 00:28:40,431 --> 00:28:40,930 ใช่มั้ย? 593 00:28:40,930 --> 00:28:43,905 int มีการประกันเพื่อ เป็น 32 บิตในขณะที่ Zamyla 594 00:28:43,905 --> 00:28:47,660 มีความยาวไม่กี่ตัวอักษร, กาเบรียล มีความยาวมากขึ้นไม่กี่ตัวอักษร 595 00:28:47,660 --> 00:28:51,930 หนังสือมีความยาวมากและดังนั้นจึงเป็น ไม่ได้มีประสิทธิภาพโดยเฉพาะอย่างยิ่งที่จะใช้ 596 00:28:51,930 --> 00:28:55,860 สตริงเพื่อเปรียบเทียบค่าและมอง สำหรับเขตข้อมูลและเขตข้อมูลการปรับปรุง 597 00:28:55,860 --> 00:28:57,790 ถ้าคุณจะได้รับไป ที่มีเพียงหนึ่งจำนวนเต็ม 598 00:28:57,790 --> 00:28:59,090 เพียงแค่ 32 บิต 599 00:28:59,090 --> 00:29:02,570 ดังนั้นชื่อผู้ใช้ด้วยวิธีนี้ จะได้ไม่ต้องไม่ซ้ำกัน 600 00:29:02,570 --> 00:29:05,040 แม้ว่าพวกเขาอาจจะ เป็นไปได้และแม้จะอยู่ในวิธีนี้เกินไป 601 00:29:05,040 --> 00:29:07,520 ผู้ใช้จะได้รับอนุญาตให้ เปลี่ยนชื่อผู้ใช้ของเขาหรือเธอ 602 00:29:07,520 --> 00:29:10,810 >> จึงขอตอนนี้ออกจากนี้เป็น วิธีการหลักในการระบุผู้ใช้ 603 00:29:10,810 --> 00:29:13,510 นี้จะบอกฐานข้อมูล ไปข้างหน้าและเพิ่มประสิทธิภาพด้วยตัวคุณเอง 604 00:29:13,510 --> 00:29:17,065 เพื่อให้ ups ดูใน ID เป็นซุปเปอร์รวดเร็ว 605 00:29:17,065 --> 00:29:19,620 AI ชื่อน่ากลัวเพียง หมายถึงการเพิ่มออโต้, 606 00:29:19,620 --> 00:29:21,500 และนี่คือการตรวจสอบ กล่องที่เราต้องตรวจสอบ 607 00:29:21,500 --> 00:29:24,614 เพื่อระบุว่าเขตข้อมูล ID ได้รับการปรับปรุงโดยอัตโนมัติสำหรับฉัน 608 00:29:24,614 --> 00:29:26,530 แล้วฉันจะไป เลื่อนไปทางขวาที่นี่ 609 00:29:26,530 --> 00:29:29,279 และตรงไปตรงมาผมไม่สนใจจริงๆ ในการเพิ่มเติมใด ๆ ของเขตข้อมูลเหล่านี้ 610 00:29:29,279 --> 00:29:30,630 ไม่แน่นอนวันนี้ 611 00:29:30,630 --> 00:29:33,770 >> ดังนั้นฉันจะกลับไปที่นี่ กับคอลัมน์แรกที่ 612 00:29:33,770 --> 00:29:35,830 ฉันจำเป็นต้องระบุชื่อผู้ใช้ และกัญชาและขอ 613 00:29:35,830 --> 00:29:38,080 ที่ให้ความสำคัญน้อยใน คนที่สองสำหรับตอนนี้ 614 00:29:38,080 --> 00:29:41,498 Int อาจไม่สายที่ถูกต้อง ดังนั้นสิ่งที่ทำให้รู้สึกมากขึ้นบางที? 615 00:29:41,498 --> 00:29:42,741 >> ผู้ชม: ข้อความ 616 00:29:42,741 --> 00:29:43,824 เดวิดเจลัน: พูดอีกครั้งหรือไม่ 617 00:29:43,824 --> 00:29:44,710 ผู้ชม: ข้อความ 618 00:29:44,710 --> 00:29:44,980 เดวิดเจลัน: ข้อความที่? 619 00:29:44,980 --> 00:29:45,590 ตกลงผมได้ยินข้อความ 620 00:29:45,590 --> 00:29:46,090 อะไร? 621 00:29:46,090 --> 00:29:50,520 622 00:29:50,520 --> 00:29:53,860 ชนิดของเรามีพวงของตัวเลือก ที่มีข้อความในธรรมชาติ 623 00:29:53,860 --> 00:29:55,990 ดังนั้นเมื่อและทำไมทำ คุณใช้บางส่วนของเหล่านี้หรือไม่ 624 00:29:55,990 --> 00:29:59,560 ดีถ่านตรงกันข้ามกับสิ่งที่คุณอาจจะ คิดว่าไม่เป็นตัวเดียว 625 00:29:59,560 --> 00:30:01,550 มันเป็นจำนวนเฉพาะของตัวละคร 626 00:30:01,550 --> 00:30:04,600 ดังนั้นหากเรารู้ว่าชื่อผู้ใช้ทั้งหมด จะต้องเป็นเช่นแปดตัวอักษร 627 00:30:04,600 --> 00:30:08,490 ที่เคยเป็นที่พบบ่อยในผู้สูงอายุ ระบบคอมพิวเตอร์ที่ผมจะพูดถ่าน 628 00:30:08,490 --> 00:30:09,830 แล้วผมจะพูด 8 ที่นี่ 629 00:30:09,830 --> 00:30:12,930 นั่นคือเมื่อคอลัมน์ที่สามจะกลายเป็น ผลบังคับใช้เมื่อมีการสร้างตาราง 630 00:30:12,930 --> 00:30:15,450 >> แต่ที่เป็นชนิดที่น่ารำคาญ เพราะบางคนอาจจะ 631 00:30:15,450 --> 00:30:17,660 ต้องการที่จะมีชื่อผู้ใช้อีกต่อไป กว่าแปดตัวอักษร 632 00:30:17,660 --> 00:30:19,743 บางคนอาจต้องการที่จะ มีชื่อผู้ใช้งานสั้นลง 633 00:30:19,743 --> 00:30:22,210 ดังนั้นทำไมกระทำตัวเอง จำนวนเฉพาะหรือไม่? 634 00:30:22,210 --> 00:30:24,710 ทำไมไม่ได้ตัวแปร จำนวนของตัวอักษรและเพียงแค่ 635 00:30:24,710 --> 00:30:28,580 กล่าวว่าความยาวสูงสุดของชื่อ คือผมไม่ทราบเช่น 64 ตัวอักษร 636 00:30:28,580 --> 00:30:31,780 ฉันไม่สามารถคิดของเพื่อน ๆ ที่ มีชื่อที่ยาวเกิน 64 ตัวอักษร 637 00:30:31,780 --> 00:30:34,810 และแม้ว่าที่สั้นเกินไปคุณสามารถ แน่นอนชนมันขึ้นโดยพลการ 638 00:30:34,810 --> 00:30:37,330 >> ดังนั้น varchar เป็นตัวแปร จำนวนของตัวอักษร 639 00:30:37,330 --> 00:30:41,010 ข้อความที่ไม่ได้เป็นสัญชาตญาณที่ไม่ดีและ ตรงไปตรงมาว่าการจัดเรียงของไม่สิ่งที่กล่าวว่า 640 00:30:41,010 --> 00:30:45,460 แต่ช่องข้อความสามารถ เช่น 65,000 ไบต์อย่างน้อย 641 00:30:45,460 --> 00:30:50,790 นั่นอาจเป็น overkill สำหรับ ภาคสนามและในความเป็นจริง Yup, 65,535 642 00:30:50,790 --> 00:30:53,740 นั่นอาจเป็น overkill สำหรับ ชื่อดังนั้นเราจะติดปกติ 643 00:30:53,740 --> 00:30:56,910 กับ varchars สำหรับข้อความ ภาคสนามและกัญชาเกินไป 644 00:30:56,910 --> 00:30:59,990 กัญชามันจะเปิดออกที่เราสามารถทำได้ varchar เป็นอย่างดีหรือสิ่งที่ต้องการที่ 645 00:30:59,990 --> 00:31:03,080 แต่เราจะไม่ให้ความสนใจวันนี้ มีการเข้ารหัสและหมายเลข 646 00:31:03,080 --> 00:31:05,210 ที่เราอาจจะจริง ต้องการใช้สำหรับความยาวของมัน 647 00:31:05,210 --> 00:31:07,430 >> แต่ให้ฉันเลื่อนลงไปทางขวา 648 00:31:07,430 --> 00:31:11,280 คุณสามารถมีหนึ่ง ดัชนีหลักสำหรับตาราง, 649 00:31:11,280 --> 00:31:16,380 แต่ฉันไม่ต้องการที่จะใช้ใด ๆ เหล่านี้ ตอนนี้ถึงชื่อผู้ใช้ที่คุณจะพูด? 650 00:31:16,380 --> 00:31:21,980 สิ่งที่ควรชื่อผู้ใช้ต้องอยู่บนพื้นฐานคลุมเครือ ความเข้าใจของทั้งสี่ตัวเลือก? 651 00:31:21,980 --> 00:31:23,340 เพียงแค่ชื่อของพวกเขา? 652 00:31:23,340 --> 00:31:24,140 >> ผู้ชม: ที่ไม่ซ้ำกัน 653 00:31:24,140 --> 00:31:25,100 >> เดวิดเจลัน: ไม่ซ้ำกันดังนั้นใช่มั้ย? 654 00:31:25,100 --> 00:31:28,190 ดังนั้นมันจะเปิดออกที่ไม่เพียง แต่จะทำได้ คุณบอกฐานข้อมูลล่วงหน้า 655 00:31:28,190 --> 00:31:30,380 นี้เป็นวิธีหลัก ของฟิลด์ระบุ 656 00:31:30,380 --> 00:31:32,990 นอกจากนี้คุณยังสามารถพูดได้ว่านี่คือ จะเป็นข้อมูลที่ไม่ซ้ำกัน 657 00:31:32,990 --> 00:31:34,700 มันไม่ได้เป็นไปได้ สิ่งที่ผมพึ่งพา 658 00:31:34,700 --> 00:31:38,490 แต่ฉันต้องการฐานข้อมูลในการ เป็นหลักมีว่าถ้าสภาพดังนั้น 659 00:31:38,490 --> 00:31:42,340 ว่าถ้าผมเคยพยายามที่จะลงทะเบียน สองผู้ใช้ที่มีชื่อเดียวกัน 660 00:31:42,340 --> 00:31:44,360 ฐานข้อมูลออกมาแบน จะไม่ให้ฉัน 661 00:31:44,360 --> 00:31:47,490 ฉันอาจจะมีรหัสบางอย่างเพิ่มเติม ใน PHP ที่ป้องกันไม่ให้เป็นมาก 662 00:31:47,490 --> 00:31:50,640 แต่ฐานข้อมูลก็สามารถมั่นใจได้ว่า ที่ที่ไม่เคยเกิดขึ้น 663 00:31:50,640 --> 00:31:53,370 >> ขณะนี้เป็นกันโดยเฉพาะอย่างยิ่ง คุณคิดเกี่ยวกับโครงการสุดท้าย 664 00:31:53,370 --> 00:31:57,030 เก็บไว้ในดัชนีจิตใจและเต็มรูปแบบ ข้อความที่เป็นจริงมีประโยชน์มาก 665 00:31:57,030 --> 00:32:01,080 หากคุณมีฐานข้อมูลขนาดใหญ่ไม่ได้กับ หลายสิบ แต่มีหลายร้อยหรือหลายพัน 666 00:32:01,080 --> 00:32:05,270 หรือล้านของฟิลด์คุณสามารถ ฐานข้อมูลยังบอกล่วงหน้า 667 00:32:05,270 --> 00:32:07,980 นี้เป็นเขตที่ฉันจะ จะได้รับการค้นหาในจำนวนมาก 668 00:32:07,980 --> 00:32:10,520 บางทีชื่อผู้ใช้ของตน บางทีมันอาจจะเป็นไบโอถ้าคุณ 669 00:32:10,520 --> 00:32:13,750 การทำเว็บไซต์ Facebook เหมือนว่า มีย่อหน้าที่ของผู้ใช้ที่ได้รับอนุญาต 670 00:32:13,750 --> 00:32:16,799 เพื่อบัน​​ทึกและถ้าคุณต้องการที่จะ บอกฐานข้อมูลล่วงหน้า 671 00:32:16,799 --> 00:32:20,090 ฉันจะได้รับการค้นหาในฟิลด์นี้ เป็นจำนวนมาก แต่ก็ไม่จำเป็นต้องไม่ซ้ำกัน 672 00:32:20,090 --> 00:32:22,800 คุณสามารถระบุดัชนีฉันสร้าง 673 00:32:22,800 --> 00:32:27,990 หรือคุณสามารถพูดได้ยังช่วยให้ผมที่จะทำ การจัดเรียงของการค้นหาโดยพลการเช่นคำสั่ง 674 00:32:27,990 --> 00:32:30,420 หรือควบคุม F เช่นคุณ อาจจะอยู่ในโปรแกรมประมวลผลคำ, 675 00:32:30,420 --> 00:32:34,184 เพื่อให้คุณสามารถดูสตริงโดยพลการ หรือสตริงย่อยในเขตข้อมูลนี้ 676 00:32:34,184 --> 00:32:36,600 ในคำอื่น ๆ ที่เราได้รับ ไปยังจุดในภาคการศึกษา 677 00:32:36,600 --> 00:32:40,720 ที่คุณไม่ต้องกังวลเกี่ยวกับ วิธีการใช้สิ่งที่มีประสิทธิภาพ 678 00:32:40,720 --> 00:32:44,540 คุณเพียงแค่ต้องรู้เกี่ยวกับสิ่งที่ ตัดสินใจในการออกแบบเพื่อให้เพื่อให้คุณ 679 00:32:44,540 --> 00:32:48,470 โดยใช้เครื่องมือที่เหมาะสมสำหรับ การค้าเพื่อที่จะใช้ประโยชน์จากคุณสมบัติ 680 00:32:48,470 --> 00:32:50,380 ว่าคนอื่น ๆ ได้สร้างไว้เพื่อคุณ 681 00:32:50,380 --> 00:32:54,240 ดังนั้นเพื่อปะยางรถหลักควรเท่านั้น มีหนึ่งคุณสามารถมีหนึ่ง 682 00:32:54,240 --> 00:32:59,630 และมันเป็นสิ่งที่คุณกำลังกระทำการ โดยใช้การระบุสาขาที่ไม่ซ้ำกัน 683 00:32:59,630 --> 00:33:02,710 ที่ไม่ซ้ำกันเป็นเพียงในทำนองเดียวกัน แต่ คุณอาจจะเพียงบางครั้งใช้มัน 684 00:33:02,710 --> 00:33:04,530 แต่คุณต้องการฐานข้อมูลที่จะกำหนดมัน 685 00:33:04,530 --> 00:33:08,050 ดัชนีก็หมายความ preemptively เร็วขึ้นในอนาคต 686 00:33:08,050 --> 00:33:10,230 เพื่อที่จะสามารถค้นหา สิ่งที่อยู่ในฟิลด์นี้ 687 00:33:10,230 --> 00:33:13,700 แล้วข้อความเต็มรูปแบบโดยทั่วไปสำหรับ ย่อหน้าหรือบทความหรือหน่วยงานขนาดใหญ่ 688 00:33:13,700 --> 00:33:16,270 ข้อความที่คุณ นอกจากนี้ยังอาจต้องการที่จะมี 689 00:33:16,270 --> 00:33:19,420 บัตรป่าเหมือนเทียบเท่าของดาว 690 00:33:19,420 --> 00:33:19,920 ขวา 691 00:33:19,920 --> 00:33:22,580 >> เพื่อให้เป็นชนิดของ จำนวนมากที่จะทั้งหมดในครั้งเดียว 692 00:33:22,580 --> 00:33:25,220 ลองดูว่าเราไม่สามารถกลั่น คู่ของคุณสมบัติเหล่านี้ 693 00:33:25,220 --> 00:33:29,540 แล้วสร้างบางสิ่งบางอย่าง ค่อนข้างง่าย แต่มีประสิทธิภาพ 694 00:33:29,540 --> 00:33:31,380 ดังนั้นในหมู่อื่น ๆ ตัดสินใจในการออกแบบคุณ 695 00:33:31,380 --> 00:33:34,005 ในที่สุดจะต้องเป็นไปตาม สายของเครื่องยนต์การจัดเก็บข้อมูล 696 00:33:34,005 --> 00:33:37,370 และแจ้งให้เราเพียงแค่ทำให้การเอ่ยถึงนี้ ในความคาดหมายของโครงการสุดท้าย 697 00:33:37,370 --> 00:33:42,020 และความคาดหวังของการปล่อยของ say-- ไม่ให้ทำเช่นนี้ 698 00:33:42,020 --> 00:33:43,820 ลองสร้างเล็ก ๆ แห่งนี้ โปรแกรมแรก 699 00:33:43,820 --> 00:33:48,070 ฉันจะไปเข้ากับขั้วของฉัน หน้าต่างและในที่นี่ไม่ได้ 700 00:33:48,070 --> 00:33:52,500 counter.php เท่านั้นซึ่งตอนนี้เราจะ เพื่อกำจัดที่ไม่ชิด, 701 00:33:52,500 --> 00:33:54,570 แต่เรามีทั้งกลุ่ม ของไดเรกทอรีนี้ 702 00:33:54,570 --> 00:33:58,080 เป็นไปได้คล้ายกันมากในจิตวิญญาณ สิ่งที่คุณจะเห็นในปัญหาตั้งเจ็ด 703 00:33:58,080 --> 00:34:00,980 >> ดังนั้นเราจึงมีสามไดเรกทอรี รวมถึงประชาชนและแม่แบบซึ่ง 704 00:34:00,980 --> 00:34:05,040 เป็นสิ่งที่เราทิ้งไปเมื่อวันที่ วันจันทร์กับกระบวนทัศน์ MVC ของเราทั้ง 705 00:34:05,040 --> 00:34:09,290 และปะยางรถในที่สาธารณะจะไป ไฟล์ที่ผมต้องการให้ผู้ใช้ใด ๆ จริง 706 00:34:09,290 --> 00:34:12,969 V จะสามารถเยี่ยมชมใน เบราว์เซอร์ของพวกเขาผ่านทาง URL 707 00:34:12,969 --> 00:34:13,502 แบบ 708 00:34:13,502 --> 00:34:14,710 เราทำอะไรใส่ในแม่แบบ? 709 00:34:14,710 --> 00:34:17,070 สิ่งที่ชนิดของสิ่ง? 710 00:34:17,070 --> 00:34:21,659 มีไม่มาก แต่ทั้งคู่ ไฟล์อย่างน้อยในวันจันทร์ที่ 711 00:34:21,659 --> 00:34:22,619 ใช่ 712 00:34:22,619 --> 00:34:23,100 >> ผู้ชม: ส่วนหัวและท้ายกระดาษ? 713 00:34:23,100 --> 00:34:24,516 >> เดวิดเจลัน: หัวและท้าย 714 00:34:24,516 --> 00:34:26,679 ดังนั้นเราจึงมีสิ่งที่คล้ายกันในวันนี้ด้วย 715 00:34:26,679 --> 00:34:30,330 เรามีไฟล์มากขึ้นไม่กี่คน แต่ ส่วนท้ายที่ฉันเห็นส่วนหัวที่ฉันเห็น 716 00:34:30,330 --> 00:34:31,909 แล้วพวงของไฟล์อื่น ๆ 717 00:34:31,909 --> 00:34:35,482 ดังนั้นนี่คือเทียบเท่า ในมุมมองของ V MVC ซึ่ง 718 00:34:35,482 --> 00:34:37,690 อีกครั้งจะมีมากขึ้นอีกนิด ที่ชัดเจนในการแก้ไขปัญหาการตั้งเจ็ด 719 00:34:37,690 --> 00:34:40,380 แต่นี้เป็นเพียงโฟลเดอร์ฉัน วางจำนวนมากของความสวยงามของฉัน 720 00:34:40,380 --> 00:34:42,840 จำนวนมากของ HTM​​L ของฉันมากของรูปแบบของฉัน 721 00:34:42,840 --> 00:34:46,899 ในขณะเดียวกันรวมถึงเป็นอีกหนึ่ง ไดเรกทอรีที่มีทั้งสามไฟล์ 722 00:34:46,899 --> 00:34:48,440 และขอใช้เวลาดูอย่างรวดเร็วที่เหล่านี้ 723 00:34:48,440 --> 00:34:51,699 >> ฉันจะไปข้างหน้า และเปิด config.php 724 00:34:51,699 --> 00:34:54,610 ในฐานะที่เป็นมันจะเปิดออกมาก เหมือนก่อนหน้านี้ในคำว่า 725 00:34:54,610 --> 00:34:57,850 รวมคุณคมชัด CS50 จุดชั่วโมงกับ pset7 726 00:34:57,850 --> 00:35:00,780 ในตัวอย่างวันนี้คุณกำลังจะ ที่จะทำเท่ากับว่า 727 00:35:00,780 --> 00:35:03,600 ที่มีคำสั่งที่ต้องใช้ ที่มีประสิทธิภาพ 728 00:35:03,600 --> 00:35:05,340 รวมถึงสายหลายเหล่านี้ 729 00:35:05,340 --> 00:35:08,225 ดังนั้นเพื่อให้มีความชัดเจนนี้เป็น ไฟล์ที่เรียกว่า config.php 730 00:35:08,225 --> 00:35:09,350 และสังเกตเห็นสิ่งที่มันทำ 731 00:35:09,350 --> 00:35:11,970 มันเห็นได้ชัดว่าทำอะไรบางอย่าง ความลับ, เปิดข้อความผิดพลาด 732 00:35:11,970 --> 00:35:13,680 เพื่อให้คุณสามารถเห็นพวกเขาในเบราว์เซอร์ 733 00:35:13,680 --> 00:35:15,860 มันก็เห็นได้ชัด ต้องมีสองไฟล์อื่น ๆ 734 00:35:15,860 --> 00:35:19,530 ดังนั้นนี้เป็นเหมือน #include ใน C แล้วหนึ่งที่เราไม่เห็นนี้ 735 00:35:19,530 --> 00:35:22,720 และเราได้อาศัยนี้เปิด ตะกร้าช้อปปิ้งที่ชอบการทำงาน 736 00:35:22,720 --> 00:35:25,610 >> ซึ่งหมายความว่าจะคุกกี้ ถูกส่งกลับมา 737 00:35:25,610 --> 00:35:27,290 ดังนั้นทำไมนี้เป็นที่น่าสนใจ? 738 00:35:27,290 --> 00:35:32,460 ดีถ้าเรากลับไปนี้ ไดเรกทอรีและเปิดตัวอย่างเช่น 739 00:35:32,460 --> 00:35:33,741 constance.php 740 00:35:33,741 --> 00:35:38,840 ขอให้สังเกตว่า PHP ไม่คงที่สนับสนุน มันไม่มากเช่น #define ใน C. 741 00:35:38,840 --> 00:35:41,290 แต่คุณอย่างแท้จริง กล่าวว่าการกำหนดและแจ้งให้ทราบล่วงหน้า 742 00:35:41,290 --> 00:35:44,110 ที่ฉันได้เก็บไว้ล่วงหน้า สี่ค่าคงที่ในแฟ้มนี้ 743 00:35:44,110 --> 00:35:47,020 หนึ่งสำหรับฐานข้อมูลของวันนี้สำหรับ รหัสผ่านของฉันชื่อผู้ใช้ของฉัน 744 00:35:47,020 --> 00:35:48,690 และชื่อของเซิร์ฟเวอร์ 745 00:35:48,690 --> 00:35:51,644 ดังนั้นเหล่านี้เป็นจริงไปได้ สวยเหมือนกันในปัญหาการตั้งเจ็ด 746 00:35:51,644 --> 00:35:54,560 และสุดท้ายและนี่คือที่ฉัน จะได้รับบางฟังก์ชันการทำงานอย่างมีความสุข 747 00:35:54,560 --> 00:35:59,000 จากเจ้าหน้าที่ใน functions.php เป็นพวงของรหัสที่เราได้เขียน 748 00:35:59,000 --> 00:36:01,040 และฉันขโมยบางนี้ จากปัญหาการตั้งเจ็ด 749 00:36:01,040 --> 00:36:05,920 สำหรับวันนี้ที่ไม่พวงของสิ่ง และขอเพียงแค่มองไปที่หนึ่งของพวกเขา 750 00:36:05,920 --> 00:36:07,270 โดยเฉพาะอย่างยิ่ง 751 00:36:07,270 --> 00:36:09,720 ฟังก์ชันนี้ที่นี่ แบบสอบถามเป็นไปได้ 752 00:36:09,720 --> 00:36:13,600 ฟังก์ชัน PHP ที่เราเรียกว่า เพื่อที่จะดำเนินการให้ SQL 753 00:36:13,600 --> 00:36:16,070 ช่วงเวลาที่ผ่านมาเราได้ใช้ phpMyAdmin แต่นั่นเป็นเพียง 754 00:36:16,070 --> 00:36:18,720 สำหรับการจัดเรียงของวัตถุประสงค์การเรียนรู้ และวัตถุประสงค์ในการวินิจฉัย 755 00:36:18,720 --> 00:36:20,494 และลืมชุดฐานข้อมูลของคุณ 756 00:36:20,494 --> 00:36:22,660 เมื่อคุณใช้จริงของคุณ ฐานข้อมูลคุณ, มนุษย์ 757 00:36:22,660 --> 00:36:24,100 จะเห็นได้ชัดว่าไม่ไป ที่จะดึงขึ้นเว็บ 758 00:36:24,100 --> 00:36:25,740 หน้าทุกครั้งที่มีคนลงทะเบียน 759 00:36:25,740 --> 00:36:29,870 คุณกำลังจะเขียนโค้ดที่ แทรกและลบผู้ใช้ที่ต้องการ 760 00:36:29,870 --> 00:36:32,490 และเรากำลังจะทำนี้ โดยวิธีการทำงานของแบบสอบถาม 761 00:36:32,490 --> 00:36:35,360 ถ้าตอนนี้ผมเลื่อนลงมามี จะมีคุณสมบัติอื่น ๆ อีกไม่กี่ 762 00:36:35,360 --> 00:36:37,170 การเปลี่ยนเส้นทางที่จะไป เป็นหน้าที่ที่เราเขียน 763 00:36:37,170 --> 00:36:40,160 สำหรับคุณที่ช่วยให้คุณ ส่งผู้ใช้ไปยัง URL อื่น 764 00:36:40,160 --> 00:36:43,780 และทำให้เป็นฟังก์ชันที่ค่อนข้างชอบ ที่เราเห็นในวันจันทร์ที่จริงการแสดงผล 765 00:36:43,780 --> 00:36:48,000 แม่ แต่เพิ่มเติมเกี่ยวกับเหล่านี้ใน รูปแบบของการเดินของตัวเอง pset7 ผ่าน 766 00:36:48,000 --> 00:36:50,500 สำหรับตอนนี้ขอไปข้างหน้าและทำเช่นนี้ 767 00:36:50,500 --> 00:36:54,860 >> ให้ฉันไปลงในตารางการบรรยายของฉันและ มาดูกันว่ามีอะไรอยู่ในปัจจุบัน 768 00:36:54,860 --> 00:36:59,640 ที่นี่ยังเพียงและให้ฉันยังไป ลงในไดเรกทอรีสาธารณะของฉันอยู่ที่ไหน 769 00:36:59,640 --> 00:37:02,780 มีเพียงหนึ่งแฟ้ม index.php 770 00:37:02,780 --> 00:37:06,920 ไฟล์นี้ดูเหมือนจะง่ายสุด ในขณะที่ดูเหมือนว่าเพียงแค่นี้ 771 00:37:06,920 --> 00:37:09,110 อย่างมากเช่นวิธีการที่เรา ซ้ายปิดในวันจันทร์ 772 00:37:09,110 --> 00:37:11,945 ฉันต้องแฟ้มนี้ config.php ซึ่งอยู่ใน 773 00:37:11,945 --> 00:37:15,160 รวมถึงไดเรกทอรีซึ่ง อยู่ในจุดจุดพ่อแม่ของฉัน 774 00:37:15,160 --> 00:37:17,650 และจากนั้นก็เป็นเพียงการแสดงผลไฟล์นี้ 775 00:37:17,650 --> 00:37:18,960 ดังนั้นสิ่งที่เป็นไฟล์นี้หรือไม่? 776 00:37:18,960 --> 00:37:24,700 >> ลองเปิดขึ้นในแม่แบบของฉัน form.php และเราจะเห็นนี้ 777 00:37:24,700 --> 00:37:28,500 ง่ายสุดที่เห็นได้ชัดในรูปแบบนี้ จะส่งโดย $ _GET หรือ $ _POST 778 00:37:28,500 --> 00:37:29,320 การตรวจสอบสุขภาพจิตได้อย่างรวดเร็ว 779 00:37:29,320 --> 00:37:33,760 780 00:37:33,760 --> 00:37:35,690 แท้จริงสายตาค้นหาไฟล์ 781 00:37:35,690 --> 00:37:36,610 วิธีการโพสต์เท่ากับ 782 00:37:36,610 --> 00:37:39,280 ดังนั้นมันจะไม่ใช้ URL เช่น Google ไม่ก็จะเรียงลำดับจากที่ซ่อน 783 00:37:39,280 --> 00:37:41,030 ข้อมูลที่อยู่เบื้องหลัง ฉากและก็ 784 00:37:41,030 --> 00:37:43,580 จะส่งไปยัง แฟ้มที่เรียกว่า register.php, 785 00:37:43,580 --> 00:37:45,660 และที่ไฟล์ เรายังไม่ได้เขียนเลย 786 00:37:45,660 --> 00:37:47,610 แต่สิ่งนี้เป็นไป การมองเช่นนี้เป็น 787 00:37:47,610 --> 00:37:52,670 >> ถ้าผมไปที่หน้าแยกนี้เป็น สิ่งที่ localhost / index.php ดูเหมือนว่า 788 00:37:52,670 --> 00:37:56,930 และอีกครั้งเซิร์ฟเวอร์ของ เพียงแค่สมมติว่า index.php 789 00:37:56,930 --> 00:37:57,910 เข้าสู่ 790 00:37:57,910 --> 00:37:59,870 ดังนั้นนั่นคือสิ่งที่เรา ที่และสิ่งที่ผมอยากจะทำ 791 00:37:59,870 --> 00:38:02,450 จะสามารถพิมพ์สิ่งที่ เช่นเดวิดแล้ว 792 00:38:02,450 --> 00:38:08,050 หมายเลขโทรศัพท์ของฉันที่จะพูดว่า 617-555-1212 สำหรับตอนนี้ลงทะเบียน 793 00:38:08,050 --> 00:38:09,910 และตอนนี้ register.php ไม่พบ 794 00:38:09,910 --> 00:38:11,440 ดังนั้นผมจึงจำเป็นต้องดำเนินการนี​​้ 795 00:38:11,440 --> 00:38:13,320 ดังนั้นขออย่างรวดเร็วชัก บางอย่างเช่นนี้ขึ้น 796 00:38:13,320 --> 00:38:18,640 ให้ฉันไปลงในไดเรกทอรีสาธารณะของฉัน และทำ Gedit ของ register.php, 797 00:38:18,640 --> 00:38:22,300 และตอนนี้ฉันจะไปข้างหน้าและ เริ่มต้นโหมด PHP, เหมือนที่เราทำในวันจันทร์ที่ 798 00:38:22,300 --> 00:38:25,430 และใกล้ PHP ของแท็กและ ขอทำสองสิ่ง 799 00:38:25,430 --> 00:38:28,336 >> ดังนั้นหนึ่งฉันรู้จาก การเขียนรูปแบบที่ 800 00:38:28,336 --> 00:38:29,960 ที่ผมอยากจะตรวจสอบต่อไป 801 00:38:29,960 --> 00:38:35,670 ถ้าเป็นที่ว่างเปล่าสิ่งที่ผู้ใช้ พิมพ์ลงในฟิลด์ชื่อแล้ว 802 00:38:35,670 --> 00:38:39,860 ฉันจะพูดอะไรบางอย่าง เช่นชื่อขอโทษที่หายไป 803 00:38:39,860 --> 00:38:42,380 ขอโทษขณะที่เป็น ไม่ได้สร้างขึ้นในสิ่งที่ PHP, 804 00:38:42,380 --> 00:38:45,970 มันเป็นหน้าที่ที่เราเขียน ใน functions.php สำหรับ pset7 805 00:38:45,970 --> 00:38:47,940 เพื่อให้คุณสามารถเข้าถึงได้ 806 00:38:47,940 --> 00:38:53,830 อื่นถ้าเขตข้อมูลอื่น ๆ เป็นที่ว่างเปล่าจำนวนแล้วฉัน 807 00:38:53,830 --> 00:38:58,370 จะไปขอโทษ ผู้ใช้และบอกว่าที่หายไปจำนวน 808 00:38:58,370 --> 00:38:59,320 บันทึกแฟ้มนี้ 809 00:38:59,320 --> 00:39:02,640 >> ตอนนี้ขอกลับไปยังเบราว์เซอร์ของฉัน กลับไปยังฟอรั่มไปลองอีกครั้ง 810 00:39:02,640 --> 00:39:04,070 สมัครสมาชิก 811 00:39:04,070 --> 00:39:05,090 ตกลง 812 00:39:05,090 --> 00:39:06,730 ไม่มีอะไรเกิดขึ้นซึ่งเป็นสิ่งที่ดี 813 00:39:06,730 --> 00:39:08,120 ฉันไม่ได้รับข้อความแสดงข้อผิดพลาด 814 00:39:08,120 --> 00:39:11,651 แต่ถ้าแทนให้โหลดนี้ หน้าและได้ให้อะไร 815 00:39:11,651 --> 00:39:12,150 ประณามมัน 816 00:39:12,150 --> 00:39:15,350 817 00:39:15,350 --> 00:39:17,140 ทำอย่างนั้น 818 00:39:17,140 --> 00:39:18,810 สมัครสมาชิก 819 00:39:18,810 --> 00:39:20,350 ผมทำอะไรผิดหรือเปล่า? 820 00:39:20,350 --> 00:39:24,860 ถ้าที่ว่างเปล่า, $ _POST ชื่อ 821 00:39:24,860 --> 00:39:26,350 พูดอีกครั้ง? 822 00:39:26,350 --> 00:39:27,670 >> โอ้แน่นอน 823 00:39:27,670 --> 00:39:30,919 ฉันลืมส่วนที่สำคัญที่สุดซึ่ง ถูกต้อง ("../ includes / config.php.") 824 00:39:30,919 --> 00:39:34,210 825 00:39:34,210 --> 00:39:36,460 ฉันจำเป็นต้องมีการเข้าถึง ขอโทษฟังก์ชั่นที่ 826 00:39:36,460 --> 00:39:37,770 คือเหตุผลที่ไม่มีอะไรเกิดขึ้น 827 00:39:37,770 --> 00:39:39,460 ฟังก์ชั่นไม่ได้มีอยู่จริง 828 00:39:39,460 --> 00:39:40,640 ดังนั้นลองนี้อีกครั้ง 829 00:39:40,640 --> 00:39:42,350 ลองโหลดหน้าเว็บคลิกสมัครสมาชิก 830 00:39:42,350 --> 00:39:43,060 ตกลง 831 00:39:43,060 --> 00:39:43,770 มีเป็น 832 00:39:43,770 --> 00:39:45,700 ดังนั้นการส่งออกเรา เห็นที่นี่เป็นผล 833 00:39:45,700 --> 00:39:47,685 โทรขอโทษ ฟังก์ชั่นง่ายสุด 834 00:39:47,685 --> 00:39:50,060 และมันก็พิมพ์ออกสิ่งที่ ฉันให้มันเป็นอาร์กิวเมนต์ 835 00:39:50,060 --> 00:39:51,370 >> สิทธิทั้งหมดจึงขอความร่วมมือ 836 00:39:51,370 --> 00:39:54,240 ขอให้ชื่อของฉัน เช่นเดวิดลงทะเบียน 837 00:39:54,240 --> 00:39:56,890 หายไปจำนวนตกลงกันเถอะ ให้ที่มากเกินไป 838 00:39:56,890 --> 00:39:58,650 617-555-1212 839 00:39:58,650 --> 00:39:59,250 สมัครสมาชิก 840 00:39:59,250 --> 00:39:59,750 ตกลง 841 00:39:59,750 --> 00:40:02,760 ดังนั้นทั้งหมดเป็นอย่างดีตอนนี้ไม่มีอะไรเพียงแค่ ที่น่าสนใจที่เกิดขึ้น 842 00:40:02,760 --> 00:40:06,000 ดังนั้นตอนนี้เรามาทำอะไรบางอย่างมากขึ้น ที่น่าสนใจเกิดขึ้นเช่นนี้ 843 00:40:06,000 --> 00:40:09,980 ให้ฉันไปใน phpMyAdmin และให้ จริงสร้างตารางที่เรียกว่าผู้ใช้, 844 00:40:09,980 --> 00:40:12,330 ฉันจะให้มันสาม คอลัมน์และฉันจะได้อย่างรวดเร็ว 845 00:40:12,330 --> 00:40:16,250 สร้าง ID แล้ว ชื่อและหมายเลข 846 00:40:16,250 --> 00:40:18,832 และสนาม ID ฉัน จะปล่อยให้เป็น int 847 00:40:18,832 --> 00:40:20,790 เขตข้อมูลชื่อที่ฉันจะ ที่จะปล่อยให้เป็น varchar, 848 00:40:20,790 --> 00:40:23,257 และเราจะบอกว่า 64 ค่อนข้างพล 849 00:40:23,257 --> 00:40:25,090 จำนวนที่ฉันจะ ที่จะทำให้คุณรู้อะไรไหม 850 00:40:25,090 --> 00:40:27,350 เรากำลังจะเข้าสู่ สนับสนุนตัวเลขสหรัฐที่นี่ 851 00:40:27,350 --> 00:40:31,510 ดังนั้นฉันจะทำอะไรบางอย่าง เหมือนถ่านแล้ว 10 ตัวอักษร 852 00:40:31,510 --> 00:40:34,540 สูงสุดสำหรับรหัสพื้นที่ แล้วตัวเลขเจ็ดหลัก 853 00:40:34,540 --> 00:40:37,870 แล้วกว่าที่นี่ฉันจะไป ระบุเพิ่มขึ้นรถยนต์ด้านนี้ 854 00:40:37,870 --> 00:40:40,550 ทำให้คีย์หลักและ ฉันจะไปข้างหน้าและไม่ได้ 855 00:40:40,550 --> 00:40:42,240 ตรวจสอบใด ๆ ของกล่องอื่น ๆ เหล่านี้ 856 00:40:42,240 --> 00:40:48,030 >> ดังนั้นเมื่อผมตอนนี้จนคลิกบันทึก และผมจะกลับไปที่โต๊ะผู้ใช้ของฉัน 857 00:40:48,030 --> 00:40:52,270 นี่คือสิ่งที่ดูเหมือนว่าถ้าฉัน ตอนนี้คลิกโครงสร้างแท็บใหม่ 858 00:40:52,270 --> 00:40:54,550 ดังนั้นนี้จะมีความชัดเจน เป็นเพียงวิธีการของ phpMyAdmin 859 00:40:54,550 --> 00:40:58,570 ที่บอกตารางฐานข้อมูลของคุณ มีรหัสชื่อและจำนวน 860 00:40:58,570 --> 00:41:02,040 กับการกำหนดค่าโดยเฉพาะอย่างยิ่ง และเราจะไม่สนใจส่วนที่เหลือของฟิลด์ 861 00:41:02,040 --> 00:41:03,140 สำหรับตอนนี้มี 862 00:41:03,140 --> 00:41:04,810 >> ดังนั้นตอนนี้ฉันทำในสิ่งที่ต้องการจะทำอย่างไร 863 00:41:04,810 --> 00:41:09,060 ดังนั้นถ้าฉันไปตอนนี้เป็นของฉัน รหัสแหล่งที่มาถ้าทั้งหมดเป็นอย่างดี 864 00:41:09,060 --> 00:41:11,190 ฉันต้องการที่จะดำเนินการค้นหาต่อไปนี้ 865 00:41:11,190 --> 00:41:14,970 แทรกลงและฉันก็สามารถ บอกว่าผู้ใช้ที่ผมทำไม่ได้อย่างเคร่งครัด 866 00:41:14,970 --> 00:41:18,620 ต้องย้อนกลับไปที่เห็บถ้ามัน ไม่ได้เป็นคำที่เป็นอันตรายเช่นผู้ใช้ 867 00:41:18,620 --> 00:41:22,810 ฉันจะบอกชื่อ จำนวนและแล้วที่นี่ฉัน 868 00:41:22,810 --> 00:41:24,960 จะไม่ยากรหัส หลักของค่ายัง 869 00:41:24,960 --> 00:41:26,760 ฉันจะใส่สองเครื่องหมายคำถาม 870 00:41:26,760 --> 00:41:29,320 และนี่คือการประชุม ในหลายภาษา 871 00:41:29,320 --> 00:41:31,730 โดยถ้าคุณต้องการที่จะมี ตัวยึดสำหรับสตริง 872 00:41:31,730 --> 00:41:34,105 คุณกำลังจะใช้คำถาม เครื่องหมายสำหรับเหตุผลที่เราจะ 873 00:41:34,105 --> 00:41:36,370 กลับมาพูดคุยเกี่ยวกับ การรักษาความปลอดภัยและที่นี่ 874 00:41:36,370 --> 00:41:39,420 ฉันจะผ่านในนั้น สองช่องโพสต์ชื่อ 875 00:41:39,420 --> 00:41:44,850 แล้วโพสต์หมายเลข และตอนนี้บันทึกแฟ้ม 876 00:41:44,850 --> 00:41:47,090 >> และตอนนี้ฉันกำลังจะไป ลงไปที่นี่เป็นซุปเปอร์ 877 00:41:47,090 --> 00:41:55,690 เพียงแค่พูด rendersuccess.php ซึ่ง เป็นไปได้แม่แบบอื่น 878 00:41:55,690 --> 00:41:57,380 ฉันจะสร้างอย่างรวดเร็วจริงๆ 879 00:41:57,380 --> 00:42:06,270 Geditsuccess.php และฉันแค่ไป ที่จะบอกว่าประสบความสำเร็จ H1 ในแฟ้มที่ 880 00:42:06,270 --> 00:42:06,990 สิทธิ์ทั้งหมด 881 00:42:06,990 --> 00:42:11,312 ดังนั้นตอนนี้ขอกลับไปที่ เบราว์เซอร์ที่ผมไปเยี่ยมก่อน 882 00:42:11,312 --> 00:42:14,270 ลองไปข้างหน้าและยืนยันที่ผมเขียน เดวิดผมเขียนไว้ในหมายเลขโทรศัพท์ 883 00:42:14,270 --> 00:42:15,390 ทะเบียน 884 00:42:15,390 --> 00:42:16,100 ประณามมัน 885 00:42:16,100 --> 00:42:17,420 ผมทำอะไรผิดหรือเปล่า? 886 00:42:17,420 --> 00:42:20,850 ดังนั้นฉันเห็นข้อผิดพลาดที่นี่คุณ มีข้อผิดพลาดในไวยากรณ์ SQL ของคุณ 887 00:42:20,850 --> 00:42:24,900 ผมขอข้ามกลับไป Gedit ให้ ฉันกลับไปที่ register.php, 888 00:42:24,900 --> 00:42:28,830 และสิ่งที่ฉันไม่ละเว้นที่ เป็นครั้งสุดท้ายที่สำคัญ? 889 00:42:28,830 --> 00:42:29,722 ฉันต้องการ 890 00:42:29,722 --> 00:42:32,930 คุณต้องการที่จะรู้ว่านอกเหนือจาก ได้สังเกตเห็นมาก่อน แต่ฉันต้องการ 891 00:42:32,930 --> 00:42:35,596 >> ดังนั้นตอนนี้ขอกลับไปและนี้ เป็นประโยชน์ที่จะเห็นในเบราว์เซอร์ 892 00:42:35,596 --> 00:42:37,680 และที่ว่าทำไมใน config.php เราคายข้อผิดพลาด 893 00:42:37,680 --> 00:42:41,770 ลองไปข้างหน้าและโหลด คลิกดำเนินการต่อความสำเร็จ 894 00:42:41,770 --> 00:42:47,060 ดังนั้นตอนนี้ให้ฉันไปไปของฉัน ฐานข้อมูลที่นี่คลิกผู้ใช้ 895 00:42:47,060 --> 00:42:51,680 และเรียกดูและสังเกตเห็นตอนนี้ผม มีเดวิดในฐานข้อมูลของฉันที่นี่ 896 00:42:51,680 --> 00:42:55,810 ตอนนี้ในทางเทคนิคเว็บไซต์นี้เป็น ยังไม่ได้อยู่บนอินเทอร์เน็ตสาธารณะ 897 00:42:55,810 --> 00:42:57,890 ดังนั้นผมจึงไม่สามารถมีอื่น ๆ คนในการวางที่นี่ 898 00:42:57,890 --> 00:43:01,120 แต่ถ้าตอนนี้ผมต้องการที่จะให้ เช่นส่งตัวเองข้อความ 899 00:43:01,120 --> 00:43:03,920 ลองไปบนกิ่งก้านที่นี่ และดูว่าใช้งานได้จริง 900 00:43:03,920 --> 00:43:07,331 ฉันจะไปข้างหน้า และลบแถวนี้ 901 00:43:07,331 --> 00:43:09,080 และเราจะเบลอนี้ ในวิดีโอออกในภายหลัง 902 00:43:09,080 --> 00:43:11,900 ดังนั้นเราไม่ได้มี อินเทอร์เน็ตทั้งส่งข้อความของฉัน 903 00:43:11,900 --> 00:43:17,270 และตอนนี้เราจะไปถึง เบราว์เซอร์และเราจะไปกว่าจะบรรยาย 904 00:43:17,270 --> 00:43:22,040 และเราจะพิมพ์ที่แตกต่างกัน จำนวนที่นี่ลงทะเบียนที่ประสบความสำเร็จ 905 00:43:22,040 --> 00:43:25,550 >> ดังนั้นตอนนี้จำนวนของตัวเองเป็นสันนิษฐานใน ฐานข้อมูลและตอนนี้ส่วนที่สนุก 906 00:43:25,550 --> 00:43:28,774 ลองใช้ PHP จริงที่จะทำ สิ่งที่โปรแกรม 907 00:43:28,774 --> 00:43:30,940 ทั้งจากคำสั่ง เส้นหรือจากที่อื่น 908 00:43:30,940 --> 00:43:32,773 และตอนนี้ฉันแค่ จะให้มันง่าย 909 00:43:32,773 --> 00:43:36,230 และฉันจะไปเป็นของฉัน ไดเรกทอรีที่นี่และทำต่อไปนี้ 910 00:43:36,230 --> 00:43:44,920 สคริปต์ gedit สมมติว่าเราจะ เรียกว่าข้อความ #! / ผู้ใช้ / / bin env PHP, 911 00:43:44,920 --> 00:43:46,700 เหมือนที่เราเห็นครั้งสุดท้าย 912 00:43:46,700 --> 00:43:47,950 PHP 913 00:43:47,950 --> 00:43:55,055 >> ตอนนี้ฉันจะไม่จำเป็นต้องใช้ รวมถึง config.php, 914 00:43:55,055 --> 00:43:57,360 แม้ว่าอาจนี้ ทำให้เกิดข้อผิดพลาดเล็กน้อย 915 00:43:57,360 --> 00:44:03,960 และตอนนี้ฉันจะไปข้างหน้าและพูดว่า แถวแบบสอบถามเลือกดาวจากผู้ใช้ 916 00:44:03,960 --> 00:44:08,149 และตอนนี้ที่นี่ฉันจะทำเทคนิค จากครั้งที่แล้วสำหรับแถวแต่ละแถว 917 00:44:08,149 --> 00:44:09,690 และฉันจะทำสิ่งที่ง่าย 918 00:44:09,690 --> 00:44:19,090 printf สมมุติว่าชื่อนี้ และตัวเลขนี้เครื่องหมาย n 919 00:44:19,090 --> 00:44:23,320 และตอนนี้ฉันจะผ่าน ในแถวอ้างชื่อ unquote, 920 00:44:23,320 --> 00:44:28,140 และจำนวนแถวอ้าง unquote, และตอนนี้ขอไปข้างหน้า 921 00:44:28,140 --> 00:44:31,430 และหน้าต่าง terminal ของฉัน chmod + x นี้ที่จะทำให้ 922 00:44:31,430 --> 00:44:33,970 สคริปต์นี้เรียกว่าปฏิบัติการข้อความ 923 00:44:33,970 --> 00:44:36,080 และตอนนี้ขอใช้ข้อความ 924 00:44:36,080 --> 00:44:37,590 >> ตกลงดังนั้นความคืบหน้า 925 00:44:37,590 --> 00:44:39,960 ดังนั้นผมจึงได้เขียนตอนนี้ สคริปต์บรรทัดคำสั่ง 926 00:44:39,960 --> 00:44:43,300 ในภาษาที่เรียกว่า PHP, ที่, เพราะการที่ต้องใช้เส้น 927 00:44:43,300 --> 00:44:46,380 มีการเข้าถึงทุกการตั้งค่าเหล่านั้น ค่าคงที่ที่ผมระบุ 928 00:44:46,380 --> 00:44:48,177 ชื่อของฐานข้อมูลและอื่น ๆ 929 00:44:48,177 --> 00:44:50,260 ในความเป็นจริงเพียงเพื่อให้มีความชัดเจน ที่นี้ไม่ได้บังเอิญ 930 00:44:50,260 --> 00:44:54,730 ให้ฉันไปข้างหน้าและลงทะเบียน อย่างรวดเร็วจริงๆคนอื่นเช่นร็อบ 931 00:44:54,730 --> 00:44:58,890 และจะให้เขาหมายเลข 555-1212 932 00:44:58,890 --> 00:45:01,557 >> และตอนนี้ถ้าผมเรียกใช้สคริปต์ อีกครั้งสังเกตเห็นไฟ 933 00:45:01,557 --> 00:45:03,140 ของสิ่งที่เรากำลังทำกับฐานข้อมูล 934 00:45:03,140 --> 00:45:07,680 ตอนนี้ผมได้เห็นทันทีว่า อีกสองแถวอยู่ในฐานข้อมูลของฉัน 935 00:45:07,680 --> 00:45:10,699 ดังนั้นตอนนี้ขอพยายามที่จะทำอะไรบางอย่าง แม้กระทั่งนักเล่นที่อยู่ภายใน, 936 00:45:10,699 --> 00:45:12,740 และนี่คือส่วนหนึ่งที่เราได้ ไม่ได้ทดสอบล่วงหน้า 937 00:45:12,740 --> 00:45:15,910 ดังนั้นเวลาที่ผ่านมาผมทำอย่างนี้ สิ่งที่ไปเป๋อย่างน่ากลัว 938 00:45:15,910 --> 00:45:17,120 เรามีวิดีโอที่มีผล 939 00:45:17,120 --> 00:45:18,286 >> ที่จริงแล้วใช่ตลกกัน 940 00:45:18,286 --> 00:45:20,480 ดังนั้นเวลาที่ผ่านมาใน บรรยายเหมือนสองปีที่แล้ว 941 00:45:20,480 --> 00:45:23,230 เราตัดสินใจที่ฉันตัดสินใจที่จะ ทั้งหมดนี้จะเป็นความคิดที่ดี 942 00:45:23,230 --> 00:45:28,150 ในการสร้างอีเมลในแบบไดนามิก ระดับการใช้ CS50 ฐานข้อมูลทั้งหมด 943 00:45:28,150 --> 00:45:33,390 นักเรียนที่ได้ให้เราจำนวนของพวกเขา และผู้ให้บริการโทรศัพท์มือถือของพวกเขาที่คุณ 944 00:45:33,390 --> 00:45:36,290 อาจจำจาก pset0, วิธีที่จะให้เหตุผลก็จะเปิดออก 945 00:45:36,290 --> 00:45:40,650 ผมมีข้อผิดพลาดเล็กน้อยในโปรแกรมของฉันและ ได้คู่ความผิดพลาดในปี 2012 ผมคิดว่า 946 00:45:40,650 --> 00:45:43,997 >> โดยหนึ่งผมห่วงว่า ไม่ว่าชนิดของสิ่งนี้ 947 00:45:43,997 --> 00:45:46,580 iterating กว่าฐานข้อมูล รับชื่อจากฐานข้อมูล 948 00:45:46,580 --> 00:45:49,940 ชื่อจากฐานข้อมูลและจากนั้นในแต่ละ ทวนของวงที่ผมส่งอีเมล 949 00:45:49,940 --> 00:45:54,130 แต่แทนการส่งอีเมลหนึ่งผม ส่งอีเมลหนึ่งซ้ำครั้งแรก 950 00:45:54,130 --> 00:45:58,200 และสองอีเมลซ้ำสองส่ง สามอีเมลซ้ำสองซึ่ง 951 00:45:58,200 --> 00:46:01,230 ที่คุณอาจจำจากเรา การอภิปรายของสัญกรณ์ซีมโทติ 952 00:46:01,230 --> 00:46:06,400 O ใหญ่ของที่ไม่ดีเช่น n ยกกำลัง เป็นวิธีการที่หลาย ๆ ข้อความที่ผมส่ง 953 00:46:06,400 --> 00:46:08,560 แต่มันก็ไม่ได้แม้กระทั่งอีเมล มันเป็นข้อความตัวอักษร 954 00:46:08,560 --> 00:46:12,070 >> และที่คุณรู้ว่าการเข้าร่วมไม่ได้ ซุปเปอร์สูงไปยังจุดสิ้นสุดภาคการศึกษา 955 00:46:12,070 --> 00:46:15,360 และดังนั้นผมคิดว่ามันจะน่ารักที่ เวลาที่จะพูดว่า "ทำไมคุณไม่ไปเรียน?" 956 00:46:15,360 --> 00:46:17,880 ในข้อความฉัน ส่งไปยังทั้งชั้น, 957 00:46:17,880 --> 00:46:22,140 และมันเป็นเรื่องตลกที่จะชอบ 50% ของ ชั้น แต่อีก 50% บางคน 958 00:46:22,140 --> 00:46:26,102 freaked ออกผมส่งไปอย่างไม่น่าเชื่อ บันทึกหวานขอโทษ 959 00:46:26,102 --> 00:46:28,560 พนักงานขอโทษ ต้องพลาดการบรรยายเพียง 960 00:46:28,560 --> 00:46:29,530 ครั้งนี้ใช่มั้ย? 961 00:46:29,530 --> 00:46:32,790 962 00:46:32,790 --> 00:46:34,030 >> เพื่อที่จะเป๋อย่างน่ากลัว 963 00:46:34,030 --> 00:46:37,030 ดังนั้นในจิตวิญญาณที่ลองนี้ อีกครั้ง แต่เพียงกับจำนวนของฉัน 964 00:46:37,030 --> 00:46:41,940 ล่วงหน้าใน functions.php, ผมเคยเขียนฟังก์ชั่นนี้ได้ที่นี่ 965 00:46:41,940 --> 00:46:44,250 มันเรียกว่าข้อความและมัน ใช้เวลาในสามข้อโต้แย้ง 966 00:46:44,250 --> 00:46:46,360 จำนวนสายการบินและข้อความ 967 00:46:46,360 --> 00:46:50,390 >> ผมใช้คำสั่งสวิทช์ซึ่ง มหัศจรรย์ PHP ใช้สายไม่เพียง 968 00:46:50,390 --> 00:46:53,350 จำนวนเต็มและฉันไม่ได้ดำเนินการ การสนับสนุนนี้ยัง 969 00:46:53,350 --> 00:46:55,370 ฉันได้ทำเพียงแค่ AT & T และ Verizon 970 00:46:55,370 --> 00:46:57,610 เพราะมันจะเปิดออก ว่าด้วยการให้บริการเหล่านี้ 971 00:46:57,610 --> 00:47:00,570 พวกเขามีอีเมลไปยังเกตเวย์ SMS, โดยที่คุณสามารถจริง 972 00:47:00,570 --> 00:47:05,529 ส่งอีเมลไปยังที่อยู่ เช่นหมายเลขโทรศัพท์ที่ vtext.com 973 00:47:05,529 --> 00:47:08,070 และหากผู้ใช้ไม่ได้ปิดกั้น ข้อความก็จะผ่านไป 974 00:47:08,070 --> 00:47:09,340 เป็นข้อความตัวอักษร 975 00:47:09,340 --> 00:47:13,270 >> ตอนนี้การทำเช่นนี้ฉันจะต้องมีการเพิ่ม ด้านหนึ่งอย่างรวดเร็วจริงๆกับฐานข้อมูลของฉัน 976 00:47:13,270 --> 00:47:15,470 ฉันจะไปสู่ โครงสร้างของฉันและฉัน 977 00:47:15,470 --> 00:47:21,880 จะไปข้างหน้าและเพิ่ม ข้อมูลที่ส่วนท้ายของตาราง 978 00:47:21,880 --> 00:47:25,227 ลองคลิกไปและฉัน จะเรียกผู้ให้บริการนี​​้ 979 00:47:25,227 --> 00:47:27,310 และตอนนี้ผมกำลังจะไป ออกจากนี้เป็นข้อความบาร์ 980 00:47:27,310 --> 00:47:29,320 แต่เราสามารถเป็นนักเล่นในอนาคต 981 00:47:29,320 --> 00:47:31,961 ฉันจะไปได้อย่างรวดเร็ว ลงในตารางของฉันและฉัน 982 00:47:31,961 --> 00:47:34,210 จะได้รับการกำจัดของร็อบ, เพราะนั่นคือจำนวนของปลอม 983 00:47:34,210 --> 00:47:38,540 ฉันจะเข้าไปแก้ไขที่นี่และฉัน จะเปลี่ยนผู้ให้บริการของตนเอง 984 00:47:38,540 --> 00:47:43,410 จะเป็น Verizon ซึ่ง เป็นและตอนนี้มากกว่าที่นี่ 985 00:47:43,410 --> 00:47:44,980 >> Let 's ทำกาสติอย่างรวดเร็ว 986 00:47:44,980 --> 00:47:52,730 ลองเปิดสคริปต์ข้อความของเราซึ่ง ลักษณะเช่นนี้, ผู้ให้บริการเป็น% s 987 00:47:52,730 --> 00:47:58,230 ที่เรากำลังทำผิดพลาดมากขึ้น การตรวจสอบกว่าที่ฉันได้ในปี 2012 ผู้ให้บริการ 988 00:47:58,230 --> 00:48:01,160 และตอนนี้ผมกำลังจะไป ข้างหน้าและการเรียกใช้สคริปต์ 989 00:48:01,160 --> 00:48:01,660 ตกลง 990 00:48:01,660 --> 00:48:06,100 ตัวแทนจำหน่ายเป็นของ Verizon ซึ่งหมายความว่า ตอนนี้หวังว่าฉันจะทำเพียงแค่นี้ 991 00:48:06,100 --> 00:48:08,360 ได้อย่างถูกต้องในปีนี้ หวังว่านี่เราไป 992 00:48:08,360 --> 00:48:12,200 >> ดังนั้นภายในของวงนี้สำหรับฉัน จะมี printf นี้ไม่เพียง 993 00:48:12,200 --> 00:48:15,990 ฉันยังจะเรียกข้อความและ การใช้งานฟังก์ชั่นของการเรียกคืนนี้ 994 00:48:15,990 --> 00:48:19,670 ก็จะใช้เวลาเป็นจำนวนมาก, ผู้ให้บริการและข้อความ 995 00:48:19,670 --> 00:48:23,310 ดังนั้นเรามาดูตัวเลขที่เป็นไป เป็นแถวอ้าง unquote "จำนวน" 996 00:48:23,310 --> 00:48:31,660 อ้างแถว unquote "ผู้ให้บริการ" และสุดท้ายคือข้อความ 997 00:48:31,660 --> 00:48:36,250 อย่าพลาดปีนี้อัฒภาค 998 00:48:36,250 --> 00:48:36,780 >> ตกลง 999 00:48:36,780 --> 00:48:38,280 นิ้วมือข​​้าม 1000 00:48:38,280 --> 00:48:39,970 ลองมาดูกันว่างานนี้ 1001 00:48:39,970 --> 00:48:41,720 ขวาทั้งหมดดังนั้น 1002 00:48:41,720 --> 00:48:43,000 ไปเลย 1003 00:48:43,000 --> 00:48:47,380 ขอปลดล็อคโทรศัพท์ ข้ามนิ้วมือข​​องคุณแช่งมัน 1004 00:48:47,380 --> 00:48:50,300 may-- ตัวแปรที่ไม่ได้กำหนดโอ้ รอรอรออย่างรวดเร็วจริง 1005 00:48:50,300 --> 00:48:51,340 รวดเร็วจริงเร็วจริง 1006 00:48:51,340 --> 00:48:53,380 นี่คือทั้งหมดมันคุ้มค่า 1007 00:48:53,380 --> 00:48:57,710 ให้ฉันคว้าให้ฉันคว้า, UH-โอ้ 1008 00:48:57,710 --> 00:48:59,965 ขอบคุณตำรามี เริ่มต้นจากคนอื่น 1009 00:48:59,965 --> 00:49:04,770 1010 00:49:04,770 --> 00:49:11,650 ให้ฉันไปข้างหน้าและเปิดขึ้นจริง รวดเร็ว dropbox.php mail / ที่นี่ 1011 00:49:11,650 --> 00:49:12,660 สแตนด์บาย 1012 00:49:12,660 --> 00:49:14,455 ทั้งหมดมันคุ้มค่า 1013 00:49:14,455 --> 00:49:17,430 ดาวน์โหลด 1014 00:49:17,430 --> 00:49:18,560 ตกลงมา src8m 1015 00:49:18,560 --> 00:49:19,700 ตกลง 1016 00:49:19,700 --> 00:49:21,380 >> จำเป็นต้องใช้สายเพิ่มเติมได้ที่นี่ 1017 00:49:21,380 --> 00:49:24,530 โอ้มีมันคือมันอยู่ใน Frosh IMS, มันอยู่ในทะเบียนที่สาม 1018 00:49:24,530 --> 00:49:28,820 โอ้สวัสดี Margo, ขอบคุณมาก 1019 00:49:28,820 --> 00:49:31,130 ตกลงฉันถูกหายไปบรรทัดนี้ที่นี่ 1020 00:49:31,130 --> 00:49:33,010 เพื่อให้ฉันได้อย่างรวดเร็วคว้า บรรทัดของรหัสนี้ 1021 00:49:33,010 --> 00:49:36,200 ซึ่งรวมถึงอีเมลหรือไลบรารี ว่าที่จริงผมต้องการใช้ 1022 00:49:36,200 --> 00:49:38,300 ผมกำลังจะไปได้อย่างรวดเร็ว กลับไปฟังก์ชั่น 1023 00:49:38,300 --> 00:49:42,337 ฉันจะไปที่ด้านบนนี้ ไฟล์และต้องใช้ไฟล์นี้เป็นอย่างดี 1024 00:49:42,337 --> 00:49:45,420 และตอนนี้ผมกำลังจะข้ามจริงๆของฉัน นิ้วมือเมื่อผมกลับไปที่คำสั่ง 1025 00:49:45,420 --> 00:49:49,530 สคริปต์เส้นซึ่งเป็นที่อยู่ภายใน ไดเรกทอรีพื้นที่ท้องถิ่นของวันนี้ 1026 00:49:49,530 --> 00:49:50,610 ข้อความเรียกใช้ 1027 00:49:50,610 --> 00:49:52,720 เข้าสู่ 1028 00:49:52,720 --> 00:49:53,220 จดหมาย 1029 00:49:53,220 --> 00:49:53,719 สแตนด์บาย 1030 00:49:53,719 --> 00:49:58,850 1031 00:49:58,850 --> 00:49:59,600 สแตนด์บาย 1032 00:49:59,600 --> 00:50:01,680 จดหมาย 1033 00:50:01,680 --> 00:50:02,290 โอ้ตกลง 1034 00:50:02,290 --> 00:50:03,870 ไปเลย 1035 00:50:03,870 --> 00:50:06,880 >> จดหมายรับจดหมาย PHP ใหม​​่ 1036 00:50:06,880 --> 00:50:09,970 ผมทำนี้ 1037 00:50:09,970 --> 00:50:11,067 ประณามมัน 1038 00:50:11,067 --> 00:50:12,150 To-- โอ้รอรอรอ 1039 00:50:12,150 --> 00:50:12,649 ยืนตาม 1040 00:50:12,649 --> 00:50:15,820 1041 00:50:15,820 --> 00:50:18,630 ฉันสัญญานี้เป็น จะเป็นเพื่อให้คุ้มค่า 1042 00:50:18,630 --> 00:50:20,340 ที่อยู่ 1043 00:50:20,340 --> 00:50:24,390 นี่คือเหตุผลที่ผมไม่ได้ทำ ตัวอย่างขวาก่อนเรียน 1044 00:50:24,390 --> 00:50:26,350 ฮึ 1045 00:50:26,350 --> 00:50:27,910 ผู้รับต่อไปนี้ล้มเหลว 1046 00:50:27,910 --> 00:50:31,500 1047 00:50:31,500 --> 00:50:33,040 ลองสิ่งสุดท้ายที่หนึ่ง 1048 00:50:33,040 --> 00:50:40,660 SMTP ตั้งเพิ่มที่อยู่, ที่อยู่เป็นที่แน่นอนว่า 1049 00:50:40,660 --> 00:50:43,980 ลองส่วนสุดท้ายนี้ในที่อยู่ 1050 00:50:43,980 --> 00:50:47,210 Aw ฉันเศร้าจริงๆตอนนี้ 1051 00:50:47,210 --> 00:50:47,854 ขอบคุณ 1052 00:50:47,854 --> 00:50:50,270 แต่ผมขอขอบคุณทุก ข้อความที่คุณได้รับการส่ง 1053 00:50:50,270 --> 00:50:53,130 1054 00:50:53,130 --> 00:50:56,320 คุณได้มีดาวิด 1055 00:50:56,320 --> 00:50:59,310 คุณกำลังพัดมัน 1056 00:50:59,310 --> 00:51:01,720 ให้ทิ้งไว้ที่นั่นและ เราจะแก้ไขในวันจันทร์ที่ 1057 00:51:01,720 --> 00:51:04,290 เห็นคุณแล้ว 1058 00:51:04,290 --> 00:51:08,090 >> Daven FARNHAM: และตอนนี้ลึก ความคิดโดย Daven อัม 1059 00:51:08,090 --> 00:51:11,340 1060 00:51:11,340 --> 00:51:17,590 ถ้าต้นไม้ไบนารีตกในป่าและ ไม่มีใครเป็นรอบที่ C พูดไป [หัวเราะเบา ๆ ] 1061 00:51:17,590 --> 00:51:18,998