1 00:00:00,000 --> 00:00:10,393 >> [MUSIC CHƠI] 2 00:00:10,393 --> 00:00:11,037 3 00:00:11,037 --> 00:00:12,120 DAVID J. Malan: Tất cả đúng. 4 00:00:12,120 --> 00:00:12,830 Chào mừng trở lại. 5 00:00:12,830 --> 00:00:13,890 Đây là CS50. 6 00:00:13,890 --> 00:00:15,570 Đây là phần cuối của tuần 8. 7 00:00:15,570 --> 00:00:18,360 Và như bạn đã biết, chúng tôi có khá giờ làm việc thường xuyên trong một vài 8 00:00:18,360 --> 00:00:21,090 của nhà ăn, bao gồm Annenberg. 9 00:00:21,090 --> 00:00:23,860 Và một số các nhóm vui lòng chụp vài bức ảnh gần đây. 10 00:00:23,860 --> 00:00:26,230 Và để vinh danh Halloween, chúng tôi nghĩ rằng chúng tôi muốn 11 00:00:26,230 --> 00:00:30,160 chia sẻ một rằng thay vì khiến chúng tôi ngạc nhiên ở đây trong Hội trường Annenberg chỉ 12 00:00:30,160 --> 00:00:31,490 đêm khác. 13 00:00:31,490 --> 00:00:36,300 Bạn cùng lớp của bạn Jacob chụp bức ảnh này, nhưng thú vị hơn 14 00:00:36,300 --> 00:00:39,760 là trên Facebook, tiếp theo chuyện đã xảy ra sau đó. 15 00:00:39,760 --> 00:00:43,020 >> Bài viết đầu tiên của mình trong phản ứng để hình ảnh của mình là thế này. 16 00:00:43,020 --> 00:00:46,740 Một vài phút sau, ông quyết định để một mình lên với điều này. 17 00:00:46,740 --> 00:00:53,800 Nó đã đi vào sau đó đến này, và sau đó, thậm chí nhiều amusingly 18 00:00:53,800 --> 00:00:55,320 là khi mẹ anh bẽn. 19 00:00:55,320 --> 00:00:59,240 20 00:00:59,240 --> 00:01:01,800 Và rồi cuối cùng, có vẻ như đây chỉ 21 00:01:01,800 --> 00:01:04,860 một mưu mẹo tuyệt vời cho một chơi đó đang xảy ra. 22 00:01:04,860 --> 00:01:07,080 >> Vì vậy, nếu bạn muốn để xem Jacob và những người khác, 23 00:01:07,080 --> 00:01:10,880 trong đó Cynthia Meng, những người đằng sau hậu trường của các nhân viên khu CS50, 24 00:01:10,880 --> 00:01:13,970 đi đến URL này và chơi ở đây. 25 00:01:13,970 --> 00:01:18,810 Vì vậy, không có thêm ado, hôm nay chúng tôi tiếp tục xem xét này lập trình web, 26 00:01:18,810 --> 00:01:21,810 và tạo ra thực tế của chương trình không chạy tại dòng lệnh của bạn, 27 00:01:21,810 --> 00:01:24,080 nhưng thay vì chạy bên trong trình duyệt. 28 00:01:24,080 --> 00:01:26,320 >> Có lẽ bây giờ, hoặc rất một thời gian ngắn, bạn sẽ 29 00:01:26,320 --> 00:01:30,200 để được ở giữa thực hiện máy chủ web của riêng bạn, 30 00:01:30,200 --> 00:01:31,700 là khác nhau từ lập trình web. 31 00:01:31,700 --> 00:01:36,210 Các máy chủ web trong pset6 là tất cả về viết phần mềm mà biết làm thế nào để 32 00:01:36,210 --> 00:01:39,300 Các yêu cầu HTTP từ một trình duyệt, hoặc thậm chí từ bạn, một con người, 33 00:01:39,300 --> 00:01:42,340 với một chương trình được gọi là Telnet, và sau đó trả lời những yêu cầu hoặc 34 00:01:42,340 --> 00:01:48,600 bằng cách phun ra một tập tin HTML, hoặc một jpeg, gif hoặc một, hoặc thậm chí một file .php. 35 00:01:48,600 --> 00:01:52,490 >> Nhưng với một máy chủ web, nó không phải chỉ cần mở một file PHP, 36 00:01:52,490 --> 00:01:55,260 một cái gì đó kết thúc bằng php, và sau đó nhổ ra nội dung. 37 00:01:55,260 --> 00:01:58,440 Đó là nghĩa vụ phải làm những gì đến tập tin đầu tiên? 38 00:01:58,440 --> 00:01:59,390 Vì vậy, để nói chuyện. 39 00:01:59,390 --> 00:02:04,060 Không phải biên dịch nó, chúng tôi đã nói vào hôm thứ Hai, nhưng rather-- Vì vậy, giải thích nó. 40 00:02:04,060 --> 00:02:08,070 >> PHP là một ngôn ngữ diễn giải, và như vậy một trong những tính năng quan trọng trong web của bạn 41 00:02:08,070 --> 00:02:11,550 máy chủ, mặc dù thực hiện của chúng tôi, Khả năng này cho máy chủ web của bạn 42 00:02:11,550 --> 00:02:12,490 để ý, oh. 43 00:02:12,490 --> 00:02:14,580 Đây là một tập tin kết thúc bằng php. 44 00:02:14,580 --> 00:02:17,970 Hãy để tôi không chỉ gửi cho người sử dụng như nội dung của nó tĩnh, 45 00:02:17,970 --> 00:02:20,970 nhưng thà tôi đọc nó dòng bởi dòng, trái sang phải, và giải thích nó. 46 00:02:20,970 --> 00:02:23,030 >> Và để làm, mà bạn kẻ sẽ cơ bản 47 00:02:23,030 --> 00:02:26,520 đá trái banh để một chương trình trong thiết bị, và trên rất nhiều hệ thống máy tính, 48 00:02:26,520 --> 00:02:27,500 chỉ cần gọi là PHP. 49 00:02:27,500 --> 00:02:30,579 Đó là tên của PHP thông dịch viên riêng của ngôn ngữ. 50 00:02:30,579 --> 00:02:33,120 Vì vậy, phần mà chúng tôi thực hiện cho bạn, và những gì còn lại cho bạn, 51 00:02:33,120 --> 00:02:35,240 cuối cùng, là một con số mảnh, trong đó 52 00:02:35,240 --> 00:02:37,960 đang triển khai hỗ trợ cho nội dung tĩnh. 53 00:02:37,960 --> 00:02:40,180 >> Nhưng bây giờ, và với vấn đề thiết lập bảy, bạn 54 00:02:40,180 --> 00:02:43,660 sẽ bắt đầu chuyển đổi sang thực sự viết code PHP 55 00:02:43,660 --> 00:02:45,970 mà được giải thích nói chuyện với một kết thúc trở lại 56 00:02:45,970 --> 00:02:47,960 cơ sở dữ liệu lưu trữ thông tin. 57 00:02:47,960 --> 00:02:51,020 Vì vậy, hãy hiểu đầu tiên tốt hơn một vài trong số này superglobals 58 00:02:51,020 --> 00:02:53,720 và chỉ cần bao nhiêu năng lượng bạn có được ra khỏi hộp miễn phí 59 00:02:53,720 --> 00:02:55,250 với một ngôn ngữ như PHP. 60 00:02:55,250 --> 00:02:57,350 Những điều bạn không có để thực hiện chính mình. 61 00:02:57,350 --> 00:03:01,700 >> Vì vậy, chúng ta đã thấy hôm thứ hai $ _GET, mà là một superglobal, 62 00:03:01,700 --> 00:03:05,496 mà chỉ là PHP nói cho một toàn cầu biến mà bạn có thể truy cập bất cứ nơi nào. 63 00:03:05,496 --> 00:03:06,620 Và những gì bên trong của $ _GET? 64 00:03:06,620 --> 00:03:09,930 65 00:03:09,930 --> 00:03:12,110 Có gì bên trong này superglobal mà chúng ta thấy? 66 00:03:12,110 --> 00:03:15,900 67 00:03:15,900 --> 00:03:19,020 Chắc chắn thống kê ở ít nhất một người biết. 68 00:03:19,020 --> 00:03:21,590 Có gì bên trong của $ _GET? 69 00:03:21,590 --> 00:03:22,426 Yeah? 70 00:03:22,426 --> 00:03:24,130 >> Đung Đó là các biến bạn đặt trong chuỗi truy vấn. 71 00:03:24,130 --> 00:03:24,530 >> DAVID J. Malan: Hoàn hảo. 72 00:03:24,530 --> 00:03:26,488 Đó là các biến bạn đặt trong chuỗi truy vấn. 73 00:03:26,488 --> 00:03:29,910 Vì vậy, trong ví dụ cũ của chúng tôi reimplementing Google khi chúng tôi đã có 74 00:03:29,910 --> 00:03:34,130 một URL, và sau đó dấu hỏi, mà demarcates bắt đầu của HTTP 75 00:03:34,130 --> 00:03:37,950 các thông số, sau đó chúng tôi đã có q bằng một cái gì đó, giống như q bằng mèo, 76 00:03:37,950 --> 00:03:41,500 những gì tự động sẽ đi vào bên trong rằng $ _GET siêu toàn cầu cho bạn, 77 00:03:41,500 --> 00:03:47,430 vì PHP, là chìa khóa của Q, và giá trị của chúng thuộc mèo. 78 00:03:47,430 --> 00:03:51,250 >> Nói cách khác, $ _GET và tất cả các những điều này là mảng kết hợp, 79 00:03:51,250 --> 00:03:54,530 bảng băm của các loại, mà cửa hàng khóa và giá trị. 80 00:03:54,530 --> 00:03:57,980 Bây giờ, trở lại trong pset5, băm bảng bạn có thể đã thực hiện, 81 00:03:57,980 --> 00:04:00,220 hoặc bạn có thể thử đã triển khai, thực sự 82 00:04:00,220 --> 00:04:04,010 là một kết hợp hiệu quả mảng, một cấu trúc dữ liệu 83 00:04:04,010 --> 00:04:07,220 nhờ đó mà bạn có thể kết hợp phím với các giá trị. 84 00:04:07,220 --> 00:04:09,690 >> Nhưng trong pset5, các giá trị là tầm thường. 85 00:04:09,690 --> 00:04:12,430 Các giá trị cơ bản là đúng hay sai. 86 00:04:12,430 --> 00:04:13,900 Là các từ trong từ điển? 87 00:04:13,900 --> 00:04:18,279 Vì vậy, khi bạn băm một từ như táo để xem quả táo có trong từ điển, 88 00:04:18,279 --> 00:04:21,820 chức năng kiểm tra của bạn có lẽ trở về đúng hoặc sai. 89 00:04:21,820 --> 00:04:24,120 Vì vậy, đó là hiệu quả giá trị chúng tôi nhận được trở lại. 90 00:04:24,120 --> 00:04:26,456 >> Nhưng chúng tôi thấy hôm thứ Hai một thời gian ngắn, bạn có thể chắc chắn 91 00:04:26,456 --> 00:04:28,830 kết hợp thú vị hơn giá trị hơn là chỉ đúng hay sai 92 00:04:28,830 --> 00:04:30,790 với các phím, giống như quả táo. 93 00:04:30,790 --> 00:04:33,909 Bạn thực sự có thể trở lại một chuỗi tùy ý, và quả thật, 94 00:04:33,909 --> 00:04:36,200 đó là những gì $ _GET và các các biến số khác cho phép bạn làm. 95 00:04:36,200 --> 00:04:40,595 >> Vì vậy, $ _POST là tinh thần tương tự, nhưng nếu bạn gửi một hình thức qua bưu điện, 96 00:04:40,595 --> 00:04:44,490 một phương thức HTTP khác nhau đó là sử dụng cho những thứ như thẻ tín dụng, 97 00:04:44,490 --> 00:04:48,410 và thông tin cá nhân, và thậm chí thông tin nhị phân như hình ảnh, 98 00:04:48,410 --> 00:04:51,840 những điều kết thúc bên trong của $ _POST. 99 00:04:51,840 --> 00:04:53,770 Và thực sự cho các tập tin như JPEG và không có điều gì, 100 00:04:53,770 --> 00:04:58,290 thậm chí còn có một đó là không ở đây được gọi là $ _FILES là tốt. 101 00:04:58,290 --> 00:05:01,280 >> Vì vậy, máy chủ, chúng tôi sẽ không dừng lại ở quá nhiều, nhưng nó cung cấp cho bạn truy cập 102 00:05:01,280 --> 00:05:04,860 để sắp xếp các chi tiết mức thấp hơn khoảng máy chủ chính nó mà bạn đang sử dụng. 103 00:05:04,860 --> 00:05:07,430 Cookie và session, mặc dù, chúng tôi sẽ có hiệu quả nhìn thấy bây giờ. 104 00:05:07,430 --> 00:05:10,940 Cuối cùng là những gì chúng tôi sử dụng để thực hiện khái niệm về một giỏ mua hàng. 105 00:05:10,940 --> 00:05:14,480 Một một siêu đơn giản, nhưng thu hồi rằng chúng tôi đã có ví dụ này ở đây, 106 00:05:14,480 --> 00:05:17,640 đếm bao nhiêu lần bạn đã viếng thăm trang này trước khi. 107 00:05:17,640 --> 00:05:20,850 >> Nhưng ngày hôm nay, chứ không phải là chỉ cần nhìn vào ảnh hưởng của điều này, chúng ta hãy mở ra 108 00:05:20,850 --> 00:05:22,640 Chrome của Thanh tra, mà bạn có thể thường 109 00:05:22,640 --> 00:05:25,740 làm bằng cách click chuột phải hoặc Control cách nhấn vào bất cứ nơi nào trên một trang web, 110 00:05:25,740 --> 00:05:27,250 và sau đó chọn kiểm tra nguyên tố. 111 00:05:27,250 --> 00:05:31,600 Hoặc bạn có thể đi qua các menu mà chúng tôi mô tả trong spec pset6 của. 112 00:05:31,600 --> 00:05:35,020 Và tôi sẽ sang tab Network ở đây, và chúng ta hãy xem một lúc 113 00:05:35,020 --> 00:05:37,590 lưu lượng truy cập HTTP đó là đi tới đi lui. 114 00:05:37,590 --> 00:05:40,929 >> Hãy để tôi đầu tiên đi trước và bộ nhớ cache rõ ràng của Chrome. 115 00:05:40,929 --> 00:05:43,470 Vì vậy, một số bạn có thể quen với kỹ thuật này đã có, 116 00:05:43,470 --> 00:05:45,790 và chúng ta sẽ sử dụng nó cho mục đích gỡ lỗi ở đây. 117 00:05:45,790 --> 00:05:48,890 118 00:05:48,890 --> 00:05:50,890 Bây giờ chúng ta như máy tính các nhà khoa học sẽ bắt đầu 119 00:05:50,890 --> 00:05:53,920 làm điều này để gỡ lỗi mục đích, theo đó 120 00:05:53,920 --> 00:05:55,910 chúng tôi sẽ xóa bộ nhớ cache, thường, do đó chúng tôi 121 00:05:55,910 --> 00:05:57,670 có thể loại bỏ những thứ gọi là cookie. 122 00:05:57,670 --> 00:06:01,700 Vì vậy, có lẽ bạn đang nói chung quen thuộc với những gì các cookie, hoặc ít nhất là 123 00:06:01,700 --> 00:06:04,370 rằng chúng tồn tại, nhưng những gì sự hiểu biết của bạn về họ, 124 00:06:04,370 --> 00:06:06,920 như chỉ là một người sử dụng máy vi tính, một cookie là gì? 125 00:06:06,920 --> 00:06:09,490 126 00:06:09,490 --> 00:06:09,990 Yeah. 127 00:06:09,990 --> 00:06:14,391 >> Đung Đó là một chút of-- tốt, không bit trong một thuật ngữ khoa học máy tính. 128 00:06:14,391 --> 00:06:18,303 Đó là một phần của dữ liệu mà một trang web sẽ gửi cho bạn để 129 00:06:18,303 --> 00:06:20,209 để có thể ghi lại các số liệu thống kê về bạn. 130 00:06:20,209 --> 00:06:21,250 DAVID J. Malan: OK, tốt. 131 00:06:21,250 --> 00:06:24,980 Vì vậy, nó là một mảnh của dữ liệu mà một máy chủ, đặt vào máy tính của bạn, 132 00:06:24,980 --> 00:06:28,840 và chúng ta hãy khái quát nó thậm chí hơn, nó là một khóa value-- tốt, 133 00:06:28,840 --> 00:06:30,064 đó là nhận được chính xác hơn. 134 00:06:30,064 --> 00:06:31,980 Nó là một phần của thông tin, một phần dữ liệu, 135 00:06:31,980 --> 00:06:34,430 rằng một máy chủ có thể để đưa vào máy tính của bạn 136 00:06:34,430 --> 00:06:38,592 và rất thường xuyên, máy chủ không này để nhớ bạn là ai. 137 00:06:38,592 --> 00:06:40,300 Vì vậy, ví dụ, tỷ lệ cược là bạn có thể 138 00:06:40,300 --> 00:06:42,982 đăng nhập vào các trang web như Facebook, hoặc Gmail, hoặc những người khác trước, 139 00:06:42,982 --> 00:06:44,940 và bạn đăng nhập với bạn username và password, 140 00:06:44,940 --> 00:06:49,000 và sau đó sau đó, đối với một số số phút hoặc vài giờ hoặc thậm chí cả ngày, 141 00:06:49,000 --> 00:06:52,970 máy chủ nhớ rằng bạn đang có, trong thực tế, đăng nhập. 142 00:06:52,970 --> 00:06:54,600 Bây giờ, làm thế nào là thực sự xảy ra? 143 00:06:54,600 --> 00:06:58,630 Bởi vì bạn chắc chắn không phải gõ lại tên đăng nhập và mật khẩu của bạn mỗi khi 144 00:06:58,630 --> 00:07:00,760 bạn điều hướng đến một trang khác nhau trên Facebook. 145 00:07:00,760 --> 00:07:02,570 Vì vậy, nó quay ra Cookies là câu trả lời. 146 00:07:02,570 --> 00:07:05,360 >> Một cookie bạn có thể nghĩ như, loại thích, một tay kỹ thuật số 147 00:07:05,360 --> 00:07:09,200 tem mà bạn có thể nhận được tại một giải trí công viên hay một câu lạc bộ mà chủ yếu 148 00:07:09,200 --> 00:07:11,740 chỉ ra bạn đã ở đây trước, và bạn đã đã 149 00:07:11,740 --> 00:07:16,070 thể hiện ID của bạn để bouncer, cho Chẳng hạn, và rằng các câu lạc bộ hoặc công viên 150 00:07:16,070 --> 00:07:19,050 Bây giờ giả sử rằng bạn đã chứng thực rồi. 151 00:07:19,050 --> 00:07:21,270 Bạn đã được xác định bởi nó. 152 00:07:21,270 --> 00:07:24,740 >> Vì vậy, với ý nghĩ đó, chúng ta hãy mở truy cập ở đây. 153 00:07:24,740 --> 00:07:27,220 Hãy để tôi đi trước, tôi chỉ cần làm, và xóa tất cả các cookie của tôi. 154 00:07:27,220 --> 00:07:29,970 Và bây giờ những gì tôi sẽ làm là giữ phím Shift, chỉ cần cho các biện pháp tốt, 155 00:07:29,970 --> 00:07:31,740 và buộc phải tải lại trang. 156 00:07:31,740 --> 00:07:34,170 Chuyển chỉ cần đảm bảo rằng không có gì được lưu trữ. 157 00:07:34,170 --> 00:07:36,850 Và đây là yêu cầu mà đi tới đi lui. 158 00:07:36,850 --> 00:07:41,560 Vì vậy, ở đây chúng ta có một yêu cầu, và để cho tôi phóng xuống đây, và rất nhiều này 159 00:07:41,560 --> 00:07:44,710 là chi tiết loại nhàm chán cho bây giờ mà trình duyệt có tự động 160 00:07:44,710 --> 00:07:47,800 gửi đi, nhưng chúng ta hãy click View Nguồn để xem các tiêu đề liệu. 161 00:07:47,800 --> 00:07:51,700 >> Và nếu bạn đã nhảy vào pset6 đã, bạn chắc chắn sẽ nhận ra điều 162 00:07:51,700 --> 00:07:54,990 như thế này, và có thể một số của những dòng khác ở đây, 163 00:07:54,990 --> 00:07:59,040 nhưng những gì thú vị hơn cho ngày hôm nay nếu tôi di chuyển xuống, không phải để yêu cầu 164 00:07:59,040 --> 00:08:02,870 nhưng để được gọi là phản ứng, dòng này trông có vẻ quen thuộc. 165 00:08:02,870 --> 00:08:04,977 Đó là một điều tốt khi bạn nhìn thấy một 200 OK. 166 00:08:04,977 --> 00:08:07,060 Rõ ràng điều này là ngày và thời gian trên máy chủ 167 00:08:07,060 --> 00:08:08,268 và có một loạt các công cụ. 168 00:08:08,268 --> 00:08:09,290 Oh, đây là thú vị. 169 00:08:09,290 --> 00:08:13,430 >> Hóa ra bất cứ khi nào bạn sử dụng PHP, ít nhất là trong máy chủ này, 170 00:08:13,430 --> 00:08:16,360 máy chủ spits ra gì phiên bản của PHP bạn đang sử dụng. 171 00:08:16,360 --> 00:08:18,962 Trong đó, trên thực tế, đảm bảo an ninh mục đích, không phải là một điều tốt. 172 00:08:18,962 --> 00:08:21,170 Tuy nhiên, chúng tôi sẽ quay trở lại mà một số khác có lẽ thời gian. 173 00:08:21,170 --> 00:08:25,740 Nhưng bây giờ điều này là dòng ngon ngọt ngày hôm nay, và chúng ta đã thấy một thời gian ngắn một số trong số này, 174 00:08:25,740 --> 00:08:29,240 Tôi nghĩ rằng với Facebook khi chúng ta chọc xung quanh thanh tra tại thời điểm đó, 175 00:08:29,240 --> 00:08:33,380 bộ cookie là những gì được trồng mà ít mẩu thông tin 176 00:08:33,380 --> 00:08:34,890 vào máy tính của bạn. 177 00:08:34,890 --> 00:08:37,490 >> Đây là một tiêu đề HTTP đó là hiệu quả 178 00:08:37,490 --> 00:08:39,970 nói cho trình duyệt của bạn, Chrome, IE, bất cứ điều gì, 179 00:08:39,970 --> 00:08:44,480 hey trình duyệt cửa hàng trên của người sử dụng ổ cứng, hoặc trong bộ nhớ RAM của người dùng, 180 00:08:44,480 --> 00:08:49,680 một phím gọi là PHPSESSID, mà là một ký hiệu viết tắt cho session ID, 181 00:08:49,680 --> 00:08:53,670 và cung cấp cho nó một giá trị 0vlk8t, dấu chấm, dấu chấm, dấu chấm. 182 00:08:53,670 --> 00:08:56,480 Một giả thực sự lâu dài ngẫu nhiên chuỗi chữ số. 183 00:08:56,480 --> 00:08:59,480 Nó chỉ là một số thực sự lớn, nhưng nó được mã hóa với chữ cái và số 184 00:08:59,480 --> 00:09:03,550 do đó kích thước của nó có thể được thậm chí còn lớn hơn con số. 185 00:09:03,550 --> 00:09:06,947 Và sau đó, bằng cách này, Path = /, mà chỉ có nghĩa là cookie này nên 186 00:09:06,947 --> 00:09:08,780 liên kết với các toàn bộ các trang web, 187 00:09:08,780 --> 00:09:11,150 không chỉ là một cụ thể trang toàn bộ điều. 188 00:09:11,150 --> 00:09:12,930 Vì vậy, đây là dấu tay ảo. 189 00:09:12,930 --> 00:09:16,330 Nó như thể máy chủ, Facebook, hoặc trong trường hợp của chúng tôi các thiết bị, 190 00:09:16,330 --> 00:09:21,140 có 0vlk8t nghĩa bằng văn bản và vv, trên bàn tay của bạn. 191 00:09:21,140 --> 00:09:24,360 Chú ý những gì các máy chủ, không làm là nó không 192 00:09:24,360 --> 00:09:27,730 lưu trữ username của tôi, chắc chắn không lưu trữ mật khẩu của tôi. 193 00:09:27,730 --> 00:09:31,710 >> Thay vào đó, nó dường như là lưu trữ thông tin giả ngẫu nhiên 194 00:09:31,710 --> 00:09:35,010 để không ai có thể đoán những dấu tay của tôi là. 195 00:09:35,010 --> 00:09:37,590 Về phía server, Trong khi đó, máy chủ 196 00:09:37,590 --> 00:09:40,370 là sẽ nhớ, có lẽ trong một cơ sở dữ liệu hoặc một cái gì đó, 197 00:09:40,370 --> 00:09:46,490 mà người sử dụng, người trong tương lai trình bày một dấu bàn tay của 0vlk8t, chấm, 198 00:09:46,490 --> 00:09:51,440 dot, dot, nên kết hợp với này giỏ mua hàng đặc biệt, vì vậy để nói chuyện. 199 00:09:51,440 --> 00:09:55,060 Nói cách khác, nếu bây giờ tôi đi trở lại đây và tải lại trang này, 200 00:09:55,060 --> 00:09:58,020 làm thế nào để biết máy chủ mà tôi đã đến thăm một thời gian? 201 00:09:58,020 --> 00:10:01,730 >> Hoặc nếu tôi làm điều đó một lần nữa, làm thế nào các máy chủ biết rằng tôi đã đến thăm nó hai lần? 202 00:10:01,730 --> 00:10:04,680 Vâng, nếu tôi đi xuống này hầu hết các yêu cầu gần đây, 203 00:10:04,680 --> 00:10:09,150 bây giờ là thứ ba mà tôi đã gửi trong tổng số, chú ý yêu cầu của tôi bây giờ. 204 00:10:09,150 --> 00:10:11,300 Vẫn còn điều này có yêu cầu lên đây, cùng 205 00:10:11,300 --> 00:10:15,040 như trước đây, vẫn còn cả một bó các công cụ mà chúng tôi đã bỏ qua như trước, 206 00:10:15,040 --> 00:10:19,350 nhưng tiêu đề cuối cùng, điều này thời gian, bởi vì tôi đã ở đây trước, 207 00:10:19,350 --> 00:10:21,980 là một bài thuyết trình của dấu tay ảo này. 208 00:10:21,980 --> 00:10:28,957 >> Nhờ đó mà dòng này ở đây, không thiết lập cookie nhưng Cookie ruột PHPSESSI = 0vlk8t, 209 00:10:28,957 --> 00:10:32,040 đó chỉ là trình duyệt của tôi tự động trình bày các dấu tay này để 210 00:10:32,040 --> 00:10:37,910 bây giờ máy chủ, ngay khi nó nhận ra, ooh, đây là người sử dụng 0vlk8t dấu chấm, dấu chấm, dấu chấm, 211 00:10:37,910 --> 00:10:42,010 Tôi bây giờ có thể nhớ anh hoặc cô ấy là ai và reassociate với người sử dụng mà bất cứ điều gì 212 00:10:42,010 --> 00:10:46,450 thông tin mà tôi muốn, và tất cả các thông tin có thể được lưu trữ của bạn, 213 00:10:46,450 --> 00:10:50,130 các lập trình viên, trong $ _SESSION. 214 00:10:50,130 --> 00:10:57,170 >> Vì vậy, để được rõ ràng, nếu tôi mở ra thật nhanh chóng trong gedit tập tin thực tế, counter.php, 215 00:10:57,170 --> 00:11:02,340 trong thư mục công cộng chủ địa phương của tôi như trước đây, nhận thấy rằng, quả thật vậy, 216 00:11:02,340 --> 00:11:06,860 Tôi cuối cùng lưu trữ trong $ _SESSION Quote unquote "counter" 217 00:11:06,860 --> 00:11:10,110 giá trị của bộ đếm trước đây Tôi nhận được từ những dòng này lên đây mà chúng ta 218 00:11:10,110 --> 00:11:13,010 nhìn lần cuối cùng cộng với một. 219 00:11:13,010 --> 00:11:14,980 Vì vậy, bên dưới mui xe, đó là tất cả các cookie. 220 00:11:14,980 --> 00:11:17,563 Nó chỉ là loại kỹ thuật số dấu tay đi tới đi lui, 221 00:11:17,563 --> 00:11:20,450 và thẳng thắn nếu bạn mở Chrome Thanh tra trên bất kỳ trang web 222 00:11:20,450 --> 00:11:22,580 bạn truy cập vào ngày hôm nay, với siêu xác suất cao, 223 00:11:22,580 --> 00:11:25,450 bạn sẽ thấy có thể một, có lẽ nửa tá cookie 224 00:11:25,450 --> 00:11:26,650 được nhớ đến bạn. 225 00:11:26,650 --> 00:11:29,500 >> Và tệ hơn nữa, nếu những trang web bạn đang truy cập 226 00:11:29,500 --> 00:11:32,640 tất cả đều có quảng cáo, mà chắc chắn là khá phổ biến ngày hôm nay, 227 00:11:32,640 --> 00:11:36,100 và nếu những quảng cáo đang đến từ một số Trung ương Đảng, một người nào đó 228 00:11:36,100 --> 00:11:39,000 như Google hoặc AdWords như họ gọi một trong các sản phẩm của họ 229 00:11:39,000 --> 00:11:42,880 hoặc nhà cung cấp khác như vậy mà bán quảng cáo, những gì là thú vị, 230 00:11:42,880 --> 00:11:46,510 và thẳng thắn những gì là một chút đáng lo ngại, về cách thức HTTP công trình, 231 00:11:46,510 --> 00:11:50,855 là nếu bạn có một quảng cáo nhúng tại Facebook.com và Google.com, 232 00:11:50,855 --> 00:11:54,240 và Harvard.edu, bất kỳ số các trang web, vì vậy nó là như vậy 233 00:11:54,240 --> 00:11:58,130 rằng có một người đàn ông trung người đang phục vụ up quảng cáo cho tất cả ba của những trang web, 234 00:11:58,130 --> 00:12:02,110 nó chỉ ra rằng Cookies là mỗi miền. 235 00:12:02,110 --> 00:12:05,910 >> Vì vậy, nếu bạn có một quảng cáo đến từ các cùng một công ty trên các trang web khác nhau, 236 00:12:05,910 --> 00:12:11,140 công ty hiệu quả có thể theo dõi những người bạn trên tất cả các trang web đó. 237 00:12:11,140 --> 00:12:13,140 Harvard có thể không biết bạn đang truy cập Facebook. 238 00:12:13,140 --> 00:12:15,306 Facebook có thể không biết và bạn đang truy cập Harvard. 239 00:12:15,306 --> 00:12:18,160 Tuy nhiên, dịch vụ quảng cáo bất cứ điều gì họ đang sử dụng nếu tên miền đó là 240 00:12:18,160 --> 00:12:21,710 hiện diện trong cả hai web Harvard.edu trang Facebook.com và các trang web, 241 00:12:21,710 --> 00:12:26,850 người đàn ông trung này chắc chắn sẽ biết bạn là ai vì các tập tin cookie được chia sẻ 242 00:12:26,850 --> 00:12:30,910 qua, hay đúng hơn là để, rằng cái gọi là trung gian. 243 00:12:30,910 --> 00:12:33,820 >> Vì vậy, chúng tôi sẽ trở lại vấn đề này Vấn đề bảo mật của chúng, 244 00:12:33,820 --> 00:12:37,170 nhưng có rất nhiều thông tin được lưu trữ về bạn bất cứ lúc nào bạn 245 00:12:37,170 --> 00:12:40,120 ghé thăm hầu hết bất kỳ trang web trên Internet và nó thực sự 246 00:12:40,120 --> 00:12:42,877 làm giảm cơ chế rất đơn giản này. 247 00:12:42,877 --> 00:12:44,710 Điều gì xảy ra, sau đó, nếu bạn siêu hoang tưởng 248 00:12:44,710 --> 00:12:48,190 và bạn quyết định đi vào Chrome hay IE hoặc bất cứ điều gì và tắt cookie của bạn? 249 00:12:48,190 --> 00:12:49,365 Điều gì xảy ra? 250 00:12:49,365 --> 00:12:50,790 Yeah? 251 00:12:50,790 --> 00:12:53,170 Bạn really-- bạn đã thực hiện này phải không? 252 00:12:53,170 --> 00:12:54,350 OK. 253 00:12:54,350 --> 00:12:55,994 Không, đi trước. 254 00:12:55,994 --> 00:12:59,645 >> Đung Một số trang web không có một chức năng mà không có nó như Facebook. 255 00:12:59,645 --> 00:13:00,520 DAVID J. Malan: Yeah! 256 00:13:00,520 --> 00:13:02,311 Vì vậy, các trang web nhất định chỉ sẽ ngừng làm việc. 257 00:13:02,311 --> 00:13:05,520 Và trong hầu hết các trang web những ngày này rằng về cơ bản dựa vào cookies, 258 00:13:05,520 --> 00:13:08,360 đặc biệt là nếu họ có bạn đăng nhập tại, chúng tôi chỉ đi để phá vỡ. 259 00:13:08,360 --> 00:13:10,360 Bởi vì xem xét thay thế, nếu trang web 260 00:13:10,360 --> 00:13:14,480 không có cách nào ghi nhớ bạn là ai, và do đó trình duyệt web của bạn không phải là 261 00:13:14,480 --> 00:13:16,949 đại diện với tất cả các HTTP yêu cầu của dấu tay này, 262 00:13:16,949 --> 00:13:18,740 hiệu quả một trang web như đang diễn ra của Facebook 263 00:13:18,740 --> 00:13:22,050 phải nhắc bạn đăng nhập mỗi khi darn 264 00:13:22,050 --> 00:13:26,200 bạn thay đổi trang, hoặc nhấp vào một liên kết, mà là chắc chắn không phải là một người sử dụng đặc biệt tốt 265 00:13:26,200 --> 00:13:26,920 kinh nghiệm. 266 00:13:26,920 --> 00:13:30,020 >> Vì vậy, mà ở đó, cũng là một trong những đánh đổi thương mại. 267 00:13:30,020 --> 00:13:34,140 Vì vậy, không có thêm ado, chúng ta hãy cho các cấp rằng với lập trình web, 268 00:13:34,140 --> 00:13:37,630 các ngôn ngữ như PHP, bạn có thể nhớ thông tin như thế trong vấn đề thiết lập 269 00:13:37,630 --> 00:13:41,550 bảy khi bạn thực hiện của riêng bạn Trang web E * Trade-như mà mua 270 00:13:41,550 --> 00:13:45,710 và bán cổ phiếu, bạn sẽ nhớ chính xác những gì người dùng đã mua và bán 271 00:13:45,710 --> 00:13:49,110 và anh ta hoặc cô ấy là ai bằng cách phiên này. 272 00:13:49,110 --> 00:13:51,110 Nhưng chúng ta sẽ cần một cách sành điệu hơn email 273 00:13:51,110 --> 00:13:52,640 để bắt đầu giữ thông tin xung quanh. 274 00:13:52,640 --> 00:13:53,140 Phải không? 275 00:13:53,140 --> 00:13:56,780 >> Hôm thứ Hai, chúng tôi nói chuyện về Frosh nhắn tức thì và làm thế nào trong phiên bản một trong những trang web đó, 276 00:13:56,780 --> 00:14:00,250 năm trước đây, tất cả chúng ta đã làm được gửi email cho Proctor ai 277 00:14:00,250 --> 00:14:04,250 phụ trách và thể thao chương trình, tên và giới tính, 278 00:14:04,250 --> 00:14:07,330 và có hay không họ là một đội trưởng, và ký túc xá của một ai đó 279 00:14:07,330 --> 00:14:10,136 đăng ký cho một môn thể thao thể thao trong. 280 00:14:10,136 --> 00:14:13,010 Vì vậy, nó không phải là xấu, nhưng anh ta hoặc cô sau đó phải troll qua email của họ, 281 00:14:13,010 --> 00:14:16,010 tạo bảng tính hoặc một cái gì đó như rằng, để giữ cho tổ chức tất cả mọi thứ. 282 00:14:16,010 --> 00:14:19,750 Vì vậy, chắc chắn chúng ta như lập trình có thể làm điều này cho giám thị đó. 283 00:14:19,750 --> 00:14:22,970 Và như vậy nhập vào SQL, Structured Query Language, 284 00:14:22,970 --> 00:14:26,050 đó là sẽ trông khá khác nhau để cả hai C và PHP, 285 00:14:26,050 --> 00:14:30,990 và bạn sẽ nhảy vào nhiều hơn nữa tay trên PHP và vấn đề thiết lập bảy nhưng cũng SQL, 286 00:14:30,990 --> 00:14:35,310 hoặc SQL, đây là một ngôn ngữ bạn sử dụng để nói chuyện với một cơ sở dữ liệu. 287 00:14:35,310 --> 00:14:36,480 >> Tuy nhiên, một cơ sở dữ liệu là gì? 288 00:14:36,480 --> 00:14:38,440 Vâng, bạn nghĩ về một cơ sở dữ liệu, ít nhất là cho bây giờ, 289 00:14:38,440 --> 00:14:41,750 như chỉ là như một tập tin Excel, hoặc nếu bạn là một máy Mac số người sử dụng một tập tin, 290 00:14:41,750 --> 00:14:44,400 hoặc nếu bạn là một Google Apps sử dụng một bảng tính Google, 291 00:14:44,400 --> 00:14:49,120 nó có hiệu quả cơ sở dữ liệu, hoặc thực sự đặc biệt là một cơ sở dữ liệu quan hệ. 292 00:14:49,120 --> 00:14:53,070 Một cơ sở dữ liệu quan hệ chỉ là cái gì đó có hàng và cột, 293 00:14:53,070 --> 00:14:56,440 và bạn có thể lưu trữ bất kỳ loại thông tin trong các hàng hoặc cột. 294 00:14:56,440 --> 00:15:00,480 >> Nhưng những gì là tốt đẹp về SQL, và về cơ sở dữ liệu thực tế, không chỉ 295 00:15:00,480 --> 00:15:04,910 bảng tính hoặc bảng tính của Google, là bạn có thể sử dụng một ngôn ngữ 296 00:15:04,910 --> 00:15:09,000 để thực sự thực hiện truy vấn để chèn dữ liệu, để loại bỏ dữ liệu, 297 00:15:09,000 --> 00:15:11,620 để tìm kiếm dữ liệu, thậm chí Quan trọng nhất, và bạn 298 00:15:11,620 --> 00:15:16,110 không cần phải sử dụng nó khá thủ công như bạn có thể thường là một Google 299 00:15:16,110 --> 00:15:17,690 bảng tính như thế này. 300 00:15:17,690 --> 00:15:22,217 >> Vì vậy, trong SQL, có một loạt các báo cáo cơ bản, miếng 301 00:15:22,217 --> 00:15:23,300 chức năng được xây dựng trong. 302 00:15:23,300 --> 00:15:26,450 Có nhiều hơn này, nhưng bạn có thể đi một khoảng cách rất lớn 303 00:15:26,450 --> 00:15:28,620 chỉ cần biết rằng ngôn ngữ này được gọi là 304 00:15:28,620 --> 00:15:30,840 SQL có ít nhất bốn báo cáo bạn có thể tận dụng. 305 00:15:30,840 --> 00:15:34,420 >> Xóa, để loại bỏ dữ liệu, Chèn, để thêm hàng, 306 00:15:34,420 --> 00:15:37,340 Cập nhật, để thay đổi hàng, và Lựa chọn, 307 00:15:37,340 --> 00:15:39,860 cho nhận lại hàng và đó là những gì thực sự SQL không. 308 00:15:39,860 --> 00:15:43,810 Nó hoạt động hoàn toàn trên các hàng để rằng khi bạn chèn, hoặc loại bỏ, 309 00:15:43,810 --> 00:15:47,470 hoặc cập nhật, hoặc chọn những gì bạn đang nhận được trở lại như một cái gọi là tập hợp kết quả, 310 00:15:47,470 --> 00:15:49,690 giống như một mảng của hàng. 311 00:15:49,690 --> 00:15:51,700 Một loạt các hàng từ một bảng. 312 00:15:51,700 --> 00:15:54,050 >> Vì vậy, trở lại trong ngày, và thậm chí cho đến ngày nay, 313 00:15:54,050 --> 00:15:56,560 bạn có thể tương tác với các cơ sở dữ liệu bằng cách sử dụng dòng lệnh, 314 00:15:56,560 --> 00:15:59,691 nhưng nó không phải là đặc biệt thú vị để sử dụng cửa sổ theo phong cách màu đen và trắng 315 00:15:59,691 --> 00:16:02,190 và thực sự thực hiện các lệnh và poke xung quanh cơ sở dữ liệu của bạn. 316 00:16:02,190 --> 00:16:06,054 Một giao diện người dùng đồ họa, hoặc GUI, có nhiều lợi thế hơn, tranh cãi, 317 00:16:06,054 --> 00:16:08,970 và do đó, các công cụ chúng tôi đề nghị và cài đặt sẵn cho bạn trên thiết bị 318 00:16:08,970 --> 00:16:10,580 được gọi là phpMyAdmin. 319 00:16:10,580 --> 00:16:14,060 Đó là một tổng ngẫu nhiên mà Tên của điều này có PHP trong nó, 320 00:16:14,060 --> 00:16:17,430 nó chỉ có nghĩa là người người viết chương trình này mình 321 00:16:17,430 --> 00:16:18,670 đã viết nó trong PHP. 322 00:16:18,670 --> 00:16:23,740 >> Nhưng đó là cuối cùng về quản lý một máy chủ cơ sở dữ liệu, giống như một máy chủ MYSQL 323 00:16:23,740 --> 00:16:26,589 mà bạn có thể có, như bạn làm, trong các thiết bị CS50. 324 00:16:26,589 --> 00:16:29,130 Vì vậy, có chi tiết hơn ở đây hơn chúng ta cần phải quan tâm đến ngày hôm nay, 325 00:16:29,130 --> 00:16:33,280 nhưng những gì là quan trọng mà bên trái là phía bên tay là một danh sách các cơ sở dữ liệu 326 00:16:33,280 --> 00:16:36,040 mà bạn có trên máy tính của bạn, trên thiết bị của bạn CS50, 327 00:16:36,040 --> 00:16:40,090 hoặc đến các dự án cuối cùng mà bạn có thể có trên một bên thứ ba, một công ty của 328 00:16:40,090 --> 00:16:43,415 trang web hoặc máy chủ web, mà bạn có thể được trả tiền cho không gian. 329 00:16:43,415 --> 00:16:45,290 Vì vậy, bên trái là cơ sở dữ liệu, một trong số đó 330 00:16:45,290 --> 00:16:48,750 là pset7 mà tôi mượn từ tiếp theo pset tuần, và sau đó trên đầu trang 331 00:16:48,750 --> 00:16:51,570 có nhận thấy có một loạt các tab, một trong số đó 332 00:16:51,570 --> 00:16:55,150 là cơ sở dữ liệu, SQL, tình trạng, người dùng, xuất khẩu và vv. 333 00:16:55,150 --> 00:16:56,900 Vì vậy, bạn có thể đi một chặng đường dài cách chỉ bằng cách thực hiện 334 00:16:56,900 --> 00:16:59,770 rằng hầu hết các giao diện người dùng ở cột bên trái 335 00:16:59,770 --> 00:17:02,650 và trên đầu phải lên đó. 336 00:17:02,650 --> 00:17:04,980 Vì vậy, những gì chúng ta có thể thực sự làm gì với điều này? 337 00:17:04,980 --> 00:17:08,609 Vâng, chúng ta hãy bắt đầu tạo một bit thông tin như sau. 338 00:17:08,609 --> 00:17:11,760 >> Giả sử sau đây là trường hợp, như sẽ được chỉ trong một vài ngày, 339 00:17:11,760 --> 00:17:14,440 bạn muốn thực hiện một trang web, gọi là CS50 Tài chính, 340 00:17:14,440 --> 00:17:17,328 và trang web này cho phép bạn mua trích dẫn unquote và bán cổ phiếu. 341 00:17:17,328 --> 00:17:19,619 Và nó sẽ tìm ra giá của những cổ phiếu, 342 00:17:19,619 --> 00:17:22,380 cuối cùng như bạn sẽ thấy, bằng cách nói chuyện Yahoo Finance. 343 00:17:22,380 --> 00:17:26,250 Trong đó, tuyệt vời, có một dịch vụ miễn phí nhờ đó mà bạn có thể vượt qua trong một mã chứng khoán 344 00:17:26,250 --> 00:17:29,830 như GOOG cho Google, và nó sẽ cung cấp cho bạn trở lại cổ phiếu hiện tại của Google 345 00:17:29,830 --> 00:17:32,250 giá trong quá khứ vài phút ít nhất. 346 00:17:32,250 --> 00:17:35,080 >> Vì vậy, bạn sẽ sử dụng rằng, cuối cùng, giả vờ cho người sử dụng 347 00:17:35,080 --> 00:17:37,750 mua và bán thực tế cổ phiếu sử dụng tiền ảo, 348 00:17:37,750 --> 00:17:39,750 nhưng điều đầu tiên người sử dụng sẽ thấy 349 00:17:39,750 --> 00:17:43,850 là màn hình đăng nhập này mà yêu cầu họ tên người dùng và mật khẩu của họ. 350 00:17:43,850 --> 00:17:46,540 Và như vậy, một trong những đầu tiên thách thức đối với bạn trong pset7 351 00:17:46,540 --> 00:17:50,460 là có được thực hiện trở lại vào cuối cơ sở dữ liệu, bảng tính nếu bạn muốn, 352 00:17:50,460 --> 00:17:53,369 đó sẽ lưu trữ người sử dụng tên và mật khẩu 353 00:17:53,369 --> 00:17:56,660 và cuối cùng là những gì cổ phiếu mà họ sở hữu, và bao nhiêu, và bao nhiêu tiền họ có, 354 00:17:56,660 --> 00:18:00,110 do đó, một loạt các thứ khác trong bảng khác, hoặc bảng tính. 355 00:18:00,110 --> 00:18:05,020 >> Vì vậy, chúng ta hãy xem làm thế nào này có thể xuất hiện ở cái nhìn đầu tiên. 356 00:18:05,020 --> 00:18:06,980 Tôi sẽ quay trở lại thiết bị và tôi 357 00:18:06,980 --> 00:18:14,102 sẽ đi đến URL này ở đây phpMyAdmin localhost / phpmyadmin 358 00:18:14,102 --> 00:18:16,060 và bạn sẽ thấy rằng nó đưa tôi đến một giao diện 359 00:18:16,060 --> 00:18:18,520 chính xác như chúng ta đã thấy trên ảnh chụp màn hình, và ở đây tôi 360 00:18:18,520 --> 00:18:21,560 có một cơ sở dữ liệu thêm gọi là bài giảng cho ngày hôm nay 361 00:18:21,560 --> 00:18:24,280 và cho tôi đi trước đầu tiên và nhấn pset7. 362 00:18:24,280 --> 00:18:27,940 >> Tôi dường như có một vài lựa chọn, một cho mới, để tạo một bảng mới, 363 00:18:27,940 --> 00:18:30,770 và một liên kết cho người sử dụng, mà là một bảng tôi đã tạo ra. 364 00:18:30,770 --> 00:18:31,790 Vì vậy, một bảng là gì? 365 00:18:31,790 --> 00:18:33,740 Vì vậy, nếu bạn sử dụng Excel trước, và nếu bạn đã 366 00:18:33,740 --> 00:18:37,110 số được sử dụng hoặc Google Bảng tính, bạn mở một cửa sổ 367 00:18:37,110 --> 00:18:39,350 và bạn sẽ có được cả một bó các hàng và cột, 368 00:18:39,350 --> 00:18:43,120 nhưng sau đó bạn thường có bảng dọc theo phía dưới, hoặc các tab riêng biệt. 369 00:18:43,120 --> 00:18:46,140 Bạn có thể nghĩ của mỗi bảng tính như một bảng 370 00:18:46,140 --> 00:18:51,150 vì vậy cơ sở dữ liệu, cuối cùng, là một sự kết hợp của một hoặc nhiều bảng, một 371 00:18:51,150 --> 00:18:54,064 hoặc nhiều bảng tính, trong thế giới của một bảng tính bình thường. 372 00:18:54,064 --> 00:18:55,980 Vì vậy, hãy để tôi đi trước và bấm vào bảng tính này 373 00:18:55,980 --> 00:18:59,420 mà tôi premade, được gọi là người sử dụng, còn gọi là 374 00:18:59,420 --> 00:19:00,700 Bảng cơ sở dữ liệu. 375 00:19:00,700 --> 00:19:04,130 Và nếu tôi di chuyển xuống đây, hãy để tôi phóng to ra một chút, 376 00:19:04,130 --> 00:19:08,479 đây là những gì phpMyAdmin là nói chúng tôi là bên trong của bảng này ngay bây giờ. 377 00:19:08,479 --> 00:19:11,020 Đó là một chút bối rối lúc đầu nháy mắt bởi vì giao diện người dùng không phải là 378 00:19:11,020 --> 00:19:15,140 điều đẹp nhất trên thế giới, nhưng những gì là thú vị này là một phần ở đây là. 379 00:19:15,140 --> 00:19:17,970 ID, tên người dùng, và băm. 380 00:19:17,970 --> 00:19:20,510 >> Năm trước, và bạn sẽ có tay này trong vấn đề thiết lập bảy, 381 00:19:20,510 --> 00:19:25,050 chúng tôi cung cấp cho bạn một tập tin có chứa một siêu bảng cơ sở dữ liệu nhỏ, vay thực 382 00:19:25,050 --> 00:19:27,070 từ các ấn bản của hacker vấn đề đặt hai, 383 00:19:27,070 --> 00:19:29,480 bên trong đó có sáu hàng. 384 00:19:29,480 --> 00:19:32,720 Một cho tất cả các Belinda con đường xuống một cho Zamyla, 385 00:19:32,720 --> 00:19:35,980 và thông báo cho bên trái của những tên người dùng là ID duy nhất như một, 386 00:19:35,980 --> 00:19:39,410 hai, ba, bốn, năm, sáu, số nguyên, và sau đó bên phải là băm. 387 00:19:39,410 --> 00:19:42,780 >> Và nếu, tỷ lệ cược là, bạn đã không làm vấn đề của hacker phiên bản thiết lập hai, 388 00:19:42,780 --> 00:19:46,560 nhưng một hash chỉ giống như một mã hóa mật khẩu với một vài hãy cẩn thận. 389 00:19:46,560 --> 00:19:49,470 Và như vậy, những gì bạn thấy ở đây là các phiên bản mã hóa của tất cả sáu 390 00:19:49,470 --> 00:19:52,950 mật khẩu của chúng tôi từ vấn đề đặt hai phiên bản của hacker. 391 00:19:52,950 --> 00:19:56,500 Bây giờ bên trái chỉ là một số công cụ giao diện đồ họa, chỉnh sửa hàng này, sao chép hàng này, 392 00:19:56,500 --> 00:19:57,630 xóa hàng này. 393 00:19:57,630 --> 00:19:59,840 >> Nhưng điều thú vị Hiện tại là như sau. 394 00:19:59,840 --> 00:20:03,810 Tôi thực sự có thể bắt đầu thử nghiệm với bảng này. 395 00:20:03,810 --> 00:20:07,330 Vì vậy, nếu tôi đi và nhấp vào SQL tab, tôi nhận được hộp văn bản này lớn. 396 00:20:07,330 --> 00:20:10,190 Và điều này không phải là cách chúng ta sẽ làm điều đó khi thực sự viết code. 397 00:20:10,190 --> 00:20:12,700 Để được rõ ràng, phpMyAdmin chỉ là một công cụ đó là 398 00:20:12,700 --> 00:20:16,450 sẽ để cho chúng tôi poke xung quanh cơ sở dữ liệu và chúng ta hãy thử nghiệm với câu truy vấn. 399 00:20:16,450 --> 00:20:19,430 >> Vì vậy, ví dụ, giả sử Tôi thực hiện chính xác này. 400 00:20:19,430 --> 00:20:22,820 Lựa chọn, đó là một trong những từ khóa tôi đã đề cập trước đó, ngôi sao, 401 00:20:22,820 --> 00:20:25,900 đại diện cho tất cả các cột trong một bảng. 402 00:20:25,900 --> 00:20:26,820 Từ những gì bảng? 403 00:20:26,820 --> 00:20:27,990 Vâng, người sử dụng. 404 00:20:27,990 --> 00:20:29,950 Và thông báo có này ước kỳ lạ trong SQL 405 00:20:29,950 --> 00:20:32,140 nơi bạn thực sự sử dụng trở lại ve, thông thường, 406 00:20:32,140 --> 00:20:35,940 dấu ngoặc kép không đơn và dấu ngoặc kép không đôi khi bạn nói về bảng tên, 407 00:20:35,940 --> 00:20:38,990 do đó, các báo lại là điều trên Mặt trên bên trái của bàn phím của bạn nhất 408 00:20:38,990 --> 00:20:39,720 có khả năng. 409 00:20:39,720 --> 00:20:41,850 >> Vì vậy, hãy để tôi đi trước nay và chỉ để lại một mình 410 00:20:41,850 --> 00:20:46,020 và di chuyển xuống và bấm Go, và chúng tôi thực sự sẽ thấy điều tương tự. 411 00:20:46,020 --> 00:20:52,410 Chúng tôi vừa thực hiện một truy vấn SQL nói chọn tất cả mọi thứ sao 412 00:20:52,410 --> 00:20:55,610 từ bảng gọi là người sử dụng, và những gì bạn nhận được trở lại này là. 413 00:20:55,610 --> 00:20:58,400 Cuối cùng, chúng ta sẽ có thể làm điều đó tương tự trong mã, 414 00:20:58,400 --> 00:21:02,109 nhưng bây giờ tất cả tôi muốn làm là nhìn thấy nó trong trình duyệt của tôi. 415 00:21:02,109 --> 00:21:03,900 Vâng chúng ta hãy làm điều gì đó một chút khác nhau. 416 00:21:03,900 --> 00:21:08,330 Hãy để tôi quay trở lại tab SQL, và chúng ta hãy chỉ nói rằng những gì? 417 00:21:08,330 --> 00:21:11,520 Zamyla đã mất tất cả của mình tiền, và do đó nó 418 00:21:11,520 --> 00:21:13,190 thời gian cho chúng ta để xóa mình như là một người sử dụng. 419 00:21:13,190 --> 00:21:14,630 Cô ấy không còn đăng nhập. 420 00:21:14,630 --> 00:21:18,870 >> Vì vậy, tôi sẽ nói xóa from-- tốt, duy trì vốn 421 00:21:18,870 --> 00:21:23,080 cho phù hợp, xóa từ những người dùng nơi. 422 00:21:23,080 --> 00:21:25,430 Và như vậy, chúng ta có thể có những vị, hoặc những 423 00:21:25,430 --> 00:21:31,180 vòng loại, ở phần cuối của báo cáo của tôi ở đâu và làm thế nào tôi có thể xóa Zamyla? 424 00:21:31,180 --> 00:21:34,190 Bởi cô tên Zamyla, vì vậy cột, một trong các cột 425 00:21:34,190 --> 00:21:37,950 được đặt tên, vì vậy mà name = "Zamyla". 426 00:21:37,950 --> 00:21:40,000 Và ở đây tôi sử dụng gấp đôi dấu ngoặc kép hoặc dấu nháy đơn, 427 00:21:40,000 --> 00:21:42,958 bạn chỉ sử dụng sau khi bọ ve nói về những cái tên, ví dụ, 428 00:21:42,958 --> 00:21:45,130 các bảng hoặc các lĩnh vực. 429 00:21:45,130 --> 00:21:47,440 Và hãy để tôi nhấp vào Về đây. 430 00:21:47,440 --> 00:21:50,400 Và bây giờ, trang web là là một chút căng thẳng. 431 00:21:50,400 --> 00:21:53,620 >> Hoặc, bạn có thực sự muốn thực hiện xóa từ những người dùng nơi tên bằng Zamyla? 432 00:21:53,620 --> 00:21:54,680 Vâng. 433 00:21:54,680 --> 00:22:01,900 Vì vậy, bây giờ, nếu chúng ta quay trở lại bàn của tôi bởi người dùng nhấp vào, nhận thấy rằng Hm. 434 00:22:01,900 --> 00:22:02,530 Tôi goofed. 435 00:22:02,530 --> 00:22:04,070 Và trong thực tế, tôi loại nhấp đi quá nhanh 436 00:22:04,070 --> 00:22:06,195 bạn thậm chí không nhìn thấy thông báo lỗi màu đỏ, có lẽ. 437 00:22:06,195 --> 00:22:07,649 Tôi đã làm gì sai? 438 00:22:07,649 --> 00:22:09,690 Đung Bạn không cần để tận dụng tên của cô. 439 00:22:09,690 --> 00:22:11,260 DAVID J. Malan: Vâng tôi vốn tên của mình, 440 00:22:11,260 --> 00:22:13,770 nhưng cô ấy thực sự username-- tôi thực hiện một vài sai lầm, phải không? 441 00:22:13,770 --> 00:22:16,720 Một, tên người dùng của cô là zamyla, chữ thường Z, 442 00:22:16,720 --> 00:22:20,140 và tên cột là tên người dùng, không tên, vì vậy hãy làm điều này một lần nữa. 443 00:22:20,140 --> 00:22:25,750 Hãy để tôi đi trước và xóa từ những người dùng nơi 444 00:22:25,750 --> 00:22:28,990 Tên truy nhập bằng quote unquote "Zamyla". 445 00:22:28,990 --> 00:22:29,490 Tất cả phải không? 446 00:22:29,490 --> 00:22:32,600 Vì vậy, điều này có vẻ tốt hơn một chút, chúng ta hãy tôi đi di chuyển xuống và bấm Go. 447 00:22:32,600 --> 00:22:34,730 Nó vẫn sẽ la tôi để đảm bảo. 448 00:22:34,730 --> 00:22:37,500 Tôi bấm Yes, và bây giờ chúng ta thấy, thẳng thắn điều này xảy ra, thực sự 449 00:22:37,500 --> 00:22:39,870 nhanh chóng, ít hơn một thứ hai chắc chắn, điều này 450 00:22:39,870 --> 00:22:41,720 chính là truy vấn đã thực hiện. 451 00:22:41,720 --> 00:22:45,617 Để xác nhận, hãy để tôi nhấp người dùng và thực tế hiện nay Zamyla đã biến mất. 452 00:22:45,617 --> 00:22:46,700 Bây giờ chúng ta hãy làm điều ngược lại. 453 00:22:46,700 --> 00:22:49,320 Giả sử rằng Gabe muốn đăng ký cho trang web. 454 00:22:49,320 --> 00:22:52,825 Truy vấn SQL là gì, những gì là lệnh tôi có thể gõ thêm Gabe? 455 00:22:52,825 --> 00:22:54,200 Vâng đó là khá dễ dàng. 456 00:22:54,200 --> 00:22:58,260 Chèn vào người sử dụng, và bây giờ nó được một chút khó hiểu. 457 00:22:58,260 --> 00:23:03,190 Tôi cần phải xác định, đến máy chủ, những lĩnh vực tôi muốn chỉ định. 458 00:23:03,190 --> 00:23:06,630 Tôi không thực sự quan tâm những gì ID của Gabe Số là, vì vậy tôi sẽ bỏ qua. 459 00:23:06,630 --> 00:23:11,360 Tôi thay vì sẽ nói Tên truy nhập, băm, và sau đó 460 00:23:11,360 --> 00:23:14,960 các giá trị tôi muốn đặt có là có được Gabe. 461 00:23:14,960 --> 00:23:16,800 Và sau đó băm của mình, tôi không biết. 462 00:23:16,800 --> 00:23:19,900 Vì vậy, bây giờ, tôi sẽ rời khỏi đó như là một lớn để làm. 463 00:23:19,900 --> 00:23:21,650 Chúng tôi sẽ trở lại rằng trong vấn đề thiết lập 464 00:23:21,650 --> 00:23:23,390 thông số như thế nào bạn thực sự làm điều đó. 465 00:23:23,390 --> 00:23:24,630 >> Vì vậy, nhận thấy, một lần nữa, cú pháp. 466 00:23:24,630 --> 00:23:28,430 Chèn vào bảng tên, sau đó một danh sách trong ngoặc đơn của các lĩnh vực, 467 00:23:28,430 --> 00:23:30,980 các cột bạn muốn thêm giá trị đến, và sau đó chỉ cần 468 00:23:30,980 --> 00:23:34,495 Trật tự chính xác cùng còn lại để bên phải của giá trị mà bạn muốn thêm vào, 469 00:23:34,495 --> 00:23:36,870 và nó chỉ gói bởi vì văn bản là một ít lâu. 470 00:23:36,870 --> 00:23:38,520 Vì vậy, bây giờ để tôi nhấn Go. 471 00:23:38,520 --> 00:23:39,830 Một dòng. 472 00:23:39,830 --> 00:23:43,020 Và bây giờ nếu tôi trở lại người sử dụng, những gì là thú vị 473 00:23:43,020 --> 00:23:48,960 là không chỉ là Gabe bây giờ trong cơ sở dữ liệu, những gì là rõ ràng ID của mình? 474 00:23:48,960 --> 00:23:49,820 >> Vâng đó là bảy. 475 00:23:49,820 --> 00:23:51,479 Tại sao nó bảy khi tôi không thêm nó? 476 00:23:51,479 --> 00:23:54,020 Vì vậy, đây cũng là một trong những các tính năng bạn có được cơ sở dữ liệu. 477 00:23:54,020 --> 00:23:55,750 Rất nhiều được xây dựng trong chức năng. 478 00:23:55,750 --> 00:23:57,950 Nó chỉ ra rằng khi tạo ra bảng này, 479 00:23:57,950 --> 00:24:01,390 Tôi cấu hình sẵn đó là tự động gán một ID theo cách như vậy 480 00:24:01,390 --> 00:24:02,480 rằng nó increments. 481 00:24:02,480 --> 00:24:05,470 Vì vậy, nếu bạn đã từng chọc xung quanh, và nhìn vào Facebook ID những gì bạn 482 00:24:05,470 --> 00:24:09,292 Số là, những ngày này nó không thực sự một điều để làm, nhưng Facebook như là một API, 483 00:24:09,292 --> 00:24:11,750 Application Programming Interface, nhờ đó mà bạn có thể quay lại 484 00:24:11,750 --> 00:24:14,430 một bó toàn bộ các dữ liệu về mình, về bạn bè của bạn, 485 00:24:14,430 --> 00:24:15,347 và các kết nối của bạn. 486 00:24:15,347 --> 00:24:17,430 Và những gì được sử dụng để loại mát mẻ, trở lại trong ngày, 487 00:24:17,430 --> 00:24:19,510 là để tìm kiếm những gì bạn Facebook là số ID. 488 00:24:19,510 --> 00:24:22,390 Mark Zuckerberg của, ví dụ, là ba 489 00:24:22,390 --> 00:24:23,890 kể từ khi ông là tác giả của trang web. 490 00:24:23,890 --> 00:24:27,610 Và như câu chuyện đi, ông đã tạo ra hai tài khoản thử nghiệm, người dùng có một và hai, 491 00:24:27,610 --> 00:24:28,690 mà sau đó ông đã bị xóa. 492 00:24:28,690 --> 00:24:32,780 Và như vậy, Zuck, như là tên người dùng của mình trên Facebook, là ID thứ ba, 493 00:24:32,780 --> 00:24:36,110 và tất cả chúng ta có số lượng nhiều lớn hơn ba những ngày này. 494 00:24:36,110 --> 00:24:37,980 Trong thực tế, tại một số điểm Facebook chuyển đi 495 00:24:37,980 --> 00:24:42,410 từ thậm chí sử dụng một int, mà là một giá trị 32-bit, để sử dụng 496 00:24:42,410 --> 00:24:44,480 bước tiếp theo, cơ bản là một quá lâu dài 497 00:24:44,480 --> 00:24:47,150 rằng họ có thể chứa thậm chí nhiều người dùng đăng ký. 498 00:24:47,150 --> 00:24:49,420 Vì vậy, một chút thực tế lịch sử thú vị. 499 00:24:49,420 --> 00:24:51,660 >> Vì vậy, đó chỉ là Cú pháp cơ bản mà 500 00:24:51,660 --> 00:24:54,470 chúng ta có thể thực hiện một vài truy vấn, nhưng chúng ta có thể thực sự 501 00:24:54,470 --> 00:24:56,744 làm những điều một bó hơn với SQL. 502 00:24:56,744 --> 00:24:58,910 Và bạn sẽ thấy, cuối cùng, trong vấn đề thiết lập bảy 503 00:24:58,910 --> 00:25:01,034 mà bạn phải thực hiện một số quyết định thiết kế, 504 00:25:01,034 --> 00:25:03,290 trong số đó là có được những loại dữ liệu để sử dụng. 505 00:25:03,290 --> 00:25:08,240 Vì vậy, giống như trong C, có dữ liệu loại trong một cơ sở dữ liệu, như MySQL, 506 00:25:08,240 --> 00:25:12,640 và các loại dữ liệu bạn có để lựa chọn từ bao gồm các lĩnh vực này ở đây. 507 00:25:12,640 --> 00:25:17,287 Char, varchar, Int, lớn int, số thập phân và thời gian ngày, và nhiều người khác. 508 00:25:17,287 --> 00:25:18,370 Vì vậy, hãy thực sự làm điều này. 509 00:25:18,370 --> 00:25:21,060 Hãy giả sử rằng chúng tôi đã không tay bạn bảng của người dùng này 510 00:25:21,060 --> 00:25:25,080 và cho tôi đi trước và tạo ra, cho bản thân mình, trong các bài giảng database-- 511 00:25:25,080 --> 00:25:31,000 thực sự cho tôi đi trước và xóa bảng tôi có ở đây đã 512 00:25:31,000 --> 00:25:32,940 để chúng tôi thực sự có thể tạo ra điều này. 513 00:25:32,940 --> 00:25:33,550 Lỗi chính. 514 00:25:33,550 --> 00:25:35,970 Tôi sẽ thả này bảng, và bây giờ tôi 515 00:25:35,970 --> 00:25:38,337 sẽ đi một lần nữa để bài giảng cơ sở dữ liệu trên đây, 516 00:25:38,337 --> 00:25:40,420 Tôi sẽ tạo ra một bảng gọi là người sử dụng và chúng ta hãy 517 00:25:40,420 --> 00:25:43,010 chỉ cần làm ba cột ban đầu và nhấn Go. 518 00:25:43,010 --> 00:25:44,990 >> Bây giờ, đối với hầu hết các phần, một lần nữa, điều này chỉ là 519 00:25:44,990 --> 00:25:48,570 sử dụng công cụ đồ họa này được gọi là phpMyAdmin, và những gì chúng tôi đang làm bây giờ 520 00:25:48,570 --> 00:25:49,600 đang tạo ra một bảng. 521 00:25:49,600 --> 00:25:53,170 Vì vậy, đây cũng giống như đi File, New, và tạo ra một tập tin Excel mới. 522 00:25:53,170 --> 00:25:55,440 Vì vậy, nó hỏi tôi một vài câu hỏi, từ trái sang phải, 523 00:25:55,440 --> 00:25:58,620 tên của cột đầu tiên là những gì, và sau đó tên của cột thứ hai, 524 00:25:58,620 --> 00:25:59,560 và tên của người thứ ba. 525 00:25:59,560 --> 00:26:00,518 Vì vậy, hãy tái tạo này. 526 00:26:00,518 --> 00:26:05,460 ID, và sau đó là một tên, và sau đó băm là khác. 527 00:26:05,460 --> 00:26:08,970 Vì vậy, những gì nên các kiểu dữ liệu là bây giờ cho một lĩnh vực như ID? 528 00:26:08,970 --> 00:26:14,470 >> Dưới đây là toàn bộ danh sách các kiểu dữ liệu sẵn cho bạn trong một cơ sở dữ liệu, 529 00:26:14,470 --> 00:26:16,070 và bây giờ bạn chỉ cần đi với int. 530 00:26:16,070 --> 00:26:18,160 Giá trị 32-bit, tôi không nghĩ rằng thực tế tôi 531 00:26:18,160 --> 00:26:21,484 sẽ có hơn 4 tỷ người sử dụng trong tài khoản của tôi, trong dịch vụ của tôi, 532 00:26:21,484 --> 00:26:23,650 vì vậy tôi sẽ tiếp tục di chuyển vào câu hỏi tiếp theo. 533 00:26:23,650 --> 00:26:25,490 Tôi sẽ không xác định chiều dài hoặc giá trị, 534 00:26:25,490 --> 00:26:28,540 nó không áp dụng ở đây cho một int, mỗi se. 535 00:26:28,540 --> 00:26:30,740 Và bây giờ tôi có thể xác định, rõ ràng, một mặc định 536 00:26:30,740 --> 00:26:33,970 giá trị, mà tôi sẽ không chỉ định. 537 00:26:33,970 --> 00:26:36,050 Một collation, tôi không biết đó là những gì. 538 00:26:36,050 --> 00:26:37,290 Một thuộc tính. 539 00:26:37,290 --> 00:26:39,455 Bây giờ chúng ta thực sự làm có một quyết định thiết kế. 540 00:26:39,455 --> 00:26:42,580 Vì vậy, có một vài lĩnh vực ở đây, không phải tất cả trong đó có thể áp dụng, nhưng không dấu 541 00:26:42,580 --> 00:26:43,380 chỉ có nghĩa là gì? 542 00:26:43,380 --> 00:26:45,400 Đó là int phải? 543 00:26:45,400 --> 00:26:46,210 Chỉ cần không âm. 544 00:26:46,210 --> 00:26:48,090 Vì vậy, nó có phải là 0 trở lên. 545 00:26:48,090 --> 00:26:51,120 Không, tôi sẽ không để kiểm tra vì Tôi muốn mọi người sử dụng để có một ID, 546 00:26:51,120 --> 00:26:52,470 nó không thể là null. 547 00:26:52,470 --> 00:26:55,949 Và sau đó, chúng tôi nhận được một số chi tiết quyết định thiết kế thú vị như thế này. 548 00:26:55,949 --> 00:26:58,990 Chúng tôi sẽ trở lại vấn đề này trong một thời điểm, nhưng những gì một tính năng của cơ sở dữ liệu 549 00:26:58,990 --> 00:27:04,200 là, là bạn có thể nói các máy chủ cơ sở dữ liệu đi trước 550 00:27:04,200 --> 00:27:07,100 và tối ưu hóa chính mình, của bạn RAM và không gian đĩa cứng của bạn, 551 00:27:07,100 --> 00:27:11,770 để lựa chọn, và chèn, và xóa, và cập nhật thực sự nhanh chóng. 552 00:27:11,770 --> 00:27:13,250 Ngược lại điều này với pset5. 553 00:27:13,250 --> 00:27:16,259 >> Nếu bạn muốn tìm kiếm một cái gì đó trong bảng băm của bạn, 554 00:27:16,259 --> 00:27:18,300 bạn nghĩ đến như là một cơ sở dữ liệu, những người đã phải làm tất cả những 555 00:27:18,300 --> 00:27:21,500 làm việc để làm cho bảng băm của bạn nhanh chóng. 556 00:27:21,500 --> 00:27:22,840 Nó giống như, rõ ràng, bạn. 557 00:27:22,840 --> 00:27:23,060 Phải không? 558 00:27:23,060 --> 00:27:26,080 Bạn có để đưa vào tất cả các thời gian tốt điều chỉnh mọi thứ, nhận được một hàm băm 559 00:27:26,080 --> 00:27:27,820 phải, để tìm ra cách nhiều xô nước để có. 560 00:27:27,820 --> 00:27:29,611 >> Nhưng những gì là tốt đẹp, một lần nữa, về một cơ sở dữ liệu 561 00:27:29,611 --> 00:27:31,762 bạn chỉ đá trái banh tất cả này cho người khác 562 00:27:31,762 --> 00:27:33,720 người có suy nghĩ này thông qua cho bạn, và những gì 563 00:27:33,720 --> 00:27:37,170 Tôi sẽ nói ở đây theo chỉ số là lĩnh vực ID của tôi 564 00:27:37,170 --> 00:27:41,149 sẽ là con đường chính của xác định người sử dụng trong cơ sở dữ liệu này. 565 00:27:41,149 --> 00:27:42,940 Tôi sẽ không suy nghĩ của Zamyla như Zamyla, 566 00:27:42,940 --> 00:27:45,800 Tôi sẽ nghĩ về mình là số 6. 567 00:27:45,800 --> 00:27:49,814 >> Tại sao nó, có lẽ, tốt hơn trực giác để suy nghĩ và mô hình 568 00:27:49,814 --> 00:27:52,480 mỗi hàng cá nhân của bạn bằng cách sử dụng một số thay vì một cái gì đó 569 00:27:52,480 --> 00:27:56,480 giống như một chuỗi, giống như Zamyla hoặc Gabe hoặc chuỗi dài hơn vẫn còn? 570 00:27:56,480 --> 00:27:57,444 Yeah? 571 00:27:57,444 --> 00:28:00,117 >> Đung Một ID là duy nhất? 572 00:28:00,117 --> 00:28:01,200 DAVID J. Malan: Nói một lần nữa? 573 00:28:01,200 --> 00:28:02,283 Đung Một ID là duy nhất? 574 00:28:02,283 --> 00:28:04,400 DAVID J. Malan: Một ID là duy nhất, nhưng suppose-- 575 00:28:04,400 --> 00:28:06,320 như trường hợp nói chung với tên người dùng, giả sử 576 00:28:06,320 --> 00:28:10,110 Tôi cũng đã nói chỉ có thể có một Zamyla trên thế giới, và chỉ có một Gabe. 577 00:28:10,110 --> 00:28:13,730 Tôi có thể áp đặt sự độc đáo hạn chế trên dây, cũng vậy, nếu tôi muốn. 578 00:28:13,730 --> 00:28:15,550 Vì vậy, không phải là một tư tưởng xấu. 579 00:28:15,550 --> 00:28:16,500 >> Đung an toàn hơn. 580 00:28:16,500 --> 00:28:17,874 >> DAVID J. Malan: an toàn hơn, tại sao? 581 00:28:17,874 --> 00:28:20,705 Đung Bạn không thể nói trong đó, như người sử dụng. 582 00:28:20,705 --> 00:28:22,580 DAVID J. Malan: OK, bạn không thể nói mà người sử dụng 583 00:28:22,580 --> 00:28:24,380 mà là vì vậy có một khía cạnh bảo mật cho nó, 584 00:28:24,380 --> 00:28:27,810 đặc biệt là nếu các ID có thể xuất hiện trong URL. 585 00:28:27,810 --> 00:28:29,960 Vì vậy, chắc chắn, rằng có thể loại công việc, quá. 586 00:28:29,960 --> 00:28:30,640 Suy nghĩ khác? 587 00:28:30,640 --> 00:28:31,383 Yeah? 588 00:28:31,383 --> 00:28:34,316 >> Đung Nó dễ dàng hơn để thực hiện các hoạt động trên một int. 589 00:28:34,316 --> 00:28:35,940 DAVID J. Malan: Đó là kicker thực. 590 00:28:35,940 --> 00:28:38,850 Nó chỉ hiệu quả hơn, hoặc dễ dàng hơn cho máy tính, 591 00:28:38,850 --> 00:28:40,431 để thực hiện các hoạt động trên một số nguyên. 592 00:28:40,431 --> 00:28:40,930 Phải không? 593 00:28:40,930 --> 00:28:43,905 Một int được đảm bảo là 32-bit, trong khi Zamyla 594 00:28:43,905 --> 00:28:47,660 dài một vài ký tự, Gabriel dài thêm một vài ký tự, 595 00:28:47,660 --> 00:28:51,930 Davenport là thực sự lâu dài, và vì vậy nó không đặc biệt hiệu quả sử dụng 596 00:28:51,930 --> 00:28:55,860 chuỗi giá trị để so sánh và tìm cho các lĩnh vực, và các lĩnh vực cập nhật, 597 00:28:55,860 --> 00:28:57,790 nếu bạn có thể đi chỉ với một số nguyên. 598 00:28:57,790 --> 00:28:59,090 Chỉ cần 32 bit. 599 00:28:59,090 --> 00:29:02,570 Vì vậy, tên người dùng, quá, bằng cách này, không phải là duy nhất, 600 00:29:02,570 --> 00:29:05,040 mặc dù họ có lẽ nên được, và thậm chí theo cách này quá 601 00:29:05,040 --> 00:29:07,520 một người sử dụng có thể được phép thay đổi tên của mình. 602 00:29:07,520 --> 00:29:10,810 >> Vì vậy, bây giờ chúng ta lại điều này như là phương tiện chính để xác định người sử dụng. 603 00:29:10,810 --> 00:29:13,510 Đây là nói cho các cơ sở dữ liệu đi trước và tối ưu hóa chính mình 604 00:29:13,510 --> 00:29:17,065 để up nhìn vào ID là siêu nhanh. 605 00:29:17,065 --> 00:29:19,620 AI, khủng khiếp có tên, chỉ có nghĩa là Auto Increment, 606 00:29:19,620 --> 00:29:21,500 và điều này là kiểm tra hộp chúng ta cần phải kiểm tra 607 00:29:21,500 --> 00:29:24,614 để xác định rằng lĩnh vực ID để được tự động cập nhật cho tôi, 608 00:29:24,614 --> 00:29:26,530 và sau đó tôi sẽ di chuyển sang phải ở đây 609 00:29:26,530 --> 00:29:29,279 và thẳng thắn Tôi không thực sự quan tâm trong bất kỳ chi tiết của các trường này. 610 00:29:29,279 --> 00:29:30,630 Chắc chắn không phải ngày hôm nay. 611 00:29:30,630 --> 00:29:33,770 >> Vì vậy, tôi sẽ quay trở lại đây, để cột đầu tiên, nơi 612 00:29:33,770 --> 00:29:35,830 Tôi cần phải xác định tên và băm, và chúng ta hãy 613 00:29:35,830 --> 00:29:38,080 ít nhất tập trung vào các thứ hai cho bây giờ. 614 00:29:38,080 --> 00:29:41,498 Int có lẽ không phải gọi đúng, vì vậy những gì có ý nghĩa hơn có lẽ? 615 00:29:41,498 --> 00:29:42,741 >> Đung Text. 616 00:29:42,741 --> 00:29:43,824 DAVID J. Malan: Nói một lần nữa? 617 00:29:43,824 --> 00:29:44,710 Đung Text. 618 00:29:44,710 --> 00:29:44,980 DAVID J. Malan: Văn bản? 619 00:29:44,980 --> 00:29:45,590 OK, tôi nghe văn bản. 620 00:29:45,590 --> 00:29:46,090 Những gì khác? 621 00:29:46,090 --> 00:29:50,520 622 00:29:50,520 --> 00:29:53,860 Chúng tôi loại có một loạt các lựa chọn đó là văn bản trong tự nhiên. 623 00:29:53,860 --> 00:29:55,990 Vì vậy, khi nào, và tại sao, làm bạn sử dụng một số trong những? 624 00:29:55,990 --> 00:29:59,560 Vâng char, trái với những gì bạn có thể nghĩ, không phải là một nhân vật duy nhất. 625 00:29:59,560 --> 00:30:01,550 Đó là một số cụ thể của nhân vật. 626 00:30:01,550 --> 00:30:04,600 Vì vậy, nếu chúng ta biết rằng tất cả các tên người dùng phải giống như tám ký tự, 627 00:30:04,600 --> 00:30:08,490 như được sử dụng rất phổ biến ở cũ hệ thống máy tính, tôi có thể nói char 628 00:30:08,490 --> 00:30:09,830 và sau đó tôi có thể nói 8 ở đây. 629 00:30:09,830 --> 00:30:12,930 Đó là khi cột thứ ba trở thành áp dụng khi tạo ra một bảng. 630 00:30:12,930 --> 00:30:15,450 >> Nhưng đó là loại gây phiền nhiễu bởi vì một số người có thể 631 00:30:15,450 --> 00:30:17,660 muốn có một tên người dùng còn hơn tám ký tự, 632 00:30:17,660 --> 00:30:19,743 một số người có thể muốn có một tên người dùng ngắn hơn, 633 00:30:19,743 --> 00:30:22,210 vậy tại sao cam kết bản thân mình để một số cụ thể? 634 00:30:22,210 --> 00:30:24,710 Tại sao không có một biến số ký tự và chỉ 635 00:30:24,710 --> 00:30:28,580 nói rằng chiều dài tối đa của một tên là, tôi không biết, như 64 ký tự. 636 00:30:28,580 --> 00:30:31,780 Tôi không thể nghĩ ra bất kỳ người bạn có tên dài hơn 64 ký tự, 637 00:30:31,780 --> 00:30:34,810 và thậm chí nếu đó là quá ngắn bạn có thể chắc chắn bump nó lên tùy tiện. 638 00:30:34,810 --> 00:30:37,330 >> Vì vậy, varchar là một biến số ký tự. 639 00:30:37,330 --> 00:30:41,010 Văn bản không phải là một bản năng xấu, và thẳng thắn rằng loại những gì nó nói, 640 00:30:41,010 --> 00:30:45,460 nhưng một trường văn bản có thể như 65.000 byte ít nhất. 641 00:30:45,460 --> 00:30:50,790 Đó có thể là quá mức cần thiết cho một lĩnh vực, và trong thực tế, yup, 65.535. 642 00:30:50,790 --> 00:30:53,740 Đó có thể là quá mức cần thiết cho một tên, vì vậy chúng tôi sẽ dính, thông thường, 643 00:30:53,740 --> 00:30:56,910 với varchars cho văn bản lĩnh vực và băm, quá. 644 00:30:56,910 --> 00:30:59,990 Hash, nó quay ra, chúng tôi có thể làm một varchar cũng hay như thế, 645 00:30:59,990 --> 00:31:03,080 nhưng chúng tôi sẽ không tập trung ngày hôm nay trên mật mã đó và những con số 646 00:31:03,080 --> 00:31:05,210 rằng chúng ta có thể thực sự muốn sử dụng cho chiều dài của nó. 647 00:31:05,210 --> 00:31:07,430 >> Nhưng hãy để tôi di chuyển xuống bên phải. 648 00:31:07,430 --> 00:31:11,280 Bạn chỉ có thể có một chỉ số chính cho một bảng, 649 00:31:11,280 --> 00:31:16,380 nhưng tôi muốn áp dụng bất kỳ trong số này, bây giờ, để tên người dùng, bạn sẽ nói gì? 650 00:31:16,380 --> 00:31:21,980 Những gì cần username được dựa trên một mơ hồ sự hiểu biết của bốn tùy chọn này? 651 00:31:21,980 --> 00:31:23,340 Chỉ cần bằng tên của họ? 652 00:31:23,340 --> 00:31:24,140 >> Đung độc đáo. 653 00:31:24,140 --> 00:31:25,100 >> DAVID J. Malan: Vì vậy, độc đáo, phải không? 654 00:31:25,100 --> 00:31:28,190 Vì vậy, nó chỉ ra rằng không chỉ có thể bạn nói với một cơ sở dữ liệu, trước, 655 00:31:28,190 --> 00:31:30,380 đây là cách chính xác định các lĩnh vực. 656 00:31:30,380 --> 00:31:32,990 Bạn cũng có thể nói đây là sẽ là một lĩnh vực duy nhất. 657 00:31:32,990 --> 00:31:34,700 Nó sẽ không được điều tôi dựa vào, 658 00:31:34,700 --> 00:31:38,490 nhưng tôi muốn các cơ sở dữ liệu về cơ bản có rằng nếu điều kiện, vì vậy 659 00:31:38,490 --> 00:31:42,340 rằng nếu tôi cố gắng để đăng ký hai người sử dụng có cùng tên, 660 00:31:42,340 --> 00:31:44,360 phẳng cơ sở dữ liệu ra sẽ không để cho tôi. 661 00:31:44,360 --> 00:31:47,490 Tôi có thể có một số mã bổ sung trong PHP có thể ngăn chặn càng nhiều, 662 00:31:47,490 --> 00:31:50,640 nhưng cơ sở dữ liệu, cũng có thể đảm bảo rằng sẽ không bao giờ xảy ra. 663 00:31:50,640 --> 00:31:53,370 >> Bây giờ, khi một sang một bên, đặc biệt là bạn nghĩ về dự án cuối cùng, 664 00:31:53,370 --> 00:31:57,030 giữ trong tâm trí nó chỉ mục và đầy đủ văn bản là thực tế khá hữu ích. 665 00:31:57,030 --> 00:32:01,080 Nếu bạn có một cơ sở dữ liệu lớn hơn, không phải với hàng chục, nhưng với hàng trăm hoặc hàng ngàn 666 00:32:01,080 --> 00:32:05,270 hoặc thậm chí hàng triệu đồng, bạn có thể cũng cho biết cơ sở dữ liệu trước 667 00:32:05,270 --> 00:32:07,980 đây là một lĩnh vực tôi sẽ được tìm kiếm trên rất nhiều. 668 00:32:07,980 --> 00:32:10,520 Có lẽ tên của nó, có lẽ đó là sinh học, nếu bạn 669 00:32:10,520 --> 00:32:13,750 làm cho một trang web Facebook như thế có đoạn văn mà người sử dụng đã cho phép 670 00:32:13,750 --> 00:32:16,799 để tiết kiệm, và nếu bạn muốn cho cơ sở dữ liệu trước 671 00:32:16,799 --> 00:32:20,090 Tôi sẽ được tìm kiếm trên lĩnh vực này rất nhiều, nhưng nó không nhất thiết phải độc đáo, 672 00:32:20,090 --> 00:32:22,800 bạn có thể chỉ tạo cho tôi một chỉ số. 673 00:32:22,800 --> 00:32:27,990 Hoặc, bạn có thể nói cũng cho phép tôi làm loại tìm kiếm tùy ý như lệnh 674 00:32:27,990 --> 00:32:30,420 hoặc Control F, giống như bạn có thể trong một bộ xử lý Word, 675 00:32:30,420 --> 00:32:34,184 vì vậy bạn có thể nhìn chuỗi tùy ý hoặc chuỗi con trong lĩnh vực này. 676 00:32:34,184 --> 00:32:36,600 Nói cách khác, chúng ta đang nhận được đến điểm trong học kỳ 677 00:32:36,600 --> 00:32:40,720 nơi mà bạn không phải lo lắng về làm thế nào để thực hiện việc hiệu quả. 678 00:32:40,720 --> 00:32:44,540 Bạn chỉ cần biết về những gì quyết định thiết kế để làm sao cho bạn 679 00:32:44,540 --> 00:32:48,470 sử dụng các công cụ thích hợp cho các thương mại để tận dụng các tính năng 680 00:32:48,470 --> 00:32:50,380 mà người khác đã được xây dựng cho bạn. 681 00:32:50,380 --> 00:32:54,240 Vì vậy, tóm lại, chính chỉ nên có, bạn chỉ có thể có một, 682 00:32:54,240 --> 00:32:59,630 và đó là điều bạn đang cam kết sử dụng để xác định các lĩnh vực duy nhất. 683 00:32:59,630 --> 00:33:02,710 Duy nhất chỉ là tinh thần tương tự, nhưng bạn có thể chỉ thỉnh thoảng sử dụng nó, 684 00:33:02,710 --> 00:33:04,530 nhưng bạn muốn cơ sở dữ liệu để áp đặt nó. 685 00:33:04,530 --> 00:33:08,050 Index chỉ có nghĩa là đánh phủ đầu tốc độ lên trong tương lai 686 00:33:08,050 --> 00:33:10,230 vì vậy mà tôi có thể tìm kiếm điều trong lĩnh vực này. 687 00:33:10,230 --> 00:33:13,700 Và sau đó toàn văn nói chung là cho đoạn văn, hoặc bài tiểu luận, hoặc các cơ quan lớn 688 00:33:13,700 --> 00:33:16,270 của văn bản mà bạn cũng có thể muốn có 689 00:33:16,270 --> 00:33:19,420 thẻ hoang dã như tương đương với sao. 690 00:33:19,420 --> 00:33:19,920 Phải. 691 00:33:19,920 --> 00:33:22,580 >> Vì vậy, đó là loại rất nhiều để tất cả cùng một lúc. 692 00:33:22,580 --> 00:33:25,220 Hãy xem nếu chúng ta không thể chưng cất một vài các tính năng 693 00:33:25,220 --> 00:33:29,540 và sau đó xây dựng một cái gì đó khá đơn giản, nhưng mạnh mẽ. 694 00:33:29,540 --> 00:33:31,380 Vì vậy, một trong những khác quyết định thiết kế bạn 695 00:33:31,380 --> 00:33:34,005 cuối cùng sẽ có được cùng các dòng công cụ lưu trữ. 696 00:33:34,005 --> 00:33:37,370 Và hãy để tôi chỉ cần thực hiện đề cập đến này với dự đoán của các dự án cuối cùng, 697 00:33:37,370 --> 00:33:42,020 và dự đoán cho phép của say-- không chúng ta hãy làm điều này. 698 00:33:42,020 --> 00:33:43,820 Hãy xây dựng nhỏ này ứng dụng đầu tiên. 699 00:33:43,820 --> 00:33:48,070 Tôi sẽ đi vào thiết bị đầu cuối của tôi cửa sổ, và ở đây không phải là 700 00:33:48,070 --> 00:33:52,500 chỉ counter.php, mà bây giờ chúng ta sẽ để thoát khỏi như không còn Gecman, 701 00:33:52,500 --> 00:33:54,570 nhưng chúng tôi có cả một bó và thư mục này 702 00:33:54,570 --> 00:33:58,080 sẽ là rất tinh thần tương tự với những gì bạn sẽ thấy trong vấn đề thiết lập bảy. 703 00:33:58,080 --> 00:34:00,980 >> Vì vậy, chúng tôi có ba thư mục bao gồm công cộng và các mẫu, mà 704 00:34:00,980 --> 00:34:05,040 là chính xác nơi chúng tôi rời đi vào Thứ hai với toàn bộ mô hình MVC của chúng tôi. 705 00:34:05,040 --> 00:34:09,290 Và tóm lại, ở nơi công cộng sẽ đi bất kỳ tập tin mà tôi muốn người dùng thực sự 706 00:34:09,290 --> 00:34:12,969 v có thể truy cập vào trình duyệt của họ thông qua URL. 707 00:34:12,969 --> 00:34:13,502 Mẫu. 708 00:34:13,502 --> 00:34:14,710 Chúng tôi đã đưa thông tin gì trong các mẫu? 709 00:34:14,710 --> 00:34:17,070 Những loại công cụ? 710 00:34:17,070 --> 00:34:21,659 Không có nhiều nhưng một cặp vợ chồng các tập tin ít nhất vào thứ hai. 711 00:34:21,659 --> 00:34:22,619 Yeah. 712 00:34:22,619 --> 00:34:23,100 >> Đung Header và Footer? 713 00:34:23,100 --> 00:34:24,516 >> DAVID J. Malan: Header và Footer. 714 00:34:24,516 --> 00:34:26,679 Vì vậy, chúng tôi có một cái gì đó tương tự như ngày hôm nay, quá. 715 00:34:26,679 --> 00:34:30,330 Chúng tôi đã có một vài tập tin hơn nhưng Footer tôi thấy, Header tôi thấy, 716 00:34:30,330 --> 00:34:31,909 và sau đó một loạt các tập tin khác. 717 00:34:31,909 --> 00:34:35,482 Vì vậy, đây là tương đương của quan điểm V MVC, trong đó, 718 00:34:35,482 --> 00:34:37,690 một lần nữa, sẽ có nhiều hơn một chút rõ ràng trong vấn đề thiết lập bảy, 719 00:34:37,690 --> 00:34:40,380 nhưng điều này chỉ là một thư mục tôi đặt rất nhiều tính thẩm mỹ của tôi. 720 00:34:40,380 --> 00:34:42,840 Rất nhiều HTML của tôi, rất nhiều hình thức của tôi. 721 00:34:42,840 --> 00:34:46,899 Trong khi đó, bao gồm, là một thư mục đó có ba file 722 00:34:46,899 --> 00:34:48,440 và chúng ta hãy nhìn qua những. 723 00:34:48,440 --> 00:34:51,699 >> Tôi sẽ đi trước và mở config.php. 724 00:34:51,699 --> 00:34:54,610 Khi nó quay ra, nhiều như trước đó trong thời hạn, 725 00:34:54,610 --> 00:34:57,850 bạn sắc nét bao gồm CS50 dot h với pset7. 726 00:34:57,850 --> 00:35:00,780 Trong ví dụ ngày hôm nay, bạn sẽ để làm tương đương với đó 727 00:35:00,780 --> 00:35:03,600 với một tuyên bố yêu cầu mà hiệu quả 728 00:35:03,600 --> 00:35:05,340 bao gồm các nhiều dòng. 729 00:35:05,340 --> 00:35:08,225 Vì vậy, để được rõ ràng, đây là một tập tin gọi là config.php. 730 00:35:08,225 --> 00:35:09,350 Và hãy chú ý những gì nó làm. 731 00:35:09,350 --> 00:35:11,970 Nó dường như làm điều gì đó khó hiểu, bật thông báo lỗi 732 00:35:11,970 --> 00:35:13,680 để bạn có thể nhìn thấy chúng trong trình duyệt. 733 00:35:13,680 --> 00:35:15,860 Đó là, sau đó, rõ ràng yêu cầu hai tập tin khác 734 00:35:15,860 --> 00:35:19,530 vì vậy đây là giống như #include trong C, và sau đó một này, chúng ta đã thấy, 735 00:35:19,530 --> 00:35:22,720 và chúng tôi đã dựa vào, lượt về rằng giỏ mua hàng như chức năng. 736 00:35:22,720 --> 00:35:25,610 >> Điều này có nghĩa một cookie sẽ được gửi qua lại. 737 00:35:25,610 --> 00:35:27,290 Vì vậy, tại sao điều này là thú vị? 738 00:35:27,290 --> 00:35:32,460 Vâng, nếu chúng ta trở lại này thư mục và mở lên, ví dụ, 739 00:35:32,460 --> 00:35:33,741 constance.php. 740 00:35:33,741 --> 00:35:38,840 Chú ý rằng PHP không hằng số hỗ trợ, nó không hoàn toàn giống như # define trong C. 741 00:35:38,840 --> 00:35:41,290 Thay vào đó, bạn có nghĩa nói được xác định, và thông báo 742 00:35:41,290 --> 00:35:44,110 mà tôi đã được lưu trữ trước bốn hằng số trong tập tin này. 743 00:35:44,110 --> 00:35:47,020 Một cơ sở dữ liệu cho ngày hôm nay, cho mật khẩu, tên người dùng của tôi, 744 00:35:47,020 --> 00:35:48,690 và cho tên của máy chủ. 745 00:35:48,690 --> 00:35:51,644 Vì vậy, đây thực sự sẽ là khá tương tự trong vấn đề thiết lập bảy. 746 00:35:51,644 --> 00:35:54,560 Và cuối cùng, và đây là nơi mà tôi sẽ nhận được một số chức năng đẹp 747 00:35:54,560 --> 00:35:59,000 từ các nhân viên, trong functions.php là một loạt các mã chúng tôi đã viết, 748 00:35:59,000 --> 00:36:01,040 và tôi đã đánh cắp một số điều này từ vấn đề thiết lập bảy 749 00:36:01,040 --> 00:36:05,920 cho ngày hôm nay, mà không một bó của những thứ và chúng ta chỉ cần nhìn vào một trong số họ 750 00:36:05,920 --> 00:36:07,270 nói riêng. 751 00:36:07,270 --> 00:36:09,720 Chức năng này ở đây, truy vấn, là có được 752 00:36:09,720 --> 00:36:13,600 chức năng PHP chúng ta gọi để thực hiện SQL. 753 00:36:13,600 --> 00:36:16,070 Một lúc trước, chúng tôi đã sử dụng phpMyAdmin, nhưng đó chỉ là 754 00:36:16,070 --> 00:36:18,720 cho các loại mục đích học tập và mục đích chẩn đoán 755 00:36:18,720 --> 00:36:20,494 và quên thiết lập cơ sở dữ liệu của bạn. 756 00:36:20,494 --> 00:36:22,660 Khi bạn thực sự sử dụng của bạn cơ sở dữ liệu, bạn, con người, 757 00:36:22,660 --> 00:36:24,100 rõ ràng là sẽ không được kéo lên một trang web 758 00:36:24,100 --> 00:36:25,740 trang mỗi khi ai đó đăng ký. 759 00:36:25,740 --> 00:36:29,870 Bạn sẽ viết mã thêm và xóa người sử dụng theo yêu cầu, 760 00:36:29,870 --> 00:36:32,490 và chúng ta sẽ làm điều này bằng cách của các chức năng truy vấn. 761 00:36:32,490 --> 00:36:35,360 Nếu bây giờ tôi di chuyển xuống, có sẽ là một vài tính năng. 762 00:36:35,360 --> 00:36:37,170 Redirect sẽ là một chức năng chúng tôi đã viết 763 00:36:37,170 --> 00:36:40,160 cho bạn, cho phép bạn gửi người dùng đến một URL khác, 764 00:36:40,160 --> 00:36:43,780 và đưa ra là một chức năng, khá giống như chúng ta đã thấy hôm thứ hai, mà thực sự làm cho 765 00:36:43,780 --> 00:36:48,000 một mẫu, nhưng nhiều hơn về những trong hình thức đi bộ riêng pset7 qua. 766 00:36:48,000 --> 00:36:50,500 Để bây giờ, chúng ta hãy đi trước và làm điều này. 767 00:36:50,500 --> 00:36:54,860 >> Hãy để tôi đi vào bảng bài giảng của tôi và thấy rằng có hiện nay không có gì 768 00:36:54,860 --> 00:36:59,640 ở đây chỉ nêu ra, và hãy để tôi cũng đi vào thư mục công cộng của tôi, nơi 769 00:36:59,640 --> 00:37:02,780 đó chỉ là một tập tin, index.php. 770 00:37:02,780 --> 00:37:06,920 Tập tin này dường như là siêu đơn giản tại thời điểm này, nó trông giống như thế này. 771 00:37:06,920 --> 00:37:09,110 Rất giống như cách chúng tôi rời đi vào thứ hai. 772 00:37:09,110 --> 00:37:11,945 Tôi yêu cầu tập tin này, config.php, mà là ở 773 00:37:11,945 --> 00:37:15,160 bao gồm một thư mục, mà là trong dot dot, cha mẹ tôi, 774 00:37:15,160 --> 00:37:17,650 và sau đó nó chỉ render tập tin này. 775 00:37:17,650 --> 00:37:18,960 Vì vậy, tập tin này là gì? 776 00:37:18,960 --> 00:37:24,700 >> Hãy mở ra trong các mẫu của tôi form.php, và chúng ta sẽ thấy điều này. 777 00:37:24,700 --> 00:37:28,500 Siêu đơn giản, rõ ràng hình thức này là sẽ nộp bởi một $ _GET hoặc $ _POST. 778 00:37:28,500 --> 00:37:29,320 Kiểm tra sự tỉnh táo nhanh chóng. 779 00:37:29,320 --> 00:37:33,760 780 00:37:33,760 --> 00:37:35,690 Nghĩa là trực quan tìm kiếm các tập tin. 781 00:37:35,690 --> 00:37:36,610 Phương pháp bằng bài. 782 00:37:36,610 --> 00:37:39,280 Vì vậy, nó sẽ không sử dụng các URL, giống như Google không, nó sẽ sắp xếp trốn 783 00:37:39,280 --> 00:37:41,030 các thông tin đằng sau hậu trường và đó là 784 00:37:41,030 --> 00:37:43,580 sẽ gửi đến một tập tin gọi là register.php, 785 00:37:43,580 --> 00:37:45,660 và đó là các tập tin chúng tôi đã chưa viết 786 00:37:45,660 --> 00:37:47,610 nhưng điều này đang xảy ra để trông giống như là thế này. 787 00:37:47,610 --> 00:37:52,670 >> Nếu tôi đi đến một trang riêng này những gì localhost / index.php như thế nào. 788 00:37:52,670 --> 00:37:56,930 Và một lần nữa, các máy chủ của chỉ là giả định index.php. 789 00:37:56,930 --> 00:37:57,910 Enter. 790 00:37:57,910 --> 00:37:59,870 Vì vậy, đó là nơi chúng tôi tại, và những gì tôi muốn làm 791 00:37:59,870 --> 00:38:02,450 là có thể loại điều giống như David, và sau đó 792 00:38:02,450 --> 00:38:08,050 số điện thoại của tôi, mà sẽ nói 617-555-1212 bây giờ, đăng ký 793 00:38:08,050 --> 00:38:09,910 và bây giờ register.php không được tìm thấy. 794 00:38:09,910 --> 00:38:11,440 Vì vậy, tôi cần phải thực hiện điều này. 795 00:38:11,440 --> 00:38:13,320 Vì vậy, hãy nhanh chóng whip một cái gì đó giống như lên này. 796 00:38:13,320 --> 00:38:18,640 Hãy để tôi đi vào thư mục công cộng của tôi và làm gedit của register.php, 797 00:38:18,640 --> 00:38:22,300 và bây giờ tôi sẽ đi trước và bắt đầu chế độ PHP, như chúng tôi đã làm vào thứ hai, 798 00:38:22,300 --> 00:38:25,430 và tag đóng của PHP, và chúng ta hãy làm một vài điều. 799 00:38:25,430 --> 00:38:28,336 >> Vì vậy, một, tôi biết, từ đã được viết dưới hình thức đó, 800 00:38:28,336 --> 00:38:29,960 mà tôi muốn kiểm tra cho sau này. 801 00:38:29,960 --> 00:38:35,670 Nếu nó là trống rỗng, bất cứ điều gì người sử dụng gõ vào trường tên, sau đó 802 00:38:35,670 --> 00:38:39,860 Tôi sẽ nói điều gì đó như xin lỗi thiếu tên. 803 00:38:39,860 --> 00:38:42,380 Xin lỗi, trong khi đó, không được xây dựng trong PHP điều, 804 00:38:42,380 --> 00:38:45,970 đó là một chức năng chúng tôi đã viết trong functions.php cho pset7 805 00:38:45,970 --> 00:38:47,940 để bạn có thể truy cập nó. 806 00:38:47,940 --> 00:38:53,830 Khác nếu các lĩnh vực khác là trống rỗng, số lượng, sau đó tôi 807 00:38:53,830 --> 00:38:58,370 sẽ xin lỗi người sử dụng và nói số còn thiếu. 808 00:38:58,370 --> 00:38:59,320 Lưu tập tin này. 809 00:38:59,320 --> 00:39:02,640 >> Bây giờ chúng ta hãy quay trở lại trình duyệt của tôi, quay trở lại diễn đàn thử lại. 810 00:39:02,640 --> 00:39:04,070 Đăng ký. 811 00:39:04,070 --> 00:39:05,090 OK. 812 00:39:05,090 --> 00:39:06,730 Không có gì xảy ra, đó là tốt. 813 00:39:06,730 --> 00:39:08,120 Tôi đã không nhận được một thông báo lỗi. 814 00:39:08,120 --> 00:39:11,651 Nhưng nếu thay vào đó, hãy tải lại này trang, và không cung cấp bất cứ điều gì. 815 00:39:11,651 --> 00:39:12,150 Chết tiệt. 816 00:39:12,150 --> 00:39:15,350 817 00:39:15,350 --> 00:39:17,140 Làm điều đó. 818 00:39:17,140 --> 00:39:18,810 Đăng ký. 819 00:39:18,810 --> 00:39:20,350 Tôi đã làm gì sai? 820 00:39:20,350 --> 00:39:24,860 Nếu trống, tên $ _POST. 821 00:39:24,860 --> 00:39:26,350 Nói một lần nữa? 822 00:39:26,350 --> 00:39:27,670 >> Oh, tất nhiên. 823 00:39:27,670 --> 00:39:30,919 Tôi quên phần quan trọng nhất, mà là yêu cầu ("../ includes / config.php."). 824 00:39:30,919 --> 00:39:34,210 825 00:39:34,210 --> 00:39:36,460 Tôi cần phải có quyền truy cập vào xin lỗi chức năng, mà 826 00:39:36,460 --> 00:39:37,770 là lý do tại sao không có gì đã xảy ra. 827 00:39:37,770 --> 00:39:39,460 Các chức năng không thực sự tồn tại. 828 00:39:39,460 --> 00:39:40,640 Vì vậy, hãy cố gắng này một lần nữa. 829 00:39:40,640 --> 00:39:42,350 Hãy tải lại của trang, nhấp vào Đăng ký. 830 00:39:42,350 --> 00:39:43,060 OK. 831 00:39:43,060 --> 00:39:43,770 Có nó là. 832 00:39:43,770 --> 00:39:45,700 Vì vậy, sản lượng chúng tôi nhìn thấy ở đây là kết quả 833 00:39:45,700 --> 00:39:47,685 kêu gọi một lời xin lỗi chức năng, siêu đơn giản, 834 00:39:47,685 --> 00:39:50,060 và nó chỉ in ra bất cứ điều gì Tôi cho nó như một tham số. 835 00:39:50,060 --> 00:39:51,370 >> Tất cả các bên phải, vì vậy chúng ta hãy hợp tác. 836 00:39:51,370 --> 00:39:54,240 Hãy cung cấp tên của tôi giống như David, đăng ký, 837 00:39:54,240 --> 00:39:56,890 thiếu số lượng cho phép của OK cung cấp cho rằng, quá. 838 00:39:56,890 --> 00:39:58,650 617-555-1212. 839 00:39:58,650 --> 00:39:59,250 Đăng ký. 840 00:39:59,250 --> 00:39:59,750 OK. 841 00:39:59,750 --> 00:40:02,760 Vì vậy, tất cả là tốt bây giờ, chỉ là không có gì thú vị đang xảy ra. 842 00:40:02,760 --> 00:40:06,000 Vì vậy bây giờ chúng ta hãy làm một cái gì đó nhiều hơn thú vị xảy ra như thế này. 843 00:40:06,000 --> 00:40:09,980 Hãy để tôi đi vào phpMyAdmin, và chúng ta hãy thực sự tạo ra một bảng gọi là người sử dụng, 844 00:40:09,980 --> 00:40:12,330 Tôi sẽ để cho nó ba cột, và tôi sẽ nhanh chóng 845 00:40:12,330 --> 00:40:16,250 tạo ID, và sau đó tên, và sau đó số lượng, 846 00:40:16,250 --> 00:40:18,832 và các lĩnh vực ID tôi sẽ để lại như một int. 847 00:40:18,832 --> 00:40:20,790 Trường tên tôi sẽ để lại như một varchar, 848 00:40:20,790 --> 00:40:23,257 và chúng tôi sẽ nói 64, có phần tùy tiện. 849 00:40:23,257 --> 00:40:25,090 Số tôi sẽ để thực hiện, bạn biết những gì? 850 00:40:25,090 --> 00:40:27,350 Chúng tôi đang đi vào hỗ trợ số Mỹ ở đây, 851 00:40:27,350 --> 00:40:31,510 vì vậy tôi sẽ làm điều gì đó như char và sau đó 10 ký tự 852 00:40:31,510 --> 00:40:34,540 tối đa cho một mã vùng và sau đó bảy chữ số. 853 00:40:34,540 --> 00:40:37,870 Và sau đó ở đây, tôi sẽ xác định tự động tăng lĩnh vực này, 854 00:40:37,870 --> 00:40:40,550 thực hiện điều này một khóa chính, và Tôi sẽ đi trước và không 855 00:40:40,550 --> 00:40:42,240 kiểm tra bất kỳ các hộp khác. 856 00:40:42,240 --> 00:40:48,030 >> Vì vậy, khi tôi bây giờ cuối cùng nhấn Save, và tôi quay trở lại bảng người dùng của tôi, 857 00:40:48,030 --> 00:40:52,270 đây là những gì nó trông giống như nếu tôi Bây giờ bấm vào một cấu trúc New Tab. 858 00:40:52,270 --> 00:40:54,550 Vì vậy, đây, để được rõ ràng, chỉ là cách phpMyAdmin của 859 00:40:54,550 --> 00:40:58,570 nói bảng cơ sở dữ liệu của bạn có một ID, một tên, và một số 860 00:40:58,570 --> 00:41:02,040 với những cấu hình đặc biệt và chúng tôi sẽ bỏ qua phần còn lại của lĩnh vực 861 00:41:02,040 --> 00:41:03,140 có cho bây giờ. 862 00:41:03,140 --> 00:41:04,810 >> Vì vậy, bây giờ những gì tôi muốn làm gì? 863 00:41:04,810 --> 00:41:09,060 Vì vậy, nếu tôi đi bây giờ vào của tôi mã nguồn, nếu tất cả là tốt 864 00:41:09,060 --> 00:41:11,190 Tôi muốn thực hiện các truy vấn sau đây. 865 00:41:11,190 --> 00:41:14,970 Chèn vào, và tôi có thể chỉ nói rằng người dùng tôi làm không đúng 866 00:41:14,970 --> 00:41:18,620 cần những người trở lại ve nếu nó không phải là một từ nguy hiểm như người sử dụng. 867 00:41:18,620 --> 00:41:22,810 Tôi sẽ nói tên, số, và sau đó ở đây tôi 868 00:41:22,810 --> 00:41:24,960 sẽ không cứng mã chữ số của các giá trị được nêu ra. 869 00:41:24,960 --> 00:41:26,760 Tôi sẽ đặt hai dấu hỏi. 870 00:41:26,760 --> 00:41:29,320 Và đây là một quy ước trong nhiều ngôn ngữ 871 00:41:29,320 --> 00:41:31,730 theo đó nếu bạn muốn có một giữ chỗ cho một chuỗi 872 00:41:31,730 --> 00:41:34,105 bạn sẽ sử dụng các câu hỏi nhãn hiệu, vì những lý do chúng tôi sẽ 873 00:41:34,105 --> 00:41:36,370 trở lại để trò chuyện về an ninh, và ở đây 874 00:41:36,370 --> 00:41:39,420 Tôi sẽ vượt qua trong những hai lĩnh vực đăng tên, 875 00:41:39,420 --> 00:41:44,850 và sau đó gửi số, và bây giờ lưu tập tin. 876 00:41:44,850 --> 00:41:47,090 >> Và bây giờ tôi sẽ đi xuống ở đây là một siêu 877 00:41:47,090 --> 00:41:55,690 chỉ đơn giản nói rendersuccess.php, mà là có được mẫu khác. 878 00:41:55,690 --> 00:41:57,380 Tôi sẽ tạo ra rất nhanh. 879 00:41:57,380 --> 00:42:06,270 Geditsuccess.php và tôi chỉ cần đi nói H1 thành công trong tập tin đó. 880 00:42:06,270 --> 00:42:06,990 Được rồi. 881 00:42:06,990 --> 00:42:11,312 Vì vậy, bây giờ, chúng ta hãy quay trở lại trình duyệt, nơi mà tôi đã đến thăm trước đó. 882 00:42:11,312 --> 00:42:14,270 Chúng ta hãy đi trước và xác nhận tôi đã viết David, tôi đã viết trong một số điện thoại, 883 00:42:14,270 --> 00:42:15,390 đăng ký. 884 00:42:15,390 --> 00:42:16,100 Chết tiệt. 885 00:42:16,100 --> 00:42:17,420 Tôi đã làm gì sai? 886 00:42:17,420 --> 00:42:20,850 Vì vậy, tôi đang nhìn thấy một lỗi ở đây, bạn có một lỗi trong cú pháp SQL của bạn. 887 00:42:20,850 --> 00:42:24,900 Hãy để tôi nhảy trở lại gedit, chúng ta hãy tôi quay lại với register.php, 888 00:42:24,900 --> 00:42:28,830 và tôi đã bỏ qua những gì mà là quan trọng thời gian qua không? 889 00:42:28,830 --> 00:42:29,722 Tôi cần điều này. 890 00:42:29,722 --> 00:42:32,930 Bạn muốn biết điều đó khác hơn là từ có nhận thấy trước, nhưng tôi cần điều này. 891 00:42:32,930 --> 00:42:35,596 >> Vì vậy, bây giờ hãy quay trở lại, và điều này là hữu ích để xem trong trình duyệt 892 00:42:35,596 --> 00:42:37,680 và đó là lý do tại sao trong config.php chúng tôi nhổ ra lỗi. 893 00:42:37,680 --> 00:42:41,770 Chúng ta hãy đi trước và tải lại, bấm Tiếp tục, thành công. 894 00:42:41,770 --> 00:42:47,060 Vì vậy, bây giờ để tôi đi qua tôi cơ sở dữ liệu ở đây và bấm vào Users, 895 00:42:47,060 --> 00:42:51,680 và trình duyệt, và nhận thấy tôi bây giờ David có trong cơ sở dữ liệu của tôi ở đây. 896 00:42:51,680 --> 00:42:55,810 Bây giờ kỹ thuật trang web này chưa trên internet công cộng, 897 00:42:55,810 --> 00:42:57,890 vì vậy tôi không thể có khác người trong việc đưa đây, 898 00:42:57,890 --> 00:43:01,120 nhưng nếu bây giờ tôi muốn, cho Ví dụ, gửi cho mình một tin nhắn văn bản. 899 00:43:01,120 --> 00:43:03,920 Hãy đi ra ngoài cánh một ở đây và xem nếu điều này thực sự hoạt động. 900 00:43:03,920 --> 00:43:07,331 Tôi sẽ đi trước và xoá hàng này 901 00:43:07,331 --> 00:43:09,080 và chúng tôi sẽ làm mờ này ra trong đoạn video sau 902 00:43:09,080 --> 00:43:11,900 vì vậy chúng tôi không có toàn bộ internet nhắn tin cho tôi, 903 00:43:11,900 --> 00:43:17,270 và bây giờ chúng tôi sẽ đi lên trình duyệt và chúng tôi sẽ đi qua giảng dạy 904 00:43:17,270 --> 00:43:22,040 và chúng tôi sẽ gõ khác nhau số ở đây, đăng ký, thành công. 905 00:43:22,040 --> 00:43:25,550 >> Vì vậy, bây giờ, số lượng của riêng tôi là có lẽ trong cơ sở dữ liệu, và bây giờ là phần thú vị. 906 00:43:25,550 --> 00:43:28,774 Hãy thực sự sử dụng PHP để làm một cái gì đó lập trình, 907 00:43:28,774 --> 00:43:30,940 hoặc từ lệnh dòng hoặc từ các nơi khác, 908 00:43:30,940 --> 00:43:32,773 và bây giờ tôi chỉ sẽ giữ nó đơn giản 909 00:43:32,773 --> 00:43:36,230 và tôi sẽ đi vào của tôi thư mục ở đây và làm như sau. 910 00:43:36,230 --> 00:43:44,920 Gedit kịch bản giả, chúng tôi sẽ gọi nó là văn bản, #! / người dùng / bin / env PHP, 911 00:43:44,920 --> 00:43:46,700 như chúng ta đã thấy thời gian qua. 912 00:43:46,700 --> 00:43:47,950 PHP. 913 00:43:47,950 --> 00:43:55,055 >> Bây giờ tôi sẽ không yêu cầu bao gồm config.php, 914 00:43:55,055 --> 00:43:57,360 mặc dù sức mạnh này gây ra một lỗi nhỏ. 915 00:43:57,360 --> 00:44:03,960 Và bây giờ tôi sẽ đi trước và nói hàng, truy vấn, chọn ngôi sao từ người dùng, 916 00:44:03,960 --> 00:44:08,149 và bây giờ ở đây tôi sẽ làm một kỹ thuật từ lần cuối cùng cho mỗi hàng như hàng. 917 00:44:08,149 --> 00:44:09,690 Và tôi sẽ làm một cái gì đó đơn giản. 918 00:44:09,690 --> 00:44:19,090 Printf hãy nói tên là này, và số lượng là điều này, dấu gạch chéo ngược n. 919 00:44:19,090 --> 00:44:23,320 Và bây giờ tôi sẽ vượt qua trong dòng trích dẫn tên unquote, 920 00:44:23,320 --> 00:44:28,140 và số lượng hàng quote unquote, và bây giờ chúng ta hãy đi trước 921 00:44:28,140 --> 00:44:31,430 và cửa sổ thiết bị đầu cuối của tôi chmod a + x này để làm cho 922 00:44:31,430 --> 00:44:33,970 kịch bản này được gọi là văn bản thực thi. 923 00:44:33,970 --> 00:44:36,080 Và bây giờ hãy chạy văn bản. 924 00:44:36,080 --> 00:44:37,590 >> OK, vì vậy tiến bộ. 925 00:44:37,590 --> 00:44:39,960 Vì vậy, bây giờ tôi đã viết một dòng kịch bản lệnh, 926 00:44:39,960 --> 00:44:43,300 trong một ngôn ngữ được gọi là PHP, mà, vì lý do đó đòi hỏi phải có đường, 927 00:44:43,300 --> 00:44:46,380 có quyền truy cập vào tất cả các cấu hình hằng số mà tôi đã chỉ định. 928 00:44:46,380 --> 00:44:48,177 Tên của cơ sở dữ liệu và vv. 929 00:44:48,177 --> 00:44:50,260 Trong thực tế, chỉ để được rõ ràng rằng đây không phải là sự may mắn, 930 00:44:50,260 --> 00:44:54,730 hãy để tôi đi trước và đăng ký, thực sự nhanh chóng, người khác như Rob 931 00:44:54,730 --> 00:44:58,890 và sẽ cho anh ta số 555-1212. 932 00:44:58,890 --> 00:45:01,557 >> Và bây giờ, nếu tôi chạy kịch bản một lần nữa, nhận thấy sức mạnh 933 00:45:01,557 --> 00:45:03,140 những gì chúng ta đang làm với cơ sở dữ liệu. 934 00:45:03,140 --> 00:45:07,680 Bây giờ tôi đã ngay lập tức nhìn thấy những gì hai hàng khác nằm trong cơ sở dữ liệu của tôi. 935 00:45:07,680 --> 00:45:10,699 Vì vậy, bây giờ hãy cố gắng làm một cái gì đó thậm chí còn sành điệu bên trong, 936 00:45:10,699 --> 00:45:12,740 và đây là phần chúng tôi đã không kiểm tra trước, 937 00:45:12,740 --> 00:45:15,910 vì vậy thời gian qua tôi đã làm điều này mọi thứ đã đi méo kinh dị, 938 00:45:15,910 --> 00:45:17,120 chúng tôi có video để có hiệu lực đó. 939 00:45:17,120 --> 00:45:18,286 >> Trên thực tế, yeah, vui sang một bên. 940 00:45:18,286 --> 00:45:20,480 Vì vậy, thời gian qua, trong một giảng dạy như hai năm trước đây, 941 00:45:20,480 --> 00:45:23,230 chúng tôi quyết định, tôi quyết định, để được tất cả điều này sẽ là một ý tưởng tuyệt vời 942 00:45:23,230 --> 00:45:28,150 tự động tạo ra các email trong lớp, sử dụng toàn bộ cơ sở dữ liệu CS50 943 00:45:28,150 --> 00:45:33,390 sinh viên, những người đã cho chúng tôi số điện thoại của họ và các hãng điện thoại di động của họ mà bạn 944 00:45:33,390 --> 00:45:36,290 có thể nhớ lại từ pset0, làm thế nào để lý do, nó quay ra 945 00:45:36,290 --> 00:45:40,650 Tôi đã có một lỗi nhỏ trong chương trình của tôi và đã làm một vài sai lầm trong năm 2012, tôi nghĩ. 946 00:45:40,650 --> 00:45:43,997 >> Theo đó, một tôi đã cho vòng lặp đã làm chính xác loại điều, 947 00:45:43,997 --> 00:45:46,580 iterating trên cơ sở dữ liệu, nhận được một tên từ cơ sở dữ liệu, 948 00:45:46,580 --> 00:45:49,940 tên từ cơ sở dữ liệu, và sau đó trên mỗi lặp đi lặp lại của vòng lặp đó tôi đã gửi một email. 949 00:45:49,940 --> 00:45:54,130 Nhưng thay vì gửi một email, tôi gửi một email lặp đầu tiên, 950 00:45:54,130 --> 00:45:58,200 và hai email một lần lặp thứ hai, gửi ba email một sự lặp lại lần thứ hai, 951 00:45:58,200 --> 00:46:01,230 như bạn có thể nhớ lại từ chúng tôi thảo luận về các ký hiệu tiệm cận 952 00:46:01,230 --> 00:46:06,400 O này lớn xấu, như n bình phương là bao nhiêu tin nhắn tôi gửi đi, 953 00:46:06,400 --> 00:46:08,560 nhưng nó thậm chí còn không email đó là tin nhắn văn bản. 954 00:46:08,560 --> 00:46:12,070 >> Và như bạn đã biết, tham dự không phải là siêu cao vào cuối học kỳ 955 00:46:12,070 --> 00:46:15,360 và vì vậy tôi nghĩ rằng nó sẽ dễ thương thời gian để nói, "Tại sao không phải là bạn học?" 956 00:46:15,360 --> 00:46:17,880 Trong các tin nhắn văn bản tôi gửi cho cả lớp, 957 00:46:17,880 --> 00:46:22,140 và nó đã được vui thích 50% lớp, nhưng 50%, một số người trong số họ 958 00:46:22,140 --> 00:46:26,102 hơi bối rối, tôi đã gửi vô cùng ghi chú ngọt ngào xin lỗi 959 00:46:26,102 --> 00:46:28,560 cho các nhân viên xin lỗi vì đã bỏ lỡ bài giảng chỉ 960 00:46:28,560 --> 00:46:29,530 điều này một lần, phải không? 961 00:46:29,530 --> 00:46:32,790 962 00:46:32,790 --> 00:46:34,030 >> Vì vậy, đó sẽ méo kinh dị. 963 00:46:34,030 --> 00:46:37,030 Vì vậy, trong tinh thần đó, chúng ta hãy cố gắng này một lần nữa nhưng chỉ với số của tôi. 964 00:46:37,030 --> 00:46:41,940 Trước, trong functions.php, Tôi đã viết chức năng này tại đây. 965 00:46:41,940 --> 00:46:44,250 Nó được gọi là văn bản, và nó mất trong ba đối số. 966 00:46:44,250 --> 00:46:46,360 Một số, một tàu sân bay, và một tin nhắn. 967 00:46:46,360 --> 00:46:50,390 >> Tôi đang sử dụng một tuyên bố chuyển đổi, mà tuyệt vời PHP có dây, không chỉ 968 00:46:50,390 --> 00:46:53,350 số nguyên, và tôi đã không thực hiện tất cả các hỗ trợ này chưa, 969 00:46:53,350 --> 00:46:55,370 Tôi vừa mới thực hiện AT & T và Verizon. 970 00:46:55,370 --> 00:46:57,610 Bởi vì nó quay ra rằng với những tàu sân bay 971 00:46:57,610 --> 00:47:00,570 họ có email đến cổng SMS, nhờ đó mà bạn có thể thực sự 972 00:47:00,570 --> 00:47:05,529 gửi một email đến một địa chỉ như số điện thoại tại vtext.com 973 00:47:05,529 --> 00:47:08,070 và nếu người dùng đã không bị chặn các thông điệp, nó sẽ đi qua 974 00:47:08,070 --> 00:47:09,340 là một tin nhắn văn bản. 975 00:47:09,340 --> 00:47:13,270 >> Bây giờ để làm điều này, tôi sẽ có thêm một lĩnh vực thực sự nhanh đến cơ sở dữ liệu của tôi. 976 00:47:13,270 --> 00:47:15,470 Tôi sẽ đi vào cơ cấu của tôi, và tôi 977 00:47:15,470 --> 00:47:21,880 sẽ đi trước và thêm một lĩnh vực vào cuối của bảng. 978 00:47:21,880 --> 00:47:25,227 Hãy nhấp vào Go, và tôi sẽ gọi cho nhà cung cấp này 979 00:47:25,227 --> 00:47:27,310 và bây giờ tôi sẽ để điều này như một văn bản thanh, 980 00:47:27,310 --> 00:47:29,320 nhưng chúng ta có thể sành điệu trong tương lai. 981 00:47:29,320 --> 00:47:31,961 Tôi sẽ nhanh chóng đi vào bàn của tôi, và tôi 982 00:47:31,961 --> 00:47:34,210 đi để thoát khỏi Rob, bởi vì đó là một số giả, 983 00:47:34,210 --> 00:47:38,540 Tôi sẽ đi vào chỉnh sửa ở đây và tôi sẽ thay đổi nhà cung cấp của tôi bằng tay 984 00:47:38,540 --> 00:47:43,410 là Verizon, mà nó là, và bây giờ ở đây. 985 00:47:43,410 --> 00:47:44,980 >> Hãy làm một kiểm tra sự tỉnh táo nhanh chóng. 986 00:47:44,980 --> 00:47:52,730 Hãy mở ra kịch bản văn bản của chúng tôi, trông như thế này, tàu sân bay là% s. 987 00:47:52,730 --> 00:47:58,230 Chúng tôi đang làm một lỗi rất nhiều kiểm tra hơn tôi đã làm trong năm 2012, tàu sân bay. 988 00:47:58,230 --> 00:48:01,160 Và bây giờ, tôi sẽ đi phía trước và chạy lại kịch bản. 989 00:48:01,160 --> 00:48:01,660 OK. 990 00:48:01,660 --> 00:48:06,100 Carrier là Verizon, có nghĩa là Bây giờ hy vọng tôi có thể làm chỉ này. 991 00:48:06,100 --> 00:48:08,360 Một cách chính xác trong năm nay, hy vọng, ở đây chúng tôi đi. 992 00:48:08,360 --> 00:48:12,200 >> Vì vậy, bên trong này cho vòng lặp, tôi sẽ không chỉ có printf này, 993 00:48:12,200 --> 00:48:15,990 Tôi cũng sẽ gọi cho văn bản và việc sử dụng các chức năng thu hồi này 994 00:48:15,990 --> 00:48:19,670 đã phải mất một số, một tàu sân bay, và một tin nhắn. 995 00:48:19,670 --> 00:48:23,310 Vì vậy, chúng ta hãy xem, con số này sẽ có hàng quote unquote "số" 996 00:48:23,310 --> 00:48:31,660 hàng quote unquote "tàu sân bay" và cuối cùng là thông điệp. 997 00:48:31,660 --> 00:48:36,250 Đừng vít lên trong năm nay, dấu chấm phẩy. 998 00:48:36,250 --> 00:48:36,780 >> OK. 999 00:48:36,780 --> 00:48:38,280 Ngón tay vượt qua. 1000 00:48:38,280 --> 00:48:39,970 Hãy xem nếu công trình này. 1001 00:48:39,970 --> 00:48:41,720 Tất cả các bên phải, như vậy. 1002 00:48:41,720 --> 00:48:43,000 Ở đây chúng ta đi. 1003 00:48:43,000 --> 00:48:47,380 Hãy mở khóa điện thoại, chéo ngón tay của bạn, chết tiệt. 1004 00:48:47,380 --> 00:48:50,300 Không xác định may-- biến oh chờ đợi, chờ đợi, chờ đợi, thật nhanh. 1005 00:48:50,300 --> 00:48:51,340 Thật nhanh, thật nhanh. 1006 00:48:51,340 --> 00:48:53,380 Điều này là hoàn toàn xứng đáng. 1007 00:48:53,380 --> 00:48:57,710 Hãy để tôi lấy, hãy để tôi lấy, uh-oh. 1008 00:48:57,710 --> 00:48:59,965 Cảm ơn bạn, các văn bản có bắt đầu từ một người khác. 1009 00:48:59,965 --> 00:49:04,770 1010 00:49:04,770 --> 00:49:11,650 Hãy để tôi đi trước và mở thực nhanh chóng, dropbox.php / mail tại đây. 1011 00:49:11,650 --> 00:49:12,660 Standby. 1012 00:49:12,660 --> 00:49:14,455 Hoàn toàn xứng đáng. 1013 00:49:14,455 --> 00:49:17,430 Downloads. 1014 00:49:17,430 --> 00:49:18,560 OK, nguồn src8m. 1015 00:49:18,560 --> 00:49:19,700 OK. 1016 00:49:19,700 --> 00:49:21,380 >> Cần thêm một dòng ở đây. 1017 00:49:21,380 --> 00:49:24,530 Oh có nó, đó là trong Frosh Tin nhắn tức thì, đó là trong sổ đăng ký tại ba. 1018 00:49:24,530 --> 00:49:28,820 Oh hello, Margo, cảm ơn bạn rất nhiều. 1019 00:49:28,820 --> 00:49:31,130 OK, và tôi đã mất tích dòng này ở đây. 1020 00:49:31,130 --> 00:49:33,010 Vì vậy, hãy để tôi nhanh chóng lấy dòng mã này, 1021 00:49:33,010 --> 00:49:36,200 trong đó bao gồm các mail hoặc thư viện mà tôi thực sự muốn sử dụng, 1022 00:49:36,200 --> 00:49:38,300 Tôi sẽ nhanh chóng quay trở lại chức năng, 1023 00:49:38,300 --> 00:49:42,337 Tôi sẽ đi đến đầu này nộp và yêu cầu tập tin này là tốt, 1024 00:49:42,337 --> 00:49:45,420 và bây giờ tôi sẽ thực sự vượt qua của tôi ngón tay khi tôi quay trở lại lệnh 1025 00:49:45,420 --> 00:49:49,530 kịch bản dòng, mà là bên trong của thư mục chủ của địa phương hiện nay. 1026 00:49:49,530 --> 00:49:50,610 Văn bản chạy. 1027 00:49:50,610 --> 00:49:52,720 Enter. 1028 00:49:52,720 --> 00:49:53,220 Mail. 1029 00:49:53,220 --> 00:49:53,719 Standby. 1030 00:49:53,719 --> 00:49:58,850 1031 00:49:58,850 --> 00:49:59,600 Standby. 1032 00:49:59,600 --> 00:50:01,680 Mail. 1033 00:50:01,680 --> 00:50:02,290 Oh, OK. 1034 00:50:02,290 --> 00:50:03,870 Ở đây chúng ta đi. 1035 00:50:03,870 --> 00:50:06,880 >> Thư mới được PHP bưu phẩm. 1036 00:50:06,880 --> 00:50:09,970 Tôi đã làm điều này phải không? 1037 00:50:09,970 --> 00:50:11,067 Chết tiệt. 1038 00:50:11,067 --> 00:50:12,150 Với: oh, chờ đợi, chờ đợi, chờ đợi. 1039 00:50:12,150 --> 00:50:12,649 Stand by. 1040 00:50:12,649 --> 00:50:15,820 1041 00:50:15,820 --> 00:50:18,630 Tôi hứa, đây là sẽ là như vậy giá trị nó. 1042 00:50:18,630 --> 00:50:20,340 Địa chỉ. 1043 00:50:20,340 --> 00:50:24,390 Đây là lý do tại sao tôi không làm cho ví dụ ngay trước lớp. 1044 00:50:24,390 --> 00:50:26,350 Ugh. 1045 00:50:26,350 --> 00:50:27,910 Những người nhận sau thất bại. 1046 00:50:27,910 --> 00:50:31,500 1047 00:50:31,500 --> 00:50:33,040 Hãy thử một điều cuối cùng. 1048 00:50:33,040 --> 00:50:40,660 SMTP thiết lập từ, thêm địa chỉ, địa chỉ thực sự là. 1049 00:50:40,660 --> 00:50:43,980 Hãy thử phần này cuối cùng trong địa chỉ. 1050 00:50:43,980 --> 00:50:47,210 Aw, tôi thực sự buồn ngay bây giờ. 1051 00:50:47,210 --> 00:50:47,854 Cám ơn. 1052 00:50:47,854 --> 00:50:50,270 Nhưng tôi thực sự đánh giá cao tất cả các văn bản bạn đã được gửi. 1053 00:50:50,270 --> 00:50:53,130 1054 00:50:53,130 --> 00:50:56,320 Bạn đã có David này. 1055 00:50:56,320 --> 00:50:59,310 Bạn đang thổi nó. 1056 00:50:59,310 --> 00:51:01,720 Hãy để nó ở đó và chúng tôi sẽ sửa chữa vào ngày thứ Hai. 1057 00:51:01,720 --> 00:51:04,290 Xem bạn sau đó. 1058 00:51:04,290 --> 00:51:08,090 >> DAVEN Farnham: Và bây giờ sâu Suy nghĩ của Daven Farnham. 1059 00:51:08,090 --> 00:51:11,340 1060 00:51:11,340 --> 00:51:17,590 Nếu một cây nhị phân rơi vào một khu rừng và không có ai xung quanh để C it-- [cười khúc khích]. 1061 00:51:17,590 --> 00:51:18,998