[เล่นเพลง] เดวิดเจลัน: ทั้งหมดขวา สู่ขวัญ นี้เป็น CS50 นี่คือจุดสิ้นสุดของสัปดาห์ที่ 8 และในขณะที่คุณรู้ว่าเรามีความสวย เวลาทำงานปกติในไม่กี่ ของห้องอาหาร, รวมทั้ง Annenberg และบางส่วนของทีมที่ละเมียดละไม เอาภาพบางส่วนเมื่อเร็ว ๆ นี้ และเพื่อเป็นเกียรติแก่ วันฮาโลวีนเราคิดว่าเราควรที่จะ แบ่งปันหนึ่งที่ค่อนข้างติดเรา แปลกใจที่นี่ใน Annenberg ฮอลล์เพียง คืนอื่น ๆ เพื่อนร่วมชั้นของคุณจาค็อบถ่าย ภาพนี้ แต่ก็สนุกมากขึ้น อยู่บน Facebook, ลีสซิ่ง การสนทนาที่เกิดขึ้นหลังจากนั้น โพสต์ครั้งแรกของเขาในการตอบสนอง ภาพของเขาเป็นแบบนี้ ไม่กี่นาทีต่อมาเขาตัดสินใจ หนึ่งขึ้นกับตัวเองนี้ ดังต่อไปนี้จากนั้นจะไปที่นี้ แล้วยิ่งตลก คือเมื่อแม่ของเขา chimed ใน และแล้วในที่สุด ดูเหมือนว่านี้เป็นเพียง อุบายที่ยอดเยี่ยมสำหรับ เล่นที่เกิดขึ้น ดังนั้นถ้าคุณต้องการ เพื่อดูจาค็อบและอื่น ๆ ในหมู่พวกเขาซินเทียเม้งที่เป็น เบื้องหลังของพนักงานโซน CS50, มุ่งหน้าไปยัง URL นี้และการเล่นที่นี่ โดยไม่ต้องกังวลใจต่อไปในวันนี้เรา ยังคงดูที่การเขียนโปรแกรมเว็บนี้ และการสร้างที่เกิดขึ้นจริงของโปรแกรม ที่ไม่ได้ทำงานที่บรรทัดคำสั่งของคุณ แต่แทนที่จะทำงานภายในของเบราว์เซอร์ น่าจะตอนนี้หรือมาก ในไม่ช้าคุณจะ ที่จะอยู่ในท่ามกลางของการดำเนินการ เว็บเซิร์ฟเวอร์ของคุณเองซึ่ง จะแตกต่างจากการเขียนโปรแกรมเว็บ เว็บเซิร์ฟเวอร์ใน pset6 เป็นข้อมูลเกี่ยวกับ การเขียนซอฟแวร์ที่รู้วิธีที่จะใช้ ร้องขอ HTTP จากเบราว์เซอร์ หรือแม้กระทั่งจากคุณมนุษย์ กับโปรแกรมที่เรียกว่า Telnet และ แล้วตอบสนองต่อการร้องขอของผู้ใด โดยคายออกไฟล์ HTML หรือ JPEG หรือ GIF หรือแม้กระทั่งไฟล์ .php แต่กับเว็บเซิร์ฟเวอร์ก็ไม่ได้ ควรจะเพียงแค่เปิดไฟล์ PHP, สิ่งที่สิ้นสุดใน .php และ แล้วคายออกเนื้อหา มันควรจะทำ สิ่งที่ไปยังไฟล์ที่ครั้งแรก? จึงจะพูด ไม่ได้คอมไพล์นั้นเรากล่าวว่าในวันจันทร์ที่ แต่ rather-- ดังนั้นตีความว่า PHP เป็นภาษาตีความและอื่น ๆ หนึ่งในคุณสมบัติที่สำคัญในเว็บของคุณ เซิร์ฟเวอร์แม้จะดำเนินการโดยเรา คือความสามารถของเว็บเซิร์ฟเวอร์ของคุณนี้ จะแจ้งให้ทราบล่วงหน้าโอ้ นี้เป็นไฟล์ที่ลงท้ายด้วย .php ผมขอไม่เพียงส่งไปยัง ผู้ใช้เหมือนมันเป็นเนื้อหาแบบคงที่ แต่ให้ฉันอ่านมันเส้น เส้นซ้ายไปขวาและตีความมัน และจะทำอย่างไรที่คุณ ผู้ชายจะเป็นหลัก ม้าไปยังโปรแกรมในเครื่อง, และจำนวนมากของระบบคอมพิวเตอร์ เรียกว่าเพียงแค่ PHP นั่นคือชื่อของ PHP ล่ามภาษาของตัวเอง ดังนั้นชิ้นที่เราใช้สำหรับ คุณและสิ่งที่เหลือสำหรับคุณ ท้ายที่สุดคือจำนวน ของชิ้นส่วนในระหว่างที่ มีการดำเนินการสนับสนุน สำหรับเนื้อหาแบบคงที่ แต่ตอนนี้และมี ปัญหาตั้งเจ็ดคุณ จะเริ่มเปลี่ยนไป จริงการเขียนโค้ด PHP ที่ได้รับการตีความ ในการพูดคุยกับปลายด้านหลัง ฐานข้อมูลที่เก็บข้อมูล จึงขอทำความเข้าใจก่อน คู่ของ superglobals เหล่านี้ และเพียงแค่ว่าอำนาจคุณมาก ได้รับการออกจากกล่องฟรี กับภาษาเช่น PHP สิ่งที่คุณจะได้ไม่ต้อง ในการดำเนินการด้วยตัวคุณเอง ดังนั้นที่เราเห็นในวันจันทร์ที่ $ _GET, ซึ่งเป็น superglobal, ซึ่งเป็นเพียงการพูดสำหรับ PHP ทั่วโลก ตัวแปรที่คุณสามารถเข้าถึงได้ทุกที่ และสิ่งที่อยู่ภายในของ $ _GET? สิ่งที่อยู่ภายในนี้ superglobal ที่เราเห็น? สถิติที่แน่นอน อย่างน้อยหนึ่งคนที่รู้ว่า สิ่งที่อยู่ภายในของ $ _GET? ใช่? ผู้ชม: มันเป็นตัวแปร ที่คุณใส่ในสตริงการสืบค้น เดวิดเจลันเพอร์เฟ มันเป็นตัวแปรคุณ ใส่ในสตริงการสืบค้น ดังนั้นในตัวอย่างเก่าของเรา reimplementing Google เมื่อเรามี URL แล้วเครื่องหมายคำถาม, ซึ่ง demarcates เริ่มต้นของ HTTP พารามิเตอร์แล้วเรามีคิวเท่ากัน บางสิ่งบางอย่างเช่น Q เท่ากับแมว สิ่งที่จะไปโดยอัตโนมัติภายใน ที่ $ _GET ซุปเปอร์ทั่วโลกสำหรับคุณ เพราะของ PHP เป็นกุญแจสำคัญของ Q, และค่าดังกล่าวของแมว ในคำอื่น ๆ , $ _GET และทุก สิ่งเหล่านี้จะเชื่อมโยงอาร์เรย์ ตารางแฮชแปลก ๆ ว่า คีย์และค่าจัดเก็บ ตอนนี้กลับมาอยู่ใน pset5, กัญชา ตารางที่คุณอาจจะมีการดำเนินการ หรือคุณอาจจะพยายาม ได้ดำเนินการจริงๆ เป็นผลเชื่อมโยง อาร์เรย์โครงสร้างข้อมูล โดยคุณสามารถเชื่อมโยง คีย์ที่มีค่า แต่ใน pset5 ค่าได้เล็กน้อย มูลค่าเป็นความจริงเป็นหลักหรือเท็จ เป็นคำในพจนานุกรมหรือไม่ ดังนั้นเมื่อคุณ hashed คำเช่นแอปเปิ้ล เพื่อดูว่าแอปเปิ้ลอยู่ในพจนานุกรม ฟังก์ชั่นการตรวจสอบของคุณน่าจะ กลับมาจริงหรือเท็จ ดังนั้นที่มีประสิทธิภาพ ค่าที่เราได้รับกลับมา แต่ที่เราเห็นในวันจันทร์ที่ สั้น ๆ ที่คุณสามารถอย่างแน่นอน เชื่อมโยงที่น่าสนใจมากขึ้น ค่ากว่าเพียงแค่จริงหรือเท็จ ด้วยปุ่มเช่นแอปเปิ้ล คุณจริงจะกลับมา สตริงโดยพลการและแน่นอน นั่นคือสิ่งที่ $ _GET และสิ่งเหล่านี้ ตัวแปรอื่น ๆ ช่วยให้คุณทำ ดังนั้น $ _POST จะคล้ายกันในจิตวิญญาณ แต่ถ้าคุณส่งแบบฟอร์มผ่านการโพสต์ วิธี HTTP ที่แตกต่างกันที่ ใช้สำหรับสิ่งที่ต้องการบัตรเครดิต และข้อมูลส่วนตัวและแม้กระทั่ง ข้อมูลไบนารีเช่นภาพถ่าย, สิ่งเหล่านั้นจะจบลงภายในของ $ _POST และที่จริงสำหรับไฟล์ เช่น JPEGs และ whatnot, มีแม้กระทั่งอื่นที่ไม่ ที่นี่เรียกว่า $ _FILES เช่นกัน ดังนั้นเซิร์ฟเวอร์เราจะไม่อาศัยอยู่บนเกินไป มาก แต่ก็ช่วยให้คุณเข้าถึง การเรียงลำดับของรายละเอียดเกี่ยวกับระดับที่ต่ำกว่า เซิร์ฟเวอร์ของตัวเองว่าคุณกำลังใช้ คุกกี้และเซสชั่นแม้ว่า เราได้อย่างมีประสิทธิภาพจะเห็นตอนนี้ สุดท้ายคือสิ่งที่เราใช้ในการดำเนินการ ความคิดของตะกร้าช้อปปิ้ง หนึ่งง่ายสุด แต่เรียก ว่าเรามีตัวอย่างนี้ที่นี่ นับจำนวนครั้งที่คุณ ได้เข้าเยี่ยมชมหน้านี้ก่อน แต่วันนี้มากกว่าแค่มองไปที่ ผลของการนี​​้ให้เปิดขึ้น Chrome ของสารวัตร ซึ่งคุณสามารถที่จะ ทำโดยการคลิกหรือการควบคุมที่เหมาะสม คลิกที่ใดก็ได้บนหน้าเว็บ, และจากนั้นเลือกตรวจสอบองค์ประกอบ หรือคุณสามารถไปผ่านเมนู ที่เราจะอธิบายในข้อมูลจำเพาะของ pset6 และฉันจะแท็บเครือข่าย ที่นี่และขอดูสักครู่ การจราจร HTTP ที่เป็น จะกลับมา ก่อนอื่นผมขอไปข้างหน้า และชัดเจนแคช Chrome ได้ ดังนั้นบางส่วนของคุณอาจจะคุ้นเคย ด้วยเทคนิคนี้อยู่แล้ว และเรากำลังจะใช้มัน เพื่อวัตถุประสงค์ในการแก้จุดบกพร่องที่นี่ ตอนนี้เราเป็นคอมพิวเตอร์ นักวิทยาศาสตร์กำลังจะเริ่มต้น ทำเช่นนี้เพื่อแก้จุดบกพร่อง วัตถุประสงค์โดย เราจะล้างแคช, โดยปกติเพื่อให้เรา สามารถกำจัดสิ่งที่เรียกว่าคุกกี้ ดังนั้นคุณอาจคุ้นเคยโดยทั่วไป กับสิ่งที่ทำอยู่หรืออย่างน้อย ว่าพวกเขาอยู่ แต่สิ่งที่ ความเข้าใจของพวกเขาของคุณ เช่นเดียวกับผู้ใช้ คอมพิวเตอร์คืออะไรคุกกี้? ใช่ ผู้ชม: เป็นบิตเอ่อไม่ บิตในระยะของวิทยาการคอมพิวเตอร์ มันเป็นชิ้นส่วนของข้อมูลที่ ส่งไปยังเว็บไซต์ของคุณในการสั่งซื้อ เพื่อให้สามารถที่จะบันทึกสถิติเกี่ยวกับคุณ เดวิดเจลัน: ตกลงที่ดี ดังนั้นจึงเป็นชิ้นส่วนของข้อมูลที่ เซิร์ฟเวอร์ทำให้คอมพิวเตอร์ของคุณ และขอพูดคุยมันก็ มากขึ้นก็เป็นเรื่องที่สำคัญ value-- ดี ที่ได้รับความแม่นยำมากขึ้น มันเป็นชิ้นส่วนของ ข้อมูลชิ้นส่วนของข้อมูล, ว่าเซิร์ฟเวอร์สามารถ ที่จะใส่ในคอมพิวเตอร์ของคุณ และบ่อยครั้งมากเซิร์ฟเวอร์ไม่ นี้เพื่อที่จะจำได้ว่าคุณเป็นใคร ดังนั้นสำหรับตัวอย่างเช่นการต่อรอง ที่คุณอาจ เข้าสู่เว็บไซต์เช่น Facebook, หรือ Gmail หรืออื่น ๆ มาก่อน และคุณเข้าสู่ระบบด้วยของคุณ ชื่อผู้ใช้และรหัสผ่าน แล้วหลังจากนั้นสำหรับจำนวนบางส่วน นาทีหรือชั่วโมงหรือแม้กระทั่งวัน, เซิร์ฟเวอร์จำได้ว่า คุณกำลังในความเป็นจริงเข้าสู่ระบบ ตอนนี้วิธีการที่เกิดขึ้นจริง? เพราะคุณอย่างแน่นอนไม่จำเป็นต้องพิมพ์ ชื่อผู้ใช้และรหัสผ่านของคุณทุกครั้ง คุณนำทางไปยัง หน้าแตกต่างกันใน Facebook ดังนั้นมันจะเปิดออก คุกกี้คือคำตอบ คุกกี้ที่คุณสามารถคิดเป็น การจัดเรียงของชอบ, มือดิจิตอล แสตมป์ที่คุณอาจได้รับอย่างสนุก สวนสาธารณะหรือชมรมที่เป็นหลัก แสดงว่าคุณได้รับที่นี่ ก่อนและคุณได้อยู่แล้ว แสดง ID ของคุณที่จะโกหกเพื่อ เช่นและว่าสโมสรหรือสวนสาธารณะ ตอนนี้ควรจะคิดว่าคุณ ได้รับรองความถูกต้องแล้ว คุณได้รับการระบุไว้แล้วโดยมัน ดังนั้นด้วยที่ในใจ เรามาเปิดเคาน์เตอร์ที่นี่ ให้ฉันไปข้างหน้าผมก็ทำ และล้างทั้งหมดของคุกกี้ของฉัน และตอนนี้สิ่งที่ผมจะทำคือ แป้น Shift ค้างไว้เพียงสำหรับการวัดที่ดี และบังคับให้โหลดหน้าเว็บ เปลี่ยนเพียงให้แน่ใจว่า ไม่มีอะไรที่ได้รับการเก็บไว้ และนี่คือการร้องขอ ที่เดินกลับมา ดังนั้นกว่าที่นี่เรามีการร้องขอและให้ ฉันขยายลงที่นี่และจำนวนมากนี้ เป็นรายละเอียดการจัดเรียงของน่าทึ่งสำหรับ ตอนนี้ที่เบราว์เซอร์ได้โดยอัตโนมัติ ส่ง แต่ขอให้คลิกดู แหล่งที่มาจะเห็นส่วนหัวของดิบ และถ้าคุณได้ดำดิ่งลงไป pset6 แล้ว แน่นอนคุณจะได้รับรู้สิ่งที่ เช่นนี้และบางทีบาง ของสายอื่น ๆ เหล่านี้ที่นี่ แต่สิ่งที่น่าสนใจมากขึ้นสำหรับวันนี้ ถ้าผมเลื่อนลงมาไม่ได้ที่จะขอ แต่การตอบสนองที่เรียกว่า บรรทัดนี้อาจจะมีลักษณะที่คุ้นเคย นั่นเป็นสิ่งที่ดี เมื่อคุณเห็น 200 OK เห็นได้ชัดว่านี่คือ วันที่และเวลาบนเซิร์ฟเวอร์ และมีพวงของสิ่ง โอ้นี้เป็นที่น่าสนใจ จะเปิดออกเมื่อใดก็ตามที่คุณใช้ PHP, อย่างน้อยในเซิร์ฟเวอร์นี้ เซิร์ฟเวอร์ถ่มน้ำลายออกมาสิ่งที่ รุ่นของ PHP ที่คุณกำลังใช้ ซึ่งในความเป็นจริงสำหรับการรักษาความปลอดภัย จุดประสงค์ไม่ได้เป็นสิ่งที่ดี แต่เราจะกลับมาที่ บางเวลาอื่น ๆ อาจจะ แต่ตอนนี้เป็นสายฉ่ำในวันนี้ และในเวลาสั้น ๆ ที่เราเห็นบางส่วนของเหล่านี้ ผมคิดว่าด้วย Facebook เมื่อเราแหย่ ตรวจสอบรอบในเวลานั้น คุกกี้ชุดคือสิ่งที่ปลูก ชิ้นส่วนเล็ก ๆ ของข้อมูล ไปยังเครื่องคอมพิวเตอร์ของคุณ นี่คือส่วนหัว HTTP ที่มีประสิทธิภาพ บอกเบราว์เซอร์ของคุณ Chrome, IE, อะไรก็ตาม เฮ้เบราว์เซอร์ในการจัดเก็บของผู้ใช้ ฮาร์ดไดรฟ์หรือในหน่วยความจำของผู้ใช้ ที่สำคัญที่เรียกว่า PHPSESSID ซึ่งเป็น สัญกรณ์ชวเลขสำหรับ ID เซสชั่น, และให้ค่าเป็น 0vlk8t จุดจุดจุด หลอกนานจริงๆ สตริงตัวอักษรและตัวเลขแบบสุ่ม มันเป็นเพียงเป็นจำนวนมากจริงๆ แต่ จะเข้ารหัสกับตัวอักษรและตัวเลข เพื่อให้ขนาดของมันสามารถ แม้จะมีขนาดใหญ่กว่าตัวเลขเพียงอย่างเดียว และแล้วโดยวิธีการที่เส้นทาง = / ที่ ก็หมายความว่าคุกกี้นี้ควรจะเป็น ที่เกี่ยวข้องกับ ความสมบูรณ์ของเว็บไซต์ ไม่เพียงเฉพาะ หน้าสิ่งที่ทั้ง ดังนั้นนี่คือตราประทับมือที่เสมือน มันราวกับว่าเซิร์ฟเวอร์, Facebook, หรือในกรณีของเราเครื่องใช้ไฟฟ้า, มี 0vlk8t เขียนตัวอักษร และอื่น ๆ ในมือของคุณ สังเกตเห็นสิ่งที่เซิร์ฟเวอร์ของ ไม่ได้ทำมันไม่ได้ การจัดเก็บชื่อผู้ใช้ของฉันอย่างแน่นอน ไม่จัดเก็บรหัสผ่านของฉัน แต่มันดูเหมือนจะเป็น การจัดเก็บข้อมูลแบบสุ่มหลอก เพื่อให้ไม่มีใครสามารถคาดเดาได้ สิ่งที่ประทับมือของฉันคือ ในฝั่งเซิร์ฟเวอร์, ขณะที่เซิร์ฟเวอร์ จะไปจำได้ว่าอาจจะ ในฐานข้อมูลหรืออะไร ที่ผู้ใช้ที่อยู่ในอนาคต นำเสนอประทับมือของ 0vlk8t, จุด, จุดจุดควรจะเกี่ยวข้องกับเรื่องนี้ ตะกร้าช้อปปิ้งโดยเฉพาะอย่างยิ่งเพื่อที่จะพูด ในคำอื่น ๆ ถ้าฉันตอนนี้ไป กลับมาที่นี่และโหลดหน้าเว็บนี้ วิธีการที่ไม่ทราบว่าเซิร์ฟเวอร์ ที่ผมไปเยี่ยมครั้งหนึ่ง? หรือถ้าเราทำมันอีกครั้งไม่ว่าเซิร์ฟเวอร์ รู้ว่าผมเคยไปเยี่ยมมันสองครั้ง? ดีถ้าผมไปลงไปนี้ คำขอที่ผ่านมามากที่สุดซึ่ง ขณะนี้เป็นที่สามที่ผมได้ส่ง รวมแจ้งให้ทราบคำขอของฉันตอนนี้ ยังมีนี้ ขอขึ้นที่นี่เหมือนกัน เหมือนก่อนหน้านี้ยังคงมีทั้งกลุ่ม ของสิ่งที่เราสนใจเช่นเดิม แต่ส่วนหัวสุดท้ายนี้ เวลาเพราะผมอยู่ที่นี่มาก่อน เป็นการนำเสนอของ แสตมป์เสมือนมือนี้ โดยสายนี้ที่นี่ไม่ได้ตั้งค่าคุกกี้ แต่ลำไส้ใหญ่คุกกี้ PHPSESSI = 0vlk8t, นั่นเป็นเพียงเบราว์เซอร์ของฉันโดยอัตโนมัติ การนำเสนอของแสตมป์มือนี้เพื่อให้ ตอนนี้เซิร์ฟเวอร์ที่เร็วที่สุดเท่าที่จะตระหนักถึง, โอนี้เป็นผู้ใช้จุด 0vlk8t, จุด, จุด, ตอนนี้ผมสามารถจำที่เขาหรือเธอเป็น และสร้างความสัมพันธ์ให้กับผู้ใช้ว่าสิ่งที่ ข้อมูลที่ผมต้องการและทุก ข้อมูลที่สามารถเก็บไว้โดยคุณ โปรแกรมเมอร์ใน $ _SESSION ดังนั้นเพื่อให้มีความชัดเจนถ้าผมเปิดขึ้นจริงอย่างรวดเร็ว ใน Gedit ว่าไฟล์จริง counter.php, ในพื้นที่ท้องถิ่นไดเรกทอรีสาธารณะของฉัน ก่อนที่จะแจ้งให้ทราบว่าจริง ฉันในที่สุดการจัดเก็บใน $ _SESSION อ้าง unquote "โต้" ค่าของที่เคาน์เตอร์ก่อนหน้านี้ที่ ฉันได้รับจากบรรทัดเหล่านี้ขึ้นที่นี่ว่าเรา มองที่ครั้งสุดท้ายที่บวกหนึ่ง ดังนั้นภายใต้เครื่องดูดควัน, ที่คุกกี้ทั้งหมด มันเป็นเพียงการเรียงลำดับของดิจิตอล ประทับมือจะกลับมา และตรงไปตรงมาถ้าคุณเปิดโครเมี่ยม ตรวจสอบในเว็บไซต์ใด ๆ คุณเข้าเยี่ยมชมในวันนี้ด้วย สุดน่าจะเป็นสูง คุณกำลังจะไปดูบางทีหนึ่ง คุกกี้อาจจะครึ่งโหล ถูกจำได้ว่าคุณ และแย่ลงยังถ้าผู้ เว็บไซต์ที่คุณกำลังเยี่ยมชม ทุกคนมีการโฆษณาซึ่ง แน่นอนวันนี้บ่อย และหากโฆษณาเหล่านี้จะมา จากบุคคลกลางบางคน เช่น Google AdWords หรือที่พวกเขา เรียกหนึ่งของผลิตภัณฑ์ของตน หรือผู้ค้าอื่น ๆ ที่ ขายโฆษณาสิ่งที่น่าสนใจ และตรงไปตรงมาว่ามีอะไรเล็ก ๆ น้อย ๆ น่าเป็นห่วงเกี่ยวกับวิธีการทำงานของ HTTP, คือว่าถ้าคุณมีโฆษณาที่ฝังตัว ใน Facebook.com และ Google.com, และ Harvard.edu, หมายเลขใด ๆ ของเว็บไซต์จึงเป็นเช่น ว่ามีชายวัยกลางคนที่กำลังทำหน้าที่ ค่าโฆษณาสำหรับทั้งสามของเว็บไซต์เหล่านั้น ปรากฎว่า คุกกี้เป็นราคาต่อโดเมน ดังนั้นถ้าคุณมีโฆษณามาจาก บริษัท เดียวกันบนเว็บไซต์ที่แตกต่างกัน, บริษัท ที่มีประสิทธิภาพสามารถติดตามผู้ที่ คุณอยู่ในทุกเว็บไซต์เหล่านั้น ฮาร์วาร์อาจไม่ทราบ คุณกำลังเยี่ยมชม Facebook Facebook อาจไม่ทราบและ คุณกำลังเยี่ยมชมฮาร์วาร์ แต่บริการโฆษณาใด ๆ ก็ตาม พวกเขากำลังใช้ถ้าโดเมนที่เป็น ปัจจุบันทั้งในเว็บ Harvard.edu หน้าและหน้าเว็บ Facebook.com, ชายกลางแห่งนี้อย่างแน่นอนรู้ว่าคุณเป็นใคร เพราะคุกกี้เหล่านี้ถูกใช้ร่วมกัน ข้ามหรือมากกว่าไป ที่เรียกว่าพ่อค้าคนกลาง ดังนั้นเราจะกลับมาที่นี้ ผลกระทบการรักษาความปลอดภัยดังกล่าว แต่มีข้อมูลจำนวนมากที่เป็น ถูกเก็บไว้เกี่ยวกับคุณเวลาที่คุณ เยี่ยมชมหน้าเว็บมากที่สุดใด ๆ อินเทอร์เน็ตและมันจริงๆ ช่วยลดนี้กลไกที่ง่ายมาก จะเกิดอะไรขึ้นแล้วถ้า คุณซุปเปอร์หวาดระแวง และคุณตัดสินใจที่จะไปลงใน Chrome หรือ IE หรืออะไรก็ตามและปิดคุกกี้ของคุณ? เกิดอะไรขึ้น? ใช่? คุณทีี่จริงที่คุณได้ทำถูกต้องหรือไม่? ตกลง ไม่มีการไปข้างหน้า ผู้ชม: บางเว็บไซต์ไม่ได้ ฟังก์ชั่นโดยไม่ได้เช่น Facebook เดวิดเจลัน: ใช่! เว็บไซต์ดังนั้นบางอย่าง ก็จะหยุดทำงาน และในเว็บไซต์มากที่สุดวันนี้ ที่เป็นพื้นฐานพึ่งพาคุกกี้ โดยเฉพาะอย่างยิ่งถ้าพวกเขามีคุณเข้าสู่ระบบ ในพวกเขากำลังจะทำลาย เพราะพิจารณา ทางเลือกถ้าเว็บไซต์ มีวิธีการที่ไม่มีการจดจำว่าคุณเป็นใคร และดังนั้นจึงเว็บเบราว์เซอร์ของคุณไม่ได้ ที่เป็นตัวแทนของทุก HTTP คำขอของแสตมป์มือนี้ ได้อย่างมีประสิทธิภาพเว็บไซต์ เช่น Facebook ที่เกิดขึ้น ที่จะมีการแจ้งให้คุณ เข้าสู่ระบบในทุกครั้งที่สาป คุณเปลี่ยนหน้าหรือคลิกลิงค์ที่ แน่นอนไม่ใช่ผู้ใช้ที่ดีโดยเฉพาะอย่างยิ่ง ประสบการณ์ เพื่อให้มีมากเกินไปคือ ในการแข่งขันทางการค้า โดยไม่ต้องกังวลใจต่อไปลองมา เหมาว่ากับการเขียนโปรแกรมเว็บ ในภาษาเช่น PHP, คุณสามารถจำได้ ข้อมูลเช่นว่าในปัญหาการตั้งค่า เจ็ดเมื่อคุณใช้ของคุณเอง เว็บไซต์ E * การค้าเช่นเดียวกับที่จะซื้อ และขายหุ้นคุณจะจำได้ว่า สิ่งที่ผู้ใช้มีการซื้อและขาย และผู้ที่เขาหรือเธอเป็น โดยวิธีการของการประชุมครั้งนี้ แต่เรากำลังจะต้อง วิธีที่นักเล่นกว่าอีเมล์ ที่จะเริ่มต้นการเก็บรักษาข้อมูลรอบ ใช่มั้ย? ในวันจันทร์ที่เราได้พูดคุยเกี่ยวกับ Frosh IMs และวิธีการในรุ่นหนึ่งของเว็บไซต์นั้น ปีที่ผ่านมาทั้งหมดที่เราทำก็คือ อีเมลสอบว่ามีใคร ในความดูแลของกีฬาภายใน โปรแกรมชื่อและเพศ และหรือไม่พวกเขากำลังกัปตัน และหอพักของใครบางคนที่เป็น การลงทะเบียนสำหรับการเล่นกีฬาภายใน ดังนั้นจึงไม่เลวร้าย แต่เขาหรือเธอแล้ว มีการหมุนรอบผ่านทางอีเมลของพวกเขา ทำให้สเปรดชีทหรือสิ่งที่ต้องการ นั้นเพื่อให้ทุกอย่างจัด ดังนั้นแน่นอนเราเป็นโปรแกรมเมอร์ สามารถทำเช่นนี้สำหรับการสอบที่ และเพื่อให้เข้าใน SQL, Structured Query Language, ซึ่งจะดูสวย ที่แตกต่างกันทั้ง C และ PHP, และคุณจะดำน้ำในมือมากขึ้นใน PHP และปัญหาการตั้งเจ็ดคน แต่ยัง SQL, หรือ SQL นี้เป็นภาษาที่ คุณใช้ในการพูดคุยกับฐานข้อมูล แต่สิ่งที่เป็นฐานข้อมูลหรือไม่ ดีที่คุณคิดว่า ฐานข้อมูลอย่างน้อยสำหรับตอนนี้ เช่นเดียวกับการเป็นเช่นไฟล์ Excel หรือ ถ้าคุณเป็นแฟ้ม Mac หมายเลขผู้ใช้ หรือถ้าคุณเป็นผู้ใช้ Google Apps ผู้ใช้ Google สเปรดชีต มันได้อย่างมีประสิทธิภาพฐานข้อมูลหรือจริงๆ โดยเฉพาะฐานข้อมูลเชิงสัมพันธ์ ฐานข้อมูลเชิงสัมพันธ์เป็นเพียง สิ่งที่มีแถวและคอลัมน์ และคุณสามารถจัดเก็บชนิดของใด ๆ ข้อมูลในแถวหรือคอลัมน์เหล่านี้ แต่สิ่งที่ดีเกี่ยวกับ SQL และ เกี่ยวกับฐานข้อมูลที่เกิดขึ้นจริงไม่เพียง กระดาษคำนวณหรือ Google สเปรดชีต คือการที่คุณสามารถใช้ภาษา ที่จริงการดำเนินการสอบถามไปยัง ใส่ข้อมูลที่จะลบข้อมูล ที่จะมองหาข้อมูลได้ ที่สำคัญที่สุดและคุณ ไม่ได้มีการใช้อย่างเป็นธรรมด้วยตนเอง ที่คุณอาจจะ Google สเปรดชีตเช่นนี้ ดังนั้นใน SQL มีพวงของ งบพื้นฐานหรือชิ้นส่วน ของการทำงานที่สร้างขึ้นใน ยังมีอีกมากมายกว่านี้ แต่คุณสามารถไปไกลมาก เพียงแค่รู้ว่า ภาษานี้เรียกว่า SQL มีอย่างน้อยสี่ งบที่คุณสามารถใช้ประโยชน์จาก ลบสำหรับการลบข้อมูล แทรกสำหรับการเพิ่มแถว การปรับปรุงสำหรับการเปลี่ยน แถวและคัดเลือก สำหรับการกลับมาแถวและ นั่นคือสิ่งที่แน่นอน SQL ไม่ จะดำเนินการทั้งหมดในแถวเพื่อ ว่าเมื่อคุณแทรกหรือลบ หรือการปรับปรุงหรือเลือกสิ่งที่คุณกำลัง การกลับมาเป็นชุดผลที่เรียกว่า เช่นเดียวกับอาร์เรย์ของแถว พวงของแถวจากตาราง ดังนั้นกลับมาในวันที่ และแม้กระทั่งวันนี้ คุณสามารถโต้ตอบกับ ฐานข้อมูลโดยใช้บรรทัดคำสั่ง, แต่มันก็ไม่สนุกโดยเฉพาะอย่างยิ่งที่จะใช้ หน้าต่างแบบสีดำและสีขาว และที่จริงรันคำสั่ง และกระตุ้นรอบฐานข้อมูลของคุณ อินเตอร์เฟซผู้ใช้แบบกราฟิกหรือ GUI, เป็นอย่างมากที่นิยมมากขึ้นเนื้อหา และเพื่อให้เครื่องมือที่เราขอแนะนำและ ติดตั้งไว้แล้วสำหรับคุณบนตัวเครื่อง เรียกว่า phpMyAdmin มันเป็นความบังเอิญที่ทั้งหมด ชื่อของสิ่งนี้มี PHP ในนั้น มันก็หมายความว่าคน ผู้เขียนโปรแกรมนี้ตัวเอง เขียนใน PHP แต่มันเป็นเรื่องเกี่ยวกับการบริหารในที่สุด เซิร์ฟเวอร์ฐานข้อมูลเช่น MySQL เซิร์ฟเวอร์ ที่คุณอาจมีเป็นคุณ ทำในเครื่อง CS50 เพื่อให้มีรายละเอียดมากขึ้นกว่าที่นี่ เราจำเป็นต้องดูแลเกี่ยวกับวันนี้ แต่สิ่งที่สำคัญคือทางด้านซ้าย ด้านซ้ายมือคือรายการของฐานข้อมูล ที่คุณมีในเครื่องคอมพิวเตอร์ของคุณ บนตัวเครื่อง CS50 ของคุณ หรือมาโครงการสุดท้ายที่คุณอาจ ที่มีต่อบุคคลที่สาม บริษัท ฯ เว็บไซต์หรือเว็บเซิร์ฟเวอร์ที่ คุณอาจจะจ่ายเงินสำหรับพื้นที่ ดังนั้นด้านซ้ายเป็น ฐานข้อมูลหนึ่งซึ่ง เป็น pset7 ซึ่งผมยืมมาจากต่อไป สัปดาห์ pset แล้วด้านบน มีแจ้งให้ทราบล่วงหน้ามี พวงของแท็บหนึ่งซึ่ง เป็นฐานข้อมูล SQL สถานะ, ผู้ส่งออกและอื่น ๆ เพื่อให้คุณสามารถไปนาน วิธีการเพียงแค่การตระหนักถึง ว่าส่วนใหญ่ของส่วนติดต่อผู้ใช้ อยู่ในคอลัมน์ซ้ายด้านบน และในส่วนบนขวาขึ้นอยู่ ดังนั้นสิ่งที่เราสามารถทำจริงกับเรื่องนี้? ดีขอเริ่มต้นสร้าง บิตของข้อมูลดังต่อไปนี้ สมมติว่าต่อไปนี้เป็นกรณีที่ ที่จะได้รับในเวลาเพียงไม่กี่วัน คุณต้องการที่จะดำเนินการ เว็บไซต์ที่เรียกว่า CS50 การคลัง และเว็บไซต์นี้จะช่วยให้คุณซื้อ อ้าง unquote และขายหุ้น และมันจะคิดออก ราคาของหุ้นเหล่านั้น ที่สุดเท่าที่คุณจะเห็น โดยพูดคุยกับกองทุนการเงินระหว่างประเทศ ที่เยี่ยมยอดมีบริการฟรี โดยคุณสามารถส่งในราคาหุ้น เช่น GOOG สำหรับ Google และจะ ให้คุณกลับหุ้นปัจจุบันของ Google ราคาในอดีตที่ผ่านมา ไม่กี่นาทีอย่างน้อย ดังนั้นคุณจะใช้มันในที่สุด เพื่อหลอกให้ผู้ใช้ การซื้อและขายที่เกิดขึ้นจริง หุ้นใช้เงินเสมือน แต่สิ่งแรกที่ ผู้ใช้จะเห็น เป็นหน้าจอเข้าสู่ระบบนี้ที่ถาม ชื่อผู้ใช้และรหัสผ่านของพวกเขา และเพื่อให้คนแรก ความท้าทายสำหรับคุณใน pset7 เป็นไปได้ที่จะใช้ปลายด้านหลัง ฐานข้อมูลสเปรดชีตถ้าคุณจะ, ที่จะจัดเก็บ ชื่อผู้ใช้และรหัสผ่าน และในที่สุดสิ่งที่พวกเขาเป็นเจ้าของหุ้นและ หลายวิธีและวิธีการมากเงินสดที่พวกเขามี เพื่อให้พวงของสิ่งอื่น ๆ ใน ตารางอื่น ๆ หรือสเปรดชีท ดังนั้นลองมาดูที่วิธีการนี​​้ อาจจะปรากฏได้อย่างรวดเร็วก่อน ฉันจะกลับไป เครื่องใช้และฉัน จะไปที่ URL นี้ที่นี่ phpMyAdmin localhost / phpMyAdmin และคุณจะเห็นว่ามัน ฉันจะใช้เวลากับอินเตอร์เฟซ ตรงตามที่เราเห็นใน ยิงหน้าจอและที่นี่ฉัน มีฐานข้อมูลเพิ่มเติม ที่เรียกว่าการบรรยายสำหรับวันนี้ และแจ้งให้เราไปข้างหน้า ครั้งแรกและคลิกที่ pset7 ฉันดูเหมือนจะมีสองตัวเลือก, หนึ่งใหม่สำหรับการสร้างตารางใหม่ และเชื่อมโยงกับผู้ใช้ซึ่ง เป็นตารางที่ผมสร้างไว้แล้ว ดังนั้นสิ่งที่โต๊ะ? ดังนั้นถ้าคุณใช้ Excel ก่อนและถ้าคุณได้ หมายเลขที่ใช้หรือ Google Spreadsheets คุณเปิดหน้าต่าง และคุณจะได้รับทั้งกลุ่ม ของแถวและคอลัมน์ แต่แล้วคุณมักจะมีแผ่นงาน ตามด้านล่างหรือแท็บแยกต่างหาก คุณสามารถคิดของแต่ละ แผ่นเป็นตาราง เพื่อให้ฐานข้อมูลว่าในท้ายที่สุดคือ การรวมกันของหนึ่งหรือมากกว่าหนึ่งตารางหนึ่ง หรือแผ่นงานมากขึ้นใน โลกของสเปรดชีทปกติ เพื่อให้ฉันไปข้างหน้าและ คลิกบนแผ่นงานนี้ ที่ฉันเพสตรี้ที่เรียกว่าผู้ใช้ a.k.a. ตารางฐานข้อมูล และถ้าผมเลื่อนลงมาที่นี่ ให้ฉันซูมออกเล็กน้อย นี่คือสิ่งที่จะบอก phpMyAdmin เราที่อยู่ภายในของตารางนี้ได้ในขณะนี้ มันเป็นเรื่องเล็ก ๆ น้อย ๆ ทำให้เกิดความสับสนในตอนแรก อย่างรวดเร็วเพราะ UI ไม่ได้ สิ่งที่สวยที่สุดในโลก แต่ สิ่งที่น่าสนใจเป็นส่วนหนึ่งที่นี่ รหัสชื่อผู้ใช้และกัญชา ล่วงหน้าและคุณจะส่ง ปัญหานี้ในการตั้งเจ็ด เราให้คุณไฟล์ที่มีซุปเปอร์ ตารางฐานข้อมูลขนาดเล็กที่ยืมจริง จากรุ่นแฮ็กเกอร์ ของปัญหาการตั้งสอง ภายในซึ่งมีหกแถว หนึ่งสำหรับเบลินดาทั้งหมด ทางลงไปหนึ่งสำหรับ Zamyla, และขอให้สังเกตทางด้านซ้ายของผู้ ชื่อผู้ใช้เป็นรหัสที่ไม่ซ้ำเช่นหนึ่ง สองสามสี่ห้าหกจำนวนเต็ม และจากนั้นไปทางขวาเป็นแฮช และหากการต่อรองที่คุณไม่ได้ทำ ปัญหาฉบับแฮกเกอร์ตั้งสอง, แต่กัญชาเป็นเหมือนการเข้ารหัสเพียง รหัสผ่านที่มีเพียงไม่กี่คำเตือน ดังนั้นสิ่งที่คุณเห็นที่นี่เป็น รุ่นเข้ารหัสของทั้งหก ของรหัสผ่านของเราจากปัญหา ตั้งรุ่นแฮ็กเกอร์ที่สอง ตอนนี้ไปทางซ้ายเป็นเพียงบางสิ่งที่ GUI, แก้ไขแถวนี้คัดลอกแถวนี้ การลบแถวนี้ แต่สิ่งที่น่าสนใจ ขณะนี้คือต่อไปนี้ ที่จริงผมสามารถเริ่มต้น ทดลองกับตารางนี้ ดังนั้นถ้าเราไปคลิก SQL แท็บผมได้รับกล่องข้อความนี้ขนาดใหญ่ และนี่ไม่ใช่วิธีการที่เรากำลังจะไป ทำมันจริงเมื่อเขียนโค้ด การจะมีความชัดเจน phpMyAdmin เป็นเพียงเครื่องมือที่ จะให้เรากระตุ้นรอบฐานข้อมูล และให้เราทดลองกับคำสั่ง ดังนั้นสำหรับตัวอย่างเช่นสมมติว่า ผมดำเนินการตรงนี้ เลือกซึ่งเป็นหนึ่งในบรรดา คำหลักที่ผมกล่าวถึงก่อนหน้านี้, ดาว, ซึ่งแสดงให้เห็นทั้งหมด คอลัมน์ในตาราง จากสิ่งที่โต๊ะ? ดีผู้ใช้ และแจ้งให้ทราบว่ามีนี้ การประชุมแปลกใน SQL ที่คุณใช้จริง กลับเห็บปกติ คำพูดไม่ได้คนเดียวและคำพูดไม่ได้คู่ เมื่อคุณพูดคุยเกี่ยวกับชื่อตาราง ดังนั้นคำพูดกลับเป็นสิ่งที่ มือซ้ายด้านบนของแป้นพิมพ์ของคุณมากที่สุด น่าจะ เพื่อให้ฉันไปข้างหน้าตอนนี้ และเพิ่งออกจากที่อยู่คนเดียว และเลื่อนลงและคลิกไปและเรา จริงจะได้เห็นในสิ่งเดียวกัน เราได้ดำเนินการเพียงแค่แบบสอบถาม SQL บอกว่าเลือกทุกอย่างดาว จากตารางที่เรียกว่าผู้ใช้และ สิ่งที่คุณจะได้รับกลับมาคือ ในที่สุดเราจะสามารถที่จะ ทำสิ่งเดียวกันในรหัส แต่สำหรับตอนนี้สิ่งที่ผมอยากจะ ทำก็คือดูได้ในเบราว์เซอร์ของฉัน ดีให้ทำอะไรบางอย่าง แตกต่างกันเล็กน้อย ผมขอกลับไปที่แท็บ SQL, และให้เพียงกล่าวว่าสิ่งที่? Zamyla ได้หายไปทั้งหมดของเธอ เงินและดังนั้นจึงเป็น เวลาที่เราจะลบเธอเป็นผู้ใช้ เธอไม่ได้เข้าสู่ระบบ ดังนั้นฉันจะบอกว่าลบ from-- ดีรักษามูลค่า เพื่อความมั่นคงลบ จากผู้ใช้ที่ และเพื่อให้เราสามารถมีเหล่านี้ ภาคหรือเหล่านี้ บ่นในตอนท้ายของคำสั่งของฉัน และวิธีการที่ฉันสามารถลบ Zamyla? โดยใช้ชื่อ Zamyla เธอดังนั้น คอลัมน์หนึ่งคอลัมน์ ถูกเสนอชื่อเพื่อให้ที่ชื่อ = "Zamyla" และที่นี่ผมใช้สองครั้ง คำพูดหรือคำพูดเดียว คุณจะใช้กลับเห็บเมื่อ พูดคุยเกี่ยวกับชื่อตัวอย่างเช่น ของตารางหรือสาขา และแจ้งให้เราคลิกไปที่นี่ และตอนนี้หน้าเว็บเป็น เป็นตกใจเล็กน้อย หรือคุณไม่ต้องการที่จะดำเนินการลบจริงๆ จากผู้ใช้ที่ชื่อเท่ากับ Zamyla? ใช่ ดังนั้นตอนนี้ถ้าเรากลับไปที่โต๊ะของฉัน โดยการคลิกที่ผู้ใช้พบว่าอืม ฉัน goofed และในความเป็นจริงผมชนิด คลิกออกไปอย่างรวดเร็ว คุณไม่ได้เห็น เกิดข้อผิดพลาดสีแดงบางที ผมทำอะไรผิดหรือเปล่า? ผู้ชม: คุณไม่จำเป็นต้อง ที่จะใช้ประโยชน์ชื่อของเธอ เดวิดเจลัน: ใช่ฉัน พิมพ์ชื่อของเธอ แต่เธอ username-- ที่จริงผม ทำผิดพลาดคู่ใช่มั้ย? หนึ่งชื่อของเธอ zamyla พิมพ์เล็ก Z, และชื่อคอลัมน์ที่เป็นชื่อผู้ใช้ ได้ชื่อนี้จึงขอทำเช่นนี้อีกครั้ง ให้ฉันไปข้างหน้าและ ลบจากผู้ใช้ที่ ชื่อผู้ใช้เท่ากับอ้าง unquote "Zamyla" ทั้งหมดใช่มั้ย? ดังนั้นนี่ดูดีกว่าเล็ก ๆ น้อย ๆ ให้ ฉันไปเลื่อนลงและคลิกไป มันยังจะ ตะโกนมาที่ผมเพื่อให้แน่ใจว่า ฉันคลิกใช่และตอนนี้เราเห็น ตรงไปตรงมาเรื่องนี้เกิดขึ้นจริงๆ รวดเร็วน้อยกว่าหนึ่ง ที่สองอย่างแน่นอนนี้ เป็นว่าแบบสอบถามที่ได้ดำเนินการ เพื่อยืนยันให้ฉันคลิกผู้ใช้ และแน่นอนตอนนี้ Zamyla หายไป ตอนนี้ขอทำตรงข้าม สมมติว่าเกบต้องการ ลงทะเบียนสำหรับเว็บไซต์ อะไรแบบสอบถาม SQL อะไร คำสั่งฉันสามารถพิมพ์เพื่อเพิ่มเกบ? ดีก็ตรงไปตรงสวย ใส่ลงในผู้ใช้และตอนนี้ จะได้รับความลับเล็ก ๆ น้อย ๆ ฉันต้องการที่จะระบุไปยังเซิร์ฟเวอร์ ว่าฟิลด์ผมต้องการที่จะกำหนด ฉันไม่สนใจจริงๆสิ่งที่เกบ ID ของ จำนวนเป็นดังนั้นฉันจะข้ามว่า ฉันแทนจะพูด ชื่อผู้ใช้กัญชาแล้ว ค่าที่ฉันต้องการที่จะนำ มีเป็นไปได้เกบ แล้วแฮชของเขาผมไม่ทราบ ดังนั้นสำหรับตอนนี้ผมกำลังจะไป ออกจากที่เป็นขนาดใหญ่ที่จะทำ เราจะกลับมาที่ ว่าในปัญหาที่กำหนด ข้อมูลจำเพาะเป็นวิธีที่คุณทำจริงว่า ดังนั้นสังเกตเห็นอีกครั้งไวยากรณ์ ใส่ลงในชื่อของตารางแล้ว รายการวงเล็บของฟิลด์, คอลัมน์ที่คุณต้องการเพิ่ม ค่าและจากนั้นเพียง การสั่งซื้อที่แน่นอนเดียวกันจากซ้ายไป ด้านขวาของค่าที่คุณต้องการเพิ่ม และเป็นเพียงการตัดเพราะ ข้อความที่มีความยาวเพียงเล็กน้อย ดังนั้นตอนนี้ให้ฉันคลิกไป หนึ่งแถวแทรก และตอนนี้ถ้าผมกลับไป ผู้ใช้สิ่งที่น่าสนใจ เป็นที่ไม่เพียง แต่เป็นเกบอยู่ในขณะนี้ ฐานข้อมูลเป็นสิ่งที่เห็นได้ชัด ID ของเขา? ดีมันเจ็ด ทำไมมันเจ็ดเมื่อฉันไม่ได้เพิ่มมันได้หรือไม่ ดังนั้นนี่ก็เป็นหนึ่งใน คุณจะได้รับคุณสมบัติของฐานข้อมูล จำนวนมากที่สร้างขึ้นในการทำงาน แต่กลับกลายเป็นว่าเมื่อ สร้างตารางนี้ ผมไว้ล่วงหน้ามันโดยอัตโนมัติ กำหนดรหัสในลักษณะ ว่ามันเพิ่มขึ้น ดังนั้นถ้าคุณได้เคยโผล่ไปรอบ ๆ และมองไปที่ Facebook ID ของคุณสิ่งที่ จำนวนคือวันนี้มันไม่ได้จริงๆ สิ่งที่จะทำ แต่ Facebook เป็น API, Programming Interface แอพลิเคชัน โดยคุณจะได้รับกลับมา ทั้งกลุ่มของข้อมูลเกี่ยวกับ ตัวเองเกี่ยวกับเพื่อนของคุณ และการเชื่อมต่อของคุณ และสิ่งที่ใช้จะเป็นชนิด เย็นกลับในวันที่ ก็คือมองหาสิ่งที่คุณ หมายเลข ID Facebook เป็น Mark Zuckerberg ของ ตัวอย่างเช่นเป็นสาม ตั้งแต่เขายังเป็นผู้เขียนของเว็บไซต์ และเป็นเรื่องที่ไปเขาสร้าง การทดสอบทั้งสองบัญชีผู้ใช้หนึ่งและสอง, ซึ่งเขาก็ลบออก ดังนั้น Zuck เป็นชื่อผู้ใช้ของเขา ใน Facebook, คือหมายเลขสาม และเราทุกคนมีจำนวนมาก มีขนาดใหญ่กว่าสามวันนี้ ในความเป็นจริงในบางจุด facebook ย้ายออกไป จากการได้ใช้ int ซึ่ง เป็นค่า 32 บิตในการใช้ ขั้นตอนที่เพิ่มขึ้นต่อไป เป็นหลักเป็นเวลานานนานมาก ว่าพวกเขาสามารถรองรับ แม้ผู้ใช้มากขึ้นในการลงทะเบียน ดังนั้นความสนุกสนานความเป็นจริงทางประวัติศาสตร์เล็ก ๆ น้อย ๆ เพื่อให้เป็นเพียง ไวยากรณ์พื้นฐานที่ เราอาจจะดำเนินการคู่ของ คำสั่ง แต่เราสามารถทำได้จริง ทำในสิ่งที่พวงมากขึ้นกับ SQL และคุณจะเห็นในที่สุด ในปัญหาที่กำหนดเจ็ด ที่คุณจะต้องทำ จำนวนของการตัดสินใจการออกแบบ ในหมู่พวกเขาเป็นไปได้ สิ่งที่ชนิดของข้อมูลที่จะใช้ ดังนั้นเช่นเดียวกับใน C มีข้อมูล ประเภทในฐานข้อมูลเช่น MySQL, และประเภทข้อมูลที่คุณต้องเลือก จากการรวมเขตข้อมูลเหล่านี้ที่นี่ char, varchar, int, int ใหญ่ทศนิยม และเวลาวันที่และอื่น ๆ อีกมากมาย ดังนั้นขอให้ทำจริง ลองแกล้งทำเป็นว่าเราไม่ได้ คุณตารางของผู้ใช้นี้มือ และแจ้งให้เราไปข้างหน้าและสร้างสำหรับ ตัวเองในการบรรยาย database-- จริงให้ฉันไปข้างหน้าและลบ ตารางที่ฉันมีในที่นี่แล้ว เพื่อที่ว่าเราจะสามารถสร้างนี้ ขออภัย ฉันจะลดลงนี้ ตารางและตอนนี้ฉัน จะไปอีกครั้งเพื่อ บรรยายฐานข้อมูลกว่าที่นี่ ฉันจะสร้างตาราง เรียกว่าผู้ใช้และผู้ให้ เพียงแค่ทำสามคอลัมน์ ในขั้นต้นและคลิกไป ตอนนี้สำหรับส่วนใหญ่ อีกครั้งนี้เป็นเพียง โดยใช้เครื่องมือแบบกราฟิกนี้เรียกว่า phpMyAdmin และสิ่งที่เรากำลังทำอยู่ตอนนี้ คือการสร้างตาราง ดังนั้นนี่คือเหมือนจะแฟ้มใหม่ และการสร้างแฟ้ม Excel ใหม่ ดังนั้นจึงขอให้ฉันไม่กี่ คำถามจากซ้ายไปขวา สิ่งที่ชื่อของคอลัมน์แรก แล้วชื่อของคอลัมน์ที่สอง และชื่อของบุคคลที่สาม จึงขอสร้างนี้ ID และชื่อผู้ใช้เป็นคนหนึ่ง, แล้วสับเป็นอีก ดังนั้นสิ่งที่ควรจะเป็นชนิดข้อมูล เป็นตอนนี้สำหรับเขตข้อมูลเช่นรหัส? นี่คือรายชื่อทั้งหมดของชนิดข้อมูลเป็น มีให้คุณในฐานข้อมูล และสำหรับตอนนี้ขอเพียงแค่ไปกับ int ค่า 32 บิตที่ผมทำไม่ได้ คิดว่าจริงฉัน จะมีมากกว่า 4 พันล้าน ผู้ใช้ในบัญชีของฉันในการให้บริการของฉัน ดังนั้นฉันจะให้ย้าย เพื่อคำถามต่อไป ฉันจะไม่ระบุ ระยะเวลาหรือค่านิยม ก็ไม่สามารถใช้ได้ ที่นี่เพื่อ int ต่อ se และตอนนี้ฉันสามารถระบุ เห็นได้ชัดเริ่มต้น ค่าซึ่งผมจะไม่ระบุ เรียงผมไม่ทราบว่ามันคืออะไร แอตทริบิวต์ ตอนนี้เราทำจริง มีการตัดสินใจการออกแบบ เพื่อให้มีสาขาไม่กี่ที่นี่ไม่ได้ทั้งหมด ซึ่งสามารถใช้งานได้ แต่ไม่ได้ลงนาม ก็หมายความว่าอะไร? ที่ int จะต้องเป็นอย่างไร เพียงแค่ไม่เป็นลบ ดังนั้นมันจึงเป็น 0 ขึ้นมี ไม่ฉันจะไม่ตรวจสอบเพราะ ฉันต้องการผู้ใช้ทุกคนที่จะมี ID, มันไม่สามารถเป็นโมฆะ และจากนั้นเราจะได้รับการเพิ่มเติมบางส่วน ตัดสินใจในการออกแบบที่น่าสนใจเช่นนี้ เราจะกลับมาในช่วงเวลาที่ แต่สิ่งที่เป็นลักษณะของฐานข้อมูลอื่น คือคือการที่คุณสามารถบอกได้ เซิร์ฟเวอร์ฐานข้อมูลไปข้างหน้า และเพิ่มประสิทธิภาพของตัวเองของคุณ RAM และพื้นที่ฮาร์ดดิสก์ของคุณ, เพื่อให้เลือกและแทรกและ ลบและการปรับปรุงอย่างรวดเร็วจริงๆ คมชัดนี้กับ pset5 ถ้าคุณต้องการที่จะมองหาบางสิ่งบางอย่าง ในตารางแฮชคุณซึ่ง คุณคิดว่าเป็นฐานข้อมูล ที่ต้องทำทั้งหมด ทำงานสำหรับการทำตารางแฮชคุณได้อย่างรวดเร็ว มันก็เหมือนกับการเห็นได้ชัดคุณ ใช่มั้ย? คุณต้องใส่ในทุกเวลาที่ดี การปรับแต่งสิ่งที่ได้รับฟังก์ชันแฮช สิทธิการหาวิธี ถังจำนวนมากที่จะมี แต่สิ่งที่มีความสุขอีกครั้ง เกี่ยวกับฐานข้อมูลเป็น คุณเพียงแค่ม้าทั้งหมดของ นี้ให้คนอื่น ๆ ที่มีความคิดนี้ ผ่านสำหรับคุณและสิ่งที่ ฉันจะบอกว่าที่นี่อยู่ภายใต้ ดัชนีคือข้อมูลรหัสของฉัน เป็นไปได้วิธีการหลักของ ระบุผู้ใช้ในฐานข้อมูลนี้ ผมไม่อยากจะคิด ของ Zamyla เป็น Zamyla, ฉันจะคิดว่า เธอเป็นจำนวน 6 มันเป็นเหตุผลที่อาจจะดีกว่า สังหรณ์ใจที่จะคิดและรูปแบบ แต่ละแถวของแต่ละบุคคลโดยใช้ ตัวเลขแทนสิ่ง เช่นสตริงเช่น Zamyla หรือเกบหรือสตริงนานยัง? ใช่? ผู้ชม: ID ที่ไม่ซ้ำกัน? เดวิดเจลัน: พูดอีกครั้งหรือไม่ ผู้ชม: ID ที่ไม่ซ้ำกัน? เดวิดเจลัน: ID จะไม่ซ้ำกัน แต่ suppose-- เป็นกรณีในทั่วไป ที่มีชื่อผู้ใช้สมมติว่า ฉันยังกล่าวว่ามีเพียงสามารถเป็นหนึ่ง Zamyla ในโลกและมีเพียงหนึ่งเกบ ฉันสามารถกำหนดเอกลักษณ์ ข้อ จำกัด ที่สายเกินไปหากผมต้องการ จึงไม่เป็นความคิดที่ไม่ดี ผู้ชม: การรักษาความปลอดภัยอื่น ๆ เดวิดเจลัน: ความปลอดภัยมากขึ้นทำไม? ผู้ชม: คุณไม่สามารถบอกได้ว่า ซึ่งเป็นเช่นเดียวกับในการใช้งาน เดวิดเจลัน: ตกลงคุณ ไม่สามารถบอกได้ที่ผู้ใช้ ซึ่งเป็นจึงมี ด้านความเป็นส่วนตัวกับมัน โดยเฉพาะอย่างยิ่งถ้ารหัสอาจจะ ที่ปรากฏใน URL ที่ ดังนั้นแน่ใจว่าสามารถชนิดของการทำงานได้อีกด้วย ความคิดอื่น ๆ ? ใช่? ผู้ชม: มันง่ายที่จะ ทำการดำเนินการบน int เดวิดเจลัน: นั่นเป็นนักเตะจริง มันเป็นเพียงมีประสิทธิภาพมากขึ้น หรือง่ายสำหรับเครื่องคอมพิวเตอร์ ในการดำเนินการเกี่ยวกับจำนวนเต็ม ใช่มั้ย? int มีการประกันเพื่อ เป็น 32 บิตในขณะที่ Zamyla มีความยาวไม่กี่ตัวอักษร, กาเบรียล มีความยาวมากขึ้นไม่กี่ตัวอักษร หนังสือมีความยาวมากและดังนั้นจึงเป็น ไม่ได้มีประสิทธิภาพโดยเฉพาะอย่างยิ่งที่จะใช้ สตริงเพื่อเปรียบเทียบค่าและมอง สำหรับเขตข้อมูลและเขตข้อมูลการปรับปรุง ถ้าคุณจะได้รับไป ที่มีเพียงหนึ่งจำนวนเต็ม เพียงแค่ 32 บิต ดังนั้นชื่อผู้ใช้ด้วยวิธีนี้ จะได้ไม่ต้องไม่ซ้ำกัน แม้ว่าพวกเขาอาจจะ เป็นไปได้และแม้จะอยู่ในวิธีนี้เกินไป ผู้ใช้จะได้รับอนุญาตให้ เปลี่ยนชื่อผู้ใช้ของเขาหรือเธอ จึงขอตอนนี้ออกจากนี้เป็น วิธีการหลักในการระบุผู้ใช้ นี้จะบอกฐานข้อมูล ไปข้างหน้าและเพิ่มประสิทธิภาพด้วยตัวคุณเอง เพื่อให้ ups ดูใน ID เป็นซุปเปอร์รวดเร็ว AI ชื่อน่ากลัวเพียง หมายถึงการเพิ่มออโต้, และนี่คือการตรวจสอบ กล่องที่เราต้องตรวจสอบ เพื่อระบุว่าเขตข้อมูล ID ได้รับการปรับปรุงโดยอัตโนมัติสำหรับฉัน แล้วฉันจะไป เลื่อนไปทางขวาที่นี่ และตรงไปตรงมาผมไม่สนใจจริงๆ ในการเพิ่มเติมใด ๆ ของเขตข้อมูลเหล่านี้ ไม่แน่นอนวันนี้ ดังนั้นฉันจะกลับไปที่นี่ กับคอลัมน์แรกที่ ฉันจำเป็นต้องระบุชื่อผู้ใช้ และกัญชาและขอ ที่ให้ความสำคัญน้อยใน คนที่สองสำหรับตอนนี้ Int อาจไม่สายที่ถูกต้อง ดังนั้นสิ่งที่ทำให้รู้สึกมากขึ้นบางที? ผู้ชม: ข้อความ เดวิดเจลัน: พูดอีกครั้งหรือไม่ ผู้ชม: ข้อความ เดวิดเจลัน: ข้อความที่? ตกลงผมได้ยินข้อความ อะไร? ชนิดของเรามีพวงของตัวเลือก ที่มีข้อความในธรรมชาติ ดังนั้นเมื่อและทำไมทำ คุณใช้บางส่วนของเหล่านี้หรือไม่ ดีถ่านตรงกันข้ามกับสิ่งที่คุณอาจจะ คิดว่าไม่เป็นตัวเดียว มันเป็นจำนวนเฉพาะของตัวละคร ดังนั้นหากเรารู้ว่าชื่อผู้ใช้ทั้งหมด จะต้องเป็นเช่นแปดตัวอักษร ที่เคยเป็นที่พบบ่อยในผู้สูงอายุ ระบบคอมพิวเตอร์ที่ผมจะพูดถ่าน แล้วผมจะพูด 8 ที่นี่ นั่นคือเมื่อคอลัมน์ที่สามจะกลายเป็น ผลบังคับใช้เมื่อมีการสร้างตาราง แต่ที่เป็นชนิดที่น่ารำคาญ เพราะบางคนอาจจะ ต้องการที่จะมีชื่อผู้ใช้อีกต่อไป กว่าแปดตัวอักษร บางคนอาจต้องการที่จะ มีชื่อผู้ใช้งานสั้นลง ดังนั้นทำไมกระทำตัวเอง จำนวนเฉพาะหรือไม่? ทำไมไม่ได้ตัวแปร จำนวนของตัวอักษรและเพียงแค่ กล่าวว่าความยาวสูงสุดของชื่อ คือผมไม่ทราบเช่น 64 ตัวอักษร ฉันไม่สามารถคิดของเพื่อน ๆ ที่ มีชื่อที่ยาวเกิน 64 ตัวอักษร และแม้ว่าที่สั้นเกินไปคุณสามารถ แน่นอนชนมันขึ้นโดยพลการ ดังนั้น varchar เป็นตัวแปร จำนวนของตัวอักษร ข้อความที่ไม่ได้เป็นสัญชาตญาณที่ไม่ดีและ ตรงไปตรงมาว่าการจัดเรียงของไม่สิ่งที่กล่าวว่า แต่ช่องข้อความสามารถ เช่น 65,000 ไบต์อย่างน้อย นั่นอาจเป็น overkill สำหรับ ภาคสนามและในความเป็นจริง Yup, 65,535 นั่นอาจเป็น overkill สำหรับ ชื่อดังนั้นเราจะติดปกติ กับ varchars สำหรับข้อความ ภาคสนามและกัญชาเกินไป กัญชามันจะเปิดออกที่เราสามารถทำได้ varchar เป็นอย่างดีหรือสิ่งที่ต้องการที่ แต่เราจะไม่ให้ความสนใจวันนี้ มีการเข้ารหัสและหมายเลข ที่เราอาจจะจริง ต้องการใช้สำหรับความยาวของมัน แต่ให้ฉันเลื่อนลงไปทางขวา คุณสามารถมีหนึ่ง ดัชนีหลักสำหรับตาราง, แต่ฉันไม่ต้องการที่จะใช้ใด ๆ เหล่านี้ ตอนนี้ถึงชื่อผู้ใช้ที่คุณจะพูด? สิ่งที่ควรชื่อผู้ใช้ต้องอยู่บนพื้นฐานคลุมเครือ ความเข้าใจของทั้งสี่ตัวเลือก? เพียงแค่ชื่อของพวกเขา? ผู้ชม: ที่ไม่ซ้ำกัน เดวิดเจลัน: ไม่ซ้ำกันดังนั้นใช่มั้ย? ดังนั้นมันจะเปิดออกที่ไม่เพียง แต่จะทำได้ คุณบอกฐานข้อมูลล่วงหน้า นี้เป็นวิธีหลัก ของฟิลด์ระบุ นอกจากนี้คุณยังสามารถพูดได้ว่านี่คือ จะเป็นข้อมูลที่ไม่ซ้ำกัน มันไม่ได้เป็นไปได้ สิ่งที่ผมพึ่งพา แต่ฉันต้องการฐานข้อมูลในการ เป็นหลักมีว่าถ้าสภาพดังนั้น ว่าถ้าผมเคยพยายามที่จะลงทะเบียน สองผู้ใช้ที่มีชื่อเดียวกัน ฐานข้อมูลออกมาแบน จะไม่ให้ฉัน ฉันอาจจะมีรหัสบางอย่างเพิ่มเติม ใน PHP ที่ป้องกันไม่ให้เป็นมาก แต่ฐานข้อมูลก็สามารถมั่นใจได้ว่า ที่ที่ไม่เคยเกิดขึ้น ขณะนี้เป็นกันโดยเฉพาะอย่างยิ่ง คุณคิดเกี่ยวกับโครงการสุดท้าย เก็บไว้ในดัชนีจิตใจและเต็มรูปแบบ ข้อความที่เป็นจริงมีประโยชน์มาก หากคุณมีฐานข้อมูลขนาดใหญ่ไม่ได้กับ หลายสิบ แต่มีหลายร้อยหรือหลายพัน หรือล้านของฟิลด์คุณสามารถ ฐานข้อมูลยังบอกล่วงหน้า นี้เป็นเขตที่ฉันจะ จะได้รับการค้นหาในจำนวนมาก บางทีชื่อผู้ใช้ของตน บางทีมันอาจจะเป็นไบโอถ้าคุณ การทำเว็บไซต์ Facebook เหมือนว่า มีย่อหน้าที่ของผู้ใช้ที่ได้รับอนุญาต เพื่อบัน​​ทึกและถ้าคุณต้องการที่จะ บอกฐานข้อมูลล่วงหน้า ฉันจะได้รับการค้นหาในฟิลด์นี้ เป็นจำนวนมาก แต่ก็ไม่จำเป็นต้องไม่ซ้ำกัน คุณสามารถระบุดัชนีฉันสร้าง หรือคุณสามารถพูดได้ยังช่วยให้ผมที่จะทำ การจัดเรียงของการค้นหาโดยพลการเช่นคำสั่ง หรือควบคุม F เช่นคุณ อาจจะอยู่ในโปรแกรมประมวลผลคำ, เพื่อให้คุณสามารถดูสตริงโดยพลการ หรือสตริงย่อยในเขตข้อมูลนี้ ในคำอื่น ๆ ที่เราได้รับ ไปยังจุดในภาคการศึกษา ที่คุณไม่ต้องกังวลเกี่ยวกับ วิธีการใช้สิ่งที่มีประสิทธิภาพ คุณเพียงแค่ต้องรู้เกี่ยวกับสิ่งที่ ตัดสินใจในการออกแบบเพื่อให้เพื่อให้คุณ โดยใช้เครื่องมือที่เหมาะสมสำหรับ การค้าเพื่อที่จะใช้ประโยชน์จากคุณสมบัติ ว่าคนอื่น ๆ ได้สร้างไว้เพื่อคุณ ดังนั้นเพื่อปะยางรถหลักควรเท่านั้น มีหนึ่งคุณสามารถมีหนึ่ง และมันเป็นสิ่งที่คุณกำลังกระทำการ โดยใช้การระบุสาขาที่ไม่ซ้ำกัน ที่ไม่ซ้ำกันเป็นเพียงในทำนองเดียวกัน แต่ คุณอาจจะเพียงบางครั้งใช้มัน แต่คุณต้องการฐานข้อมูลที่จะกำหนดมัน ดัชนีก็หมายความ preemptively เร็วขึ้นในอนาคต เพื่อที่จะสามารถค้นหา สิ่งที่อยู่ในฟิลด์นี้ แล้วข้อความเต็มรูปแบบโดยทั่วไปสำหรับ ย่อหน้าหรือบทความหรือหน่วยงานขนาดใหญ่ ข้อความที่คุณ นอกจากนี้ยังอาจต้องการที่จะมี บัตรป่าเหมือนเทียบเท่าของดาว ขวา เพื่อให้เป็นชนิดของ จำนวนมากที่จะทั้งหมดในครั้งเดียว ลองดูว่าเราไม่สามารถกลั่น คู่ของคุณสมบัติเหล่านี้ แล้วสร้างบางสิ่งบางอย่าง ค่อนข้างง่าย แต่มีประสิทธิภาพ ดังนั้นในหมู่อื่น ๆ ตัดสินใจในการออกแบบคุณ ในที่สุดจะต้องเป็นไปตาม สายของเครื่องยนต์การจัดเก็บข้อมูล และแจ้งให้เราเพียงแค่ทำให้การเอ่ยถึงนี้ ในความคาดหมายของโครงการสุดท้าย และความคาดหวังของการปล่อยของ say-- ไม่ให้ทำเช่นนี้ ลองสร้างเล็ก ๆ แห่งนี้ โปรแกรมแรก ฉันจะไปเข้ากับขั้วของฉัน หน้าต่างและในที่นี่ไม่ได้ counter.php เท่านั้นซึ่งตอนนี้เราจะ เพื่อกำจัดที่ไม่ชิด, แต่เรามีทั้งกลุ่ม ของไดเรกทอรีนี้ เป็นไปได้คล้ายกันมากในจิตวิญญาณ สิ่งที่คุณจะเห็นในปัญหาตั้งเจ็ด ดังนั้นเราจึงมีสามไดเรกทอรี รวมถึงประชาชนและแม่แบบซึ่ง เป็นสิ่งที่เราทิ้งไปเมื่อวันที่ วันจันทร์กับกระบวนทัศน์ MVC ของเราทั้ง และปะยางรถในที่สาธารณะจะไป ไฟล์ที่ผมต้องการให้ผู้ใช้ใด ๆ จริง V จะสามารถเยี่ยมชมใน เบราว์เซอร์ของพวกเขาผ่านทาง URL แบบ เราทำอะไรใส่ในแม่แบบ? สิ่งที่ชนิดของสิ่ง? มีไม่มาก แต่ทั้งคู่ ไฟล์อย่างน้อยในวันจันทร์ที่ ใช่ ผู้ชม: ส่วนหัวและท้ายกระดาษ? เดวิดเจลัน: หัวและท้าย ดังนั้นเราจึงมีสิ่งที่คล้ายกันในวันนี้ด้วย เรามีไฟล์มากขึ้นไม่กี่คน แต่ ส่วนท้ายที่ฉันเห็นส่วนหัวที่ฉันเห็น แล้วพวงของไฟล์อื่น ๆ ดังนั้นนี่คือเทียบเท่า ในมุมมองของ V MVC ซึ่ง อีกครั้งจะมีมากขึ้นอีกนิด ที่ชัดเจนในการแก้ไขปัญหาการตั้งเจ็ด แต่นี้เป็นเพียงโฟลเดอร์ฉัน วางจำนวนมากของความสวยงามของฉัน จำนวนมากของ HTM​​L ของฉันมากของรูปแบบของฉัน ในขณะเดียวกันรวมถึงเป็นอีกหนึ่ง ไดเรกทอรีที่มีทั้งสามไฟล์ และขอใช้เวลาดูอย่างรวดเร็วที่เหล่านี้ ฉันจะไปข้างหน้า และเปิด config.php ในฐานะที่เป็นมันจะเปิดออกมาก เหมือนก่อนหน้านี้ในคำว่า รวมคุณคมชัด CS50 จุดชั่วโมงกับ pset7 ในตัวอย่างวันนี้คุณกำลังจะ ที่จะทำเท่ากับว่า ที่มีคำสั่งที่ต้องใช้ ที่มีประสิทธิภาพ รวมถึงสายหลายเหล่านี้ ดังนั้นเพื่อให้มีความชัดเจนนี้เป็น ไฟล์ที่เรียกว่า config.php และสังเกตเห็นสิ่งที่มันทำ มันเห็นได้ชัดว่าทำอะไรบางอย่าง ความลับ, เปิดข้อความผิดพลาด เพื่อให้คุณสามารถเห็นพวกเขาในเบราว์เซอร์ มันก็เห็นได้ชัด ต้องมีสองไฟล์อื่น ๆ ดังนั้นนี้เป็นเหมือน #include ใน C แล้วหนึ่งที่เราไม่เห็นนี้ และเราได้อาศัยนี้เปิด ตะกร้าช้อปปิ้งที่ชอบการทำงาน ซึ่งหมายความว่าจะคุกกี้ ถูกส่งกลับมา ดังนั้นทำไมนี้เป็นที่น่าสนใจ? ดีถ้าเรากลับไปนี้ ไดเรกทอรีและเปิดตัวอย่างเช่น constance.php ขอให้สังเกตว่า PHP ไม่คงที่สนับสนุน มันไม่มากเช่น #define ใน C. แต่คุณอย่างแท้จริง กล่าวว่าการกำหนดและแจ้งให้ทราบล่วงหน้า ที่ฉันได้เก็บไว้ล่วงหน้า สี่ค่าคงที่ในแฟ้มนี้ หนึ่งสำหรับฐานข้อมูลของวันนี้สำหรับ รหัสผ่านของฉันชื่อผู้ใช้ของฉัน และชื่อของเซิร์ฟเวอร์ ดังนั้นเหล่านี้เป็นจริงไปได้ สวยเหมือนกันในปัญหาการตั้งเจ็ด และสุดท้ายและนี่คือที่ฉัน จะได้รับบางฟังก์ชันการทำงานอย่างมีความสุข จากเจ้าหน้าที่ใน functions.php เป็นพวงของรหัสที่เราได้เขียน และฉันขโมยบางนี้ จากปัญหาการตั้งเจ็ด สำหรับวันนี้ที่ไม่พวงของสิ่ง และขอเพียงแค่มองไปที่หนึ่งของพวกเขา โดยเฉพาะอย่างยิ่ง ฟังก์ชันนี้ที่นี่ แบบสอบถามเป็นไปได้ ฟังก์ชัน PHP ที่เราเรียกว่า เพื่อที่จะดำเนินการให้ SQL ช่วงเวลาที่ผ่านมาเราได้ใช้ phpMyAdmin แต่นั่นเป็นเพียง สำหรับการจัดเรียงของวัตถุประสงค์การเรียนรู้ และวัตถุประสงค์ในการวินิจฉัย และลืมชุดฐานข้อมูลของคุณ เมื่อคุณใช้จริงของคุณ ฐานข้อมูลคุณ, มนุษย์ จะเห็นได้ชัดว่าไม่ไป ที่จะดึงขึ้นเว็บ หน้าทุกครั้งที่มีคนลงทะเบียน คุณกำลังจะเขียนโค้ดที่ แทรกและลบผู้ใช้ที่ต้องการ และเรากำลังจะทำนี้ โดยวิธีการทำงานของแบบสอบถาม ถ้าตอนนี้ผมเลื่อนลงมามี จะมีคุณสมบัติอื่น ๆ อีกไม่กี่ การเปลี่ยนเส้นทางที่จะไป เป็นหน้าที่ที่เราเขียน สำหรับคุณที่ช่วยให้คุณ ส่งผู้ใช้ไปยัง URL อื่น และทำให้เป็นฟังก์ชันที่ค่อนข้างชอบ ที่เราเห็นในวันจันทร์ที่จริงการแสดงผล แม่ แต่เพิ่มเติมเกี่ยวกับเหล่านี้ใน รูปแบบของการเดินของตัวเอง pset7 ผ่าน สำหรับตอนนี้ขอไปข้างหน้าและทำเช่นนี้ ให้ฉันไปลงในตารางการบรรยายของฉันและ มาดูกันว่ามีอะไรอยู่ในปัจจุบัน ที่นี่ยังเพียงและให้ฉันยังไป ลงในไดเรกทอรีสาธารณะของฉันอยู่ที่ไหน มีเพียงหนึ่งแฟ้ม index.php ไฟล์นี้ดูเหมือนจะง่ายสุด ในขณะที่ดูเหมือนว่าเพียงแค่นี้ อย่างมากเช่นวิธีการที่เรา ซ้ายปิดในวันจันทร์ ฉันต้องแฟ้มนี้ config.php ซึ่งอยู่ใน รวมถึงไดเรกทอรีซึ่ง อยู่ในจุดจุดพ่อแม่ของฉัน และจากนั้นก็เป็นเพียงการแสดงผลไฟล์นี้ ดังนั้นสิ่งที่เป็นไฟล์นี้หรือไม่? ลองเปิดขึ้นในแม่แบบของฉัน form.php และเราจะเห็นนี้ ง่ายสุดที่เห็นได้ชัดในรูปแบบนี้ จะส่งโดย $ _GET หรือ $ _POST การตรวจสอบสุขภาพจิตได้อย่างรวดเร็ว แท้จริงสายตาค้นหาไฟล์ วิธีการโพสต์เท่ากับ ดังนั้นมันจะไม่ใช้ URL เช่น Google ไม่ก็จะเรียงลำดับจากที่ซ่อน ข้อมูลที่อยู่เบื้องหลัง ฉากและก็ จะส่งไปยัง แฟ้มที่เรียกว่า register.php, และที่ไฟล์ เรายังไม่ได้เขียนเลย แต่สิ่งนี้เป็นไป การมองเช่นนี้เป็น ถ้าผมไปที่หน้าแยกนี้เป็น สิ่งที่ localhost / index.php ดูเหมือนว่า และอีกครั้งเซิร์ฟเวอร์ของ เพียงแค่สมมติว่า index.php เข้าสู่ ดังนั้นนั่นคือสิ่งที่เรา ที่และสิ่งที่ผมอยากจะทำ จะสามารถพิมพ์สิ่งที่ เช่นเดวิดแล้ว หมายเลขโทรศัพท์ของฉันที่จะพูดว่า 617-555-1212 สำหรับตอนนี้ลงทะเบียน และตอนนี้ register.php ไม่พบ ดังนั้นผมจึงจำเป็นต้องดำเนินการนี​​้ ดังนั้นขออย่างรวดเร็วชัก บางอย่างเช่นนี้ขึ้น ให้ฉันไปลงในไดเรกทอรีสาธารณะของฉัน และทำ Gedit ของ register.php, และตอนนี้ฉันจะไปข้างหน้าและ เริ่มต้นโหมด PHP, เหมือนที่เราทำในวันจันทร์ที่ และใกล้ PHP ของแท็กและ ขอทำสองสิ่ง ดังนั้นหนึ่งฉันรู้จาก การเขียนรูปแบบที่ ที่ผมอยากจะตรวจสอบต่อไป ถ้าเป็นที่ว่างเปล่าสิ่งที่ผู้ใช้ พิมพ์ลงในฟิลด์ชื่อแล้ว ฉันจะพูดอะไรบางอย่าง เช่นชื่อขอโทษที่หายไป ขอโทษขณะที่เป็น ไม่ได้สร้างขึ้นในสิ่งที่ PHP, มันเป็นหน้าที่ที่เราเขียน ใน functions.php สำหรับ pset7 เพื่อให้คุณสามารถเข้าถึงได้ อื่นถ้าเขตข้อมูลอื่น ๆ เป็นที่ว่างเปล่าจำนวนแล้วฉัน จะไปขอโทษ ผู้ใช้และบอกว่าที่หายไปจำนวน บันทึกแฟ้มนี้ ตอนนี้ขอกลับไปยังเบราว์เซอร์ของฉัน กลับไปยังฟอรั่มไปลองอีกครั้ง สมัครสมาชิก ตกลง ไม่มีอะไรเกิดขึ้นซึ่งเป็นสิ่งที่ดี ฉันไม่ได้รับข้อความแสดงข้อผิดพลาด แต่ถ้าแทนให้โหลดนี้ หน้าและได้ให้อะไร ประณามมัน ทำอย่างนั้น สมัครสมาชิก ผมทำอะไรผิดหรือเปล่า? ถ้าที่ว่างเปล่า, $ _POST ชื่อ พูดอีกครั้ง? โอ้แน่นอน ฉันลืมส่วนที่สำคัญที่สุดซึ่ง ถูกต้อง ("../ includes / config.php.") ฉันจำเป็นต้องมีการเข้าถึง ขอโทษฟังก์ชั่นที่ คือเหตุผลที่ไม่มีอะไรเกิดขึ้น ฟังก์ชั่นไม่ได้มีอยู่จริง ดังนั้นลองนี้อีกครั้ง ลองโหลดหน้าเว็บคลิกสมัครสมาชิก ตกลง มีเป็น ดังนั้นการส่งออกเรา เห็นที่นี่เป็นผล โทรขอโทษ ฟังก์ชั่นง่ายสุด และมันก็พิมพ์ออกสิ่งที่ ฉันให้มันเป็นอาร์กิวเมนต์ สิทธิทั้งหมดจึงขอความร่วมมือ ขอให้ชื่อของฉัน เช่นเดวิดลงทะเบียน หายไปจำนวนตกลงกันเถอะ ให้ที่มากเกินไป 617-555-1212 สมัครสมาชิก ตกลง ดังนั้นทั้งหมดเป็นอย่างดีตอนนี้ไม่มีอะไรเพียงแค่ ที่น่าสนใจที่เกิดขึ้น ดังนั้นตอนนี้เรามาทำอะไรบางอย่างมากขึ้น ที่น่าสนใจเกิดขึ้นเช่นนี้ ให้ฉันไปใน phpMyAdmin และให้ จริงสร้างตารางที่เรียกว่าผู้ใช้, ฉันจะให้มันสาม คอลัมน์และฉันจะได้อย่างรวดเร็ว สร้าง ID แล้ว ชื่อและหมายเลข และสนาม ID ฉัน จะปล่อยให้เป็น int เขตข้อมูลชื่อที่ฉันจะ ที่จะปล่อยให้เป็น varchar, และเราจะบอกว่า 64 ค่อนข้างพล จำนวนที่ฉันจะ ที่จะทำให้คุณรู้อะไรไหม เรากำลังจะเข้าสู่ สนับสนุนตัวเลขสหรัฐที่นี่ ดังนั้นฉันจะทำอะไรบางอย่าง เหมือนถ่านแล้ว 10 ตัวอักษร สูงสุดสำหรับรหัสพื้นที่ แล้วตัวเลขเจ็ดหลัก แล้วกว่าที่นี่ฉันจะไป ระบุเพิ่มขึ้นรถยนต์ด้านนี้ ทำให้คีย์หลักและ ฉันจะไปข้างหน้าและไม่ได้ ตรวจสอบใด ๆ ของกล่องอื่น ๆ เหล่านี้ ดังนั้นเมื่อผมตอนนี้จนคลิกบันทึก และผมจะกลับไปที่โต๊ะผู้ใช้ของฉัน นี่คือสิ่งที่ดูเหมือนว่าถ้าฉัน ตอนนี้คลิกโครงสร้างแท็บใหม่ ดังนั้นนี้จะมีความชัดเจน เป็นเพียงวิธีการของ phpMyAdmin ที่บอกตารางฐานข้อมูลของคุณ มีรหัสชื่อและจำนวน กับการกำหนดค่าโดยเฉพาะอย่างยิ่ง และเราจะไม่สนใจส่วนที่เหลือของฟิลด์ สำหรับตอนนี้มี ดังนั้นตอนนี้ฉันทำในสิ่งที่ต้องการจะทำอย่างไร ดังนั้นถ้าฉันไปตอนนี้เป็นของฉัน รหัสแหล่งที่มาถ้าทั้งหมดเป็นอย่างดี ฉันต้องการที่จะดำเนินการค้นหาต่อไปนี้ แทรกลงและฉันก็สามารถ บอกว่าผู้ใช้ที่ผมทำไม่ได้อย่างเคร่งครัด ต้องย้อนกลับไปที่เห็บถ้ามัน ไม่ได้เป็นคำที่เป็นอันตรายเช่นผู้ใช้ ฉันจะบอกชื่อ จำนวนและแล้วที่นี่ฉัน จะไม่ยากรหัส หลักของค่ายัง ฉันจะใส่สองเครื่องหมายคำถาม และนี่คือการประชุม ในหลายภาษา โดยถ้าคุณต้องการที่จะมี ตัวยึดสำหรับสตริง คุณกำลังจะใช้คำถาม เครื่องหมายสำหรับเหตุผลที่เราจะ กลับมาพูดคุยเกี่ยวกับ การรักษาความปลอดภัยและที่นี่ ฉันจะผ่านในนั้น สองช่องโพสต์ชื่อ แล้วโพสต์หมายเลข และตอนนี้บันทึกแฟ้ม และตอนนี้ฉันกำลังจะไป ลงไปที่นี่เป็นซุปเปอร์ เพียงแค่พูด rendersuccess.php ซึ่ง เป็นไปได้แม่แบบอื่น ฉันจะสร้างอย่างรวดเร็วจริงๆ Geditsuccess.php และฉันแค่ไป ที่จะบอกว่าประสบความสำเร็จ H1 ในแฟ้มที่ สิทธิ์ทั้งหมด ดังนั้นตอนนี้ขอกลับไปที่ เบราว์เซอร์ที่ผมไปเยี่ยมก่อน ลองไปข้างหน้าและยืนยันที่ผมเขียน เดวิดผมเขียนไว้ในหมายเลขโทรศัพท์ ทะเบียน ประณามมัน ผมทำอะไรผิดหรือเปล่า? ดังนั้นฉันเห็นข้อผิดพลาดที่นี่คุณ มีข้อผิดพลาดในไวยากรณ์ SQL ของคุณ ผมขอข้ามกลับไป Gedit ให้ ฉันกลับไปที่ register.php, และสิ่งที่ฉันไม่ละเว้นที่ เป็นครั้งสุดท้ายที่สำคัญ? ฉันต้องการ คุณต้องการที่จะรู้ว่านอกเหนือจาก ได้สังเกตเห็นมาก่อน แต่ฉันต้องการ ดังนั้นตอนนี้ขอกลับไปและนี้ เป็นประโยชน์ที่จะเห็นในเบราว์เซอร์ และที่ว่าทำไมใน config.php เราคายข้อผิดพลาด ลองไปข้างหน้าและโหลด คลิกดำเนินการต่อความสำเร็จ ดังนั้นตอนนี้ให้ฉันไปไปของฉัน ฐานข้อมูลที่นี่คลิกผู้ใช้ และเรียกดูและสังเกตเห็นตอนนี้ผม มีเดวิดในฐานข้อมูลของฉันที่นี่ ตอนนี้ในทางเทคนิคเว็บไซต์นี้เป็น ยังไม่ได้อยู่บนอินเทอร์เน็ตสาธารณะ ดังนั้นผมจึงไม่สามารถมีอื่น ๆ คนในการวางที่นี่ แต่ถ้าตอนนี้ผมต้องการที่จะให้ เช่นส่งตัวเองข้อความ ลองไปบนกิ่งก้านที่นี่ และดูว่าใช้งานได้จริง ฉันจะไปข้างหน้า และลบแถวนี้ และเราจะเบลอนี้ ในวิดีโอออกในภายหลัง ดังนั้นเราไม่ได้มี อินเทอร์เน็ตทั้งส่งข้อความของฉัน และตอนนี้เราจะไปถึง เบราว์เซอร์และเราจะไปกว่าจะบรรยาย และเราจะพิมพ์ที่แตกต่างกัน จำนวนที่นี่ลงทะเบียนที่ประสบความสำเร็จ ดังนั้นตอนนี้จำนวนของตัวเองเป็นสันนิษฐานใน ฐานข้อมูลและตอนนี้ส่วนที่สนุก ลองใช้ PHP จริงที่จะทำ สิ่งที่โปรแกรม ทั้งจากคำสั่ง เส้นหรือจากที่อื่น และตอนนี้ฉันแค่ จะให้มันง่าย และฉันจะไปเป็นของฉัน ไดเรกทอรีที่นี่และทำต่อไปนี้ สคริปต์ gedit สมมติว่าเราจะ เรียกว่าข้อความ #! / ผู้ใช้ / / bin env PHP, เหมือนที่เราเห็นครั้งสุดท้าย PHP ตอนนี้ฉันจะไม่จำเป็นต้องใช้ รวมถึง config.php, แม้ว่าอาจนี้ ทำให้เกิดข้อผิดพลาดเล็กน้อย และตอนนี้ฉันจะไปข้างหน้าและพูดว่า แถวแบบสอบถามเลือกดาวจากผู้ใช้ และตอนนี้ที่นี่ฉันจะทำเทคนิค จากครั้งที่แล้วสำหรับแถวแต่ละแถว และฉันจะทำสิ่งที่ง่าย printf สมมุติว่าชื่อนี้ และตัวเลขนี้เครื่องหมาย n และตอนนี้ฉันจะผ่าน ในแถวอ้างชื่อ unquote, และจำนวนแถวอ้าง unquote, และตอนนี้ขอไปข้างหน้า และหน้าต่าง terminal ของฉัน chmod + x นี้ที่จะทำให้ สคริปต์นี้เรียกว่าปฏิบัติการข้อความ และตอนนี้ขอใช้ข้อความ ตกลงดังนั้นความคืบหน้า ดังนั้นผมจึงได้เขียนตอนนี้ สคริปต์บรรทัดคำสั่ง ในภาษาที่เรียกว่า PHP, ที่, เพราะการที่ต้องใช้เส้น มีการเข้าถึงทุกการตั้งค่าเหล่านั้น ค่าคงที่ที่ผมระบุ ชื่อของฐานข้อมูลและอื่น ๆ ในความเป็นจริงเพียงเพื่อให้มีความชัดเจน ที่นี้ไม่ได้บังเอิญ ให้ฉันไปข้างหน้าและลงทะเบียน อย่างรวดเร็วจริงๆคนอื่นเช่นร็อบ และจะให้เขาหมายเลข 555-1212 และตอนนี้ถ้าผมเรียกใช้สคริปต์ อีกครั้งสังเกตเห็นไฟ ของสิ่งที่เรากำลังทำกับฐานข้อมูล ตอนนี้ผมได้เห็นทันทีว่า อีกสองแถวอยู่ในฐานข้อมูลของฉัน ดังนั้นตอนนี้ขอพยายามที่จะทำอะไรบางอย่าง แม้กระทั่งนักเล่นที่อยู่ภายใน, และนี่คือส่วนหนึ่งที่เราได้ ไม่ได้ทดสอบล่วงหน้า ดังนั้นเวลาที่ผ่านมาผมทำอย่างนี้ สิ่งที่ไปเป๋อย่างน่ากลัว เรามีวิดีโอที่มีผล ที่จริงแล้วใช่ตลกกัน ดังนั้นเวลาที่ผ่านมาใน บรรยายเหมือนสองปีที่แล้ว เราตัดสินใจที่ฉันตัดสินใจที่จะ ทั้งหมดนี้จะเป็นความคิดที่ดี ในการสร้างอีเมลในแบบไดนามิก ระดับการใช้ CS50 ฐานข้อมูลทั้งหมด นักเรียนที่ได้ให้เราจำนวนของพวกเขา และผู้ให้บริการโทรศัพท์มือถือของพวกเขาที่คุณ อาจจำจาก pset0, วิธีที่จะให้เหตุผลก็จะเปิดออก ผมมีข้อผิดพลาดเล็กน้อยในโปรแกรมของฉันและ ได้คู่ความผิดพลาดในปี 2012 ผมคิดว่า โดยหนึ่งผมห่วงว่า ไม่ว่าชนิดของสิ่งนี้ iterating กว่าฐานข้อมูล รับชื่อจากฐานข้อมูล ชื่อจากฐานข้อมูลและจากนั้นในแต่ละ ทวนของวงที่ผมส่งอีเมล แต่แทนการส่งอีเมลหนึ่งผม ส่งอีเมลหนึ่งซ้ำครั้งแรก และสองอีเมลซ้ำสองส่ง สามอีเมลซ้ำสองซึ่ง ที่คุณอาจจำจากเรา การอภิปรายของสัญกรณ์ซีมโทติ O ใหญ่ของที่ไม่ดีเช่น n ยกกำลัง เป็นวิธีการที่หลาย ๆ ข้อความที่ผมส่ง แต่มันก็ไม่ได้แม้กระทั่งอีเมล มันเป็นข้อความตัวอักษร และที่คุณรู้ว่าการเข้าร่วมไม่ได้ ซุปเปอร์สูงไปยังจุดสิ้นสุดภาคการศึกษา และดังนั้นผมคิดว่ามันจะน่ารักที่ เวลาที่จะพูดว่า "ทำไมคุณไม่ไปเรียน?" ในข้อความฉัน ส่งไปยังทั้งชั้น, และมันเป็นเรื่องตลกที่จะชอบ 50% ของ ชั้น แต่อีก 50% บางคน freaked ออกผมส่งไปอย่างไม่น่าเชื่อ บันทึกหวานขอโทษ พนักงานขอโทษ ต้องพลาดการบรรยายเพียง ครั้งนี้ใช่มั้ย? เพื่อที่จะเป๋อย่างน่ากลัว ดังนั้นในจิตวิญญาณที่ลองนี้ อีกครั้ง แต่เพียงกับจำนวนของฉัน ล่วงหน้าใน functions.php, ผมเคยเขียนฟังก์ชั่นนี้ได้ที่นี่ มันเรียกว่าข้อความและมัน ใช้เวลาในสามข้อโต้แย้ง จำนวนสายการบินและข้อความ ผมใช้คำสั่งสวิทช์ซึ่ง มหัศจรรย์ PHP ใช้สายไม่เพียง จำนวนเต็มและฉันไม่ได้ดำเนินการ การสนับสนุนนี้ยัง ฉันได้ทำเพียงแค่ AT & T และ Verizon เพราะมันจะเปิดออก ว่าด้วยการให้บริการเหล่านี้ พวกเขามีอีเมลไปยังเกตเวย์ SMS, โดยที่คุณสามารถจริง ส่งอีเมลไปยังที่อยู่ เช่นหมายเลขโทรศัพท์ที่ vtext.com และหากผู้ใช้ไม่ได้ปิดกั้น ข้อความก็จะผ่านไป เป็นข้อความตัวอักษร ตอนนี้การทำเช่นนี้ฉันจะต้องมีการเพิ่ม ด้านหนึ่งอย่างรวดเร็วจริงๆกับฐานข้อมูลของฉัน ฉันจะไปสู่ โครงสร้างของฉันและฉัน จะไปข้างหน้าและเพิ่ม ข้อมูลที่ส่วนท้ายของตาราง ลองคลิกไปและฉัน จะเรียกผู้ให้บริการนี​​้ และตอนนี้ผมกำลังจะไป ออกจากนี้เป็นข้อความบาร์ แต่เราสามารถเป็นนักเล่นในอนาคต ฉันจะไปได้อย่างรวดเร็ว ลงในตารางของฉันและฉัน จะได้รับการกำจัดของร็อบ, เพราะนั่นคือจำนวนของปลอม ฉันจะเข้าไปแก้ไขที่นี่และฉัน จะเปลี่ยนผู้ให้บริการของตนเอง จะเป็น Verizon ซึ่ง เป็นและตอนนี้มากกว่าที่นี่ Let 's ทำกาสติอย่างรวดเร็ว ลองเปิดสคริปต์ข้อความของเราซึ่ง ลักษณะเช่นนี้, ผู้ให้บริการเป็น% s ที่เรากำลังทำผิดพลาดมากขึ้น การตรวจสอบกว่าที่ฉันได้ในปี 2012 ผู้ให้บริการ และตอนนี้ผมกำลังจะไป ข้างหน้าและการเรียกใช้สคริปต์ ตกลง ตัวแทนจำหน่ายเป็นของ Verizon ซึ่งหมายความว่า ตอนนี้หวังว่าฉันจะทำเพียงแค่นี้ ได้อย่างถูกต้องในปีนี้ หวังว่านี่เราไป ดังนั้นภายในของวงนี้สำหรับฉัน จะมี printf นี้ไม่เพียง ฉันยังจะเรียกข้อความและ การใช้งานฟังก์ชั่นของการเรียกคืนนี้ ก็จะใช้เวลาเป็นจำนวนมาก, ผู้ให้บริการและข้อความ ดังนั้นเรามาดูตัวเลขที่เป็นไป เป็นแถวอ้าง unquote "จำนวน" อ้างแถว unquote "ผู้ให้บริการ" และสุดท้ายคือข้อความ อย่าพลาดปีนี้อัฒภาค ตกลง นิ้วมือข​​้าม ลองมาดูกันว่างานนี้ ขวาทั้งหมดดังนั้น ไปเลย ขอปลดล็อคโทรศัพท์ ข้ามนิ้วมือข​​องคุณแช่งมัน may-- ตัวแปรที่ไม่ได้กำหนดโอ้ รอรอรออย่างรวดเร็วจริง รวดเร็วจริงเร็วจริง นี่คือทั้งหมดมันคุ้มค่า ให้ฉันคว้าให้ฉันคว้า, UH-โอ้ ขอบคุณตำรามี เริ่มต้นจากคนอื่น ให้ฉันไปข้างหน้าและเปิดขึ้นจริง รวดเร็ว dropbox.php mail / ที่นี่ สแตนด์บาย ทั้งหมดมันคุ้มค่า ดาวน์โหลด ตกลงมา src8m ตกลง จำเป็นต้องใช้สายเพิ่มเติมได้ที่นี่ โอ้มีมันคือมันอยู่ใน Frosh IMS, มันอยู่ในทะเบียนที่สาม โอ้สวัสดี Margo, ขอบคุณมาก ตกลงฉันถูกหายไปบรรทัดนี้ที่นี่ เพื่อให้ฉันได้อย่างรวดเร็วคว้า บรรทัดของรหัสนี้ ซึ่งรวมถึงอีเมลหรือไลบรารี ว่าที่จริงผมต้องการใช้ ผมกำลังจะไปได้อย่างรวดเร็ว กลับไปฟังก์ชั่น ฉันจะไปที่ด้านบนนี้ ไฟล์และต้องใช้ไฟล์นี้เป็นอย่างดี และตอนนี้ผมกำลังจะข้ามจริงๆของฉัน นิ้วมือเมื่อผมกลับไปที่คำสั่ง สคริปต์เส้นซึ่งเป็นที่อยู่ภายใน ไดเรกทอรีพื้นที่ท้องถิ่นของวันนี้ ข้อความเรียกใช้ เข้าสู่ จดหมาย สแตนด์บาย สแตนด์บาย จดหมาย โอ้ตกลง ไปเลย จดหมายรับจดหมาย PHP ใหม​​่ ผมทำนี้ ประณามมัน To-- โอ้รอรอรอ ยืนตาม ฉันสัญญานี้เป็น จะเป็นเพื่อให้คุ้มค่า ที่อยู่ นี่คือเหตุผลที่ผมไม่ได้ทำ ตัวอย่างขวาก่อนเรียน ฮึ ผู้รับต่อไปนี้ล้มเหลว ลองสิ่งสุดท้ายที่หนึ่ง SMTP ตั้งเพิ่มที่อยู่, ที่อยู่เป็นที่แน่นอนว่า ลองส่วนสุดท้ายนี้ในที่อยู่ Aw ฉันเศร้าจริงๆตอนนี้ ขอบคุณ แต่ผมขอขอบคุณทุก ข้อความที่คุณได้รับการส่ง คุณได้มีดาวิด คุณกำลังพัดมัน ให้ทิ้งไว้ที่นั่นและ เราจะแก้ไขในวันจันทร์ที่ เห็นคุณแล้ว Daven FARNHAM: และตอนนี้ลึก ความคิดโดย Daven อัม ถ้าต้นไม้ไบนารีตกในป่าและ ไม่มีใครเป็นรอบที่ C พูดไป [หัวเราะเบา ๆ ]