1 00:00:00,000 --> 00:00:05,040 2 00:00:05,040 --> 00:00:08,440 >> SAM LEVATICH: ยินดีต้อนรับสู่ ส่วนในสัปดาห์นี้ 3 00:00:08,440 --> 00:00:10,040 ผมไม่ได้แล้วล่ะ 4 00:00:10,040 --> 00:00:14,590 Andi ป่วยได้ลดลงในวันนี้และฉัน ได้รับการเรียกว่าการจัดเรียงของในนาทีสุดท้าย 5 00:00:14,590 --> 00:00:15,700 จะใช้เวลามากกว่า 6 00:00:15,700 --> 00:00:20,920 มันเป็นฤดูไข้หวัดใหญ่เพื่อให้แน่ใจว่าคุณ จะเข้าพักสะอาดล้างมือของคุณ 7 00:00:20,920 --> 00:00:24,800 และรับประทานอาหารเพื่อสุขภาพเพื่อให้ คุณเกินไปไม่ได้ล้มป่วย 8 00:00:24,800 --> 00:00:26,870 >> แต่ไม่มีการต่อไป ความกังวลใจให้เริ่มต้น 9 00:00:26,870 --> 00:00:29,970 วันนี้เรากำลังจะพูดคุย เกี่ยวกับ PHP น้อย bit-- วิธี 10 00:00:29,970 --> 00:00:33,900 PHP เกี่ยวข้องกับ HTML, วิธีการที่จะ เกี่ยวข้องกับ CSS และบางส่วนของเว็บ 11 00:00:33,900 --> 00:00:36,100 สิ่งที่คุณทำในการมอบหมายที่ผ่านมา 12 00:00:36,100 --> 00:00:37,930 เรากำลังจะไปพูดคุย นิด ๆ หน่อย ๆ เกี่ยวกับ SQL 13 00:00:37,930 --> 00:00:41,360 และวิธีที่คุณสามารถทำงานร่วมกับฐานข้อมูล ซึ่งเป็นองค์ประกอบสำคัญของ P สวย 14 00:00:41,360 --> 00:00:43,650 ตั้ง 8-- P ตั้ง 7 15 00:00:43,650 --> 00:00:44,480 P ตั้ง 7 16 00:00:44,480 --> 00:00:48,400 >> และจากนั้นเรากำลังจะพูดคุยเล็ก ๆ น้อย ๆ เล็กน้อยเกี่ยวกับการควบคุมมุมมองการทำงาน 17 00:00:48,400 --> 00:00:54,640 และเหตุผลที่อยู่เบื้องหลังปรัชญาบาง หน้าเว็บที่ทันสมัย​​และการออกแบบที่แตกต่างกัน 18 00:00:54,640 --> 00:00:58,760 สวยมากมากชนิดของปพลิเคชัน และการใช้งานที่คุณอาจจัดส่ง 19 00:00:58,760 --> 00:01:01,120 มีการใช้รูปแบบนี้ มุมมองกรอบการควบคุม 20 00:01:01,120 --> 00:01:02,890 ที่คุณจะใช้ ใน P ตั้ง 7 ดังนั้นฉันจะ 21 00:01:02,890 --> 00:01:05,220 พูดคุยนิด ๆ หน่อย ๆ เกี่ยวกับสาเหตุที่กลายเป็น 22 00:01:05,220 --> 00:01:07,970 ที่นิยมจึงเป็นสิ่งสำคัญและมีความสุข 23 00:01:07,970 --> 00:01:12,052 และแล้วในที่สุดผมก็จะย้ายไป เคล็ดลับบางอย่างเกี่ยวกับการแก้ปัญหา P ตั้ง 7 24 00:01:12,052 --> 00:01:13,760 และถ้าเรามีเวลา ที่เหลือในตอนท้าย 25 00:01:13,760 --> 00:01:17,320 เราจริงสามารถทำบาง ทำงานเกี่ยวกับการร่วมกันว่า 26 00:01:17,320 --> 00:01:20,380 >> ดังนั้น PHP 27 00:01:20,380 --> 00:01:23,790 ในความเป็นจริงคุณอาจจะสังเกตเห็น this-- คุณไม่ได้จริงๆต้องดำน้ำใน it-- 28 00:01:23,790 --> 00:01:27,880 แต่ P ตั้ง 6 มีบาง PHP รหัสที่เกิดขึ้น 29 00:01:27,880 --> 00:01:34,710 และเนื่องจาก PHP เป็น C-เช่น ภาษา PHP ซึ่งแตกต่างจาก HTML และ CSS, 30 00:01:34,710 --> 00:01:39,030 ภาษาการเขียนโปรแกรม ในขณะที่ HTML และ CSS จะคงที่ 31 00:01:39,030 --> 00:01:44,050 พวกเขากำลังจัดการภาษามาร์กอัป มีสไตล์และรูปแบบภาพ 32 00:01:44,050 --> 00:01:46,230 PHP เป็นเรื่องจริง 33 00:01:46,230 --> 00:01:51,590 >> PHP มีลูปก็มี conditions-- ทุกสิ่งที่สนุกเกี่ยวกับซี 34 00:01:51,590 --> 00:01:56,190 แต่ก็มีบางสิ่งที่มีน้อย ดีขึ้นเล็กน้อยกว่า C ซึ่งเราจะเห็น 35 00:01:56,190 --> 00:01:59,760 แต่ฉันคิดว่าวิธีที่ง่ายที่สุดที่จะพูดคุย เกี่ยวกับ PHP เป็นเพียงในการดำน้ำ 36 00:01:59,760 --> 00:02:04,087 ดังนั้นฉันจะไปทางด้านขวา เข้า IDE ที่จุดนี้ 37 00:02:04,087 --> 00:02:06,170 สิ่งแรกที่เรากำลังจะไป จะทำอย่างไรที่เป็นจริงดู 38 00:02:06,170 --> 00:02:10,169 นิด ๆ หน่อย ๆ ที่บางส่วนของ PHP รหัสที่อยู่ใน P ตั้ง 6 39 00:02:10,169 --> 00:02:13,600 ดังนั้นวิธีการที่เราทำ that-- ก่อนที่จะวิธีการที่เราได้รับการเรียกใช้ 40 00:02:13,600 --> 00:02:18,550 เซิร์ฟเวอร์สำหรับเครื่องใช้ไฟฟ้า คือการที่เราจะต้อง type-- 41 00:02:18,550 --> 00:02:21,750 อาจใช้การดำเนินการของคุณ หรือการดำเนินงานของพนักงาน 42 00:02:21,750 --> 00:02:27,059 ของ server.c โดยไปลงในไดเรกทอรี และทำงาน server.c กับทั้งไม่มี 43 00:02:27,059 --> 00:02:30,100 arguments-- ดังนั้นเพียงแค่เรียกมันใน โฮสต์ท้องถิ่นซึ่งเป็นสิ่งที่คุณอาจ 44 00:02:30,100 --> 00:02:31,849 ได้มากที่สุดของ time-- และจากนั้นให้อาหารมัน 45 00:02:31,849 --> 00:02:35,380 directory-- กับ ซึ่งจะใช้เป็นราก 46 00:02:35,380 --> 00:02:38,310 เว็บไซต์ที่จะ จะทำงานโดยทั่วไป 47 00:02:38,310 --> 00:02:42,180 >> สัปดาห์ P 7 ชุดนี้เป็น ใหญ่เป็นรหัสของเราสำหรับ server.c 48 00:02:42,180 --> 00:02:47,580 คือมีคนที่มีอยู่แล้ว เขียนสิ่งเหล่านี้ได้ดีมากกว่าที่ CS50 49 00:02:47,580 --> 00:02:49,630 ที่มีนิด ๆ หน่อย ๆ การทำงานมากขึ้น 50 00:02:49,630 --> 00:02:52,920 โปรแกรมเซิร์ฟเวอร์ที่มีความสามารถ ในการจัดการกับน้อยมาก 51 00:02:52,920 --> 00:02:56,350 ความซับซ้อนของการที่เราจะ เห็นในทั้ง P ตั้ง 7 และ P ตั้ง 8 52 00:02:56,350 --> 00:03:01,410 และวิธีการที่คุณจะเริ่มต้นขึ้น เซิร์ฟเวอร์โดยเพียงแค่พิมพ์ "apache50." 53 00:03:01,410 --> 00:03:03,960 >> และก่อนที่จะทำอะไร คุณต้องการให้แน่ใจว่า 54 00:03:03,960 --> 00:03:06,070 อาปาเช่ที่ 50 ไม่ได้ ทำงานอยู่แล้วมันเป็น 55 00:03:06,070 --> 00:03:08,130 ในเครื่องของฉันซึ่งฉันไม่ได้ทดสอบ 56 00:03:08,130 --> 00:03:10,320 และคุณทำเช่นนั้นโดยการเรียก apache50 57 00:03:10,320 --> 00:03:14,070 หยุดและคุณจะเห็นว่ามันหยุด เว็บเซิร์ฟเวอร์ถ้าคุณสามารถดูมี 58 00:03:14,070 --> 00:03:16,340 ที่ด้านล่างของหน้าต่างขั้ว 59 00:03:16,340 --> 00:03:21,090 และจากนั้นก็จะเริ่มเรา จะเรียก "apache50 เริ่มต้น." 60 00:03:21,090 --> 00:03:23,150 และจากนั้นเรากำลังจะ ที่จะเลี้ยงมันไดเรกทอรี 61 00:03:23,150 --> 00:03:26,950 >> ตอนนี้เพราะเราต้องการที่จะดู ที่บางส่วนของการตั้งค่า P ​​6 รหัส 62 00:03:26,950 --> 00:03:32,850 ที่เราได้ดำเนินการจริงผม คัดลอกนิด ๆ หน่อย ๆ ของ P 63 00:03:32,850 --> 00:03:37,090 ตั้ง 6 รหัสลงในโฟลเดอร์ของตัวเอง ที่คุณสามารถดูด้านซ้ายมี 64 00:03:37,090 --> 00:03:40,170 มันเรียกว่า "SECTION8" ในทุกตัวอักษร 65 00:03:40,170 --> 00:03:44,510 เพราะฉันแค่รู้สึกตื่นเต้นมาก จะเป็นสตรีมสดในวันนี้ 66 00:03:44,510 --> 00:03:47,330 >> ดังนั้นถ้าเราทำงานนี้มันควรจะเป็น ทุกคนทำงานอย่างมีประสิทธิภาพสวย 67 00:03:47,330 --> 00:03:52,350 มันบอกว่าตกลงเว็บไซต์ของเราอยู่ในขณะนี้ สามารถดูได้ที่อยู่ของ IDE ที่ 68 00:03:52,350 --> 00:03:57,710 โดยทั่วไปซึ่งเป็นสิ่งที่คุณกำลังใช้ ตรงตามที่มันเป็นใน P ตั้ง 7-- P ตั้ง 6 69 00:03:57,710 --> 00:04:00,899 ดัชนีทั้งหมดของฉันเป็นหนึ่งในดัชนีในวันนี้ 70 00:04:00,899 --> 00:04:02,940 ดังนั้นเราจึงสามารถไปที่ ที่อยู่ถ้าคุณจะจำ 71 00:04:02,940 --> 00:04:05,710 โดยเพียงแค่คลิกเล็ก ๆ น้อย ๆ นี้ ปุ่มที่มุมบนขวา 72 00:04:05,710 --> 00:04:14,200 >> และคุณจะจำรหัสนี้ซึ่ง ที่เกิดขึ้นเมื่อคุณเดินเข้าไปใน hello.php 73 00:04:14,200 --> 00:04:18,000 และสิ่งที่รหัสถูกออกแบบมาเพื่อ ทำคือเมื่อคุณพิมพ์ในชื่อ 74 00:04:18,000 --> 00:04:20,550 here-- ถ้าคุณบอกว่าแซม เนื่องจากว่าเป็น name-- ของฉัน 75 00:04:20,550 --> 00:04:23,620 และฉันคลิกกล่าวสวัสดีเมื่อ เราไปหน้าถัดไป 76 00:04:23,620 --> 00:04:25,270 ชื่อที่ควรจะถูกนำมาแสดง 77 00:04:25,270 --> 00:04:28,550 มันจะพูดว่า "สวัสดีแซม" หรือ "สวัสดี" ชื่ออะไรก็ตามที่คุณ 78 00:04:28,550 --> 00:04:32,470 ใส่ลงในนั้นแม้ว่าเราไป ไปยังหน้าเว็บใหม่ทั้งหมด 79 00:04:32,470 --> 00:04:36,610 >> และนี่คือการจัดเรียงของสิ่ง ที่ PHP สามารถทำเพื่อคุณ 80 00:04:36,610 --> 00:04:42,840 PHP เป็นความสามารถในการส่งผ่านข้อมูล ระหว่างสองหน้าเว็บ 81 00:04:42,840 --> 00:04:44,390 นี่คือหน้าต่างกันโดยสิ้นเชิง 82 00:04:44,390 --> 00:04:46,990 คุณจะเห็นชื่อคือ "สวัสดี" ที่นี่ 83 00:04:46,990 --> 00:04:49,080 ที่จริงแล้วพวกเขามี ชื่อเดียวกัน แต่ฉัน 84 00:04:49,080 --> 00:04:52,560 สัญญาว่าพวกเขาจะมีเว็บที่แตกต่าง หน้าถ้าเรามองไปที่แหล่งที่มา 85 00:04:52,560 --> 00:04:55,890 และคุณสามารถส่งผ่านข้อมูลที่เป็น ป้อนในฟิลด์ข้อความนี้ 86 00:04:55,890 --> 00:04:59,830 ที่จะส่งต่อไป หน้าเว็บที่ถูกเรียกขึ้น 87 00:04:59,830 --> 00:05:02,490 แล้วข้อมูลที่สามารถ จะมีในรูปแบบปัจจุบัน 88 00:05:02,490 --> 00:05:04,810 >> ตอนนี้เรายังไม่ได้ดำเนินการ นี้เองที่ 89 00:05:04,810 --> 00:05:08,710 คือสิ่งที่เรากำลังจะทำในขณะนี้เพื่อ การเรียงลำดับได้รับรสชาติสำหรับวิธีการทำงาน PHP, 90 00:05:08,710 --> 00:05:15,070 แต่ความคิดที่สำคัญคือคุณสามารถ PHP-- การเรียงลำดับของคิดว่ามันเหมือนฟังก์ชั่น 91 00:05:15,070 --> 00:05:18,570 สิ่งที่ PHP สามารถช่วยให้คุณ ไม่เป็นก็สามารถใช้พารามิเตอร์ 92 00:05:18,570 --> 00:05:24,710 ที่คุณใส่ลงในหน้า HTML ผ่านการใช้ PHP และรูปแบบที่ 93 00:05:24,710 --> 00:05:29,960 และสามารถส่งผ่านผู้ที่เป็นพารามิเตอร์ ไปยังหน้าถัดไปที่จะโหลดขึ้น 94 00:05:29,960 --> 00:05:35,110 >> ในกรณีนี้เรากำลังโหลดขึ้นนี้ หน้าเว็บที่มีปุ่ม "ทักทาย" 95 00:05:35,110 --> 00:05:38,960 แต่ตอนนี้ที่จริงผม ลบบางส่วนของรหัสที่ 96 00:05:38,960 --> 00:05:44,850 ใน hello.php ที่ถูกเรียกใช้ ที่จริงการแสดง "สวัสดี 97 00:05:44,850 --> 00:05:49,680 โลก "หรือ" สวัสดีแซม "หรือ "สวัสดี" สิ่งที่เป็นเพียงการป้อนข้อมูล 98 00:05:49,680 --> 00:05:53,620 ดังนั้นสำหรับตอนนี้เรา จะไปทำอย่างนั้นโดยทั่วไป 99 00:05:53,620 --> 00:05:56,570 เรากำลังจะสร้างและ ยังเพิ่มบางฟังก์ชันการทำงานมากขึ้น 100 00:05:56,570 --> 00:06:00,210 ทำนิด ๆ หน่อย ๆ กับมันให้ดู PHP เป็นสิ่งที่มีความสามารถจริงๆ 101 00:06:00,210 --> 00:06:04,870 >> ดังนั้นก่อนให้มาพูดคุยเกี่ยวกับ แฟ้มนี้ hello.php 102 00:06:04,870 --> 00:06:07,440 ดังนั้นหากเราซูมใน bit-- เล็ก ๆ น้อย ๆ และตอนนี้ฉัน 103 00:06:07,440 --> 00:06:10,520 การเรียงลำดับของการพยายามที่จะเลื่อน ทาง around-- มีที่เราจะไป 104 00:06:10,520 --> 00:06:14,220 คุณจะเห็นมันเรียกว่า hello.php แต่ไวยากรณ์ของมัน 105 00:06:14,220 --> 00:06:16,880 ดูเหมือนว่าไฟล์ HTML 106 00:06:16,880 --> 00:06:20,380 นี้เป็นเพราะ PHP ที่เกิดขึ้นจริงในแฟ้มนี้ 107 00:06:20,380 --> 00:06:25,220 เป็นสิ่งที่ติดอยู่ระหว่าง บล็อกเครื่องหมายเครื่องหมายคำถาม 108 00:06:25,220 --> 00:06:28,610 ทุกอย่างที่นี่ ถือว่าโค้ด PHP 109 00:06:28,610 --> 00:06:32,040 >> และคุณจะสังเกตเห็นว่า เมื่อฉันไม่ข้อคิดเห็น 110 00:06:32,040 --> 00:06:35,320 คุณจะเห็นที่คุ้นเคย สองทับไปข้างหน้า 111 00:06:35,320 --> 00:06:38,440 และถ้าคุณจะจำได้ใน HTML ถ้าผมพิมพ์ข้อคิดเห็น 112 00:06:38,440 --> 00:06:42,540 มันมีลักษณะบางอย่างที่ใกล้ชิดกับ นี้ซึ่งเป็นความคิดเห็นในที่ HTML 113 00:06:42,540 --> 00:06:46,570 ดังนั้นจริงๆทุกอย่างระหว่าง ทั้งสองวงเล็บมุม 114 00:06:46,570 --> 00:06:50,060 คือตอนนี้โค้ด PHP ซึ่ง จะสะท้อนให้เห็นในความเป็นจริง 115 00:06:50,060 --> 00:06:53,270 ที่เป็นสัญลักษณ์ความคิดเห็นนี้เล็ก ๆ น้อย ๆ จะกลายเป็นแสดงความคิดเห็น 116 00:06:53,270 --> 00:06:58,420 >> ดังนั้นทุกครั้งที่คุณเขียนโค้ด PHP แม้ ถ้ามีโค้ด HTML ไม่มีนอกของมัน 117 00:06:58,420 --> 00:07:02,720 มันเป็นไปได้เสมอ ในวงเล็บมุมเหล่านี้ 118 00:07:02,720 --> 00:07:04,080 ที่มีเครื่องหมายคำถาม 119 00:07:04,080 --> 00:07:08,260 การจัดเรียงของคุณสามารถคิดเกี่ยวกับวิธีการทั้งหมด it-- ของรหัสที่วิ่งเข้าไปในโปรแกรม C ของคุณ 120 00:07:08,260 --> 00:07:13,950 ล้อมรอบใน int หลักโมฆะ รั้งหยิกท้ายคำสั่งวงเล็บปีกกา 121 00:07:13,950 --> 00:07:17,100 และคุณจะเห็นในวงเล็บปีกกา PHP, เกินไป แต่นี่คือการจัดเรียงของ 122 00:07:17,100 --> 00:07:20,490 เช่นวิธีการหลักของ PHP 123 00:07:20,490 --> 00:07:25,630 >> ดังนั้นตอนนี้ทำอย่างไรเราจะทำอะไรใน PHP? 124 00:07:25,630 --> 00:07:29,190 ตอนนี้ PHP เป็นโปรแกรม ภาษาที่ C-ชอบมาก 125 00:07:29,190 --> 00:07:30,970 แต่จะดำเนินการบนเว็บ 126 00:07:30,970 --> 00:07:33,270 ดังนั้นสิ่งหนึ่งที่ คุณจะ immediately-- หนึ่ง 127 00:07:33,270 --> 00:07:38,130 สิ่งแรกที่คุณทำกับ C ได้รับสิ่งที่คุณพิมพ์ออกมาใช่มั้ย? 128 00:07:38,130 --> 00:07:42,290 ดังนั้นใน C เราไม่ว่า ด้วยฟังก์ชั่น printf 129 00:07:42,290 --> 00:07:46,430 เราได้ให้มันสตริง อาจจะมีเส้นใหม่ 130 00:07:46,430 --> 00:07:49,850 แล้วเรายกเลิก ด้วยอัฒภาค 131 00:07:49,850 --> 00:07:53,790 >> ดังนั้นวิธีการที่เรากำลังจะทำว่า ใน PHP-- เพราะมันไม่ได้ค่อนข้าง printf 132 00:07:53,790 --> 00:07:55,940 มันเป็นเรื่องเล็กน้อยของไวยากรณ์ที่แตกต่างกัน 133 00:07:55,940 --> 00:08:02,580 วิธีการที่เราพิมพ์สิ่งที่ออก ใน PHP คือเราพูดว่า "ก้องสวัสดี" 134 00:08:02,580 --> 00:08:04,180 หรือ "echo" คำใด ๆ 135 00:08:04,180 --> 00:08:09,830 และที่มีผลกระทบจากการทำ printf กับสตริง "สวัสดี". 136 00:08:09,830 --> 00:08:11,990 และจะเพิ่มบรรทัดใหม่ให้มัน 137 00:08:11,990 --> 00:08:16,000 >> ถ้าอย่างนั้นเราในขณะนี้ทำให้ sure-- ฉันจะซูมออกอีกเล็ก ๆ น้อย ๆ bit-- 138 00:08:16,000 --> 00:08:18,250 ขอให้แน่ใจว่า รหัสที่ทำงาน 139 00:08:18,250 --> 00:08:21,030 อาจเพราะมีมาก ดีเป็นข้อผิดพลาดในรหัสนี้ 140 00:08:21,030 --> 00:08:22,880 ว่าเราจะมีที่จะแก้ไขปัญหา 141 00:08:22,880 --> 00:08:25,860 ดังนั้นเซิร์ฟเวอร์ทำงานอยู่แล้ว 142 00:08:25,860 --> 00:08:30,630 ดังนั้นหากเราเลื่อนกลับลงไปที่ด้านล่าง ยุบเซิร์ฟเวอร์จะยังคงทำงาน 143 00:08:30,630 --> 00:08:34,510 ดังนั้นถ้าเราเพียงแค่แตะที่นี้ นิด ๆ หน่อย ๆ ที่เหมาะสม here-- 144 00:08:34,510 --> 00:08:37,620 welcome-- เราควร get-- ดี 145 00:08:37,620 --> 00:08:39,930 >> เรายังคงมี คุ้นเคย "ทักทาย" บทสนทนา 146 00:08:39,930 --> 00:08:45,750 แต่เมื่อฉันพิมพ์ใน "สวัสดี" เราจะเห็น ว่าข้อความ "สวัสดี" เป็นจริง 147 00:08:45,750 --> 00:08:50,080 พิมพ์ออกมาซึ่งเป็นสิ่งที่เป็น เราคาดหวังเพราะสะท้อนใน PHP 148 00:08:50,080 --> 00:08:53,190 เป็นเช่นเดียวกับคำสั่ง printf 149 00:08:53,190 --> 00:09:01,410 ดังนั้นกลับไปที่รหัสวิธีการในการตั้งค่า P ​​6 ได้ รหัสกระจายคุณมีให้ 150 00:09:01,410 --> 00:09:05,920 ทำให้มันเพื่อให้ PHP จะ การส่งออกสิ่งที่คุณ 151 00:09:05,920 --> 00:09:07,920 พิมพ์บนหน้าจอก่อนหน้านี้? 152 00:09:07,920 --> 00:09:10,350 >> และเพื่อให้การจัดเรียงของการตรวจสอบ เหตุผลที่เกิดขึ้นเรา 153 00:09:10,350 --> 00:09:15,510 จะไปลงใน index.html ซึ่ง เป็นไฟล์ต้นฉบับแฟ้มที่ 154 00:09:15,510 --> 00:09:18,710 ปรากฏขึ้นบนหน้าจอนี้ ด้วยปุ่ม "ทักทาย" 155 00:09:18,710 --> 00:09:20,950 คุณสังเกตเห็นว่ามี ทุกสิ่งที่คลาสสิก 156 00:09:20,950 --> 00:09:26,910 ที่เราได้มาคาดหวังจาก HTML ดังกล่าว เป็นสิ่งเหล่านี้แท็กเหล่านี้ล้อมรอบ 157 00:09:26,910 --> 00:09:31,080 ในวงเล็บมุมเช่น PHP แต่โดยไม่ใส่เครื่องหมายคำถาม 158 00:09:31,080 --> 00:09:34,650 ซึ่งบ่งชี้ว่าเป็นสิ่งที่พิเศษให้กับ HTML 159 00:09:34,650 --> 00:09:36,895 เรามีชื่อซึ่งเป็น "สวัสดี". 160 00:09:36,895 --> 00:09:41,010 และคุณจะสังเกตเห็นว่าในขณะที่เราเห็น ชื่อเป็น "สวัสดี" ในทั้งสองกรณี 161 00:09:41,010 --> 00:09:43,260 ลองเปลี่ยนคนนี้ "การพูดว่า" เพียงเพื่อให้เรา 162 00:09:43,260 --> 00:09:48,170 สามารถแยกแยะตัวเองว่าเราอยู่ที่ไหน 163 00:09:48,170 --> 00:09:49,600 >> แต่เราได้มีร่างกาย 164 00:09:49,600 --> 00:09:52,690 แล้วบิตน่าสนใจ บิตที่แสดงขึ้นในรูปแบบ HTML ที่ 165 00:09:52,690 --> 00:09:54,530 เป็นองค์ประกอบแบบฟอร์มนี้ 166 00:09:54,530 --> 00:09:56,370 และเพื่อให้เราได้มีรูปแบบ 167 00:09:56,370 --> 00:09:58,330 และนี่เป็นกุญแจสำคัญ 168 00:09:58,330 --> 00:10:00,530 นี่คือวิธีที่เรากำลังทำงานกับ PHP 169 00:10:00,530 --> 00:10:05,790 พารามิเตอร์การกระทำของ รูปแบบที่บอกว่า hello.php 170 00:10:05,790 --> 00:10:09,310 คือสิ่งที่เรากำลังจะไปส่ง ค่าในรูปแบบนี้ 171 00:10:09,310 --> 00:10:13,830 ซึ่งเป็นที่ที่เรากำลังผ่าน พารามิเตอร์เพื่อที่จะพูด 172 00:10:13,830 --> 00:10:18,680 >> คุณจะสังเกตเห็นสิ่งอื่นที่นี่ คือวิธีการที่ "ได้รับ". 173 00:10:18,680 --> 00:10:24,450 มีสองหลัก วิธีการที่จะ 174 00:10:24,450 --> 00:10:28,750 จะใช้ PHP ในการส่งผ่านข้อมูล ระหว่างหน้าเว็บ websites--, 175 00:10:28,750 --> 00:10:30,500 rather-- ในงานนี้ 176 00:10:30,500 --> 00:10:34,070 และวิธีการเหล่านี้จะ "รับ" และ "โพสต์". 177 00:10:34,070 --> 00:10:37,010 มีบางอย่างที่ละเอียดอ่อนอยู่ ความแตกต่างระหว่างและหลังการได้รับ 178 00:10:37,010 --> 00:10:40,520 ที่เราจะได้รับ into-- เรา "จะได้รับ" ลงถ้าคุณจะ 179 00:10:40,520 --> 00:10:44,030 >> แต่สำหรับ intents และ วัตถุประสงค์ในการรับและโพสต์ 180 00:10:44,030 --> 00:10:47,120 มีทั้งวิธีการเพียงว่า คุณผ่านพารามิเตอร์ 181 00:10:47,120 --> 00:10:49,500 ด้วยการประหารชีวิตแตกต่างกันเล็กน้อย 182 00:10:49,500 --> 00:10:53,500 สำหรับตอนนี้เรากำลังจะใช้เพราะได้รับ ได้รับคือสิ่งที่ถูกนำมาใช้อย่างชาญฉลาด 183 00:10:53,500 --> 00:10:57,340 ในไฟล์ PHP พีตั้ง 6 184 00:10:57,340 --> 00:11:00,850 และอันที่จริงถ้าเราไปในและมอง ก่อนที่เราจะได้แก้ไขสิ่งอื่นใด 185 00:11:00,850 --> 00:11:03,090 ฉันจะกล่าวทักทาย to-- คุณชื่ออะไร? 186 00:11:03,090 --> 00:11:03,812 >> ผู้ชม: เอลเลียต 187 00:11:03,812 --> 00:11:04,770 SAM LEVATICH: โอ้เอ้ย 188 00:11:04,770 --> 00:11:05,600 ผมไม่ทราบว่าวิธีการสะกดที่ 189 00:11:05,600 --> 00:11:06,766 คุณสามารถสะกดว่าสำหรับฉันหรือไม่ 190 00:11:06,766 --> 00:11:08,710 ผู้ชม: 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 >> ผู้ชม: ใช่ 193 00:11:10,440 --> 00:11:10,960 >> SAM LEVATICH: เหมาะ 194 00:11:10,960 --> 00:11:11,210 ตกลง. 195 00:11:11,210 --> 00:11:12,751 ผมคิดว่าผมไม่ทราบวิธีการสะกดที่ 196 00:11:12,751 --> 00:11:13,510 ขอโทษด้วยกับเรื่องนั้น. 197 00:11:13,510 --> 00:11:16,560 แต่ถ้าเราพูดว่า "ทักทาย" ก็ไม่ได้ มันจะไม่ปรากฏขึ้นบนหน้าจอ 198 00:11:16,560 --> 00:11:18,476 แต่เพราะเรามีการปรับเปลี่ยน รหัสนิด ๆ หน่อย ๆ 199 00:11:18,476 --> 00:11:21,290 แต่ถ้าเราไม่ "ทักทาย" - ตกลงดังนั้น "สวัสดี" อยู่ที่นี่ 200 00:11:21,290 --> 00:11:24,137 แต่ถ้าเราใช้เวลาใกล้ชิด ดู URL ของตัวเอง 201 00:11:24,137 --> 00:11:26,220 เราจะเห็นว่ามันจะจบ ที่มีชื่อ hello.php? = เอลเลียต 202 00:11:26,220 --> 00:11:30,980 203 00:11:30,980 --> 00:11:37,180 >> ดังนั้นนี้เป็นวิธีการ การสื่อสารไปยังหน้าเว็บต่อไป 204 00:11:37,180 --> 00:11:39,240 พารามิเตอร์ที่เราได้ผ่าน 205 00:11:39,240 --> 00:11:40,870 เราได้กล่าวว่าชื่อ = เอลเลียต 206 00:11:40,870 --> 00:11:46,290 และที่ท้ายที่สุดวิธี P ตั้ง 6 เข้าถึงตัวแปรที่เราผ่าน 207 00:11:46,290 --> 00:11:47,520 ผ่านรูปแบบ 208 00:11:47,520 --> 00:11:51,470 และนี่คือสิ่งที่ เป็นเฉพาะการร้องขอการ GET 209 00:11:51,470 --> 00:11:57,480 ขอได้รับทำให้พารามิเตอร์ ที่รู้จักกันใน URL ของเว็บไซต์ 210 00:11:57,480 --> 00:12:01,190 >> และคุณจะจำมากเกินไป ใน P ตั้ง 6 ที่คุณ 211 00:12:01,190 --> 00:12:04,450 มีการเขียนฟังก์ชั่น ที่เกี่ยวข้องกับความจริง 212 00:12:04,450 --> 00:12:09,700 ที่สตริงแบบสอบถามนี้ สามารถอยู่หลังจากที่ไฟล์ 213 00:12:09,700 --> 00:12:14,684 อาจจะมีเครื่องหมายคำถามตามมา โดยพื้นหมายเลขใด ๆ ของตัวละคร 214 00:12:14,684 --> 00:12:16,350 และนั่นคือสิ่งที่เกิดขึ้นที่นี่ 215 00:12:16,350 --> 00:12:21,280 และเหตุผลที่คุณต้องแยกว่า ในการดำเนินงานของคุณใน server.c P 216 00:12:21,280 --> 00:12:27,570 ตั้ง 6 เพื่อให้คุณสามารถบอกได้ รหัส PHP ที่ชื่อเอลเลียต = 217 00:12:27,570 --> 00:12:30,460 คุณจะต้องสามารถที่จะ แยกออกมาของ URL 218 00:12:30,460 --> 00:12:35,900 เพื่อให้ไฟล์ PHP ในคำถาม รู้ว่าสิ่งที่มันถูกจัดการกับ 219 00:12:35,900 --> 00:12:39,350 >> เพื่อหวังว่านี้จะช่วยให้ แรงจูงใจที่จะ server.c 220 00:12:39,350 --> 00:12:43,900 ตอนนี้ที่เรากำลังจะย้ายที่ ด้านนอกของ C เข้า PHP 221 00:12:43,900 --> 00:12:48,240 ดังนั้นขอจริงมุ่งเน้นไปที่การเข้าถึง สิ่งที่ผ่านได้รับการร้องขอในขณะนี้ 222 00:12:48,240 --> 00:12:48,880 ณ จุดนี้. 223 00:12:48,880 --> 00:12:50,157 ฉันจะบันทึกนี้ 224 00:12:50,157 --> 00:12:51,240 เราไม่ได้เปลี่ยนแปลงอะไร 225 00:12:51,240 --> 00:12:56,080 ดูเหมือนว่าเรามีสนามใส่ 226 00:12:56,080 --> 00:12:58,550 >> เรากำลังตั้งค่าคุณสมบัติบางอย่าง ในขณะที่เราสามารถทำแบบ HTML 227 00:12:58,550 --> 00:12:59,550 เหล่านี้เป็นสิ่งที่ง่าย 228 00:12:59,550 --> 00:13:00,580 เราไม่จำเป็นต้องเหล่านี้ 229 00:13:00,580 --> 00:13:03,750 แต่เราได้มีการเติมข้อความอัตโนมัติปิด ซึ่งโดยทั่วไป says-- คุณรู้ว่า 230 00:13:03,750 --> 00:13:05,710 เมื่อคุณพิมพ์สิ่งที่ เข้าเว็บบางครั้ง 231 00:13:05,710 --> 00:13:07,355 ก็พยายามที่จะเติมในสำหรับคุณ 232 00:13:07,355 --> 00:13:08,230 ดังนั้นจึงเป็นสิ่งที่ดี 233 00:13:08,230 --> 00:13:11,700 เราต้องการที่จะปิดเพื่อการนี​​้ 234 00:13:11,700 --> 00:13:13,970 นั่นคือการตัดสินใจที่ CS50 235 00:13:13,970 --> 00:13:15,640 ดังนั้นเราจึงสามารถลบว่าถ้าเราต้องการ 236 00:13:15,640 --> 00:13:19,510 >> ออโต้โฟกัสเพียงเกาะติดเคอร์เซอร์ รูปแบบที่เหมาะสมในการที่จุดเริ่มต้น 237 00:13:19,510 --> 00:13:21,060 อีกครั้งไม่สำคัญมากเกินไป 238 00:13:21,060 --> 00:13:26,220 >> แต่ name = "ชื่อ" - มันเล็ก ๆ น้อย ๆ หากินเพราะมันเป็นชื่อและชื่อ 239 00:13:26,220 --> 00:13:28,730 แต่เราจะได้เปลี่ยน นี้เป็นอย่างอื่น 240 00:13:28,730 --> 00:13:30,563 และในความเป็นจริงที่ว่า สิ่งที่เราจะทำตอนนี้ 241 00:13:30,563 --> 00:13:34,830 เราจะพูดว่า "คน" ซึ่ง เป็นประเภทเช่นชื่อ 242 00:13:34,830 --> 00:13:36,790 ถ้าเป็นคนที่ถูกกำหนดโดยชื่อของพวกเขา 243 00:13:36,790 --> 00:13:41,480 >> ดังนั้นขอปิดนี้ เปิดขึ้นเว็บไซต์ของเรา 244 00:13:41,480 --> 00:13:46,110 ตั้งแต่เซิร์ฟเวอร์ของเราจะยังคงทำงาน อาปาเช่ 50 และเราจะพูดว่าสวัสดีที่นี่ 245 00:13:46,110 --> 00:13:47,200 เอลเลียตอีกครั้ง 246 00:13:47,200 --> 00:13:48,460 ทำไมไม่? 247 00:13:48,460 --> 00:13:49,220 สวัสดี. 248 00:13:49,220 --> 00:13:52,880 และถ้าเราไปถึงที่นี่เราจะเห็น แล้วแทนชื่อ = เอลเลียต 249 00:13:52,880 --> 00:13:55,200 มันบอกว่าคน = เอลเลียต 250 00:13:55,200 --> 00:14:00,060 และที่เป็นผลโดยตรงจากความเป็นจริง ที่เราเพิ่งเปลี่ยนชื่อ = "คน." 251 00:14:00,060 --> 00:14:06,840 >> ดังนั้นในองค์ประกอบของการป้อนข้อมูล รูปแบบ HTML ฟิลด์ชื่อ 252 00:14:06,840 --> 00:14:10,590 เป็นตัวบ่งชี้สำหรับการ พารามิเตอร์ที่ถูกส่งผ่าน 253 00:14:10,590 --> 00:14:14,250 มันเหมือนกับถ้าคุณกำลังสร้างฟังก์ชั่น "เพิ่ม" ที่เกิดในสองจำนวนเต็ม 254 00:14:14,250 --> 00:14:16,670 และคุณกล่าวว่า int และ int ข 255 00:14:16,670 --> 00:14:22,680 ที่จะเป็นชื่อและถ้า คุณต้องการรูปแบบอื่นซึ่ง 256 00:14:22,680 --> 00:14:27,800 ที่เราสามารถทำได้เพียงแค่การคัดลอกและ วางแล้วเราจะมีชื่อข 257 00:14:27,800 --> 00:14:31,030 >> ดังนั้นตอนนี้เราจะมีสองตัวแปร ที่มีการส่งผ่าน 258 00:14:31,030 --> 00:14:36,970 จะได้รับการ website-- ต่อไป หน้าเว็บต่อไป hello.php 259 00:14:36,970 --> 00:14:39,770 และเราสามารถมองเห็น อีกครั้งถ้าเราต้องการ 260 00:14:39,770 --> 00:14:44,830 นี่คือวิธีที่ง่ายที่สุดที่จะจัดการกับ รหัสเว็บใน IDE โดยทั่วไป 261 00:14:44,830 --> 00:14:47,940 คุณเริ่มต้นขึ้นเซิร์ฟเวอร์ได้รับมัน การทำงานและจากนั้นทุกครั้งที่คุณ 262 00:14:47,940 --> 00:14:50,649 ทำการเปลี่ยนแปลงบางอย่างเพียงใกล้ แฟ้มที่เพียงเพื่อความปลอดภัย 263 00:14:50,649 --> 00:14:52,440 กดปุ่มย้อนกลับ เป็นเพียงเล็กน้อยหากิน 264 00:14:52,440 --> 00:14:55,800 เพราะมันอาจจะโหลดก่อนหน้านี้ รุ่นที่ไม่ได้รับการปรับปรุงมากที่สุดคนหนึ่ง 265 00:14:55,800 --> 00:14:59,200 >> และจากนั้นคุณเพียงแค่คลิก ปุ่มอีกครั้งป๊อปที่เหมาะสม up-- โอ้ 266 00:14:59,200 --> 00:15:00,510 และตอนนี้มีสองรูปแบบ 267 00:15:00,510 --> 00:15:10,440 ดังนั้นถ้าเราพิมพ์สิ่งหนึ่งที่เข้าไปในแต่ละ one-- "Hirshhorn jason" สำหรับ instance-- 268 00:15:10,440 --> 00:15:11,590 เราทักทาย 269 00:15:11,590 --> 00:15:12,840 เรามองขึ้นไปบนพารามิเตอร์ของเรา 270 00:15:12,840 --> 00:15:18,910 ดูเหมือนว่าเรามีเช่น คาดว่าเป็น = jason และ B = Hirshhorn, 271 00:15:18,910 --> 00:15:23,760 ซึ่งเป็นตัวแทนของสองตัวแปร ที่เราส่งผ่านไปยังฟังก์ชั่นนี้ 272 00:15:23,760 --> 00:15:27,900 >> ดังนั้นตอนนี้เราจะได้รับจริง การใช้ฟังก์ชันการทำงานที่ว่าเรา 273 00:15:27,900 --> 00:15:30,840 มีอยู่ใน P ตั้ง 6 274 00:15:30,840 --> 00:15:32,490 ดังนั้นตอนนี้เราเพียงแค่สะท้อนสวัสดี 275 00:15:32,490 --> 00:15:34,310 และที่ไม่ได้มีประโยชน์มาก 276 00:15:34,310 --> 00:15:38,530 เราต้องการที่จะสะท้อนตัวแปรบาง ที่ถูกส่งผ่านมาให้เรา 277 00:15:38,530 --> 00:15:40,320 และเรารู้ว่าชื่อของตัวแปรนี้ 278 00:15:40,320 --> 00:15:41,770 เรามีและเราได้ b 279 00:15:41,770 --> 00:15:43,500 ดังนั้นเราจึงสามารถเลือกที่จะสะท้อนคนใดคนหนึ่ง 280 00:15:43,500 --> 00:15:45,470 >> แต่วิธีการที่เราจะเข้าถึงมันได้หรือไม่ 281 00:15:45,470 --> 00:15:48,820 ดีมีบางอย่าง ตัวแปรใน PHP 282 00:15:48,820 --> 00:15:51,240 และฉันจะเขียน พวกเขาในการแสดงความคิดเห็นที่นี่ 283 00:15:51,240 --> 00:15:59,910 สองคนที่สำคัญที่สุดคือได้รับ และโพสต์สำหรับวัตถุประสงค์ของเราในขณะนี้ 284 00:15:59,910 --> 00:16:05,350 เหล่านี้เป็นอาร์เรย์หรือที่ เทคนิคพจนานุกรม 285 00:16:05,350 --> 00:16:10,540 ตัวแปรที่เราว่าเรา ผ่านไปยังหน้าเว็บต่อไปมีชีวิตอยู่ 286 00:16:10,540 --> 00:16:14,520 และเราจะได้เห็นวิธีการที่จะใช้พวกเขา 287 00:16:14,520 --> 00:16:19,720 >> อีกโน้ตสั้น ๆ เกี่ยวกับโค้ด PHP และรายละเอียดบางส่วนของ it-- ใน C, 288 00:16:19,720 --> 00:16:23,260 การประกาศตัวแปร หรือจะใช้ตัวแปร 289 00:16:23,260 --> 00:16:24,570 ก่อนอื่นคุณต้องประกาศให้ 290 00:16:24,570 --> 00:16:30,860 และสิ่งที่คุณต้องทำเมื่อคุณ ประกาศบอกว่าพวกเขาเป็น int หรือถ่านข 291 00:16:30,860 --> 00:16:35,630 คุณมีการประกาศประเภทเหล่านี้ ตัวแปรก่อนที่คุณจะสร้างพวกเขา 292 00:16:35,630 --> 00:16:38,800 PHP-- คุณไม่จำเป็นต้องดำเนินการใด ๆ ที่ 293 00:16:38,800 --> 00:16:42,522 PHP ไม่ได้ขอ ประเภทของตัวแปร 294 00:16:42,522 --> 00:16:44,480 และวิธีการที่คุณ สร้าง variable-- ค่อนข้าง 295 00:16:44,480 --> 00:16:49,930 แทนที่จะบอก int, ถ่าน, string-- ซึ่งเป็นถ่านจริงๆ * ในขณะที่เรา know-- 296 00:16:49,930 --> 00:16:52,180 มากกว่าทำทั้งหมด ว่าเพราะทุกอย่าง 297 00:16:52,180 --> 00:16:54,620 เป็นประเภทเดียวกัน typeless เราก็สามารถ 298 00:16:54,620 --> 00:16:59,210 ใช้ตัวละครตัวหนึ่งซึ่ง เป็นเครื่องหมายดอลลาร์ 299 00:16:59,210 --> 00:17:03,700 และคุณจะเห็นว่ามันมีอยู่แล้ว popping ถึงสิ่งเล็ก ๆ น้อย ๆ การเติมข้อความอัตโนมัติ 300 00:17:03,700 --> 00:17:11,380 และก็บอกว่า _GET และ _POST สองตัวเลือกที่ฉันมีที่มีอยู่ 301 00:17:11,380 --> 00:17:11,900 ถึงฉัน. 302 00:17:11,900 --> 00:17:16,430 บางส่วนของสิ่งอื่น ๆ เหล่านี้เป็น ตัวแปรอื่น ๆ ทั่วโลกใน PHP 303 00:17:16,430 --> 00:17:18,430 ที่คุณจะใช้มากกว่า หลักสูตรของ P ตั้ง 7 304 00:17:18,430 --> 00:17:20,569 สำหรับตอนนี้เรากำลังจะไป มุ่งเน้นไปที่ได้รับการโพสต์ 305 00:17:20,569 --> 00:17:22,910 แต่นี้เป็นประโยชน์ สิ่งที่ IDE ไม่ 306 00:17:22,910 --> 00:17:24,980 ที่เมื่อคุณพิมพ์ ในเครื่องหมายดอลลาร์นั้น 307 00:17:24,980 --> 00:17:28,760 มันจะเริ่มต้นการกรอกข้อมูลในตัวแปรทั่วโลก หรือตัวแปรที่คุณได้กำหนดไว้แล้ว 308 00:17:28,760 --> 00:17:34,360 >> ดังนั้นหากคุณต้องการที่จะกำหนด ตัวแปรที่เรียกว่า "สตริง" 309 00:17:34,360 --> 00:17:38,290 คุณก็สามารถตั้งค่าเท่ากับ "สวัสดี". 310 00:17:38,290 --> 00:17:40,100 และมันเป็นพื้นง่ายเหมือนที่ 311 00:17:40,100 --> 00:17:44,720 แล้วเราจะทำ บางสิ่งบางอย่างเช่น "$ string ก้อง." 312 00:17:44,720 --> 00:17:48,524 IDE ที่ควรจะโยนบาง ข้อผิดพลาดถ้าฉันทำอะไรผิด 313 00:17:48,524 --> 00:17:50,190 เพื่อหวังว่าฉันทำทุกอย่างถูกต้อง 314 00:17:50,190 --> 00:17:52,060 แต่ข้อบกพร่องที่เกิดขึ้นมักจะทำ 315 00:17:52,060 --> 00:17:56,670 >> อีกสิ่งที่เกี่ยวกับการหากิน PHP ก็คือว่ามันไม่ได้รวบรวม 316 00:17:56,670 --> 00:18:00,640 ดังนั้นด้วยโปรแกรม C คุณจะทำ กิจวัตรประจำวัน of-- โดยทั่วไป 317 00:18:00,640 --> 00:18:02,710 ที่คุณจะทำการแก้ไข รหัสของคุณคุณจะบันทึกไว้ 318 00:18:02,710 --> 00:18:04,460 แล้วคุณจะ ทำให้มันที่ทำให้เป็น 319 00:18:04,460 --> 00:18:08,830 ขั้นตอนที่เรียกว่าคอมไพเลอร์ เสียงดังกราวเพื่อให้รหัสของคุณข้อความนี้ 320 00:18:08,830 --> 00:18:10,570 ยื่นลงไปในปฏิบัติการ 321 00:18:10,570 --> 00:18:15,550 PHP เป็น C-เหมือน แต่ก็ดำเนินการ ได้ทันทีโดยเว็บเบราว์เซอร์ของคุณ 322 00:18:15,550 --> 00:18:17,640 ดังนั้นไม่มีทางที่จะรู้ว่าไม่มี 323 00:18:17,640 --> 00:18:19,790 >> ทำให้ผู้ที่จะโยน ข้อผิดพลาดที่เป็นประโยชน์ใช่มั้ย? 324 00:18:19,790 --> 00:18:22,190 มันจะเป็นเช่นคุณ ไม่ได้ประกาศตัวแปรนี้ 325 00:18:22,190 --> 00:18:23,320 ก่อนที่คุณพยายามที่จะใช้ 326 00:18:23,320 --> 00:18:29,120 ที่คุณทำทั้งหมดนี้ segfault stuff-- ไม่ดี segfault ทั้งหมดเรียงลำดับของเวลาสนุกที่ 327 00:18:29,120 --> 00:18:31,000 ที่มาพร้อมกับการแต่งหน้า 328 00:18:31,000 --> 00:18:33,920 PHP เป็นดาบสองคม เพราะคุณจะไม่ได้รับข้อผิดพลาดเหล่านั้น 329 00:18:33,920 --> 00:18:37,770 แต่นั่นก็หมายความว่าคุณจะไม่ทราบ จริงๆสิ่งที่ผิดปกติกับโปรแกรมของคุณ 330 00:18:37,770 --> 00:18:39,840 ถ้าคุณเพียงแค่ใช้มันและมันไม่ทำงาน 331 00:18:39,840 --> 00:18:45,130 แต่ดีบักควรจะชี้ บางสิ่งบางอย่างเล็ก ๆ น้อย ๆ ที่เป็นประโยชน์หวังว่า 332 00:18:45,130 --> 00:18:47,950 syntactically ที่คุณสามารถแก้ไข 333 00:18:47,950 --> 00:18:52,850 >> ดังนั้นตอนนี้ถ้าเราไปกว่า to-- กล่าวว่าขอปิดที่ 334 00:18:52,850 --> 00:18:54,522 เปิดใหม่ 335 00:18:54,522 --> 00:18:55,480 และเรากลับไปที่นี่ 336 00:18:55,480 --> 00:18:57,210 ดังนั้นเราจึงได้มีตัวแปร และเป็นขตัวแปร 337 00:18:57,210 --> 00:18:58,626 และสิ่งเหล่านี้จะไม่สำคัญในท้ายที่สุด 338 00:18:58,626 --> 00:19:01,850 เราจะเรียกพวกเขาชั่วโมงและ g ด้วยเหตุผลใดไม่มี 339 00:19:01,850 --> 00:19:03,120 >> และเราทักทาย 340 00:19:03,120 --> 00:19:07,480 ตอนนี้ดูเหมือนว่าสตริงของเรา "สวัสดี" แน่นอนการพิมพ์ 341 00:19:07,480 --> 00:19:10,460 เราได้สร้างตัวแปรที่เรียกว่า "สตริง" ตั้งค่าเท่ากับ "สวัสดี". 342 00:19:10,460 --> 00:19:15,520 ขอให้สังเกตว่าเราไม่ได้มีที่จะทำ malloc หรือทำให้อาเรย์ตัวละคร 343 00:19:15,520 --> 00:19:19,110 >> ใน PHP เพราะตัวแปร มี typeless, สตริง 344 00:19:19,110 --> 00:19:22,230 เป็นเช่นเดียวกับถ่านสำหรับ intents และวัตถุประสงค์ 345 00:19:22,230 --> 00:19:23,570 ซึ่งอาจเป็น "ไฮ." 346 00:19:23,570 --> 00:19:26,340 นี้อาจเป็นเพียงแค่ตัวอักษร k 347 00:19:26,340 --> 00:19:29,290 นี้จะมีหมายเลข 1 348 00:19:29,290 --> 00:19:30,300 และมันก็ไม่ได้ดูแล 349 00:19:30,300 --> 00:19:33,560 PHP ไม่เกี่ยวกับการดูแล ประเภทของตัวแปรของคุณ 350 00:19:33,560 --> 00:19:34,390 หรือมันไม่ดูแล 351 00:19:34,390 --> 00:19:36,240 มันใส่ใจเมื่อคุณพยายาม และทำสิ่งที่มีมัน 352 00:19:36,240 --> 00:19:38,790 แต่ก็ไม่ได้สนใจใน ขั้นตอนการประกาศ 353 00:19:38,790 --> 00:19:46,960 >> และเช่นเดียวกับที่คุณสามารถใน C คุณสามารถ ประกาศสตริงในสแตกเช่นนี้ 354 00:19:46,960 --> 00:19:51,130 แต่บอกว่า "สแต็ค" เป็นเล็ก ๆ น้อย ๆ บิตของการเรียกชื่อผิดที่อาจเกิดขึ้นเมื่อ 355 00:19:51,130 --> 00:19:52,230 เรากำลังพูดถึง PHP 356 00:19:52,230 --> 00:19:54,020 แต่เราไม่ต้องกังวลเกี่ยวกับการที่ 357 00:19:54,020 --> 00:19:55,936 ดังนั้นเราจึงมีสตริงของเรา "สวัสดี" และเราสะท้อนสตริง 358 00:19:55,936 --> 00:19:58,880 ดังนั้นตอนนี้เราได้กล่าวถึงตัวแปร 359 00:19:58,880 --> 00:20:06,060 ดังนั้นตอนนี้เราต้องการที่จะพูดคุยเกี่ยวกับการได้รับและ โพสต์และดำเนินการสิ่งสุดท้ายที่ 360 00:20:06,060 --> 00:20:12,660 จำเป็นจริงๆได้รับกลับขึ้นนี้ การทำงานของ P ตั้ง 6 361 00:20:12,660 --> 00:20:14,990 ดังนั้นตอนนี้เรา สะท้อนสตริง แต่เรา 362 00:20:14,990 --> 00:20:17,080 จะมีตัวแปรเหล่านี้จะได้รับและโพสต์ 363 00:20:17,080 --> 00:20:19,430 และเนื่องจากเรากำลังใช้ วิธีการที่จะได้รับมัน 364 00:20:19,430 --> 00:20:24,810 ดูเหมือนว่าธรรมชาติที่ตัวแปรของเราที่ เรากำลังสนใจในทั้ง A และ B 365 00:20:24,810 --> 00:20:29,870 จะตั้งอยู่ในอาร์เรย์ หรือพจนานุกรมได้รับในทางเทคนิค 366 00:20:29,870 --> 00:20:33,510 >> ดังนั้นหากเราตั้งรับเช่นนี้ กับ groups-- ของคุณผมกดใส่ 367 00:20:33,510 --> 00:20:36,770 และมันก็ไม่ชอบ it-- แต่ที่นี่เรามีได้รับ 368 00:20:36,770 --> 00:20:38,000 และเพื่อให้ได้รับอยู่แล้ว 369 00:20:38,000 --> 00:20:41,380 ดังนั้นเราสามารถเริ่มต้นในการเข้าถึง บางส่วนขององค์ประกอบของการ GET 370 00:20:41,380 --> 00:20:45,000 ถ้าเราไม่ได้รับไวยากรณ์สำหรับนี้ อาร์เรย์ใน PHP เป็นอย่างมากเช่น C- 371 00:20:45,000 --> 00:20:47,900 เรามีสองวงเล็บของเรา 372 00:20:47,900 --> 00:20:53,440 >> ดังนั้นถ้าเราบอกว่าจะได้รับในปกติ อาร์เรย์เราสามารถเข้าถึง 373 00:20:53,440 --> 00:20:55,600 ดัชนีข้อที่ศูนย์ดัชนีแรก 374 00:20:55,600 --> 00:20:56,840 PHP เป็นศูนย์ดัชนี 375 00:20:56,840 --> 00:21:00,550 เราอาจจะบอกว่าศูนย์หนึ่ง สิ่ง two-- เช่นนี้ 376 00:21:00,550 --> 00:21:03,420 และผมได้รับการบอกว่าจะได้รับ เป็นเทคนิคที่พจนานุกรม 377 00:21:03,420 --> 00:21:08,290 ดังนั้นสิ่งที่ PHP จะทำภายใต้ประทุน, ซึ่งเป็นนิด ๆ หน่อย ๆ ดีกว่ากว่า C, 378 00:21:08,290 --> 00:21:12,760 มันมีอยู่แล้วให้คุณบาง ฟังก์ชั่นพจนานุกรมซึ่ง 379 00:21:12,760 --> 00:21:16,240 เป็นจริงตารางแฮช หรือพยายามที่จะคาดคะเน 380 00:21:16,240 --> 00:21:19,360 หรือในทางเทคนิคก็ อาจจะลองเป็นอย่างดี 381 00:21:19,360 --> 00:21:25,500 แต่ PHP คือการใช้ตารางแฮช, ซึ่งเป็นพจนานุกรมที่มีประสิทธิภาพ 382 00:21:25,500 --> 00:21:28,400 >> และเพื่อให้เราทราบชื่อ ของตัวแปรของเราใช่มั้ย? 383 00:21:28,400 --> 00:21:32,440 มันถูกส่งผ่านไปใน สตริงแบบสอบถามโดย PHP 384 00:21:32,440 --> 00:21:37,290 เรามี = ชั่วโมงและ B = กรัมที่ข เป็นชื่อของตัวแปร 385 00:21:37,290 --> 00:21:41,580 ดังนั้นวิธีการที่เราสามารถเข้าถึง ค่าที่สอดคล้องกับที่สำคัญ 386 00:21:41,580 --> 00:21:45,055 อยู่ในพจนานุกรมของเราคือ เพียงแค่บอกว่า _GET_GET ["เป็น"] 387 00:21:45,055 --> 00:21:48,170 388 00:21:48,170 --> 00:21:51,365 >> ดังนั้นตอนนี้เรามี _GET ["เป็น"] 389 00:21:51,365 --> 00:21:56,930 และถ้าเราเพียงแค่เปลี่ยนภายใน เสียงสะท้อนของเราถ้าเราสะท้อน _GET_GET ["เป็น"] - 390 00:21:56,930 --> 00:22:02,410 และเราจะดูว่าการดีบัก โยนความผิดพลาดใด ๆ เกี่ยวกับ this-- 391 00:22:02,410 --> 00:22:05,620 เราจะประหยัดและปิดออก 392 00:22:05,620 --> 00:22:07,130 เปิดมันขึ้นมา 393 00:22:07,130 --> 00:22:10,390 ดังนั้นเราเพียงแค่การทำที่ถูกต้อง ในขณะนี้ดังนั้นขไม่ควรเรื่อง 394 00:22:10,390 --> 00:22:12,980 "เธอ" และ "เขา" - "ครวญเพลง". "เธอ" และ "ครวญเพลง". 395 00:22:12,980 --> 00:22:14,810 ฟังดูเข้าท่า. 396 00:22:14,810 --> 00:22:18,040 >> และมันก็พิมพ์ออกมา "เธอ" ซึ่งเป็นคนบ้า 397 00:22:18,040 --> 00:22:21,920 แต่นั่นคือสิ่งที่ ที่เกิดขึ้นในการตั้งค่า P ​​6 398 00:22:21,920 --> 00:22:27,240 โดยทั่วไปสิ่งที่ P ตั้ง 6 เป็น doing-- สะท้อนสวัสดี 399 00:22:27,240 --> 00:22:31,580 name-- ที่มันมี ชื่อตัวแปรและมันก็ 400 00:22:31,580 --> 00:22:35,520 ขอให้คุณพิมพ์ในบิตของข้อความที่ 401 00:22:35,520 --> 00:22:37,380 นอกจากนี้ยังมีบางส่วน รหัสเพิ่มเติมที่ 402 00:22:37,380 --> 00:22:40,550 รวมถ้างบ ที่เราสามารถทำตอนนี้ 403 00:22:40,550 --> 00:22:50,120 >> เราสามารถพูดได้ถ้ามีอยู่ซึ่ง เป็นฟังก์ชั่นภายใน PHP ที่ 404 00:22:50,120 --> 00:22:55,110 _GET กับขีดเส้นใต้ "ชื่อ" - ซึ่งเป็นพื้นว่า 405 00:22:55,110 --> 00:22:58,760 "ถ้าชื่อที่ได้รับการเติมเต็มใน" เพราะ เราจะได้มีเพียงแค่คลิกที่ปุ่ม 406 00:22:58,760 --> 00:23:02,580 จะส่งแบบฟอร์มโดยไม่ต้อง พิมพ์อะไรลงในช่องที่ 407 00:23:02,580 --> 00:23:07,760 และเราว่าในห่อของเรา วงเล็บปีกกาที่เป็นมิตร 408 00:23:07,760 --> 00:23:09,175 เราสามารถมีคำสั่งอื่น 409 00:23:09,175 --> 00:23:13,300 410 00:23:13,300 --> 00:23:18,820 และนั่นคือทั้งหมดที่อยู่ในมุม PHP วงเล็บเครื่องหมายคำถามวงเล็บมุม 411 00:23:18,820 --> 00:23:20,040 ถ้าคุณจะ. 412 00:23:20,040 --> 00:23:21,750 >> และตอนนี้เราจะดูว่าการทำงานนี้ 413 00:23:21,750 --> 00:23:26,300 ฉันให้รอจนการแก้ปัญหา และอึออกมากับฉันโดยทั่วไป 414 00:23:26,300 --> 00:23:28,410 แต่มันก็ยังไม่ได้ 415 00:23:28,410 --> 00:23:30,830 บางทีมันอาจจะในขณะนี้ เพราะผมพูดคุยเกี่ยวกับ 416 00:23:30,830 --> 00:23:31,330 ได้. 417 00:23:31,330 --> 00:23:32,510 มันไม่ได้ในความเป็นจริง 418 00:23:32,510 --> 00:23:34,610 ดังนั้นไม่มีอะไรจะแสดงขึ้น 419 00:23:34,610 --> 00:23:38,750 นั่นเป็นเพราะของบางสิ่งบางอย่างที่ไม่ถูกต้อง ที่ผมเขียนไว้ในโค้ด PHP 420 00:23:38,750 --> 00:23:42,844 และที่ผมกล่าวถึงการแก้จุดบกพร่อง เป็นเรื่องยุ่งยากเพราะใน PHP เรา 421 00:23:42,844 --> 00:23:45,260 ไม่ได้รวบรวมไว้ก่อน และคอมไพเลอร์ที่ไม่ต้องการ 422 00:23:45,260 --> 00:23:46,710 ที่นี่คือข้อผิดพลาดของคุณ 423 00:23:46,710 --> 00:23:49,690 >> แต่สิ่งที่เราสามารถทำได้ is-- ทำคนจำ 424 00:23:49,690 --> 00:23:57,010 วิธีการที่จะมองไปที่เครือข่ายที่แตกต่างกัน ขอให้ PHP-- หรือที่เว็บไซต์ 425 00:23:57,010 --> 00:23:57,620 ส่ง? 426 00:23:57,620 --> 00:24:00,290 [? มาลิน?] ทำอย่างนี้ใน บรรยายครั้งหรือสองครั้ง 427 00:24:00,290 --> 00:24:05,830 คุณจำที่เราไปหา หนี้ที่แตกต่างกันและ 200 OKs, 428 00:24:05,830 --> 00:24:09,780 รหัสเหล่านี้ทั้งหมดที่ถูกส่ง ผ่านทางหน้า HTTP จากเว็บไปยังหน้าเว็บ? 429 00:24:09,780 --> 00:24:12,514 ไม่มีใครจำได้ ที่เราจะไปทำเช่นนั้น? 430 00:24:12,514 --> 00:24:13,787 >> ผู้ชม: หน้ามา 431 00:24:13,787 --> 00:24:14,870 SAM LEVATICH: แหล่งที่มาของหน้า 432 00:24:14,870 --> 00:24:15,890 ที่แน่นอน 433 00:24:15,890 --> 00:24:19,230 ถ้าคุณไปที่หน้า Source-- ที่สมบูรณ์แบบ 434 00:24:19,230 --> 00:24:21,630 ดังนั้นหน้ามาดึงขึ้นตรวจสอบ 435 00:24:21,630 --> 00:24:23,140 >> และฉันใช้ Safari 436 00:24:23,140 --> 00:24:25,790 จำนวนมากของคุณอาจจะ จะใช้ Chrome หรือ Firefox 437 00:24:25,790 --> 00:24:27,750 แต่ตราบใดที่คุณอยู่ ใน browser-- ใด ๆ ที่ทันสมัย 438 00:24:27,750 --> 00:24:29,500 และความรู้สึกอิสระที่จะทำตาม พร้อมถ้าคุณต้องการ 439 00:24:29,500 --> 00:24:32,560 คุณสามารถพิมพ์รหัสนี้หรือ เพียงแค่มองภายในชุด P 6 440 00:24:32,560 --> 00:24:35,820 ไดเรกทอรีสำหรับบางสิ่งที่คล้ายกัน 441 00:24:35,820 --> 00:24:41,020 hello.php คือสิ่งที่เรากำลัง กำลังทำงานในการลอกเลียนแบบ 442 00:24:41,020 --> 00:24:42,476 >> ดังนั้นจึงมีความหลากหลายของแท็บ 443 00:24:42,476 --> 00:24:43,850 เราสามารถมองไปที่ทรัพยากรทั้งหมด 444 00:24:43,850 --> 00:24:45,810 เราสามารถมองเห็นรหัสแหล่งที่มา 445 00:24:45,810 --> 00:24:49,900 ดังนั้นดูเหมือนว่ามันไม่ได้ ได้รับร่างกายที่ผ่านมาในที่สุด 446 00:24:49,900 --> 00:24:54,890 พบข้อผิดพลาดใน PHP และมัน หยุดการโหลดหน้าเว็บทั้งหมด 447 00:24:54,890 --> 00:24:58,320 เราไม่ได้มีจุดสิ้นสุด สำหรับแท็ก HTML หรืออะไร 448 00:24:58,320 --> 00:25:07,189 >> และถ้าเรามองไปที่เครือข่ายที่เราสามารถทำได้ เห็นว่าเรากำลังถูกส่งคำขอ 449 00:25:07,189 --> 00:25:07,980 นี่คือโดเมน 450 00:25:07,980 --> 00:25:09,270 นี่คือที่อยู่ 451 00:25:09,270 --> 00:25:10,070 มันเป็นเอกสาร 452 00:25:10,070 --> 00:25:14,310 เรากำลังใช้วิธีการ GET 453 00:25:14,310 --> 00:25:15,760 >> และมันก็เป็นสีแดง 454 00:25:15,760 --> 00:25:19,030 หรือมันเป็นสีแดงเมื่อฉัน ไม่ได้เลือก 455 00:25:19,030 --> 00:25:22,680 ฉันจะยกเลิกมันได้หรือไม่ 456 00:25:22,680 --> 00:25:23,980 ดีก็เป็นสีแดง 457 00:25:23,980 --> 00:25:25,201 ผมขอฟื้นฟู 458 00:25:25,201 --> 00:25:25,700 มีมันเป็น 459 00:25:25,700 --> 00:25:26,640 ตอนนี้มันเป็นสีแดง 460 00:25:26,640 --> 00:25:30,530 >> ดังนั้นจึงเป็นสีแดงซึ่งหมายถึง มันล้มเหลวที่ไ​​ม่ดี 461 00:25:30,530 --> 00:25:32,280 ดังนั้นขอให้ตรวจสอบว่าทำไมมันไม่ล้มเหลว 462 00:25:32,280 --> 00:25:37,070 ดังนั้นสิ่งที่มาหน้าสามารถ โดยทั่วไปบอกคุณเป็นสิ่งที่คุณ 463 00:25:37,070 --> 00:25:38,720 ไม่ได้ทำงานที่เรามีอยู่แล้วสามารถมองเห็น 464 00:25:38,720 --> 00:25:42,100 ดังนั้นจะมีความนึกคิด เป็นเครื่องมือที่มีประโยชน์มากขึ้น 465 00:25:42,100 --> 00:25:45,710 และมีบางส่วนขยายเบราว์เซอร์ ที่ช่วยให้คุณแก้ปัญหา PHP, 466 00:25:45,710 --> 00:25:50,490 แต่เราไม่ได้ไป จะเขียนตันของ PHP ที่ 467 00:25:50,490 --> 00:25:53,190 ดังนั้นจึงเป็นเรื่องที่ดีที่สุดอาจเป็นเพียงแค่ มองผ่านรห​​ัสของคุณ 468 00:25:53,190 --> 00:25:56,760 อย่างระมัดระวังและเพียงให้แน่ใจว่า มันไม่ได้ทำอะไรอย่างอื่น 469 00:25:56,760 --> 00:26:03,876 >> ดังนั้นเรามาดูว่ารูปแบบนี้ ถ้าคำสั่งที่เป็นปัญหาคือ 470 00:26:03,876 --> 00:26:07,420 ฉันต้องการที่จะโหลดที่กลับมาที่นี่ 471 00:26:07,420 --> 00:26:09,830 สวัสดีทักทาย. 472 00:26:09,830 --> 00:26:11,350 จึงมีปัญหามี 473 00:26:11,350 --> 00:26:15,130 >> ดังนั้นสำหรับไวยากรณ์ที่ถูกต้อง ของ PHP, PHP เป็นไป 474 00:26:15,130 --> 00:26:17,369 จะเป็น C-เช่นในการที่คุณจะเห็นลูป 475 00:26:17,369 --> 00:26:18,410 คุณจะได้ดูว่างบ 476 00:26:18,410 --> 00:26:20,920 คุณจะเห็นเพื่อน ๆ ทุกคนเหล่านี้ ที่คุณคุ้นเคย 477 00:26:20,920 --> 00:26:24,820 ที่มีมากกว่าการเรียนการสอน ภาคการศึกษา CS50 นี้ 478 00:26:24,820 --> 00:26:29,960 แต่วิธีที่ดีที่สุดที่จะคิดออกว่าจะ ทำอะไรบางอย่างใน PHP คือ Google มัน 479 00:26:29,960 --> 00:26:33,170 หรือดูตัวอย่างของโค้ด PHP บาง เพราะคุณรู้ว่าการทำงาน 480 00:26:33,170 --> 00:26:35,080 >> คุณจะรู้ว่าสิ่งที่คุณสามารถ ทำอย่างไรกับโปรแกรม 481 00:26:35,080 --> 00:26:35,976 คุณสามารถห่วง 482 00:26:35,976 --> 00:26:37,600 คุณสามารถห่วงหลายครั้งตามที่คุณต้องการ 483 00:26:37,600 --> 00:26:39,433 คุณสามารถห่วงในทุก ประเภทวิธีที่แตกต่าง 484 00:26:39,433 --> 00:26:40,700 คุณสามารถสร้างฟังก์ชั่น 485 00:26:40,700 --> 00:26:43,241 คุณสามารถสร้างฟังก์ชั่นที่ เรียกฟังก์ชั่นอื่น ๆ ฟังก์ชั่น 486 00:26:43,241 --> 00:26:44,150 ที่เรียกตัวเองว่า 487 00:26:44,150 --> 00:26:45,733 และคุณมีชื่อสำหรับแนวคิดเหล่านี้ 488 00:26:45,733 --> 00:26:49,860 คุณได้มีการเรียกซ้ำห่วง ถ้ากระแสควบคุมอื่น ๆ 489 00:26:49,860 --> 00:26:51,300 และเพื่อให้ Google เป็นเพื่อนที่ดีที่สุดของคุณ 490 00:26:51,300 --> 00:26:53,540 แม้จะพูดว่า "ถ้า PHP คำสั่ง "และมีจะ 491 00:26:53,540 --> 00:26:57,740 เป็นตันโพสต์ด้วย คำตอบของคนอื่น ๆ 492 00:26:57,740 --> 00:27:02,090 ที่เคยมีคำถามที่คล้ายกันกับคุณ ที่เพิ่งเริ่มต้นออกด้วย PHP 493 00:27:02,090 --> 00:27:03,820 และอยากรู้เกี่ยวกับสิ่งที่ไวยากรณ์ 494 00:27:03,820 --> 00:27:08,480 >> เพราะเรามีความหรูหราของการเป็น สามารถดูรหัสที่อยู่ในชุด P 6 495 00:27:08,480 --> 00:27:14,980 เราจริงดึงมันขึ้นมาและเห็นว่า ตกลงนี่เป็นสิ่งที่น่าสนใจ 496 00:27:14,980 --> 00:27:18,070 ดังนั้นนี่คือสิ่งที่มันเป็นจริง ดูเหมือนใน P ตั้ง 6 497 00:27:18,070 --> 00:27:20,340 ดังนั้นหากเราผ่านไปนี้ เราจะเห็นว่าเราได้ 498 00:27:20,340 --> 00:27:27,150 มีหลายน้อยเหล่านี้ คำถาม PHP เหมือนบิตเครื่องหมาย 499 00:27:27,150 --> 00:27:29,050 >> และมีไม่วงเล็บปีกกา 500 00:27:29,050 --> 00:27:30,250 มีทวิภาคเป็น 501 00:27:30,250 --> 00:27:32,340 และมีหยิก วงเล็บใน PHP แต่นี่ 502 00:27:32,340 --> 00:27:38,700 เป็นรูปแบบและวิธีการในการดำเนินการ PHP ที่ทำงานได้ดีกับ HTML 503 00:27:38,700 --> 00:27:43,830 เพราะในขณะที่คุณจะเห็นเรากำลังปิด ปิด PHP เหล่านี้ bits-- elses 504 00:27:43,830 --> 00:27:49,770 และไอเอฟเอและทั้งหมดของ that-- แล้ว เรากำลัง interspersing HTML ภายในพวกเขา 505 00:27:49,770 --> 00:27:54,640 ขณะที่ยังคงดังต่อไปนี้ การควบคุมการไหลกำหนดโดย PHP 506 00:27:54,640 --> 00:27:58,480 >> ดังนั้นฉันแค่ไป ได้อย่างรวดเร็วใช้เวลาเดินผ่านทางนี้ 507 00:27:58,480 --> 00:28:01,740 เพราะมันเป็นจำนวนมากเหมือนกัน แนวความคิดที่ว่าเรากำลังทำอะไรก่อน 508 00:28:01,740 --> 00:28:07,280 เรามีถ้าไม่ว่าง วงเล็บ _GET_GET ["ชื่อ"] 509 00:28:07,280 --> 00:28:08,500 ทั้งหมดนี้เป็นสิ่งเดียวกัน 510 00:28:08,500 --> 00:28:15,430 เรากำลังใช้พจนานุกรม _GET ที่ PHP ส่งตามคำขอของรูปแบบ 511 00:28:15,430 --> 00:28:20,720 เพราะมันเป็นพารามิเตอร์ของ การกระทำและวิธีการที่จะได้รับ 512 00:28:20,720 --> 00:28:22,110 และแล้วที่สิ้นสุดที่ 513 00:28:22,110 --> 00:28:27,420 ลำไส้ใหญ่เป็นมหาเทพที่จะเพียงแค่ทำเช่นนี้ ถ้าหากคำสั่งประเมินที่แท้จริง 514 00:28:27,420 --> 00:28:29,490 มันเหมือนวงเล็บปีกกา 515 00:28:29,490 --> 00:28:33,320 และในความเป็นจริงมันเป็นวงเล็บปีกกา ในภาษาอื่น ๆ เช่นงูหลาม 516 00:28:33,320 --> 00:28:37,070 ซึ่งคุณอาจพบถ้าคุณเพียง ทำที่สำหรับโครงการสุดท้ายของคุณ 517 00:28:37,070 --> 00:28:40,170 >> และแล้วบรรทัดนี้สวัสดี 518 00:28:40,170 --> 00:28:41,510 จากนั้นเราได้มีสิ่งนี้แปลก 519 00:28:41,510 --> 00:28:43,190 เรามีวงเล็บเพิ่มเติม 520 00:28:43,190 --> 00:28:46,140 ไม่มี HTTP there-- หรือ PHP เป็นขอโทษ 521 00:28:46,140 --> 00:28:47,250 แต่มีเครื่องหมายเท่ากับ 522 00:28:47,250 --> 00:28:50,625 และแล้วเราก็มีฟังก์ชั่น htmlspecialchars (_GEThtmlspecialchars (_GET ["ชื่อ"]) 523 00:28:50,625 --> 00:28:54,440 524 00:28:54,440 --> 00:28:58,040 นี้เป็นประเภทชอบมากขึ้น รุ่นสูงของก้อง 525 00:28:58,040 --> 00:29:01,450 เช่นเดียวกับที่เราได้สะท้อนเป็นวิธีการ พิมพ์สิ่งที่ออกใน PHP 526 00:29:01,450 --> 00:29:03,890 นี้เป็นฟังก์ชั่นที่ ที่กำหนดไว้ใน PHP ที่ 527 00:29:03,890 --> 00:29:08,160 จะจัดการกับบางอย่างที่น่ารังเกียจมากขึ้น ตัวอักษรและค่าไบต์ 528 00:29:08,160 --> 00:29:09,540 ที่คุณสามารถผ่านมัน 529 00:29:09,540 --> 00:29:11,070 ก็มักจะปลอดภัยที่สุดที่จะใช้นี้ 530 00:29:11,070 --> 00:29:14,930 แต่เสียงสะท้อนจะทำงาน เพียงแค่ปรับถ้าเราไม่ 531 00:29:14,930 --> 00:29:17,620 การจัดการกับสิ่งที่น่ารังเกียจเกินไป 532 00:29:17,620 --> 00:29:20,340 >> และเพื่อให้มีเหมือนกัน ผลของพื้น 533 00:29:20,340 --> 00:29:26,360 สิ่งนี้ในระหว่างคำถาม เครื่องหมายถูกประเมินโดย PHP 534 00:29:26,360 --> 00:29:34,490 htmlspecialchars กลับ HTML ที่ดี ค่าพิมพ์ _GET_GET ["ชื่อ"] กล่าวคือ 535 00:29:34,490 --> 00:29:36,010 สิ่งที่เราพิมพ์ในรูปแบบ 536 00:29:36,010 --> 00:29:40,025 และจากนั้นก็จะกล่าวทักทาย พื้นที่จุลภาคแล้วว่า 537 00:29:40,025 --> 00:29:42,910 นั่นคือสิ่งที่ทั้งระหว่าง วงเล็บมุม 538 00:29:42,910 --> 00:29:47,390 จะถูกแทนที่ด้วยสิ่งที่ htmlspecialchars ทำให้ออก 539 00:29:47,390 --> 00:29:49,390 เพื่อให้เป็นที่คล้ายกันโดยทั่วไป กับสิ่งที่เรากำลังทำ 540 00:29:49,390 --> 00:29:54,760 และเรามีคำสั่งอื่นที่ สวัสดีโลกซึ่งจะทำให้ความรู้สึก 541 00:29:54,760 --> 00:29:58,070 ดังนั้นตอนนี้ขอกลับไปที่ของเรา รหัสและดู exactly-- โอ้ 542 00:29:58,070 --> 00:30:02,200 ผมบอกว่ามีอยู่ซึ่งไม่ได้เป็น สิ่งที่เราอยากจะทำ 543 00:30:02,200 --> 00:30:05,370 เราอยากจะบอกว่าไม่ว่างเปล่า 544 00:30:05,370 --> 00:30:10,020 >> ดังนั้นนี้ควรจะทำงานเล็ก ๆ น้อย ๆ ดีขึ้นเล็กน้อยไม่ _GET_GET ที่ว่างเปล่า ["ชื่อ"] 545 00:30:10,020 --> 00:30:12,710 และที่รั้งหยิก ตรงกับที่วงเล็บปีกกา 546 00:30:12,710 --> 00:30:15,210 เรามีวงเล็บปีกกาของเราที่นี่ 547 00:30:15,210 --> 00:30:17,790 สะท้อนสวัสดี _GET ["ชื่อ"] 548 00:30:17,790 --> 00:30:19,912 ลองมาดูว่านี้ทำงานได้ดีขึ้นเล็กน้อย 549 00:30:19,912 --> 00:30:21,350 เรายังคงทำงานเซิร์ฟเวอร์ของเรา 550 00:30:21,350 --> 00:30:23,910 สวัสดีเจสัน 551 00:30:23,910 --> 00:30:24,780 สวัสดีเจสัน 552 00:30:24,780 --> 00:30:25,810 และการทำงานในครั้งนี้ 553 00:30:25,810 --> 00:30:29,860 และเพื่อให้เป็นหลักฐาน ที่คุณสามารถทำได้จริง 554 00:30:29,860 --> 00:30:35,180 ใช้วงเล็บปีกกาที่คุณ รู้จักและชื่นชอบในโค้ด PHP ใน HTML 555 00:30:35,180 --> 00:30:41,100 รหัส PHP ให้กับ คุณ pset 6-- pset 6-- 556 00:30:41,100 --> 00:30:44,760 มีวิธีอื่น ทำที่สิ่งเดียวกัน 557 00:30:44,760 --> 00:30:49,220 >> ดังนั้นตอนนี้เรามีอำนาจ 558 00:30:49,220 --> 00:30:55,740 เรามีการทำงานในการดำเนินการ รหัส PHP ที่เราเห็นใน pset 6 559 00:30:55,740 --> 00:30:57,390 ด้วยตัวเองโดยทั่วไป 560 00:30:57,390 --> 00:31:01,350 ก่อนที่ผมจะย้ายไปสิ่งที่เป็นบางส่วนของ คำถามที่คุณต้องมาถึงจุดนี้? 561 00:31:01,350 --> 00:31:02,066 ใช่ [ไม่ได้ยิน] 562 00:31:02,066 --> 00:31:06,512 >> ผู้ชม: ดังนั้นในรุ่นใน pset6 ที่ เมื่อคุณเรียกมันมีช่องว่าง 563 00:31:06,512 --> 00:31:09,330 และฉันสามารถดูที่ที่มีพื้นที่เป็น หลังจากจุลภาค [ไม่ได้ยิน] เริ่มต้น 564 00:31:09,330 --> 00:31:10,700 วงเล็บเปิด 565 00:31:10,700 --> 00:31:15,420 คุณจะทำอย่างไรรวมพื้นที่ใน วิธีการที่คุณเขียนรหัสของคุณเองหรือ 566 00:31:15,420 --> 00:31:17,910 >> SPEAKER: นั่นเป็นคำถามที่ดี 567 00:31:17,910 --> 00:31:21,650 และเพื่อให้คิดออกว่า 568 00:31:21,650 --> 00:31:24,450 เพื่อให้เป็นคำถามที่ดีจริงๆ และคนที่ผมไม่ได้พิจารณา 569 00:31:24,450 --> 00:31:25,950 แต่ขอทำด้วยกัน 570 00:31:25,950 --> 00:31:30,280 >> ดังนั้นครั้งแรกของทุกสิ่ง ที่ฉันทำกับก้อง 571 00:31:30,280 --> 00:31:33,690 คือเมื่อเราเพียงแค่สะท้อน สวัสดีมันจะออกผลลัพธ์สวัสดี 572 00:31:33,690 --> 00:31:41,310 ถ้าเราสะท้อนตอนนี้ได้รับในการแยก บรรทัดขอตรวจสอบสิ่งที่เกิดขึ้น 573 00:31:41,310 --> 00:31:43,740 ดังนั้นเราจึงสามารถคลิกที่นี่ 574 00:31:43,740 --> 00:31:45,220 เราให้ว่าไฮเจสัน 575 00:31:45,220 --> 00:31:48,690 ดังนั้นอีกครั้งเราไม่ได้มีพื้นที่นี้ 576 00:31:48,690 --> 00:31:53,090 >> และนั่นก็เป็นเพราะใน PHP เมื่อเราได้สะท้อน 577 00:31:53,090 --> 00:31:55,820 ไม่ว่ากี่ spaces-- อ้างไม่ V-- 578 00:31:55,820 --> 00:32:01,770 ไม่ว่ากี่ช่องว่างที่เราใส่ใน here-- ถ้าตอนนี้เราโหลดขึ้นมาอีกครั้ง 579 00:32:01,770 --> 00:32:03,010 ไฮเจสัน 580 00:32:03,010 --> 00:32:05,770 ใช่เห็นทุกคน ช่องว่างได้กินขึ้น 581 00:32:05,770 --> 00:32:08,020 และนั่นคือสิ่งที่ ฟังก์ชั่นเสียงสะท้อนไม่ 582 00:32:08,020 --> 00:32:11,110 >> ดังนั้นในการดูแลของ พื้นที่ที่และนี่คือ 583 00:32:11,110 --> 00:32:14,960 หนึ่งในเหตุผลที่ ทำไมคุณไม่ได้ใช้เสียงสะท้อน 584 00:32:14,960 --> 00:32:18,200 และคุณใช้ htmlspecialchars แทน 585 00:32:18,200 --> 00:32:22,140 ฉันอยากรู้สิ่งที่จะ เกิดขึ้นถ้าเราทำอย่างนี้ 586 00:32:22,140 --> 00:32:26,700 ที่เราปิดล้อมพื้นที่ในสตริง 587 00:32:26,700 --> 00:32:29,720 ผมตรงไปตรงมาไม่แน่ใจว่า จะเกิดขึ้นเมื่อผมทำเช่นนี้ 588 00:32:29,720 --> 00:32:30,790 >> เพื่อให้เป็นวิธีหนึ่ง 589 00:32:30,790 --> 00:32:32,210 นั่นเป็นวิธีหนึ่งที่จะดูแลมัน 590 00:32:32,210 --> 00:32:34,840 หากคุณห่อพื้นที่ใน สตริงแล้วพื้นที่ 591 00:32:34,840 --> 00:32:36,920 จะถูกส่งออกเป็นอย่างดีโดยก้อง 592 00:32:36,920 --> 00:32:41,930 สิ่งที่ปลอดภัยที่สุดที่จะทำคือ ที่จะทำ htmlspecialchars 593 00:32:41,930 --> 00:32:43,800 นั่นคือเสมอเดิมพันที่ปลอดภัย 594 00:32:43,800 --> 00:32:47,050 แต่ตอนนี้เรามีวิธีที่จะทำ กับเสียงสะท้อนในกรณีที่จำเป็น 595 00:32:47,050 --> 00:32:50,700 และในทำนองเดียวกันเราสามารถ สะท้อนสายใหม่ทั้งหมดที่เรียงลำดับ 596 00:32:50,700 --> 00:32:53,550 ของสิ่งที่คุณกำลังทำคุ้นเคยใน PHP 597 00:32:53,550 --> 00:32:57,460 >> คนอื่นสิ่งที่ใด ๆ เพิ่มเติม คำถามที่คนอื่น ๆ ที่มี 598 00:32:57,460 --> 00:33:01,090 ที่จุดเกี่ยวกับ PHP นี้หรือไม่? 599 00:33:01,090 --> 00:33:04,620 ถ้าคนมีขึ้นปลายเล็ก ๆ น้อย ๆ ฉันมีความสุขที่จะอยู่หลังนิด ๆ หน่อย ๆ 600 00:33:04,620 --> 00:33:06,420 และพูดคุยเกี่ยวกับบางส่วนของการเริ่มต้น 601 00:33:06,420 --> 00:33:10,380 และก็ยังทุก livestreamed, และเก็บซึ่งจะบ้า 602 00:33:10,380 --> 00:33:13,960 >> อยู่แล้วดังนั้นตอนนี้ขอทำบางอย่าง สิ่งที่สูงขึ้นด้วย PHP 603 00:33:13,960 --> 00:33:18,790 และหนึ่งในสิ่งแรกที่คุณ ถูกนำไปใน C เป็นห่วง 604 00:33:18,790 --> 00:33:24,060 และ PHP มีประสิทธิภาพมากขึ้นสำหรับ เรียกว่าห่วงห่วง foreach 605 00:33:24,060 --> 00:33:37,940 และดูเหมือนว่า this-- สำหรับแต่ละว่างเปล่า ที่ว่างเปล่าเป็นวงเล็บปีกกาทำสิ่ง 606 00:33:37,940 --> 00:33:41,500 ดังนั้นนี่เป็นพื้นจดชวเลข 607 00:33:41,500 --> 00:33:45,380 >> ดูที่ห่วงเป็น การก่อสร้างการสร้างประโยค 608 00:33:45,380 --> 00:33:50,590 ได้วางแผนใน C และในการชุมนุม ภาษาและสิ่งที่ต้องการ 609 00:33:50,590 --> 00:33:56,300 วางแผนใน C ได้อย่างแม่นยำตามที่จดชวเลข สำหรับจำนวนมากของประเภทลูป 610 00:33:56,300 --> 00:33:57,750 ว่าคนที่จะได้เห็น 611 00:33:57,750 --> 00:34:01,230 เช่นเมื่อคุณเขียนห่วงมี มักจะเป็นขั้นตอนการเริ่มต้น 612 00:34:01,230 --> 00:34:04,700 การดำเนินการที่เหมาะสมในการเริ่มต้นเป็น สภาพที่วงจะ stop-- 613 00:34:04,700 --> 00:34:07,030 และที่คุณลักษณะ นั่นเป็นเพียงในวงในขณะที่ 614 00:34:07,030 --> 00:34:10,040 หรือในขณะที่มีตรง เพียงแค่ว่า feature-- แล้ว 615 00:34:10,040 --> 00:34:12,320 ขั้นตอน incrementation ที่สิ้นสุด 616 00:34:12,320 --> 00:34:16,489 และเพื่อให้คุณมักจะพบว่าตัวเองต้องการ เขียนรหัสดังต่อไปนี้ 617 00:34:16,489 --> 00:34:19,780 ฉันจะลบบางส่วนของนี้ 618 00:34:19,780 --> 00:34:23,850 >> แต่ถ้าเราทำซ้ำผ่าน ตัวอักษรในอาร์เรย์ 619 00:34:23,850 --> 00:34:26,960 ตัวอย่างเช่นเราได้ มีอาร์เรย์ของตัวอักษร 620 00:34:26,960 --> 00:34:29,400 ขออภัยที่จะนำกลับ C. ฉันรู้ว่า คุณคิดว่าคุณได้ทำ 621 00:34:29,400 --> 00:34:31,900 แต่มันก็เป็นเพียงเพื่อวัตถุประสงค์ในการ ของการเรียนรู้ PHP, ผมสัญญาว่า 622 00:34:31,900 --> 00:34:38,880 ดังนั้นถ้าคุณมีถ่าน STR 8 ความยาวและขอ 623 00:34:38,880 --> 00:34:46,760 บอกว่ามัน Hellooo กล่าวว่า ด้วย null ต่อท้าย 624 00:34:46,760 --> 00:34:48,270 ที่ดีเพื่อให้เป็นสตริงของเรา 625 00:34:48,270 --> 00:34:51,469 >> และจากนั้นเรามีห่วง 626 00:34:51,469 --> 00:34:53,730 เรามี int ฉันเท่ากับ 0 627 00:34:53,730 --> 00:34:57,960 628 00:34:57,960 --> 00:35:09,110 และเราต้องการที่จะออกจากเมื่อ str ของผมเท่ากับไม่เท่ากับโมฆะ, 629 00:35:09,110 --> 00:35:11,590 เพราะเราออกเมื่อมันเท่ากับ null 630 00:35:11,590 --> 00:35:19,170 แล้วเราจะทำฉัน ++ ในแต่ละ จุดในการห่วง 631 00:35:19,170 --> 00:35:30,480 ทำอะไรกับ STR ของฉัน 632 00:35:30,480 --> 00:35:34,950 >> ดังนั้นสูตรพื้นฐานคือ เรามีอาร์เรย์ที่เรา 633 00:35:34,950 --> 00:35:37,910 ต้องการที่จะรักษาองค์ประกอบเฉพาะกิจการ 634 00:35:37,910 --> 00:35:45,170 แต่สิ่งที่เราต้องทำคือการที่เราต้อง โดยทั่วไปสร้างจำนวนเต็มแยกต่างหาก 635 00:35:45,170 --> 00:35:50,530 ตัวแปรที่นับขึ้นทุก เวลาที่เราเดินผ่านห่วง 636 00:35:50,530 --> 00:35:55,240 และจากนั้นเราจะต้องแล้วโทร strstr [ผม] เมื่อสิ่งที่เราอยากจะทำ 637 00:35:55,240 --> 00:35:57,280 เป็นเพียงการไปของตัวละคร โดยตัวละครใช่มั้ย? 638 00:35:57,280 --> 00:36:00,185 เราไม่ต้องการที่จะเพิ่มเป็นระดับ จำนวนเต็มและจากนั้นใช้จำนวนเต็มที่ 639 00:36:00,185 --> 00:36:02,780 ในการเข้าถึงตัวละครแต่ละตัวเป็นรายบุคคล 640 00:36:02,780 --> 00:36:04,410 เราต้องการจริงๆตัวละครตัวละคร 641 00:36:04,410 --> 00:36:08,600 >> และเพื่อให้แต่ละอย่างชาญฉลาด คำนวณว่าสำหรับเรา 642 00:36:08,600 --> 00:36:11,875 ถ้าเรามีอาร์เรย์ซึ่ง เราสามารถประกาศใน PHP 643 00:36:11,875 --> 00:36:15,900 เป็น just-- ถ้าเรามีตัวแปร เรียกว่าขอเรียกว่าอาร์เรย์ 644 00:36:15,900 --> 00:36:19,840 ปาฏิหาริย์ของการพิมพ์ไม่เป็น เช่นเดียวกับตัวแปรอื่น ๆ 645 00:36:19,840 --> 00:36:20,730 มันเป็นเพียงอาร์เรย์ 646 00:36:20,730 --> 00:36:26,890 และเรามีเล็ก ๆ น้อย ๆ [ไม่ได้ยิน] เช่น 1, 2, 3, เพียงแค่การจัดเรียงของอาร์เรย์ที่เริ่ม 647 00:36:26,890 --> 00:36:29,680 มันตกลงก็ไม่ได้ชอบ foreach ของฉัน 648 00:36:29,680 --> 00:36:33,120 >> แต่ถ้าเราไม่ foreach-- จริง ฉันพิมพ์ที่ผิดเล็ก ๆ น้อย ๆ 649 00:36:33,120 --> 00:36:34,840 มีสองวิธีที่จะทำวง foreach เป็น 650 00:36:34,840 --> 00:36:37,400 มีอยู่ในไวยากรณ์และเป็นไวยากรณ์ 651 00:36:37,400 --> 00:36:40,580 และเรากำลังจะทำ ไวยากรณ์ในครั้งแรกไม่เป็น 652 00:36:40,580 --> 00:36:41,780 นั่นเป็นความผิดพลาดของฉัน 653 00:36:41,780 --> 00:36:53,785 >> NUM foreach ดังนั้นในอาร์เรย์สะท้อน NUM 654 00:36:53,785 --> 00:36:56,970 655 00:36:56,970 --> 00:36:59,500 และ PHP จะตะโกนที่ ฉันด้วยเหตุผลบางอย่าง 656 00:36:59,500 --> 00:37:03,520 มันหาที่ไม่คาดคิด ในในบางสิ่งบางอย่าง 657 00:37:03,520 --> 00:37:05,820 ซึ่งเป็นนิด ๆ หน่อย ๆ ของรำคาญ 658 00:37:05,820 --> 00:37:09,105 แต่เราจะคิดออก เหตุผลที่อยู่ในช่วงเวลาที่ 659 00:37:09,105 --> 00:37:11,960 660 00:37:11,960 --> 00:37:13,610 จึงไม่ชอบที่ 661 00:37:13,610 --> 00:37:15,040 ลองใช้เป็น 662 00:37:15,040 --> 00:37:17,310 มันชอบเป็นไวยากรณ์ดูเหมือนว่า 663 00:37:17,310 --> 00:37:22,550 เพื่อขอทำอาร์เรย์ foreach เป็น NUM 664 00:37:22,550 --> 00:37:24,520 >> ดังนั้นคำอธิบายเล็ก ๆ น้อย ๆ ของสิ่งที่เพิ่งเกิดขึ้น 665 00:37:24,520 --> 00:37:30,670 จะเป็นไวยากรณ์ saying-- กันครั้งแรก ให้ดูที่สิ่งที่พิมพ์ออก 666 00:37:30,670 --> 00:37:32,260 ดังนั้นเราจึงเปิด IDE ของเรา 667 00:37:32,260 --> 00:37:33,110 เราไปที่นี่ 668 00:37:33,110 --> 00:37:35,845 เราพูดว่าสวัสดีเจสัน 669 00:37:35,845 --> 00:37:41,390 และมันได้ 123 ซึ่งเป็นเนื้อหา ของอาร์เรย์ที่เราสร้างขึ้นมาด้านบน 670 00:37:41,390 --> 00:37:45,500 >> ดังนั้นการดำน้ำในห่วง foreach นี้ เรามีตัวแปรที่เรียกว่าอาร์เรย์ 671 00:37:45,500 --> 00:37:47,470 ซึ่งเป็นอาร์เรย์ของสามตัวเลข 672 00:37:47,470 --> 00:37:52,120 แล้วเราจะทำ foreach อาร์เรย์เป็น NUM ก้อง NUM 673 00:37:52,120 --> 00:37:54,990 และที่อื่น ๆ อีกมากมาย ที่ใช้งานง่ายกว่าสำหรับลพบุรี 674 00:37:54,990 --> 00:38:02,380 เรากำลังจะบอกว่าการรักษาแต่ละ สิ่งที่อยู่ในอาร์เรย์เป็น NUM ที่ 675 00:38:02,380 --> 00:38:05,180 ฉันต้องการให้คุณให้ฉัน NUM 676 00:38:05,180 --> 00:38:06,640 และนั่นคือสิ่งที่มันทำ 677 00:38:06,640 --> 00:38:12,000 >> PHP มีการคำนวณว่า เมื่อคุณพูดอาร์เรย์ foreach, 678 00:38:12,000 --> 00:38:16,080 และคุณจัดการกับอาร์เรย์สิ่งที่ คุณจะต้องการที่จะย้ำกว่า 679 00:38:16,080 --> 00:38:19,950 เป็นตัวละครในอาเรย์ที่ เป็น ints ในอาร์เรย์ที่ 680 00:38:19,950 --> 00:38:21,920 เป็นองค์ประกอบในอาร์เรย์ที่ 681 00:38:21,920 --> 00:38:26,110 และก็ให้คุณจัดเก็บ ตัวแปรที่เป็น NUM, 682 00:38:26,110 --> 00:38:29,360 แล้ว NUM เพียงเอาท์พุท ทันทีแทนที่จะพูดว่า 683 00:38:29,360 --> 00:38:34,090 ฉันมีตัวแปรที่เรียกว่าฉันและ แล้วฉันต้องการที่จะส่งออก strstr [ผม] 684 00:38:34,090 --> 00:38:39,130 >> และอื่น ๆ ที่ช่วยให้เราที่จะทำสิ่งดีๆ 685 00:38:39,130 --> 00:38:43,330 เช่นเดียวกับพื้นเราไม่ได้มีการสร้าง ตัวแปรเหล่านี้เช่นฉันและทำทุกอย่าง 686 00:38:43,330 --> 00:38:45,090 สิ่ง incrementation นี้ในตอนท้าย 687 00:38:45,090 --> 00:38:48,290 PHP ดูแลทุกที่สำหรับคุณ 688 00:38:48,290 --> 00:38:54,470 >> ดังนั้นตอนนี้เราจะมาพูดคุยเกี่ยวกับ foreach เป็น มันใช้กับพจนานุกรม _GET ของเรา 689 00:38:54,470 --> 00:38:57,170 ดังนั้นเราจะแสดงความคิดเห็นออกไปอย่างรวดเร็วนี้ 690 00:38:57,170 --> 00:39:02,030 ดังนั้นเราจึงมีอาร์เรย์ _GET ของเรา 691 00:39:02,030 --> 00:39:04,361 เรามีตัวแปรนี้ 692 00:39:04,361 --> 00:39:05,610 และก็มีบางสิ่งที่อยู่ในนั้น 693 00:39:05,610 --> 00:39:10,275 >> ตอนนี้เรามีเพียงหนึ่งตัวแปร ถูกส่งผ่านไปซึ่งเป็นชื่อ 694 00:39:10,275 --> 00:39:13,420 แต่ถ้าเรากด Enter ตอนนี้ เราสามารถมีสองตัวแปร 695 00:39:13,420 --> 00:39:17,910 เราสามารถมีชื่อและอายุเช่น ถ้าเราต้องการที่จะได้รับอายุและยัง 696 00:39:17,910 --> 00:39:20,960 ชื่อของบุคคลที่ขันพอ 697 00:39:20,960 --> 00:39:25,690 >> ดังนั้นตอนนี้ _GET เป็นไปได้ พจนานุกรมที่มีสององค์ประกอบ 698 00:39:25,690 --> 00:39:27,980 กับสองคู่ค่าคีย์ 699 00:39:27,980 --> 00:39:33,490 และ key-- แรกที่ผมกำลังจะไป เขียนคนนี้ขึ้นบนกระดานเกินไป 700 00:39:33,490 --> 00:39:37,136 เรามีพจนานุกรมของเราคือ _GET 701 00:39:37,136 --> 00:39:39,520 ขออภัยมันเป็นเพียงเล็กน้อยยากที่จะเห็น 702 00:39:39,520 --> 00:39:46,690 แต่ข้างในพจนานุกรมของเราที่เรามี ชื่อที่เป็นไปได้บางสิ่งบางอย่าง 703 00:39:46,690 --> 00:39:47,680 ที่เราได้รับ 704 00:39:47,680 --> 00:39:53,040 และเราจะมีอายุซึ่งเป็น จะเป็นสิ่งที่เราได้รับ 705 00:39:53,040 --> 00:39:56,020 และนี่คือความสมบูรณ์ พจนานุกรมของเรา 706 00:39:56,020 --> 00:39:57,730 >> ดังนั้นจึงมีสององค์ประกอบในนั้น 707 00:39:57,730 --> 00:40:01,310 และอื่น ๆ เพราะ foreach ลูปเป็นสมาร์ทเรา 708 00:40:01,310 --> 00:40:04,900 อาจจะคิดว่าและถูกต้อง อาจจะคิดว่า foreach 709 00:40:04,900 --> 00:40:08,080 สามารถย้ำผ่านทางนี้ พจนานุกรมพิมพ์ออก 710 00:40:08,080 --> 00:40:10,850 ค่าที่กำหนดโดยใช้ชื่อและอายุ 711 00:40:10,850 --> 00:40:14,510 >> ถ้าอย่างนั้นเราในความเป็นจริงทำเพียงแค่ว่า 712 00:40:14,510 --> 00:40:17,520 ลองสร้างห่วง foreach 713 00:40:17,520 --> 00:40:23,351 และเรากำลังจะทำเพื่อเป็น _GET 714 00:40:23,351 --> 00:40:24,850 และเรากำลังจะทำต่อไปนี้ 715 00:40:24,850 --> 00:40:34,186 ดังนั้นเรามาดูว่าเกิดอะไรขึ้นถ้าเราพิมพ์ เพียงแค่คำพูดแล้วพูดคำว่าเสียงสะท้อน 716 00:40:34,186 --> 00:40:40,540 เรายังจะสะท้อนบรรทัดใหม่ เพียงเพื่อให้มันเล็ก ๆ น้อย ๆ ที่ชัดเจน 717 00:40:40,540 --> 00:40:41,260 เกิดอะไรขึ้น. 718 00:40:41,260 --> 00:40:42,890 >> ดังนั้นเรามาดู 719 00:40:42,890 --> 00:40:44,390 มันไม่ได้ให้ฉันข้อผิดพลาดใด ๆ 720 00:40:44,390 --> 00:40:46,810 และเราจะปิดนี้ 721 00:40:46,810 --> 00:40:51,020 บนเว็บไซต์ของเราคุณกำลังจะทำ เป็นจำนวนมากจากการที่ในช่วง pset7 722 00:40:51,020 --> 00:40:53,890 ดังนั้นเราจึงพูดชื่อของฉันคือแซม 723 00:40:53,890 --> 00:40:58,560 อายุของฉันคือ 45 724 00:40:58,560 --> 00:41:01,060 มันไม่ใช่. 725 00:41:01,060 --> 00:41:05,640 แต่มันก็พิมพ์ออกเป็นไปตามคาด 45 แซม 726 00:41:05,640 --> 00:41:08,930 >> และเพื่อให้คุณจะสังเกตเห็นว่า สิ่งที่ห่วง foreach did-- ที่นี่ 727 00:41:08,930 --> 00:41:12,360 ขอกลับไปว่าดังนั้นมันจึงขึ้น ใน board-- ที่เราได้รับเป็นคำ _GET 728 00:41:12,360 --> 00:41:15,130 และมีสี่สิ่งใน _GET 729 00:41:15,130 --> 00:41:17,410 แต่มันก็พิมพ์ออกมาเพียงสองสิ่ง 730 00:41:17,410 --> 00:41:21,290 foreach เป็นหน่วยสืบราชการลับของตัวเอง, สันนิษฐานได้ว่าสิ่งที่เราต้องการจริงๆ 731 00:41:21,290 --> 00:41:24,100 เป็นค่าที่ไม่กุญแจ 732 00:41:24,100 --> 00:41:27,800 >> แต่มีวิธีที่เราสามารถพิมพ์ คีย์เช่นกันถ้าเราต้องการที่จะ 733 00:41:27,800 --> 00:41:30,810 ถ้าเราต้องการที่จะรู้ว่าสิ่งที่ยัง ตัวแปรเหล่านี้ถูกเรียกว่า 734 00:41:30,810 --> 00:41:33,540 มีวิธีการที่ที่เรา สามารถเข้าถึงนี้เช่นกัน 735 00:41:33,540 --> 00:41:36,840 และวิธีการเรียงลำดับของการทำเช่นนั้น ดังนั้นเราจึงสามารถพูดได้ช่วยจริงๆ 736 00:41:36,840 --> 00:41:39,485 แยกมันเป็นคู่ค่าคีย์ 737 00:41:39,485 --> 00:41:42,370 738 00:41:42,370 --> 00:41:47,580 ดังนั้นเรามาดูสิ่งที่เกิดขึ้นในขณะนี้ 739 00:41:47,580 --> 00:41:50,550 >> ดังนั้นเราจึงมีสำคัญ 740 00:41:50,550 --> 00:41:52,290 เรามีค่า 741 00:41:52,290 --> 00:41:56,650 เรามีใหม่อีก สายสำหรับการอ่าน 742 00:41:56,650 --> 00:42:00,540 และเรามาดูสิ่งที่เกิดขึ้น เมื่อเราทำในตอนนี้ 743 00:42:00,540 --> 00:42:04,950 744 00:42:04,950 --> 00:42:06,720 ผมไม่ทราบว่าวิธีการเดิมคือเจสัน 745 00:42:06,720 --> 00:42:09,180 เจสัน 15 746 00:42:09,180 --> 00:42:11,650 ดังนั้นเราจึงมีชื่อเจสันอายุ 15 ปี 747 00:42:11,650 --> 00:42:15,830 ดังนั้นเราจึงมีความสามารถในการเข้าถึงที่สำคัญ และคู่ค่าของพจนานุกรมนี้ 748 00:42:15,830 --> 00:42:18,590 เพียงแค่บอกว่าเป็นจุดสำคัญเพื่อให้มีค่า 749 00:42:18,590 --> 00:42:23,350 และที่เป็นประโยค foreach บิตน้ำตาลที่ช่วยให้ 750 00:42:23,350 --> 00:42:25,960 คุณสามารถเข้าถึงสิ่งที่อยู่ในพจนานุกรม 751 00:42:25,960 --> 00:42:31,190 >> ดังนั้นหวังว่านี้เน้นการจัดเรียงของ อำนาจของห่วง foreach 752 00:42:31,190 --> 00:42:35,690 คุณสามารถโยนสวยมาก อะไรที่ดูเหมือนว่า iterable, 753 00:42:35,690 --> 00:42:38,922 เช่นเดียวกับสิ่งที่มีหลาย องค์ประกอบเช่นอาร์เรย์ 754 00:42:38,922 --> 00:42:41,880 เช่นผู้ที่มี dictionary-- สอง สิ่งหลักที่คุณจะได้ร่วมงานกับ 755 00:42:41,880 --> 00:42:45,630 ทั้งในชีวิตและใน pset 7 756 00:42:45,630 --> 00:42:49,350 เพื่อให้คุณสามารถโยนสิ่งที่ ที่มันและมันจะคิดออก 757 00:42:49,350 --> 00:42:51,030 สิ่งที่คุณต้องการจะทำอย่างไรกับมัน 758 00:42:51,030 --> 00:42:54,250 มันจะบอกว่าตกลงฉันจะได้รับ สิ่งเหล่านี้จากข้อมูลที่ 759 00:42:54,250 --> 00:42:55,680 ถูกส่งผ่านไปฉัน 760 00:42:55,680 --> 00:43:02,470 และนั่นคือสิ่งที่คุณ จะต้องใช้จำนวนมากใน pset 7 761 00:43:02,470 --> 00:43:08,550 >> ฉันจะเลื่อนอย่างรวดเร็ว ลงเพียงเพื่อดูที่ฉันที่ 762 00:43:08,550 --> 00:43:11,410 763 00:43:11,410 --> 00:43:13,070 ทำคนมีคำถามที่จุดนี้? 764 00:43:13,070 --> 00:43:13,778 คำถามที่ทั้งหมดหรือไม่ 765 00:43:13,778 --> 00:43:14,400 ใช่? 766 00:43:14,400 --> 00:43:18,320 >> ผู้ชม: ดังนั้นด้วยความสำคัญและความคุ้มค่า คุณสามารถตั้งชื่อสิ่งอื่นใด 767 00:43:18,320 --> 00:43:20,507 และมันจะยังคงทำงานอย่างไร 768 00:43:20,507 --> 00:43:21,090 SPEAKER: โอ๊ะ 769 00:43:21,090 --> 00:43:22,820 ว้าวฉันทั้งหมดที่ถูกลบทั้งบรรทัด 770 00:43:22,820 --> 00:43:23,380 การทำงานที่ดี. 771 00:43:23,380 --> 00:43:26,502 ดังนั้นเป็น 772 00:43:26,502 --> 00:43:30,109 ที่สำคัญและความคุ้มค่าเป็นเพียงการประชุม 773 00:43:30,109 --> 00:43:30,650 มันเป็นประโยชน์ 774 00:43:30,650 --> 00:43:34,010 คุณจะได้รับการออกแบบที่บาง จุดที่อาจจะบางจุดสไตล์ 775 00:43:34,010 --> 00:43:36,970 สำหรับการทำเช่นนั้นเพราะมัน จริงๆบ่งบอกถึงความตั้งใจ 776 00:43:36,970 --> 00:43:39,650 แต่เราพูดและ Yarp 777 00:43:39,650 --> 00:43:42,476 >> ผู้ชม: คุณจะได้ไม่ต้อง เปลี่ยนแปลงอะไรในไฟล์ HTML 778 00:43:42,476 --> 00:43:43,607 เพื่อที่จะสะท้อนให้เห็นว่า? 779 00:43:43,607 --> 00:43:44,440 SPEAKER: ไม่ได้ทั้งหมด 780 00:43:44,440 --> 00:43:47,260 ผู้ชม: และมันก็รู้ดีว่า เพราะเท่ากับ than-- มากขึ้น 781 00:43:47,260 --> 00:43:47,801 SPEAKER: ใช่ 782 00:43:47,801 --> 00:43:49,489 ผู้ชม: ตัวบ่งชี้ที่ that's-- --that 783 00:43:49,489 --> 00:43:50,030 SPEAKER: ใช่ 784 00:43:50,030 --> 00:43:52,260 นั่นคือไวยากรณ์ foreach แต่ใช่ 785 00:43:52,260 --> 00:43:53,720 >> ผู้ชม: ไม่มีประเภท 786 00:43:53,720 --> 00:43:57,230 ดังนั้นสิ่งที่หากคุณต้องการ อายุเป็นเพียงตัวเลขหรือไม่? 787 00:43:57,230 --> 00:43:59,510 มีวิธีที่จะทำหรือไม่? 788 00:43:59,510 --> 00:44:04,550 >> ลำโพง: มีวิธีการตรวจสอบว่าเป็น สอดคล้องกับตัวแปรบางประเภท 789 00:44:04,550 --> 00:44:08,482 ดังนั้น PHP ถามเล็ก ๆ น้อย ๆ จาก คุณเพราะมีหลายประเภทใน 790 00:44:08,482 --> 00:44:09,440 วิธีการบางอย่างจะถามน้อย 791 00:44:09,440 --> 00:44:11,070 ในบางวิธีก็ขอให้มากขึ้น 792 00:44:11,070 --> 00:44:13,320 เพราะถ้าคุณจะมีเพียง สิ่งที่อยู่ในตัวแปร 793 00:44:13,320 --> 00:44:14,960 คุณมีความคิดว่าสิ่งที่ประเภทไม่มีมันเป็น 794 00:44:14,960 --> 00:44:19,310 แต่ถ้าคุณเป็นสมาร์ทเกี่ยวกับตัวแปร ที่คุณกำหนดชนิดและให้แน่ใจว่า 795 00:44:19,310 --> 00:44:22,750 ที่ทำหน้าที่เพียง return-- คุณ ต้องการฟังก์ชั่นการกลับมาเท่านั้น 796 00:44:22,750 --> 00:44:26,210 ประเภทหนึ่งของค่าดังนั้น ที่คุณสามารถโดยทั่วไป 797 00:44:26,210 --> 00:44:31,090 คาดหวังว่าตัวแปรที่คุณได้รับกลับมา จากฟังก์ชั่นจะเป็นประเภท 798 00:44:31,090 --> 00:44:32,780 ที่คุณคิดว่ามันจะเป็นพื้น 799 00:44:32,780 --> 00:44:36,550 >> แต่มีวิธีการบางอย่าง โดยที่คุณสามารถตรวจสอบ 800 00:44:36,550 --> 00:44:39,801 ผมจำไม่ได้พวกเขา ปิดด้านบนของหัวของฉัน 801 00:44:39,801 --> 00:44:43,300 ผมกำลังรอให้มันเปลี่ยนเป็นสีฟ้า 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 มีวิธีการที่มี ที่สร้างขึ้นใน PHP ที่สามารถ 805 00:44:52,000 --> 00:44:54,440 ตรวจสอบประเภทของตัวแปรสำหรับคุณ 806 00:44:54,440 --> 00:44:58,250 แต่ถ้าคุณกำหนดตัวแปร อย่างชาญฉลาดที่คุณไม่ควร 807 00:44:58,250 --> 00:45:01,330 ต้องทำมากเกินไปใน pset 7 808 00:45:01,330 --> 00:45:02,780 แต่วิธีการเหล่านั้นมีอยู่จริง 809 00:45:02,780 --> 00:45:06,704 และนั่นคือสิ่งที่ คือในภาษาของตัวเอง 810 00:45:06,704 --> 00:45:08,370 และผมก็จำไม่ได้ว่าไวยากรณ์ได้อย่างแม่นยำ 811 00:45:08,370 --> 00:45:09,930 เรายังสามารถมองมันได้ 812 00:45:09,930 --> 00:45:11,974 แต่เวลาเป็นของสำคัญ 813 00:45:11,974 --> 00:45:13,890 มีไม่คนอื่น มีคำถามใด ๆ เพิ่มเติมหรือไม่ 814 00:45:13,890 --> 00:45:14,660 ใช่. 815 00:45:14,660 --> 00:45:15,951 >> ผู้ชม: ฉันมีเพียงหนึ่ง 816 00:45:15,951 --> 00:45:19,050 ดังนั้นที่คุณกล่าวถึงวิธีการ GET แต่ คุณไม่ได้พูดถึงวิธีการ POST 817 00:45:19,050 --> 00:45:20,500 พวกเราจะกลับมาที่? 818 00:45:20,500 --> 00:45:21,540 >> SPEAKER: ใช่เราจะ จะกลับมาที่ 819 00:45:21,540 --> 00:45:24,840 นั่นคือสิ่งที่ผมกำลังมองหา ที่โทรศัพท์ของฉันซึ่งตอนนี้หลับ 820 00:45:24,840 --> 00:45:26,960 แต่ฉันจะพบว่ามัน 821 00:45:26,960 --> 00:45:30,680 เพียงแค่ทำให้แน่ใจว่าเราตี ทั้งหมดของบันทึก PHP 822 00:45:30,680 --> 00:45:35,640 อ๋อมีรุ่นที่ไม่มีการแก้จุดบกพร่อง 823 00:45:35,640 --> 00:45:41,940 ใช่เรามีสิ่งอื่น ๆ อีกไม่กี่ที่ เราต้องการที่จะทำตอนนี้ที่จุดนี้ 824 00:45:41,940 --> 00:45:45,980 >> ดังนั้นการพูดคุยเกี่ยวกับการโพสต์ ที่คุณกล่าวถึง 825 00:45:45,980 --> 00:45:49,630 ที่แตกต่าง ระหว่าง GET และ POST คือ 826 00:45:49,630 --> 00:45:53,150 ที่จำได้ว่าเมื่อเรามอง ที่ URL นี้และเราเห็นโอ้ 827 00:45:53,150 --> 00:45:58,270 ชื่อเท่ากับและอายุเท่ากับ Yarp มีสิทธิใน URL มีสำหรับเรา 828 00:45:58,270 --> 00:46:03,300 โพสต์เป็นเพียงเล็กน้อยที่ลับมากขึ้น ด้วยการผ่านของข้อมูล 829 00:46:03,300 --> 00:46:08,090 >> ดังนั้นหากคุณไม่ต้องการที่ผู้ใช้ ที่จะรู้ว่าตัวอย่างเช่นคุณ 830 00:46:08,090 --> 00:46:11,160 ไม่อยากให้ชื่อผู้ใช้ และรหัสผ่านของบุคคลที่ 831 00:46:11,160 --> 00:46:15,080 ล็อกอินในปัจจุบันที่จะแสดงใน URL ซึ่งเป็นสิ่งที่เหมาะสม 832 00:46:15,080 --> 00:46:17,770 ที่จะไม่ต้องการใน URL, เพราะใครบางคนสามารถดูได้ 833 00:46:17,770 --> 00:46:21,520 ถ้าพวกเขาเชื่อมโยงคนที่หน้าคุณ ไม่ต้องการของ URL ฉาบที่นั่น 834 00:46:21,520 --> 00:46:27,850 เพราะที่จะช่วยให้คนที่จะเข้าสู่ระบบ เพียงกับการวางของ URL แทน 835 00:46:27,850 --> 00:46:29,670 ของจริงการกรอกแบบฟอร์ม 836 00:46:29,670 --> 00:46:31,710 โพสต์เป็นนิด ๆ หน่อย ๆ ความลับมากขึ้น 837 00:46:31,710 --> 00:46:34,150 >> และสิ่งเดียวที่ เราจะมีการเปลี่ยนแปลง 838 00:46:34,150 --> 00:46:38,550 วิธีการนี​​้จะมีการเปลี่ยนแปลง จากการได้รับการโพสต์ 839 00:46:38,550 --> 00:46:42,367 และจากนั้นภายใน HTTP แทน ในการเข้าถึงอาร์เรย์ _GET ที่ 840 00:46:42,367 --> 00:46:43,950 เรากำลังจะเข้าถึงอาร์เรย์ _POST 841 00:46:43,950 --> 00:46:48,600 >> และเราจะสังเกตเห็นว่าถ้า เราเปิดกลับขึ้นมาอีกครั้ง 842 00:46:48,600 --> 00:46:51,910 เจสันลดลงอย่างช้า ๆ ในยุค 843 00:46:51,910 --> 00:46:53,230 ชื่อเจสันอายุ 14 844 00:46:53,230 --> 00:46:54,280 สิ่งเดียวกันปรากฏขึ้น 845 00:46:54,280 --> 00:46:57,190 แต่เราไปที่ URL และ ตัวแปรเหล่านี้จะไม่ได้มี 846 00:46:57,190 --> 00:47:00,540 >> และวิธีการที่โพสต์ passes-- เพื่อให้จำ 847 00:47:00,540 --> 00:47:02,750 วิธีการดูที่มาของหน้า 848 00:47:02,750 --> 00:47:04,570 เราไปกับเครือข่าย 849 00:47:04,570 --> 00:47:06,920 เราฟื้นฟู 850 00:47:06,920 --> 00:47:10,690 และนี่คืออีกสิ่งหนึ่งที่ โพสต์จะให้คำเตือนเกี่ยวกับ 851 00:47:10,690 --> 00:47:15,050 คุณอาจจะได้เห็นกล่องข้อความ กล่องเช่นนี้ในเบราว์เซอร์ของคุณ 852 00:47:15,050 --> 00:47:18,170 คุณแน่ใจนะว่าคุณต้องการ ที่จะส่งแบบฟอร์มอีกครั้งหรือไม่ 853 00:47:18,170 --> 00:47:21,170 โพสต์เป็นสิ่งที่ส่งแบบฟอร์มเหล่านี้ 854 00:47:21,170 --> 00:47:24,680 >> เพราะโดยทั่วไปถ้าคุณส่งของคุณ ข้อมูลบัตรเครดิตกับคน 855 00:47:24,680 --> 00:47:26,350 ที่ไม่ได้ไปแสดงใน URL 856 00:47:26,350 --> 00:47:28,180 นั่นจะเป็นคำขอ POST 857 00:47:28,180 --> 00:47:32,905 ดังนั้นเมื่อคุณรีเฟรชหน้า, มันการส่งคำขอของโพสต์ที่ 858 00:47:32,905 --> 00:47:35,530 ดังนั้นตอนนี้เราต้องการที่จะส่ง รูปแบบอีกครั้งเพราะมันจะไม่ 859 00:47:35,530 --> 00:47:37,340 เพื่อสร้างการซื้อซ้ำ ๆ 860 00:47:37,340 --> 00:47:41,160 >> และเราจะแจ้งให้ทราบว่าลงที่นี่ วิธีการที่เราใช้คือการโพสต์ 861 00:47:41,160 --> 00:47:43,065 และมันก็ไม่แน่นอนโอนไบต์ 862 00:47:43,065 --> 00:47:45,460 มันโอน 401 ของพวกเขา 863 00:47:45,460 --> 00:47:47,190 โปรแกรมเล็ก ๆ สวย 864 00:47:47,190 --> 00:47:51,600 แต่มีไม่มีที่ไหนเลยที่เราจะเห็น ค่าที่ถูกส่งผ่าน 865 00:47:51,600 --> 00:47:59,540 หน้าเว็บตัวเองสามารถมองเห็น แต่เราเป็นผู้ใช้จะไม่สามารถที่จะเห็น 866 00:47:59,540 --> 00:48:01,650 ถ้าคุณแฮ็กเกอร์ 867 00:48:01,650 --> 00:48:05,340 หากคุณเป็นแฮ็กเกอร์ที่ดีที่คุณสามารถมอง 868 00:48:05,340 --> 00:48:09,360 >> ถ้าคุณรู้พื้นฐาน รูปแบบของ HTM​​L ให้ 869 00:48:09,360 --> 00:48:11,790 ค่าที่จะทำให้ ตัวเองเป็นที่รู้จักกันในหน้า 870 00:48:11,790 --> 00:48:13,160 คุณจะสามารถที่จะเห็น 871 00:48:13,160 --> 00:48:16,720 ค่าที่จะมีพวกเขากำลัง เพียงเล็ก ๆ น้อย ๆ ที่เห็นได้ชัดน้อยสำหรับคุณ 872 00:48:16,720 --> 00:48:19,522 ในการเข้าถึงโดยทั่วไป 873 00:48:19,522 --> 00:48:23,620 >> เรามีการเพิ่มเติมใด ๆ คำถามเกี่ยวกับ GET, POST 874 00:48:23,620 --> 00:48:26,800 before-- สิ่งที่เรากำลังจะทำต่อไป เป็นจริงดูที่บางส่วนของรหัส 875 00:48:26,800 --> 00:48:30,837 ที่คุณให้ใน pset 7 พูดคุยเกี่ยวกับ วิธีการที่จะใช้บางส่วนของแนวความคิดเหล่านี้ 876 00:48:30,837 --> 00:48:32,670 และพูดคุยเกี่ยวกับ สิ่งที่คุณจะไป 877 00:48:32,670 --> 00:48:35,090 ต้องทำนิ​​ด ๆ หน่อย ๆ ใน pset 7 878 00:48:35,090 --> 00:48:36,760 คำถามใด ๆ เพิ่มเติมก่อนที่? 879 00:48:36,760 --> 00:48:38,047 คำถามอื่น ๆ ที่พวกคุณมี? 880 00:48:38,047 --> 00:48:41,250 881 00:48:41,250 --> 00:48:41,840 ที่ดี 882 00:48:41,840 --> 00:48:45,370 >> สิทธิทั้งหมดให้ดู นิด ๆ หน่อย ๆ ที่ pset 7 883 00:48:45,370 --> 00:48:49,530 ข้อสงสัยสิ่งที่คุณไม่มี ทุกคนตื่นเต้นมากที่สุดเกี่ยวกับ 884 00:48:49,530 --> 00:48:52,126 885 00:48:52,126 --> 00:48:54,750 ผมหมายถึงนี้คือสิ่งที่ เดวิดผ่านไปนิด ๆ หน่อย ๆ 886 00:48:54,750 --> 00:49:00,890 แต่เราจะมีสามไดเรกทอรีที่ ด้านบนเช่นเดียวกับแฟ้มการกำหนดค่า 887 00:49:00,890 --> 00:49:04,650 นั่นคือสำหรับฐานข้อมูลซึ่งเราจะ พูดคุยเกี่ยวกับในประมาณห้านาที 888 00:49:04,650 --> 00:49:07,220 รวมถึงการที่คุณไม่เคยต้องการ ที่จะมองในไดเรกทอรีนี้ 889 00:49:07,220 --> 00:49:12,480 ถ้าคุณไม่ต้องการ แต่มันก็เป็นเรื่องดีที่ รู้ว่ามีทุกประเภทของผู้ช่วยเหลือ 890 00:49:12,480 --> 00:49:14,210 ผู้ช่วยเป็นเหมือนฟังก์ชั่นที่เป็นประโยชน์ 891 00:49:14,210 --> 00:49:18,120 และจากนั้นเราจะมีการตั้งค่า, ซึ่งจะกำหนดสิ่งบางอย่างขึ้น 892 00:49:18,120 --> 00:49:24,590 >> มีฟังก์ชั่นบางอย่างที่มีอยู่ CS50 เขียนที่อยู่ในการตั้งค่าและผู้ช่วย 893 00:49:24,590 --> 00:49:27,250 และบางส่วนของ PHP ที่ แล้วออกมาจากในไฟล์ 894 00:49:27,250 --> 00:49:30,880 จะทำมากของการจัดเรียงมากขึ้น ของการทำงานที่ขาป้านสำหรับคุณ 895 00:49:30,880 --> 00:49:35,250 เช่นถ้าเราเข้าไปในที่สาธารณะ login.php ซึ่งเป็นสิ่งที่ 896 00:49:35,250 --> 00:49:38,350 แสดงที่เหมาะสมเมื่อคุณเข้าไปใน pset 7 897 00:49:38,350 --> 00:49:40,580 เราจะเห็นว่ามี ต้องใช้คำสั่งนี้ 898 00:49:40,580 --> 00:49:43,420 และประเภทเช่นที่ คมชัดรวมถึง hashtag 899 00:49:43,420 --> 00:49:46,850 รวมถึงถ้าคุณของคนรุ่นใหม่ 900 00:49:46,850 --> 00:49:49,740 แต่นี้โดยทั่วไป บอกว่าผมจำเป็นต้องเข้าถึง 901 00:49:49,740 --> 00:49:52,260 ฟังก์ชั่นทั้งหมดใน config.php 902 00:49:52,260 --> 00:49:55,290 และคุณอาจจำเป็นต้องมี สำหรับทุกประเภทของสิ่งอื่น ๆ 903 00:49:55,290 --> 00:49:59,670 >> การตั้งค่าจริงต้องช่วยเหลือ 904 00:49:59,670 --> 00:50:02,490 ดังนั้นเมื่อคุณต้องการ การตั้งค่า, คุณยัง 905 00:50:02,490 --> 00:50:05,660 รวมทั้งต้องมีผู้ช่วยเหลือหรือได้เป็นอย่างดี 906 00:50:05,660 --> 00:50:09,590 เพื่อที่จะช่วยให้คุณเข้าถึงทุก ฟังก์ชั่นเย็นที่เรากำลังจะใช้ 907 00:50:09,590 --> 00:50:10,420 สิ่งที่ชอบทำให้ 908 00:50:10,420 --> 00:50:13,490 ฉันจริงที่เกิดขึ้นเพื่อความสะดวก ลงนิด ๆ หน่อย ๆ 909 00:50:13,490 --> 00:50:16,280 ดังนั้นการทำงานแล้วเรา จะเดินผ่าน 910 00:50:16,280 --> 00:50:22,380 เพียงก่อนที่เราจะย้ายไปยัง SQL เล็ก ๆ น้อย ๆ บิตเป็นฟังก์ชั่น login.php เพียง 911 00:50:22,380 --> 00:50:26,586 เพราะใช้บางส่วนของหัวข้อ ที่เราก็พูดคุยเกี่ยวกับใน PHP 912 00:50:26,586 --> 00:50:30,840 >> คุณจะเห็นสิ่งแรกคือถ้า $ _SERVER 913 00:50:30,840 --> 00:50:34,500 นี้เป็นอีกหนึ่งตัวแปรทั่วโลกว่า คุณกำลังจะได้รับการติดต่อกับ 914 00:50:34,500 --> 00:50:38,460 มันก็เหมือนกับการ _GET และ _POST แต่สิ่งที่ เซิร์ฟเวอร์จะมีนี้สามารถช่วยให้คุณ 915 00:50:38,460 --> 00:50:42,730 ทราบว่าวิธีการร้องขอ เป็น GET หรือโพสต์ 916 00:50:42,730 --> 00:50:47,250 เช่นเดียวกับก่อนหน้านี้สิ่งที่เราทำ เป็นเพียงในรหัสของเราที่เราเขียน 917 00:50:47,250 --> 00:50:51,880 เราเป็นเพียงแค่การเปลี่ยนให้เป็นและได้รับ โพสต์ขึ้นอยู่กับสิ่ง HTM​​L ได้ 918 00:50:51,880 --> 00:50:55,120 แต่มีหน้าเว็บที่สามารถ เข้าถึงได้ด้วยทั้งสองประเภทของการร้องขอ 919 00:50:55,120 --> 00:50:57,410 และคุณอาจต้องการที่จะทำ สิ่งที่แตกต่างกันขึ้น 920 00:50:57,410 --> 00:50:59,740 กับชนิดของการร้องขอ เข้าสู่ระบบเช่นเดียวกับไม่ 921 00:50:59,740 --> 00:51:04,400 >> เพื่อให้คุณสามารถตรวจสอบขอให้ วิธีการผ่านเข้าถึงคีย์ 922 00:51:04,400 --> 00:51:08,630 ผ่านการใช้ที่สำคัญและได้รับ คุณค่าของสิ่งที่อยู่ในพจนานุกรม 923 00:51:08,630 --> 00:51:10,260 _SERVER 924 00:51:10,260 --> 00:51:13,800 เพื่อให้ทั่วโลกอีก ตัวแปรเช่น _GET และ _POST 925 00:51:13,800 --> 00:51:16,990 >> ถ้ามัน GET, เราต้องการที่จะ ทำให้รูปแบบการเข้าสู่ระบบ 926 00:51:16,990 --> 00:51:21,920 Render เป็นฟังก์ชั่นที่พื้น เพียงแค่ทำให้ค่า HTML ที่เหมาะสม 927 00:51:21,920 --> 00:51:24,500 และผ่านมันพารามิเตอร์บางอย่าง 928 00:51:24,500 --> 00:51:28,740 ชื่อนี้เป็นพารามิเตอร์ที่เป็น ที่ใช้ในการแสดงผิดปกติพอ 929 00:51:28,740 --> 00:51:32,670 ชื่อของหน้าใน คำถามสิ่งขึ้นที่นี่ 930 00:51:32,670 --> 00:51:34,850 พูดหรือทักทายในตัวอย่างก่อนหน้านี้ของเรา 931 00:51:34,850 --> 00:51:36,100 ตอนนี้เรามีความแตกต่างกันเป็นสิ่งที่ 932 00:51:36,100 --> 00:51:38,570 อื่น ๆ ถ้ามัน POST เรา ทำบางสิ่งอื่น ๆ 933 00:51:38,570 --> 00:51:40,790 เรากำลังใช้วิธีการที่ว่างเปล่า 934 00:51:40,790 --> 00:51:42,750 มันไม่ได้อยู่ที่มันว่างเปล่า 935 00:51:42,750 --> 00:51:45,440 และเราเห็นก่อน, PHP มีจำนวนเงินที่ยุติธรรมของในตัว 936 00:51:45,440 --> 00:51:52,370 ในวิธีการที่เดวิด will-- ถ้ามี เป็นวิธีการที่เป็นประโยชน์กับคุณ 937 00:51:52,370 --> 00:51:55,560 พวกเขาจะได้รับการแจ้งเตือนให้กับคุณ ในการเดินผ่านที่ดาวิด 938 00:51:55,560 --> 00:51:59,770 จะช่วยให้ภาพรวมที่จุดเริ่มต้น และยังเป็นประโยชน์ Zamyla บิต​​ของ 939 00:51:59,770 --> 00:52:01,040 เธอกลับมาทุกคน 940 00:52:01,040 --> 00:52:03,100 เราทุกคนสามารถชื่นชมยินดี 941 00:52:03,100 --> 00:52:06,530 ต้องขออภัยในความเป็นฟังก์ชั่นชื่อ aptly ที่เพียงแค่พื้นพิมพ์ออก 942 00:52:06,530 --> 00:52:10,130 บางข้อความผิดพลาด เพราะ CS50 เป็นสุภาพมาก 943 00:52:10,130 --> 00:52:14,770 >> และตอนนี้นี้เป็น หากินบิตเพราะ 944 00:52:14,770 --> 00:52:16,697 เป็นที่ที่เรากำลังสอบถามฐานข้อมูล 945 00:52:16,697 --> 00:52:18,280 ตอนนี้เรายังไม่ได้พูดคุยเกี่ยวกับฐานข้อมูล 946 00:52:18,280 --> 00:52:22,220 และเรากำลังจะไปในครั้งต่อไป ห้านาทีหรือดังนั้นสูงสุด 947 00:52:22,220 --> 00:52:24,980 แต่นี้เป็นฟังก์ชั่น CS50 ที่ได้เขียน 948 00:52:24,980 --> 00:52:38,050 ที่จะได้รับตารางโดยทั่วไปจากฐานข้อมูล ที่เรากำลังทำงานกับใน pset 7 949 00:52:38,050 --> 00:52:40,860 ฉันไม่ดีจริงๆกับฉัน การจัดทำดัชนีในวันนี้เป็นศูนย์ 950 00:52:40,860 --> 00:52:42,060 แต่ใช่มันคือ 7 951 00:52:42,060 --> 00:52:46,340 >> ดังนั้นการค้นหาก็จะกลับ อาร์เรย์โดยทั่วไปเป็นบิตที่สำคัญ 952 00:52:46,340 --> 00:52:54,130 และเพราะสิ่งเหล่านี้ไม่ได้มี พิมพ์เพื่อให้แถวเป็นอาร์เรย์ของอาร์เรย์ 953 00:52:54,130 --> 00:52:59,480 เพราะเมื่อเรากำลังคิดเกี่ยวกับ ตารางสิ่งที่เรากำลังจะทำ 954 00:52:59,480 --> 00:53:04,830 เป็นตามที่คุณได้เรียนรู้ใน psets เช่นเดียวกับเกม 15 ต่อไป 955 00:53:04,830 --> 00:53:06,990 ที่คุณต้องใช้ อาร์เรย์สองเราโดยทั่วไป 956 00:53:06,990 --> 00:53:15,210 มีอาร์เรย์ของอื่น ๆ อาร์เรย์ทำให้ตาราง 957 00:53:15,210 --> 00:53:18,150 และคุณได้มีแถวและคอลัมน์ 958 00:53:18,150 --> 00:53:24,450 และจากนั้นคุณสามารถเข้าถึงได้เช่น [0] [1] คุณจะได้รับ [0] [1] 959 00:53:24,450 --> 00:53:26,900 สิ่งพื้นฐานเช่นเดียวกับที่ 960 00:53:26,900 --> 00:53:29,380 >> ดังนั้นสิ่งที่เรากำลังทำ ที่นี่ในฟังก์ชั่นนี้ 961 00:53:29,380 --> 00:53:35,070 เรากำลังขอให้ฐานข้อมูล หากผู้ใช้ที่ 962 00:53:35,070 --> 00:53:40,200 พยายามที่จะเข้าสู่ระบบที่จะเป็น ที่ส่งผ่านวิธีการโพสต์ 963 00:53:40,200 --> 00:53:43,950 เราจะเห็นเราได้รับ ชื่อผู้ใช้จาก _POST 964 00:53:43,950 --> 00:53:46,900 พวกเขาจะได้ส่งผู้ใช้ หรือคุณจะส่งค่า 965 00:53:46,900 --> 00:53:50,750 ผ่านทางแบบฟอร์มการโพสต์ผ่านเพราะ มันเป็นชื่อผู้ใช้และรหัสผ่านสิ่ง 966 00:53:50,750 --> 00:53:54,830 เรากำลังตรวจสอบชื่อผู้ใช้ จะเห็นเป็นแบบนี้ในตารางหรือไม่ 967 00:53:54,830 --> 00:53:58,070 เพราะถ้าผู้ใช้จะเข้าสู่ระบบ ในนั้นชื่อผู้ใช้ของพวกเขา 968 00:53:58,070 --> 00:54:03,320 ควรเก็บไว้ในตารางของ ผู้ใช้ที่มีอยู่สำหรับไซต์นี้ 969 00:54:03,320 --> 00:54:09,360 ดังนั้นโดยทั่วไปถ้า ผู้ใช้ที่อยู่ในฐานข้อมูล 970 00:54:09,360 --> 00:54:16,400 แบบสอบถามจะไปกลับ ที่แถวซึ่งเป็นอาร์เรย์ 971 00:54:16,400 --> 00:54:24,560 >> แต่ส่วนที่ยุ่งยากคือถ้าแม้ว่า แถวสองเป็นเพียงหนึ่งแถว 972 00:54:24,560 --> 00:54:31,900 ถึงแม้ว่ามันจะเป็นหนึ่งแถว array-- เหมือนที่คุณได้มี basically-- 973 00:54:31,900 --> 00:54:36,900 ถ้าคุณได้มีขนาดหนึ่งอาร์เรย์ ที่ถืออาร์เรย์อื่น 974 00:54:36,900 --> 00:54:38,940 คุณจริงๆจัดการกับหนึ่งคอลัมน์ 975 00:54:38,940 --> 00:54:41,420 แต่มันก็ยังคงได้รับการรักษาที่ เช่นอาร์เรย์สอง 976 00:54:41,420 --> 00:54:44,560 >> และนี่คือที่บางครั้งมันก็จะได้รับ เรื่องยุ่งยากเพราะเรามีแถวที่นี่ 977 00:54:44,560 --> 00:54:46,440 ตัวแปรของเราเป็นแถว 978 00:54:46,440 --> 00:54:48,590 และจากนั้นเรากำลังสร้าง ตัวแปรใหม่ที่เรียกว่าแถว 979 00:54:48,590 --> 00:54:51,450 และการตั้งค่ามันเท่ากับ แถวแรกของแถว 980 00:54:51,450 --> 00:54:55,150 และคุณจะสังเกตเห็นความคิดเห็นที่ บอกว่ามันเป็นแถวแรกและที่เดียว 981 00:54:55,150 --> 00:54:57,080 >> ดังนั้นนี่คือหากิน ส่วนหนึ่งที่ฟังก์ชั่นในขณะนี้ 982 00:54:57,080 --> 00:54:59,660 สามารถกลับอาร์เรย์ได้อย่างง่ายดายมาก 983 00:54:59,660 --> 00:55:01,270 มีไม่ mallocs 984 00:55:01,270 --> 00:55:02,280 คุณจะไม่เห็น mallocs 985 00:55:02,280 --> 00:55:03,940 ดังนั้นคุณจะไม่เห็นความผิดพลาด seg 986 00:55:03,940 --> 00:55:08,380 แต่ฟังก์ชั่นจะยังคงผ่าน รอบอาร์เรย์และข้อมูลที่อยู่ในกลุ่ม 987 00:55:08,380 --> 00:55:12,250 และคุณจะต้องระมัดระวังในสิ่งที่ ว่าฟังก์ชั่นของคุณจะกลับ 988 00:55:12,250 --> 00:55:15,160 และแม้ว่าจะเป็นหนึ่ง คอลัมน์เช่นนี้สอบถาม 989 00:55:15,160 --> 00:55:17,520 จะยังคงที่จะกลับมาเป็นแถวคู่ 990 00:55:17,520 --> 00:55:21,390 ดังนั้นเพื่อให้การเข้าถึงที่ column-- หรือคุณ สามารถคิดทั้งหมดนี้เป็นฤๅษี 991 00:55:21,390 --> 00:55:22,870 เนื่องจากเรากำลังพูดถึงแถว 992 00:55:22,870 --> 00:55:26,810 แต่การที่จะเข้าถึงที่หนึ่งแถว คุณก็ไม่สามารถบอกว่าแถว 993 00:55:26,810 --> 00:55:31,540 แม้ว่ามันจะเป็นหนึ่งในแถวที่คุณจะต้อง ไม่ rowsrows [0] เพื่อเรียงลำดับของการกำจัดนี้ 994 00:55:31,540 --> 00:55:37,360 บิตนอกของอาร์เรย์และ จะมีเพียงหนึ่งแถวของคุณ 995 00:55:37,360 --> 00:55:38,342 >> ทำบางสิ่งอื่น ๆ 996 00:55:38,342 --> 00:55:40,050 มีฟังก์ชั่นเป็น เรียกว่า password_verify 997 00:55:40,050 --> 00:55:42,980 ที่ตรวจสอบความ รหัสผ่านที่ถูกโพสต์ 998 00:55:42,980 --> 00:55:48,500 และจากนั้นเราจะเห็นอีกทั่วโลก ตัวแปรที่นี่ _SESSION 999 00:55:48,500 --> 00:55:51,340 รหัสเซสชั่นโดยทั่วไป เป็นวิธีที่คุณติดตาม 1000 00:55:51,340 --> 00:55:53,990 ถ้าคนที่ถูกบันทึกไว้ในหรือไม่ 1001 00:55:53,990 --> 00:55:58,590 ดังนั้นตอนนี้มี login.php, เรากำลังเข้าสู่ระบบของผู้ใช้ใน 1002 00:55:58,590 --> 00:56:01,920 ดังนั้นสิ่งที่เราต้องการจะทำคือเราต้องการที่จะ พูดเซสชัน id เท่ากับแถว 1003 00:56:01,920 --> 00:56:05,890 รหัสซึ่งจะทำให้ความรู้สึกเพราะ แต่ละแถวจะมีรหัสที่แตกต่างกัน 1004 00:56:05,890 --> 00:56:07,239 จำนวนเป็นส่วนหนึ่งของตาราง 1005 00:56:07,239 --> 00:56:09,280 เราจะได้รับลงใน SQL ใน สองดังนั้นถ้าใด ๆ นี้ 1006 00:56:09,280 --> 00:56:13,500 ดูเหมือนว่านิด ๆ หน่อย ๆ เช่น blah, แล้วสิ่งที่จะได้รับการล้างขึ้น 1007 00:56:13,500 --> 00:56:18,450 แต่เรากำลังจะตั้งค่ารหัสเท่ากับ สิ่งที่เหมาะสมเข้าสู่ระบบของผู้ใช้ใน 1008 00:56:18,450 --> 00:56:20,530 ต้องขออภัยถ้ามีอะไรผิดพลาด 1009 00:56:20,530 --> 00:56:27,600 และนั่นคือจุดประสงค์ในการเข้าสู่ระบบ ชีวิตเป็นศาสตราจารย์ลันจะบอกว่า 1010 00:56:27,600 --> 00:56:29,130 >> เพื่อให้เป็น login.php 1011 00:56:29,130 --> 00:56:33,750 และจำนวนมากของโค้ด PHP ที่คุณเขียน ใน pset 7 พวกเขาจะนิด ๆ หน่อย ๆ 1012 00:56:33,750 --> 00:56:36,470 อย่าลืมให้ chmod ไป สิทธิ์ที่เหมาะสม 1013 00:56:36,470 --> 00:56:40,180 จะมีเล็กน้อยเกี่ยวกับ ว่าในจุดเริ่มต้นของสเปคที่ 1014 00:56:40,180 --> 00:56:46,382 >> แต่ PHP ที่คุณเป็น เขียนเป็นไปได้ 1015 00:56:46,382 --> 00:56:47,840 ทำสิ่งที่คล้ายกันนี้ 1016 00:56:47,840 --> 00:56:49,715 คุณกำลังจะได้รับ การเข้าถึงบางสิ่งบางอย่างที่ 1017 00:56:49,715 --> 00:56:52,760 มีให้กับคุณใน ตัวแปรระดับโลกของ PHP ที่ 1018 00:56:52,760 --> 00:56:56,105 จะจัดการกับในปัจจุบัน เข้าสู่ระบบของผู้ใช้ไม่ว่าจะมี 1019 00:56:56,105 --> 00:57:00,460 มีการร้องขอรับส่งไปนี้ หน้าสิ่งที่แตกต่างกันเช่น 1020 00:57:00,460 --> 00:57:05,790 และก็ยังจะเป็นที่อาจเกิดขึ้น iterating ผ่านแถวของสิ่งนี้ 1021 00:57:05,790 --> 00:57:09,010 >> ในฟังก์ชั่นที่แตกต่างกันแบบสอบถาม ไม่กลับอาร์เรย์คู่นี้ 1022 00:57:09,010 --> 00:57:11,450 และถ้ามีมากขึ้น มากกว่าหนึ่งแถวในนั้น 1023 00:57:11,450 --> 00:57:15,080 ถ้ามี are-- ใช่ถ้ามี มากกว่าหนึ่งแถวในนั้น 1024 00:57:15,080 --> 00:57:16,870 แล้วมันจะเป็นตาราง 1025 00:57:16,870 --> 00:57:20,500 และคุณอาจต้องการที่จะย้ำ ผ่านแถวของอาร์เรย์โดยใช้ 1026 00:57:20,500 --> 00:57:22,860 ห่วง foreach ที่เราอธิบาย 1027 00:57:22,860 --> 00:57:30,270 >> ดังนั้นถ้าคุณทำ foreach ในคู่ อาร์เรย์สิ่งที่จะ word-- ที่นี่ 1028 00:57:30,270 --> 00:57:31,909 ที่จริงผมจะเขียนมัน 1029 00:57:31,909 --> 00:57:32,950 ฉันจะเขียนมันอย่างรวดเร็วที่นี่ 1030 00:57:32,950 --> 00:57:44,280 >> ถ้าเรามี foreach ของแถว เป็นแถว, สิ่งที่ประเภทของแถว? 1031 00:57:44,280 --> 00:57:45,390 ไม่มีใครรู้หรือไม่? 1032 00:57:45,390 --> 00:57:54,000 1033 00:57:54,000 --> 00:57:54,500 คุณมีมันได้หรือไม่ 1034 00:57:54,500 --> 00:57:57,110 ดังนั้นแถวเป็นแถวคู่ 1035 00:57:57,110 --> 00:58:02,810 ดังนั้นสิ่งที่ foreach จะสรุป ที่เราต้องการจากอาร์เรย์สอง 1036 00:58:02,810 --> 00:58:04,280 ถ้าเรากำลังทำซ้ำมากกว่านั้น? 1037 00:58:04,280 --> 00:58:07,170 1038 00:58:07,170 --> 00:58:10,770 โดยทั่วไปเราสามารถสรุปได้ว่า มันจะเป็นองค์ประกอบอย่างใดอย่างหนึ่ง 1039 00:58:10,770 --> 00:58:14,970 หรือแถวหรือคอลัมน์โดยทั่วไป 1040 00:58:14,970 --> 00:58:18,740 และเพื่อให้แถวและคอลัมน์เรา สามารถรักษาเป็นสิ่งเดียวกัน 1041 00:58:18,740 --> 00:58:23,880 >> โดยทั่วไปสิ่งที่ห่วง foreach เป็นไป ทำคือมันจะกลับแถว 1042 00:58:23,880 --> 00:58:28,500 แถวที่เป็นไปได้ของแถวชนิด ในขณะที่แถวเป็นแถวคู่ 1043 00:58:28,500 --> 00:58:32,290 ดังนั้นถ้าคุณให้ foreach อาร์เรย์ที่สองก็ 1044 00:58:32,290 --> 00:58:35,830 ไม่ได้ไปย้ำ ระดับมากกว่าหนึ่งลึก 1045 00:58:35,830 --> 00:58:44,464 ซึ่งโดยทั่วไปจะบอกว่าถ้ามี แปดเซลล์ใน table-- นี้ 1,2 1046 00:58:44,464 --> 00:58:48,110 3 4, 5, 6, 7, 8-- ห่วง foreach ไม่ 1047 00:58:48,110 --> 00:58:51,880 จะไปผ่านแต่ละเซลล์เหล่านี้ 1048 00:58:51,880 --> 00:58:56,390 สิ่งที่ห่วง foreach จะทำ มันก็จะผ่านไปแถวนี้ 1049 00:58:56,390 --> 00:58:57,870 ให้คุณทั้งแถวนี้ 1050 00:58:57,870 --> 00:58:59,410 แล้วมันจะผ่านไปแถวนั้น 1051 00:58:59,410 --> 00:59:01,850 >> ดังนั้นจึงเป็นเพียง iterates หนึ่งระดับลึก 1052 00:59:01,850 --> 00:59:05,310 ถ้าคุณเพิ่มที่ซ้อนกัน ห่วง foreach แล้วคุณ 1053 00:59:05,310 --> 00:59:16,280 สามารถรักษาแต่ละแถวกลับมาจาก แถวที่คุณทำแถว foreach เป็นองค์ประกอบ 1054 00:59:16,280 --> 00:59:17,640 สมมติว่า 1055 00:59:17,640 --> 00:59:22,750 และจากนั้นคุณสามารถสะท้อนองค์ประกอบ 1056 00:59:22,750 --> 00:59:24,930 เพื่อให้เป็นช่วงสั้น ๆ ทบทวนเล็ก ๆ น้อย ๆ เกี่ยวกับวิธีการ 1057 00:59:24,930 --> 00:59:30,220 คุณอาจจะใช้ foreach ลูปในบริบทของการค้นหา 1058 00:59:30,220 --> 00:59:32,840 >> มีคำถามใด ๆ เกี่ยวกับ PHP? 1059 00:59:32,840 --> 00:59:36,520 สิ่งใดที่ทุกคนก่อนที่เราจะ ย้ายไปพูดคุยเกี่ยวกับ SQL 1060 00:59:36,520 --> 00:59:37,820 และความสนุกสนานของฐานข้อมูลหรือไม่ 1061 00:59:37,820 --> 00:59:41,480 1062 00:59:41,480 --> 00:59:42,110 รู้สึกดี? 1063 00:59:42,110 --> 00:59:42,750 รู้สึกดี. 1064 00:59:42,750 --> 00:59:43,470 ทั้งหมดขวา 1065 00:59:43,470 --> 00:59:49,130 >> ขอย้ายกลับไปที่ PowerPoint ซึ่งคุณอาจพลาด 1066 00:59:49,130 --> 00:59:51,800 SQL, ยาย 1067 00:59:51,800 --> 00:59:57,900 คนที่อยู่ในส่วนของฉันมักจะ จะรู้ว่าหัวเรื่องย่อยของคำย่อ 1068 00:59:57,900 --> 01:00:01,220 มักจะเป็นเพียงแค่คำแรก ผมคิดว่าการแข่งขันว่า 1069 01:00:01,220 --> 01:00:02,690 algorithm-- ย่อที่ 1070 01:00:02,690 --> 01:00:04,090 มันไม่ได้เป็นอัลกอริทึม 1071 01:00:04,090 --> 01:00:08,050 >> ดังนั้น SQL เป็นฐานข้อมูล 1072 01:00:08,050 --> 01:00:11,060 มันเป็นภาษาที่ ทำงานร่วมกับฐานข้อมูล 1073 01:00:11,060 --> 01:00:14,440 และฐานข้อมูลทั้งหมดที่มีคือ ตารางอย่างน้อยในทาง 1074 01:00:14,440 --> 01:00:17,220 ที่แสดงให้เห็นถึง SQL พวกเขา 1075 01:00:17,220 --> 01:00:23,610 >> วิธีการที่จะคิดเกี่ยวกับฐานข้อมูลอีกประการหนึ่งคือ ฐานข้อมูลเป็นชุดของคีย์และค่า 1076 01:00:23,610 --> 01:00:24,110 เป็นพื้น 1077 01:00:24,110 --> 01:00:29,530 คุณสามารถคิดเกี่ยวกับฐานข้อมูลเป็น พจนานุกรมและยังเป็นตาราง 1078 01:00:29,530 --> 01:00:34,300 โดยทั่วไปเป็นวิธีที่จะเชื่อมโยง ข้อมูลที่แตกต่างกับข้อมูลอื่น ๆ 1079 01:00:34,300 --> 01:00:36,270 มักจะผ่านแถวและคอลัมน์ 1080 01:00:36,270 --> 01:00:38,470 และนั่นคือวิธีการที่ ที่ SQL ทำงานได้ดีที่สุด 1081 01:00:38,470 --> 01:00:40,880 >> ดังนั้นนี่คือตัวอย่างหนึ่งของตาราง 1082 01:00:40,880 --> 01:00:44,610 ฉันมีตัวอย่างบางส่วนของ คนที่อยู่ในส่วนของฉันซึ่ง 1083 01:00:44,610 --> 01:00:45,970 ผมไม่ได้มีเวลาที่จะเปลี่ยน 1084 01:00:45,970 --> 01:00:52,020 แต่เราได้มีสิ่งที่ต้องการประชาชน ชื่อมหาอำนาจและบ้านเกิด 1085 01:00:52,020 --> 01:00:54,100 ผมไม่ทราบว่าใครเป็น จากในส่วนของฉัน 1086 01:00:54,100 --> 01:00:56,266 ดังนั้นฉันก็จะถือว่า ทุกคนจากนิวยอร์ก 1087 01:00:56,266 --> 01:00:59,370 เมืองเพราะผมมีสถิติสูง ความน่าจะเป็นของการเป็นที่ถูกต้อง 1088 01:00:59,370 --> 01:01:04,200 >> SQL จะใช้โดยอัตโนมัติ ดูแลคอลัมน์ประจำตัวของคุณ 1089 01:01:04,200 --> 01:01:07,560 ถ้าคุณแทรกแถวใหม่ เป็นฐานข้อมูล SQL, 1090 01:01:07,560 --> 01:01:09,700 มันจะเพิ่มขึ้นว่า หมายเลขรหัสและเพียงแค่ 1091 01:01:09,700 --> 01:01:14,890 พื้นติดเหมือนห้าชื่อ มหาอำนาจบ้านเกิดของใคร 1092 01:01:14,890 --> 01:01:16,430 เข้าสู่ท้ายของตารางที่ 1093 01:01:16,430 --> 01:01:19,160 ID ดังนั้นคอลัมน์ที่คุณจะ ไม่ต้องกังวลเกี่ยวกับ 1094 01:01:19,160 --> 01:01:22,770 แต่เหมือนในกรณีที่ ของ login.php เมื่อเรา 1095 01:01:22,770 --> 01:01:26,610 ได้รับ ID เซสชั่น จากตารางและเพียงแค่ใช้รหัส 1096 01:01:26,610 --> 01:01:30,320 ID เป็นวิธีการที่ไม่ซ้ำกันระบุ องค์ประกอบของฐานข้อมูลหนึ่ง 1097 01:01:30,320 --> 01:01:34,980 >> ดังนั้นหากเรามีสอง Sams ทั้งสอง ซึ่งสอน CS50 และทั้งสองของผู้ที่ 1098 01:01:34,980 --> 01:01:39,370 มาจากมิลวอกีผู้ที่จะ ยังคงมีหมายเลขประจำที่แตกต่างกัน 1099 01:01:39,370 --> 01:01:43,420 และทำให้มีความแตกต่างกันใน บริบทของตาราง 1100 01:01:43,420 --> 01:01:48,700 ดังนั้นนี่คือสิ่งที่ SQL มีการซื้อขาย ด้วยการทำงานร่วมกับในปลายด้านหลัง 1101 01:01:48,700 --> 01:01:54,160 >> ต่อไปนี้เป็นคำสั่งที่สี่ ที่คุณจะต้องทำงานกับ SQL 1102 01:01:54,160 --> 01:01:56,390 และฉันโยนพวกเขาทั้งหมดขึ้นบนสไลด์ 1103 01:01:56,390 --> 01:01:59,530 แต่เรากำลังจะผ่านไป พวกเขาทั้งหมดเป็นรายบุคคล 1104 01:01:59,530 --> 01:02:03,300 >> คำสั่งแรกคือการปรับปรุง ซึ่งไม่สิ่งที่คุณอาจคาดหวัง 1105 01:02:03,300 --> 01:02:07,240 สมมติว่าคุณมีข้อมูลบางส่วนใน ตารางที่ออกจากวันที่ 1106 01:02:07,240 --> 01:02:09,470 เช่นถ้าคุณกำลังรักษา ติดตามชื่อคน 1107 01:02:09,470 --> 01:02:13,350 ทุกเพศทุกวัยและถ้ามีคนเป็น อายุที่เพิ่มขึ้นแล้ว 1108 01:02:13,350 --> 01:02:18,590 คุณจะต้องการที่จะไปในและ อัปเดตเพียงอายุของบุคคลนั้น 1109 01:02:18,590 --> 01:02:21,902 ยกตัวอย่างเช่นที่ทำงาน กับครั้งแรกของเรา table-- 1110 01:02:21,902 --> 01:02:24,610 ไม่ต้องกังวลเกี่ยวกับการเขียนทั้งหมดของ คำสั่งเหล่านี้ในเวลาเดียวกัน 1111 01:02:24,610 --> 01:02:27,640 แต่ถ้าคุณได้มีการอัปเดตลง ที่จะต้องดีพอสำหรับส่วนนี้, 1112 01:02:27,640 --> 01:02:29,790 เพราะเรากำลังจะไป กลับไปที่โต๊ะ 1113 01:02:29,790 --> 01:02:33,920 >> ดังนั้นหากเรากลับไปที่โต๊ะ ขอบอกว่าสิ่งที่เกิดขึ้น 1114 01:02:33,920 --> 01:02:38,480 ได้มีการเกิดแผ่นดินไหวหรือ เส้นที่แยกความผิดโดยตรง 1115 01:02:38,480 --> 01:02:39,920 ผ่านนิวยอร์กซิตี้ 1116 01:02:39,920 --> 01:02:45,130 และเราต้องการที่จะอัปเดตทุกคน ที่อาศัยอยู่ในนิวยอร์กซิตี้ 1117 01:02:45,130 --> 01:02:49,670 พวกเขาทั้งหมดต้องย้ายไปเพนซิล 1118 01:02:49,670 --> 01:02:51,130 นั่นไม่ใช่บ้านเกิด 1119 01:02:51,130 --> 01:02:53,180 พวกเขาทั้งหมดต้องย้ายไปนิวเฮเวน 1120 01:02:53,180 --> 01:02:54,030 เราจะไปที่นั่น. 1121 01:02:54,030 --> 01:02:57,630 เพื่อให้ทุกคนในนิวยอร์ก ย้ายไปนิวเฮเวน 1122 01:02:57,630 --> 01:03:01,300 >> และเพื่อให้เป็นสิ่งที่ แก้ไขแถวที่สามในตารางนี้ 1123 01:03:01,300 --> 01:03:04,716 แต่ใน SQL ที่คุณสามารถทำได้ ที่ในเวลาเพียงหนึ่งคำสั่ง 1124 01:03:04,716 --> 01:03:05,715 ดังนั้นเราจึงกลับไปปรับปรุง 1125 01:03:05,715 --> 01:03:09,670 ผมขออย่างรวดเร็วลบกระดานนี้อีกครั้ง 1126 01:03:09,670 --> 01:03:14,570 เมื่อเรากำลังพูดถึง การปรับปรุงมี 1127 01:03:14,570 --> 01:03:17,640 ชิ้นส่วนบางส่วนของไวยากรณ์ที่เป็นกุญแจสำคัญ 1128 01:03:17,640 --> 01:03:19,770 ดีทั้งหมดของไวยากรณ์เป็นกุญแจสำคัญ 1129 01:03:19,770 --> 01:03:22,210 แต่สิ่งที่อยู่ในสีเขียวเป็นตัวเลือก 1130 01:03:22,210 --> 01:03:25,680 สีขาวจะต้อง เช่นชื่อที่กำหนดไว้ล่วงหน้า 1131 01:03:25,680 --> 01:03:30,750 และสีฟ้าอ่อนเป็นสิ่งที่ ที่แตกต่างกันไปขึ้นอยู่กับโต๊ะ 1132 01:03:30,750 --> 01:03:34,640 เพื่อให้เป็นสิ่งที่เกิดขึ้นกับ โทนสีที่นี่ไปอยู่ที่นั่น 1133 01:03:34,640 --> 01:03:40,250 >> ดังนั้นถ้าเราต้องการที่จะปรับปรุงเพียงแถวเหล่านั้น ของคนที่อาศัยอยู่ในนิวยอร์ก 1134 01:03:40,250 --> 01:03:43,490 ดังนั้นสิ่งที่เราจะทำอย่างไรถ้าเรากล่าวว่าการปรับปรุง? 1135 01:03:43,490 --> 01:03:46,320 ตารางดังนั้นเป็นที่ที่เราใส่ ชื่อของตารางของเรา 1136 01:03:46,320 --> 01:03:49,170 ขอเพียงบอกชื่อ ของตารางของเราคือหนึ่งตาราง 1137 01:03:49,170 --> 01:03:52,515 ดังนั้นเราจึงต้องการที่จะปรับปรุงตารางหนึ่ง 1138 01:03:52,515 --> 01:03:57,470 และเราต้องการที่จะ set-- ทำในสิ่งที่เราต้องการที่จะตั้ง? 1139 01:03:57,470 --> 01:04:05,160 ดีที่เราอยากจะบอกว่าเพื่อให้ column-- PHP ถือว่าเป็นแถวระบุเอกลักษณ์ 1140 01:04:05,160 --> 01:04:07,930 และแล้วคอลัมน์ เขตข้อมูลที่แตกต่างกัน 1141 01:04:07,930 --> 01:04:09,940 ขององค์ประกอบเหล่านั้นของฐานข้อมูล 1142 01:04:09,940 --> 01:04:14,210 >> ดังนั้นองค์ประกอบแรกของฐานข้อมูล มีชื่อของแซมมหาอำนาจของ CS50 ที่ 1143 01:04:14,210 --> 01:04:16,210 และบ้านเกิดของมิลวอกี 1144 01:04:16,210 --> 01:04:20,710 ดังนั้นหากเรากล่าวว่าการตั้งค่าให้ดูที่ พารามิเตอร์อีกชุดที่ใช้เวลา 1145 01:04:20,710 --> 01:04:23,880 เรามีคอลัมน์เท่ากับค่า 1146 01:04:23,880 --> 01:04:27,290 ดังนั้นเราจึงต้องการที่จะพูดบางอย่าง column-- ซึ่งจำ 1147 01:04:27,290 --> 01:04:31,850 เป็น field-- เราต้องการที่จะเห็น สนามเท่ากับสิ่งใหม่ ๆ 1148 01:04:31,850 --> 01:04:42,340 >> ดังนั้นหากเราเพียงแค่กล่าวว่าปรับปรุง ตารางที่ 1 ชื่อชุดเอลเลียตเท่ากัน 1149 01:04:42,340 --> 01:04:46,310 ได้รับบางคนที่มาจาก ในส่วนใหม่เกี่ยวกับเรื่องนี้ 1150 01:04:46,310 --> 01:04:51,540 แต่ถ้าเราก็ไม่ได้ปรับปรุงตาราง 1 ตั้งชื่อเอลเลียตเท่ากับสิ่งที่จะ 1151 01:04:51,540 --> 01:04:55,530 ดูตารางเช่นหลังจากที่? 1152 01:04:55,530 --> 01:04:56,410 คนที่มีความคิดใด ๆ 1153 01:04:56,410 --> 01:04:59,710 1154 01:04:59,710 --> 01:05:00,210 ใช่. 1155 01:05:00,210 --> 01:05:03,195 >> ผู้ชม: ทุกอย่างในการที่ แถวจะกลายเป็นเอลเลียต 1156 01:05:03,195 --> 01:05:04,570 SPEAKER: ทุกอย่างที่แถว? 1157 01:05:04,570 --> 01:05:06,067 ผู้ชม: ในแถวแรก 1158 01:05:06,067 --> 01:05:07,150 SPEAKER: ในแถวแรก? 1159 01:05:07,150 --> 01:05:09,724 ทำไมแถวแรก? 1160 01:05:09,724 --> 01:05:10,890 ผมไม่ได้หมายที่จะเลือกอยู่กับคุณ 1161 01:05:10,890 --> 01:05:13,287 >> ผู้ชม: บางทีทุกอย่าง ในตารางทั้งหมด? 1162 01:05:13,287 --> 01:05:15,120 SPEAKER: ทุกอย่างใน ทั้งตารางใช่ 1163 01:05:15,120 --> 01:05:19,520 และที่ตรงขวา because-- ฉัน เป็นเพียงการช่วยให้คุณออกนิด ๆ หน่อย ๆ 1164 01:05:19,520 --> 01:05:22,650 there-- เพราะเรามองข้าม ตัวเลือกคำสั่ง WHERE 1165 01:05:22,650 --> 01:05:27,260 หากคุณไม่ได้มีที่ ประโยคคำสั่งนี้สิ่งที่จะทำ 1166 01:05:27,260 --> 01:05:32,240 มันจะทำงานร่วมกับทุกคน แถวเดียวในตาราง 1167 01:05:32,240 --> 01:05:35,430 ชื่อของทุกคนจะ กลายเป็นเอลเลียตโดยทั่วไป 1168 01:05:35,430 --> 01:05:37,360 เอลเลียตที่มีความสุขมากเกี่ยวกับ 1169 01:05:37,360 --> 01:05:40,070 หรือ Yanni หนึ่งของทั้งสอง 1170 01:05:40,070 --> 01:05:42,490 แต่ชื่อของทุกคนที่จะมีการเปลี่ยนแปลง 1171 01:05:42,490 --> 01:05:47,880 >> ดังนั้นวิธีการที่เราใช้ WHERE clause-- และนี้ทั้งหมดของ Wheres 1172 01:05:47,880 --> 01:05:51,410 ที่อยู่ในแต่ละ เหล่านี้สิ่งที่แตกต่าง 1173 01:05:51,410 --> 01:05:54,380 ดังนั้นคุณจะสังเกตเห็นว่าตลาดหลักทรัพย์ มีค่าเท่ากับคอลัมน์ 1174 01:05:54,380 --> 01:05:55,190 และเพื่อไม่ WHERE 1175 01:05:55,190 --> 01:06:00,040 แต่เหล่านี้จะแตกต่างกัน ประเภทงบ 1176 01:06:00,040 --> 01:06:04,400 ดังนั้นคอลัมน์เท่ากับค่า ในตลาดหลักทรัพย์แห่งประเทศไทยที่อยู่ในที่ได้รับมอบหมาย 1177 01:06:04,400 --> 01:06:08,320 เหมือนอย่างที่เรากำลังจะบอกว่าเราต้องการ การตั้งชื่อเอลเลียตเท่ากับ 1178 01:06:08,320 --> 01:06:15,390 แต่ในคำสั่ง WHERE ที่ เหล่านี้เป็นงบเท่าเทียมกัน 1179 01:06:15,390 --> 01:06:20,410 ดังนั้นสมมติว่าเราต้องการที่จะ เปลี่ยนชื่อของบุคคลที่จะเอลเลียต 1180 01:06:20,410 --> 01:06:23,940 ถ้าชื่อของพวกเขาคือไรอันสมมติว่า 1181 01:06:23,940 --> 01:06:24,920 >> ดังนั้นเมื่อเราพูดว่า 1182 01:06:24,920 --> 01:06:32,700 >> สถานที่ชื่อไรอันเท่ากับว่า จะประสบความสำเร็จในการเปลี่ยนแปลงเท่านั้น 1183 01:06:32,700 --> 01:06:37,440 name-- มันเพียง แต่จะ เปลี่ยนฟิลด์ชื่อในแถว 1184 01:06:37,440 --> 01:06:40,770 ที่เขตข้อมูลชื่อเท่ากับไรอัน 1185 01:06:40,770 --> 01:06:44,430 ดังนั้นถ้าเรามีคนหลายคน ชื่อไรอันทั้งหมดของชื่อของพวกเขา 1186 01:06:44,430 --> 01:06:45,730 จะเปลี่ยนไปเอลเลียต 1187 01:06:45,730 --> 01:06:48,169 >> นี้จะคล้ายกับตัวอย่าง ถ้าเส้นแบ่งความผิด 1188 01:06:48,169 --> 01:06:50,960 มหานครนิวยอร์กและทุกคนมีการ ย้ายไป New Haven, วิธีที่เราสามารถ 1189 01:06:50,960 --> 01:06:56,570 ทำในงบเป็น UPDATE table1 SET = บ้านเกิดของนิวเฮเวน 1190 01:06:56,570 --> 01:07:00,210 ที่บ้านเกิดเท่ากับนิวยอร์กซิตี้ 1191 01:07:00,210 --> 01:07:03,410 นี้เป็นอำนาจของ คำสั่ง UPDATE 1192 01:07:03,410 --> 01:07:10,530 เราสามารถเลือกหมายเลขใด ๆ แถวผ่านงบจริง 1193 01:07:10,530 --> 01:07:12,860 เกี่ยวกับเขตข้อมูลในแถวเหล่านั้น 1194 01:07:12,860 --> 01:07:19,510 เราไม่สามารถพูด UPDATE table1 ชุด name = เอลเลียต WHERE แถว = 1 1195 01:07:19,510 --> 01:07:24,820 ยกเว้นว่าถ้าเราสามารถที่เราพูด ID = 1 1196 01:07:24,820 --> 01:07:27,350 1197 01:07:27,350 --> 01:07:29,830 >> ดังนั้นเรากำลังจะได้รับ การทำงานร่วมกับความเท่าเทียมกัน 1198 01:07:29,830 --> 01:07:32,830 ของเขตข้อมูล, ความเท่าเทียมกันของคอลัมน์ 1199 01:07:32,830 --> 01:07:38,030 แต่การใช้สนาม ID เป็นวิธีการ เลือกแถวของแต่ละบุคคลโดยเฉพาะ 1200 01:07:38,030 --> 01:07:43,210 เพราะสนามประชาชนเป็นเอกลักษณ์ ระบุในฐานข้อมูล SQL 1201 01:07:43,210 --> 01:07:45,860 ดังนั้นการปรับปรุงเช่นหนึ่งแถว ID เท่ากับ 1 1202 01:07:45,860 --> 01:07:49,560 อัพเดตแถวสองเพียง เปลี่ยนหมายเลข ID ที่ 1203 01:07:49,560 --> 01:07:51,610 แต่อำนาจของ คำสั่ง WHERE คือการที่เรา 1204 01:07:51,610 --> 01:07:57,480 สามารถปรับปรุงสิ่งที่อยู่บนพื้นฐานของสิ่งที่พวกเขา ค่าปัจจุบันของบางสิ่งบางอย่างที่มี 1205 01:07:57,480 --> 01:07:58,155 ใช่เอลเลียต? 1206 01:07:58,155 --> 01:08:02,678 >> ผู้ชม: และสิ่งที่ถ้าคุณต้องการ to-- อีกครั้งนี้เป็นคำถามอื่น 1207 01:08:02,678 --> 01:08:07,660 แต่คำถามแรกของฉันคือ ที่เกิดขึ้นนี้ 1208 01:08:07,660 --> 01:08:09,130 ฉันกำลังอยู่ที่ไหนปรับปรุงนี้หรือไม่? 1209 01:08:09,130 --> 01:08:11,100 นี้อยู่ในโค้ด PHP หรือไม่? 1210 01:08:11,100 --> 01:08:13,379 >> SPEAKER: ที่คุณอัปเดตใช่ 1211 01:08:13,379 --> 01:08:15,170 เรากำลังจะไปพูดคุย เกี่ยวกับการที่ทั้งหมดนี้ 1212 01:08:15,170 --> 01:08:18,729 ที่เกิดขึ้นในการจัดเรียงของครั้งเดียวที่เราจะไป ผ่านคำสั่งทั้งหมด 1213 01:08:18,729 --> 01:08:21,130 แต่สิ่งที่คุณต้อง รู้ว่าตอนนี้เป็นพื้น 1214 01:08:21,130 --> 01:08:26,279 ที่ฐานข้อมูล SQL ของคุณ ที่มีอยู่เป็นสิ่งที่ 1215 01:08:26,279 --> 01:08:30,090 ให้เข้าถึงได้โดยการสอบถาม ฟังก์ชั่นที่กำหนด CS50 1216 01:08:30,090 --> 01:08:33,800 ดังนั้นถ้าคุณใช้ฟังก์ชั่นการค้นหา, คุณสามารถเข้าถึงตารางนี้ 1217 01:08:33,800 --> 01:08:39,529 >> ดังนั้นคุณจะส่งเหล่านี้ คำสั่งในตารางของคุณในไฟล์ PHP 1218 01:08:39,529 --> 01:08:41,420 ผ่านฟังก์ชั่นการค้นหา 1219 01:08:41,420 --> 01:08:45,410 นอกจากนี้คุณยังสามารถเล่นรอบ พร้อมโต๊ะของคุณโดยตรง 1220 01:08:45,410 --> 01:08:49,050 และนั่นคือวิธีที่ดีที่สุด ทดสอบประเภทนี้ของคำสั่ง 1221 01:08:49,050 --> 01:08:52,720 และเราจะผ่านไปว่าวิธีการ ที่จะทำในเวลาเพียงนิด ๆ หน่อย ๆ 1222 01:08:52,720 --> 01:08:54,910 >> เพื่อให้เป็นคำสั่ง UPDATE 1223 01:08:54,910 --> 01:08:57,939 และส่วนที่เหลือของคำสั่ง กำลังจะมีการจัดเรียงของที่คล้ายกัน 1224 01:08:57,939 --> 01:08:59,069 การทำงานในสิ่งที่คล้ายกัน 1225 01:08:59,069 --> 01:09:02,740 แทรกเข้าน่าจะเป็น ส่วนใหญ่ที่แตกต่างจากการปรับปรุง 1226 01:09:02,740 --> 01:09:06,170 ฉันจะออกจากที่ขึ้นที่นั่น เพียงเล็กน้อยและการทำงานมากกว่าที่นี่ 1227 01:09:06,170 --> 01:09:10,215 ดังนั้น INSERT INTO ค​​ุณจะเห็น ตารางที่ยังคงเดิม 1228 01:09:10,215 --> 01:09:17,010 คุณต้องการที่จะ INSERT INTO 1229 01:09:17,010 --> 01:09:20,286 มูลค่า, SQL เป็นกรณีตาย 1230 01:09:20,286 --> 01:09:22,160 ดังนั้นคุณจึงไม่ต้อง ประโยชน์สิ่งเหล่านี้ 1231 01:09:22,160 --> 01:09:27,960 โดยการประชุมคำ สีขาวเป็นตัวพิมพ์ใหญ่ 1232 01:09:27,960 --> 01:09:31,590 แต่ฉันยังรหัสสีพวกเขา 1233 01:09:31,590 --> 01:09:34,390 เหตุผลเดียวที่คุณประโยชน์ เหล่านั้นเมื่อคุณกำลังพิมพ์พวกเขา 1234 01:09:34,390 --> 01:09:36,609 เป็นเพียงการที่จะเน้น ว่าผู้ที่มีค่าคงที่ 1235 01:09:36,609 --> 01:09:39,189 และเพื่อให้คุณสามารถดู มูลค่าหรือความจริงที่ 1236 01:09:39,189 --> 01:09:40,740 ที่ฉันได้สีที่แตกต่างกันของพวกเขา 1237 01:09:40,740 --> 01:09:44,910 >> ดังนั้นเราจึงได้มีการแทรกลงใน, ขอทำ table1 อีกครั้ง 1238 01:09:44,910 --> 01:09:45,930 นี่คือทั้งหมดในหนึ่งบรรทัด 1239 01:09:45,930 --> 01:09:48,609 ฉันแค่แยกออกจาก งบที่แตกต่างกัน 1240 01:09:48,609 --> 01:09:52,399 จึงไม่ต้องกังวลเกี่ยวกับความจริงที่ว่า table1 ทำมันลงบนบรรทัดที่สอง 1241 01:09:52,399 --> 01:09:56,130 >> ดังนั้นเราจึงต้องการที่จะแทรก INTO table1 ค่าบางอย่าง 1242 01:09:56,130 --> 01:09:58,922 และคุณจะสังเกตเห็นตัวเลือก บิตซึ่งผมจะได้รับในครั้งที่สอง 1243 01:09:58,922 --> 01:09:59,755 ดังนั้นเราจึงได้มีคุณค่า 1244 01:09:59,755 --> 01:10:03,640 1245 01:10:03,640 --> 01:10:08,100 >> ดังนั้นสมมติว่าเราต้องการที่จะเพิ่ม Andi ไปที่โต๊ะของเราเพราะเราพลาดแล้วล่ะ 1246 01:10:08,100 --> 01:10:09,390 Andi มีอาการป่วย 1247 01:10:09,390 --> 01:10:12,490 ดังนั้นขอเพิ่ม Andi ไปที่โต๊ะของเรา 1248 01:10:12,490 --> 01:10:15,150 โปรดจำไว้ว่าหมายเลขประจำตัวของ การปรับปรุงโดยอัตโนมัติ 1249 01:10:15,150 --> 01:10:17,320 ดังนั้นเขตเดียวที่เรา จำเป็นต้องกังวลเกี่ยวกับ 1250 01:10:17,320 --> 01:10:20,230 มีชื่อมหาอำนาจและบ้านเกิด 1251 01:10:20,230 --> 01:10:23,660 >> ดังนั้นวิธีการที่เราทำนั้น กำลังมองหาที่ไวยากรณ์ของเราคือเราได้ 1252 01:10:23,660 --> 01:10:28,780 เพียงแค่มีวงเล็บด้วยเครื่องหมายจุลภาค ค่าที่คั่นแต่ละที่ 1253 01:10:28,780 --> 01:10:29,890 เป็นค่า 1254 01:10:29,890 --> 01:10:35,530 ดังนั้นถ้าเราต้องการที่จะใส่เข้าไปในของเราล่ะ ตารางทั้งหมดที่เราต้องทำคือการที่ถูกต้องแล้วล่ะ 1255 01:10:35,530 --> 01:10:38,630 อะไรล่ะมหาอำนาจของ คนที่อยู่ในส่วนของ Andi? 1256 01:10:38,630 --> 01:10:45,406 1257 01:10:45,406 --> 01:10:47,545 เธอชอบเที่ยวบินหรือชอบ ความเร็วหรือบางสิ่งบางอย่าง 1258 01:10:47,545 --> 01:10:48,920 เราทำอะไรแล้วมีได้มี? 1259 01:10:48,920 --> 01:10:53,425 เรามี CS50 บิน ความเร็วและความแรง 1260 01:10:53,425 --> 01:10:54,850 >> ผู้ชม: การเดินทางข้ามเวลา 1261 01:10:54,850 --> 01:10:56,180 >> SPEAKER: การเดินทางข้ามเวลาที่น่าตื่นตาตื่นใจ 1262 01:10:56,180 --> 01:11:04,280 ดังนั้นเราจึงได้มี Andi เวลา การเดินทางและบ้านเกิดของเธอ 1263 01:11:04,280 --> 01:11:05,530 นั่นเป็นคำถามที่ดีจริงๆ 1264 01:11:05,530 --> 01:11:09,210 นิวยอร์กซิตี้เว้นแต่มีคนรู้ 1265 01:11:09,210 --> 01:11:13,600 ทุกคนจากนิวยอร์กเป็น บทเรียนที่จะไปตั้งแต่วันนี้ 1266 01:11:13,600 --> 01:11:17,710 >> ดังนั้นคำสั่งนี้จะ ใส่เป็นแถวที่ห้า 1267 01:11:17,710 --> 01:11:21,900 กับการเดินทางข้ามเวลามหาอำนาจ และบ้านเกิดของมหานครนิวยอร์ก 1268 01:11:21,900 --> 01:11:25,660 แต่สนามที่ไม่จำเป็น เป็นพื้นทาง 1269 01:11:25,660 --> 01:11:30,090 เพื่อระบุว่าที่คอลัมน์ คุณต้องการแทรกสิ่งที่อยู่ใน 1270 01:11:30,090 --> 01:11:33,710 >> วิธีการที่เรากำลังทำมันตอนนี้ Andi เดินทางเวลานิวยอร์กซิตี้ 1271 01:11:33,710 --> 01:11:38,150 เป็นไปในการสั่งซื้อที่แท้จริงของเรา ชื่อ table--, มหาอำนาจบ้านเกิด 1272 01:11:38,150 --> 01:11:42,290 และถ้าคุณอยากจะทำ บางสิ่งบางอย่างนอกเหนือจากนั้น 1273 01:11:42,290 --> 01:11:44,970 เช่นบอกว่าคุณไม่ได้รู้ว่า มหาอำนาจของใครบางคน 1274 01:11:44,970 --> 01:11:47,660 เช่นวิธีการที่ฉันไม่ได้รู้ว่าของ Andi มหาอำนาจที่จุดเริ่มต้น 1275 01:11:47,660 --> 01:11:50,450 ดังนั้นสิ่งที่ผมรู้ว่าเป็นของเธอ ชื่อและที่บ้านเกิดของเธอ 1276 01:11:50,450 --> 01:11:54,550 สิ่งที่ผมจะทำคือฉันสามารถทำได้ do-- ฉันจะลบอย่างรวดเร็วนี้ 1277 01:11:54,550 --> 01:11:57,910 1278 01:11:57,910 --> 01:12:00,090 >> ฉันต้องการที่จะปรับปรุงเฉพาะคอลัมน์ 1279 01:12:00,090 --> 01:12:04,100 และนี่คือที่ไม่จำเป็น รายการคอลัมน์มาลงเล่น 1280 01:12:04,100 --> 01:12:09,185 ฉันเพียงต้องการปรับปรุงชื่อและที่บ้านเกิด 1281 01:12:09,185 --> 01:12:12,650 1282 01:12:12,650 --> 01:12:16,480 แล้วฉันจะบอกว่าค่านิยม 1283 01:12:16,480 --> 01:12:24,430 ฉันจะทำแล้วล่ะและ New York City 1284 01:12:24,430 --> 01:12:28,980 >> ถ้าฉันได้มองข้ามรายชื่อของคอลัมน์ และทำเพียงแค่ทั้งสองสิ่ง 1285 01:12:28,980 --> 01:12:32,450 ที่จะนิวยอร์กซิตี้ได้หายไปไหน? 1286 01:12:32,450 --> 01:12:35,900 ซึ่งจะคอลัมน์นิวยอร์ก เมืองที่ได้ถูกวางไว้มีอะไรบ้าง? 1287 01:12:35,900 --> 01:12:38,950 คนที่มีความคิดใด ๆ 1288 01:12:38,950 --> 01:12:40,160 มหาอำนาจว่า 1289 01:12:40,160 --> 01:12:41,890 >> ดังนั้นเพียงแค่นี้จะไปในการสั่งซื้อ 1290 01:12:41,890 --> 01:12:45,530 และเมื่อมันมาถึงจุดสิ้นสุดของ รายการมันก็จะหยุดสิ่งที่กรอกข้อมูลใน 1291 01:12:45,530 --> 01:12:49,080 และค่านิยมที่ว่ามันจะติดอยู่ใน คอลัมน์ทั้งหมดจะเป็นเพียงโมฆะ 1292 01:12:49,080 --> 01:12:51,840 ดังนั้นเพราะเราระบุ ชื่อและที่บ้านเกิด 1293 01:12:51,840 --> 01:12:56,110 เรากำลังจะมี ID ที่ 5 ชื่อ Andi, โมฆะมหาอำนาจ 1294 01:12:56,110 --> 01:12:58,750 มหาอำนาจดังนั้นเป็นค่าเตรียม 1295 01:12:58,750 --> 01:13:01,340 คุณจะไม่จำเป็นต้องได้รับ ข้อผิดพลาดเดียวกัน valgrind ถ้าคุณลอง 1296 01:13:01,340 --> 01:13:01,970 และเข้าถึงได้ 1297 01:13:01,970 --> 01:13:05,160 ทุกอย่างจะกลายเป็นศูนย์อย่าง ออกเพราะเป็นโมฆะค่าใน SQL 1298 01:13:05,160 --> 01:13:06,780 นั่นคือค่าคงที่ 1299 01:13:06,780 --> 01:13:08,980 และจากนั้นก็จะเป็นบ้านเกิดของนิวยอร์กซิตี้ 1300 01:13:08,980 --> 01:13:11,860 ดังนั้นที่แทรกลงในคำสั่ง 1301 01:13:11,860 --> 01:13:13,610 ก่อนที่เราจะมี สองคำสั่งเพิ่มเติม 1302 01:13:13,610 --> 01:13:19,060 ทำคนมีคำถามใด ๆ เกี่ยวกับ การปรับปรุงเกี่ยวกับการแทรกลงใน, เกี่ยวกับ SQL 1303 01:13:19,060 --> 01:13:21,556 โดยทั่วไปก่อนที่เราจะย้าย ลงบนชิ้นสุดท้ายของเราหรือไม่ 1304 01:13:21,556 --> 01:13:25,500 1305 01:13:25,500 --> 01:13:26,910 คนที่รู้สึกดีดี 1306 01:13:26,910 --> 01:13:27,410 รักมัน 1307 01:13:27,410 --> 01:13:29,480 ดังนั้นเรามาพูดคุยเกี่ยวกับการเลือก 1308 01:13:29,480 --> 01:13:33,445 ไป UPDATE คูมากกว่าที่นี่ 1309 01:13:33,445 --> 01:13:35,720 >> และเลือกที่เป็นไปได้ที่คล้ายกันมาก 1310 01:13:35,720 --> 01:13:38,790 เป้าหมายของการเลือกที่ วัตถุประสงค์ SELECT ในชีวิต 1311 01:13:38,790 --> 01:13:45,910 คือเพื่อให้คุณพวงของคอลัมน์ ที่ตอบสนองเงื่อนไขบางประการ 1312 01:13:45,910 --> 01:13:48,230 และเมื่อฉันพูดตอบสนอง เงื่อนไขบางประการ 1313 01:13:48,230 --> 01:13:50,800 ความคิดของคุณอาจจะในทันที กลับไปที่คำสั่ง WHERE 1314 01:13:50,800 --> 01:13:52,090 ที่มาในการปรับปรุง 1315 01:13:52,090 --> 01:13:54,880 และข้อที่ ว่ามีใน SELECT 1316 01:13:54,880 --> 01:14:06,020 >> ถ้าเราไม่ใส่ที่ และประโยคที่เราพูด SELECT ชื่อ 1317 01:14:06,020 --> 01:14:16,490 hometown-- สะกดที่เล็ก ๆ น้อย ๆ ชื่อ wrong-- บ้านเกิดจาก table1 1318 01:14:16,490 --> 01:14:19,690 ถ้าเราบอกว่าสิ่งที่เลือก เป็นไปเพื่อให้เรามันเป็นเรื่อง 1319 01:14:19,690 --> 01:14:23,730 จะให้เรา double-- ตารางแทน 1320 01:14:23,730 --> 01:14:27,450 แถวสองถ้าเรา ความคิดเกี่ยวกับความรู้สึกใน PHP 1321 01:14:27,450 --> 01:14:33,239 แต่มันเพิ่งจะให้เรา อาร์เรย์คู่ของทั้งสองชื่อ columns--, 1322 01:14:33,239 --> 01:14:33,780 และบ้านเกิด 1323 01:14:33,780 --> 01:14:36,400 1324 01:14:36,400 --> 01:14:38,130 และมันจะไม่สนใจ ID 1325 01:14:38,130 --> 01:14:41,310 และมันจะไม่สนใจมหาอำนาจ 1326 01:14:41,310 --> 01:14:44,696 และมันก็จะทำให้เราทุกคน แถวเดียวของตารางที่ 1327 01:14:44,696 --> 01:14:46,570 ดังนั้นถ้าเราเพียงแค่ใส่ Andi เราจะมี Andi 1328 01:14:46,570 --> 01:14:48,605 และเราจะมีต้นฉบับสี่ 1329 01:14:48,605 --> 01:14:53,720 ถ้าพวกเขาได้รับการปรับปรุงที่จะ จะสะท้อนให้เห็น ฯลฯ ฯลฯ 1330 01:14:53,720 --> 01:14:56,520 >> ดังนั้นนี้เป็นเพราะเรา ไม่ได้ใช้คำสั่งที่ 1331 01:14:56,520 --> 01:14:59,200 แต่เราสามารถใช้งานได้ในตรง แบบเดียวกับที่เราใช้ในการปรับปรุง 1332 01:14:59,200 --> 01:15:05,310 ถ้าเราเพียงต้องการตารางของชื่อที่ และพลังของคนที่อาศัยอยู่ 1333 01:15:05,310 --> 01:15:13,430 ใน New York, เราสามารถรันคำสั่ง เช่น SELECT ชื่อ superpower-- 1334 01:15:13,430 --> 01:15:27,190 ฉันแค่จะออกจาก that-- table1 WHERE บ้านเกิด = นิวยอร์กซิตี้ 1335 01:15:27,190 --> 01:15:33,370 >> ดังนั้นนี้ไปแสดงให้เห็นว่าคุณสามารถ ได้รับคอลัมน์ที่แตกต่างกันโดยสิ้นเชิง 1336 01:15:33,370 --> 01:15:36,920 แล้วใส่คอลัมน์ที่คุณไม่ได้ แม้จะได้รับกลับมาในข้อที่ 1337 01:15:36,920 --> 01:15:39,200 เราไม่ได้ต้องการ บ้านเกิดของทุกคน 1338 01:15:39,200 --> 01:15:41,920 แต่เราต้องการชื่อและ มหาอำนาจของผู้คน 1339 01:15:41,920 --> 01:15:43,817 ซึ่งเป็นบ้านเกิดคือนิวยอร์กซิตี 1340 01:15:43,817 --> 01:15:45,650 นั่นคือสิ่งที่เรา สามารถทำอะไรกับที่ 1341 01:15:45,650 --> 01:15:49,112 ข้อคือเราสามารถจัดการกับคอลัมน์ ว่าเราไม่จำเป็นต้องการกลับ 1342 01:15:49,112 --> 01:15:52,320 ในทำนองเดียวกันใน UPDATE เราสามารถจัดการ มีคอลัมน์ที่เราไม่จำเป็นต้อง 1343 01:15:52,320 --> 01:15:53,270 ต้องการปรับปรุง 1344 01:15:53,270 --> 01:15:58,890 เราสามารถปรับปรุงเมืองของทุกคน คนที่ชื่อแซมเช่น 1345 01:15:58,890 --> 01:16:02,080 เราสามารถปรับปรุงเมือง ทุกคนที่มีหมายเลข 2 1346 01:16:02,080 --> 01:16:04,960 ดังนั้นเพียงแค่ปรับปรุง เมืองแถวที่สอง 1347 01:16:04,960 --> 01:16:08,220 ที่เราไม่ได้มีการจัดการกับ จำเป็นคำถามทั่วไป 1348 01:16:08,220 --> 01:16:13,264 >> และลบเป็นอย่างที่คุณต้องการ คาดหวัง DELETE FROM table1 1349 01:16:13,264 --> 01:16:14,930 และจากนั้นเราได้มีคำสั่ง WHERE อื่น 1350 01:16:14,930 --> 01:16:17,940 ดังนั้นเราจึงสามารถพูดได้ที่ id = 1 1351 01:16:17,940 --> 01:16:18,950 ลบแถวแรก 1352 01:16:18,950 --> 01:16:23,240 และลบจะลบแถว หรือมันจะลบจำนวนแถวบาง 1353 01:16:23,240 --> 01:16:26,990 ลบตารางจากที่ไหน บ้านเกิด = นิวยอร์กซิตี้ 1354 01:16:26,990 --> 01:16:28,740 จะลบทุกคนในนิวยอร์กซิตี้ 1355 01:16:28,740 --> 01:16:30,985 นั่นคือถ้ามี ภัยพิบัติที่น่าเศร้าอย่างฉับพลัน 1356 01:16:30,985 --> 01:16:33,360 และคุณก็ต้องการที่จะลบ ทุกคนจากตารางที่ 1357 01:16:33,360 --> 01:16:35,760 ที่อาศัยอยู่ในเมืองหนึ่ง ที่ได้รับผลกระทบจากภัยพิบัติ 1358 01:16:35,760 --> 01:16:38,050 พวกเขาอาจจะอยู่ในความสงบ 1359 01:16:38,050 --> 01:16:43,849 >> เหล่านี้เป็นสี่คำสั่ง SQL ที่คุณจะต้องใช้ 1360 01:16:43,849 --> 01:16:45,390 คุณอาจไม่จำเป็นต้องใช้พวกเขาทั้งหมด 1361 01:16:45,390 --> 01:16:47,690 แต่เหล่านี้เป็นสี่ ที่คาดหวังว่าคุณ CS50 1362 01:16:47,690 --> 01:16:53,630 ที่จะสะดวกสบายกับการที่จะเข้าสู่ ทั้งตอบคำถามที่ 1 และยัง pset7 และ pset8 1363 01:16:53,630 --> 01:16:55,820 >> มีเพียงโต๊ะอีกครั้ง 1364 01:16:55,820 --> 01:16:58,930 หนึ่งในนี้มหาอำนาจรอยมี รับการปรับปรุงให้ลำแสงเลเซอร์ซึ่ง 1365 01:16:58,930 --> 01:17:00,880 เป็นตัวอย่างที่ผมไม่ได้ใช้ 1366 01:17:00,880 --> 01:17:05,480 ผมไม่ทราบว่าเป็นที่หนึ่ง รอยชอบ แต่ความแข็งแรง 1367 01:17:05,480 --> 01:17:07,670 รอยมีมหาอำนาจของความแข็งแรง 1368 01:17:07,670 --> 01:17:09,090 แคเธอรีนไม่ได้ทำให้มันในวันนี้ 1369 01:17:09,090 --> 01:17:10,260 ที่โชคร้าย 1370 01:17:10,260 --> 01:17:11,260 แต่เธอก็มีซุปเปอร์ความเร็ว 1371 01:17:11,260 --> 01:17:13,780 1372 01:17:13,780 --> 01:17:14,670 >> กันดีว่าเป็น PHP 1373 01:17:14,670 --> 01:17:19,410 ก่อนที่เราจะพูดคุยเกี่ยวกับ MVC ไม่ ทุกคนที่มีคำถามเกี่ยวกับ PHP? 1374 01:17:19,410 --> 01:17:23,864 ตอนนี้ SQL, PHP หรือถ้าคุณก็มี มากับคำถามเกี่ยวกับ PHP หรือไม่? 1375 01:17:23,864 --> 01:17:27,560 1376 01:17:27,560 --> 01:17:28,460 ที่ดี 1377 01:17:28,460 --> 01:17:29,920 สิทธิทั้งหมดเราก็พร้อมแล้ว 1378 01:17:29,920 --> 01:17:33,660 >> ดังนั้นการพูดคุยนิด ๆ หน่อย ๆ เกี่ยวกับการควบคุมมุมมองที่รุ่น 1379 01:17:33,660 --> 01:17:38,770 ขอไปกลับไปบางส่วน ของสิ่งที่อยู่ใน pset7 1380 01:17:38,770 --> 01:17:42,470 ดังนั้นสิ่งที่มุมมองรูปแบบ ควบคุม is-- ฉันไม่ 1381 01:17:42,470 --> 01:17:45,660 จะบันทึกการเปลี่ยนแปลงของฉันที่จะเข้าสู่ระบบ เพราะฉันทั้งหมดเชือดมัน 1382 01:17:45,660 --> 01:17:49,220 แต่โดยทั่วไปเรามีสอง สิ่งที่แยกจากกันเกิดขึ้น 1383 01:17:49,220 --> 01:17:52,390 ขณะนี้มีประชาชน ไดเรกทอรีที่มี 1384 01:17:52,390 --> 01:17:56,460 รหัสที่จะต้องถูกประหารชีวิต และหน้าเว็บที่จะเข้าชม 1385 01:17:56,460 --> 01:17:58,780 และเรายังมีมุมมองนี้ไดเรกทอรี 1386 01:17:58,780 --> 01:18:01,780 และมุมมองที่มีแม่แบบ 1387 01:18:01,780 --> 01:18:04,390 >> นี่คือสิ่งที่ฟังก์ชั่น render-- เราเห็นการแสดงผล 1388 01:18:04,390 --> 01:18:08,240 ฟังก์ชั่นในเครือของโค้ด PHP ที่ CS50 ที่ได้เขียนไว้แล้วสำหรับคุณ 1389 01:18:08,240 --> 01:18:10,550 ที่ใช้เวลาในพารามิเตอร์บางอย่าง 1390 01:18:10,550 --> 01:18:14,510 รหัสอะไรที่จะทำ มันจะเข้ามาในมุมมอง 1391 01:18:14,510 --> 01:18:18,000 ซึ่งเป็นชุดเช่น โค้ด HTML ที่เขียนไว้ก่อน, 1392 01:18:18,000 --> 01:18:20,720 และก็ใส่ค่า เข้าไปในสถานที่บางอย่าง 1393 01:18:20,720 --> 01:18:23,990 นี่คือวิธีที่เมื่อคุณ ไปลงใน CS50 การคลัง 1394 01:18:23,990 --> 01:18:25,760 ส่วนหัวเดียวกันในทุกหน้า 1395 01:18:25,760 --> 01:18:28,130 ส่วนท้ายเดียวกันในทุกหน้า 1396 01:18:28,130 --> 01:18:31,880 เพราะนี่คือวิธีการที่ ที่ทำให้การทำงานของมันจะ 1397 01:18:31,880 --> 01:18:36,720 โดยอัตโนมัติแก้ไขในส่วนหัวและ ผู้ชมซึ่งคุณสามารถค้นหาในมุมมอง 1398 01:18:36,720 --> 01:18:41,400 >> เราจริงสามารถไปยังส่วนหัวและ ดูมันเป็นไฟล์ HTML ที่มีหัว 1399 01:18:41,400 --> 01:18:43,280 มันมีบาง stylesheets 1400 01:18:43,280 --> 01:18:48,450 คุณไม่จำเป็นต้องไปดูที่ CSS สำหรับ pset7 ถ้าคุณไม่ต้องการที่จะ 1401 01:18:48,450 --> 01:18:50,560 แต่คุณสามารถปรับเปลี่ยน พวกเขาหากคุณต้องการให้ 1402 01:18:50,560 --> 01:18:53,470 การเงินของคุณดูแตกต่างกันเล็กน้อย 1403 01:18:53,470 --> 01:18:57,560 >> มันมีบาง PHP ใน ส่วนหัวนิดเพื่อดู 1404 01:18:57,560 --> 01:19:01,240 ถ้ามีชื่อที่แตกต่างกัน มันควรจะใส่ในส่วนหัวนี้ 1405 01:19:01,240 --> 01:19:04,300 แต่เพียงบางส่วนสคริปต์อื่น ๆ และการเชื่อมโยงและสิ่งอื่น ๆ 1406 01:19:04,300 --> 01:19:08,700 จบหัวหน้าร่างกายเริ่มต้นและโอ๊ะ เรามีเกร็ดเล็ก ๆ น้อย ๆ ในตอนท้ายนี้แปลก 1407 01:19:08,700 --> 01:19:14,730 และมี div เช่นเดียวกับ ชนิดรูปร่างขององค์ประกอบ 1408 01:19:14,730 --> 01:19:17,120 ที่มีความคิดของกลาง 1409 01:19:17,120 --> 01:19:22,450 >> และจากนั้นเมื่อเราเห็นส่วนท้าย เรามีจุดสิ้นสุดของ div ที่ 1410 01:19:22,450 --> 01:19:25,000 เรามีด้านล่างซึ่งเป็น ที่ส่วนท้ายของข้อความเป็น 1411 01:19:25,000 --> 01:19:26,770 ในตอนท้ายของ div ปลายของร่างกายในตอนท้ายของ HTM​​L 1412 01:19:26,770 --> 01:19:29,070 >> ดังนั้นสิ่งที่ทำให้เป็น ทำคือการทำให้การจัดเรียง 1413 01:19:29,070 --> 01:19:33,150 ของปะหัวขึ้นเป็น ไฟล์ PHP ที่แตกต่างกัน 1414 01:19:33,150 --> 01:19:37,110 จะมีสิ่งที่เกิดขึ้นจริง คุณจะดูเช่นตารางของคุณของหุ้น 1415 01:19:37,110 --> 01:19:39,690 ถ้าคุณจะซื้อหรือขายหุ้น 1416 01:19:39,690 --> 01:19:41,480 และจากนั้นก็จะเพิ่มในส่วนท้าย 1417 01:19:41,480 --> 01:19:44,890 และมุมมองที่รูปแบบ ควบคุมความคิดคือการที่เรา 1418 01:19:44,890 --> 01:19:49,590 ต้องการที่จะแยกว่า สิ่งที่ดูจากรหัส 1419 01:19:49,590 --> 01:19:53,420 มันเป็นเรื่องที่เราต้องการที่จะแยกส่วนหน้า และแบ็กเอนด์ที่ส่วนหน้าคือ 1420 01:19:53,420 --> 01:20:00,440 สิ่งที่ผู้ใช้มองเห็นที่ดี visuals-- HTML, CSS, สิ่งที่ต้องการที่ 1421 01:20:00,440 --> 01:20:02,320 ภาพ ฯลฯ 1422 01:20:02,320 --> 01:20:05,780 และแบ็กเอนด์คือ PHP 1423 01:20:05,780 --> 01:20:07,710 นี้เป็นรหัสที่คุณเขียน 1424 01:20:07,710 --> 01:20:10,240 นี่คือที่รหัสที่ การดำเนินงานที่เกิดขึ้นจริงทำ 1425 01:20:10,240 --> 01:20:12,400 นี้คือเมื่อคุณกำลังเพิ่ม หุ้นในตารางของคุณ 1426 01:20:12,400 --> 01:20:14,890 เมื่อคุณกำลังซื้อและการ ขายที่แบ็กเอนด์ 1427 01:20:14,890 --> 01:20:20,210 >> และเราสามารถที่คุณเห็น รวมทั้ง PHP โดยตรงในรูปแบบ HTML 1428 01:20:20,210 --> 01:20:23,210 ดังนั้นสิ่งที่เราจะได้ทำสำหรับ งานนี้จะมีเพียง 1429 01:20:23,210 --> 01:20:26,200 ไฟล์ HTML สำหรับแต่ละหน้าเช่นการเข้าสู่ระบบ 1430 01:20:26,200 --> 01:20:30,260 และแล้วในหน้านั้นเพียง มีบล็อกขนาดใหญ่ของโค้ด PHP, 1431 01:20:30,260 --> 01:20:33,822 รวมทั้งหมดของรหัสที่ หน้าเว็บที่เฉพาะจะต้อง 1432 01:20:33,822 --> 01:20:35,780 และจากนั้นเราจะได้มี ทำที่สำหรับผลงาน 1433 01:20:35,780 --> 01:20:40,250 เราจะได้ทำทั้งหมดของการซื้อ และการขายในหน้าของแต่ละบุคคล 1434 01:20:40,250 --> 01:20:43,680 >> แต่เพราะเรากำลังแสดงผล แยกต่างหากจากที่ 1435 01:20:43,680 --> 01:20:46,660 เรากำลังเขียนแบ็กเอนด์ รหัสเราสามารถได้อย่างง่ายดาย 1436 01:20:46,660 --> 01:20:52,660 เปลี่ยนวิธีการสิ่งที่ดูได้โดยไม่ต้อง การเปลี่ยนแปลงทุกไฟล์เดียว 1437 01:20:52,660 --> 01:20:55,460 เราทำสิ่งที่ต้องการเพียงแค่เพิ่ม div ที่ใหม่ไปที่ด้านล่าง 1438 01:20:55,460 --> 01:21:00,720 of-- สวัสดีครับการแก้ไขส่วนท้าย 1439 01:21:00,720 --> 01:21:03,710 คุณก็สามารถทำสิ่งที่ชอบ 1440 01:21:03,710 --> 01:21:07,250 แต่ก็ยังมีคุณสามารถเปลี่ยน รูปแบบภาพทั้งหมด 1441 01:21:07,250 --> 01:21:09,290 โดยไม่มีผลต่อสิ่งที่ ไปในแบ็กเอนด์ 1442 01:21:09,290 --> 01:21:12,000 และคุณสามารถเปลี่ยน แบ็กเอนด์ทั้งหมดและยังคง 1443 01:21:12,000 --> 01:21:13,900 มันมีลักษณะเช่นเดียวกับมันก่อน 1444 01:21:13,900 --> 01:21:14,400 นี้ 1445 01:21:14,400 --> 01:21:16,170 >> เป็นความคิดของตัวควบคุมรูปแบบมุมมอง 1446 01:21:16,170 --> 01:21:19,992 และมันก็เป็นจริงกระบวนทัศน์ที่กำหนด ในบางส่วนของการเขียนโปรแกรมภาษา 1447 01:21:19,992 --> 01:21:21,700 คุณอาจต้องการที่จะใช้ สำหรับโครงการสุดท้าย 1448 01:21:21,700 --> 01:21:25,100 ถ้าคุณทำเช่นการพัฒนา iOS ของคุณ, พวกเขามีมุมมอง 1449 01:21:25,100 --> 01:21:29,120 ซึ่งเป็นสิ่งที่คุณเห็นบน iPhone และ แบ็กเอนด์แล้วเหมือนเป็นสิ่งที่แยกจากกัน 1450 01:21:29,120 --> 01:21:31,260 >> คุณสามารถคิดเกี่ยวกับนิด ๆ หน่อย ๆ 1451 01:21:31,260 --> 01:21:35,190 มีจำนวนมากของไบนารีในเป็น วิทยาการคอมพิวเตอร์ซึ่งเป็นเรื่องตลก 1452 01:21:35,190 --> 01:21:37,270 เพราะทุกอย่างอยู่ในไบนารี 1453 01:21:37,270 --> 01:21:38,550 ผมไม่ได้วางแผนว่า 1454 01:21:38,550 --> 01:21:41,590 นั่นคือปุนที่ไม่ได้ตั้งใจ 1455 01:21:41,590 --> 01:21:43,860 ใช่ปุนไม่ได้มีเจตนา 1456 01:21:43,860 --> 01:21:49,070 >> แต่ชอบ h ไฟล์และไฟล์ .c มี จำนวนมากของการแยกสิ่งที่เรา 1457 01:21:49,070 --> 01:21:49,900 อาจจะไม่จำเป็นต้องใช้ 1458 01:21:49,900 --> 01:21:54,330 ดังนั้นเราก็สามารถแก้ไขไฟล์ชั่วโมงหรือ มีคนเพียงแค่สามารถดูไฟล์ .h และความรู้ 1459 01:21:54,330 --> 01:21:57,650 ว่าฟังก์ชั่นที่อยู่ใน ไฟล์ .c โดยไม่จำเป็นต้องรู้ 1460 01:21:57,650 --> 01:21:58,870 การดำเนินงานของพวกเขา 1461 01:21:58,870 --> 01:22:02,800 ความคิดในการแยกชิ้นส่วนนี้ ที่ขึ้นอยู่กับแต่ละอื่น ๆ 1462 01:22:02,800 --> 01:22:06,990 แต่สามารถเข้าถึงการเรียงลำดับของแต่ละอื่น ๆ ผ่านช่องทางที่แตกต่างกันผ่าน 1463 01:22:06,990 --> 01:22:09,310 ของตัวแปรเพียง รวมถึงแถลงการณ์สิ่ง 1464 01:22:09,310 --> 01:22:14,440 เช่นเดียวกับที่หลักการนี​​้ ช่วยในการสร้างการใช้งาน 1465 01:22:14,440 --> 01:22:17,080 ที่สามารถเป็นได้ง่ายขึ้น แก้ไขโดยคนหลาย ๆ 1466 01:22:17,080 --> 01:22:20,440 สามารถเปลี่ยนแปลงได้ง่ายขึ้น หรือการปรับเปลี่ยนในระดับใหญ่ 1467 01:22:20,440 --> 01:22:24,880 และง่ายต่อการ การแก้ปัญหาในหลายวิธี 1468 01:22:24,880 --> 01:22:28,254 >> อย่างรวดเร็วจริงๆผมมี เป็นเคล็ดลับสำหรับ pset7, 1469 01:22:28,254 --> 01:22:31,420 ซึ่งผมจะทำแบบเต็มหน้าจอเพื่อให้คุณไม่ได้ เพียงแค่มองที่ปลายปลาย the-- Tippee 1470 01:22:31,420 --> 01:22:33,964 1471 01:22:33,964 --> 01:22:35,130 มีเคล็ดลับที่ไม่ได้จำนวนมาก 1472 01:22:35,130 --> 01:22:38,060 >> แต่ที่ผมกล่าวถึง PHP เป็นเรื่องยากที่จะแก้ปัญหา 1473 01:22:38,060 --> 01:22:39,290 สองและสามตรวจสอบ 1474 01:22:39,290 --> 01:22:41,550 ถ้ารหัสของคุณเป็นเพียงไม่ แสดงขึ้นบนหน้า 1475 01:22:41,550 --> 01:22:46,240 ก็อาจจะมีข้อผิดพลาด PHP การขอโทษ 1476 01:22:46,240 --> 01:22:48,570 >> คุณไม่จำเป็นต้องไปดูที่ CSS ถ้าคุณไม่ต้องการที่จะ 1477 01:22:48,570 --> 01:22:52,150 แต่เมื่อคุณทำเสร็จแล้วก็สามารถ สิ่งที่สนุกมีความสุขเล็ก ๆ น้อย ๆ เพียงแค่ไปใน 1478 01:22:52,150 --> 01:22:54,770 และรับประทานอาหารที่มีพารามิเตอร์ CSS 1479 01:22:54,770 --> 01:22:58,700 CSS และ HTML เป็นตัวอย่างของรูปแบบหนึ่ง สิ่งที่รูปแบบการควบคุมมุมมองเกินไปใช่มั้ย? 1480 01:22:58,700 --> 01:23:02,150 คุณสามารถมีแท็กสไตล์ ภายในขององค์ประกอบ HTML 1481 01:23:02,150 --> 01:23:04,800 แต่ถ้าคุณจัดเรียงของ จ้างให้พวกเขา CSS, 1482 01:23:04,800 --> 01:23:08,180 พวกเขากำลังง่ายต่อการแก้ไขและการเล่น ไปรอบ ๆ ด้วยและมีความสนุกสนานกับ 1483 01:23:08,180 --> 01:23:10,816 >> รักษาผู้ช่วย CS50 ทำหน้าที่เป็นกล่องสีดำ 1484 01:23:10,816 --> 01:23:12,940 คุณไม่จำเป็นต้องรู้ ว่าสิ่งที่ทำเรนเด, 1485 01:23:12,940 --> 01:23:16,770 แต่เชื่อว่ามันมักจะทำที่ถูกต้อง สิ่งที่ขึ้นอยู่กับสิ่งที่คุณผ่านมัน 1486 01:23:16,770 --> 01:23:17,690 สิ่งเช่นนี้ 1487 01:23:17,690 --> 01:23:21,040 และผมอยากจะแนะนำ ดูคำแนะนำของเดวิด 1488 01:23:21,040 --> 01:23:24,490 จะผ่านทั้งหมด สิ่งที่ไม่ได้เป็นเพียง Todos ที่ 1489 01:23:24,490 --> 01:23:26,960 แต่จริงๆคุณสามารถรักษา เหล่านี้เป็นกล่องสีดำ 1490 01:23:26,960 --> 01:23:29,280 อย่าไปลงเหล่านี้ ฟังก์ชั่นที่กำลังมองหาข้อบกพร่อง 1491 01:23:29,280 --> 01:23:33,510 >> และยินดีต้อนรับการกลับมา ของนริศ Zamyla ของเรา 1492 01:23:33,510 --> 01:23:34,010 ที่ดี 1493 01:23:34,010 --> 01:23:40,430 >> มีคำถามใด ๆ สุดท้ายก่อน เราเรียงลำดับของการตีกลับสำหรับวันที่? 1494 01:23:40,430 --> 01:23:42,610 ฉันยังมีชีวิตอยู่? 1495 01:23:42,610 --> 01:23:44,700 ที่ดี 1496 01:23:44,700 --> 01:23:47,120 สวัสดีคน Livestream 1497 01:23:47,120 --> 01:23:47,620 ที่ดี 1498 01:23:47,620 --> 01:23:50,260 มีคำถามอีกต่อไป? 1499 01:23:50,260 --> 01:23:50,760 ไม่ได้หรือไม่ 1500 01:23:50,760 --> 01:23:52,884 >> แล้วผมคิดว่าเรากำลัง ดีไปสำหรับวันนี้ 1501 01:23:52,884 --> 01:23:55,550 ฉันจะติดรอบนิด ๆ หน่อย ๆ หลังจากนั้นถ้าคนมีคำถาม 1502 01:23:55,550 --> 01:23:57,480 พวกเขากลัวที่จะถามเกี่ยวกับกระแส 1503 01:23:57,480 --> 01:23:59,790 แต่อย่างอื่นมีวันที่ดี 1504 01:23:59,790 --> 01:24:01,933