1 00:00:00,000 --> 00:00:11,470 2 00:00:11,470 --> 00:00:12,764 >> 揚聲器1:所有,歡迎回來。 3 00:00:12,764 --> 00:00:14,140 這是CS50。 4 00:00:14,140 --> 00:00:16,800 這是9週的開始。 5 00:00:16,800 --> 00:00:19,960 這是開始的其餘部分 你的時間,我們在CS50 6 00:00:19,960 --> 00:00:23,170 現在,終於到Web轉型 方面的課程,在那裡你會 7 00:00:23,170 --> 00:00:26,200 發現很多的基本面, 我們已經出口數週 8 00:00:26,200 --> 00:00:29,270 還回來參觀, 或困擾我們。 9 00:00:29,270 --> 00:00:33,440 但現在,你會發現,它是一個 為了要容易得多, 10 00:00:33,440 --> 00:00:36,540 完成某些任務和 解決某些問題 - 11 00:00:36,540 --> 00:00:41,050 以至於即使你認為 在他們的樂趣若干問題集 12 00:00:41,050 --> 00:00:44,200 自己的路,我認為你會發現 P設定7,第8,然後, 13 00:00:44,200 --> 00:00:47,990 最終,最終的項目將 更可喜的,因為你會 14 00:00:47,990 --> 00:00:51,830 發現我們開始想當然 現在喜歡的東西的內存管理, 15 00:00:51,830 --> 00:00:54,190 指針,這是怎麼回事 引擎蓋下。 16 00:00:54,190 --> 00:00:57,310 再次,專題,所有整個 學期一直是這種分層 17 00:00:57,310 --> 00:00:58,030 和層次感。 18 00:00:58,030 --> 00:01:00,530 而現在我們排序 在這裡,站在 19 00:01:00,530 --> 00:01:01,930 過去幾週的肩膀。 20 00:01:01,930 --> 00:01:05,360 >> 現在,回想最後一次 談到如何在互聯網上工作。 21 00:01:05,360 --> 00:01:08,120 這也許是一個 過於簡單,但要記住, 22 00:01:08,120 --> 00:01:12,960 在世界上的每一台電腦都有一個IP 解決,雖然這是一個有點 23 00:01:12,960 --> 00:01:14,570 仍然過於簡單化。 24 00:01:14,570 --> 00:01:18,180 這些地址被用來唯一 識別機,這樣 25 00:01:18,180 --> 00:01:22,010 當您發送信息,或包, 可以這麼說,他們可以有一個原點 26 00:01:22,010 --> 00:01:24,000 地址和目的地址。 27 00:01:24,000 --> 00:01:27,830 而那些可以使用相同的IP地址 既為好,也為邪惡, 28 00:01:27,830 --> 00:01:29,270 跟踪你的,例如。 29 00:01:29,270 --> 00:01:32,200 事實上,每一個你用筆記本電腦 現在打開,或在你的手機 30 00:01:32,200 --> 00:01:35,070 口袋裡,都有一個IP地址 哈佛的網絡。 31 00:01:35,070 --> 00:01:39,120 它不是那麼困難 關聯,誰和你 32 00:01:39,120 --> 00:01:40,180 這些天。 33 00:01:40,180 --> 00:01:42,090 但更多的,也許 在未來。 34 00:01:42,090 --> 00:01:46,510 >> 現在,我想我會帶回一些 [回憶?提升?]給你 35 00:01:46,510 --> 00:01:49,360 你一個展示的另一個剪輯 可能會發現熟悉。 36 00:01:49,360 --> 00:01:52,710 如果我們可以把燈光調暗 短短的幾秒鐘。 37 00:01:52,710 --> 00:01:53,960 顯示數字追兇。 38 00:01:53,960 --> 00:01:57,510 39 00:01:57,510 --> 00:02:00,540 >> 揚聲器2:這是一個的32位IPP4地址。 40 00:02:00,540 --> 00:02:01,610 >> 揚聲器3:IPP,在互聯網? 41 00:02:01,610 --> 00:02:02,968 >> 揚聲器2:專用網絡。 42 00:02:02,968 --> 00:02:04,960 阿彌陀佛的私人網絡。 43 00:02:04,960 --> 00:02:16,930 44 00:02:16,930 --> 00:02:19,602 她是如此驚人。 45 00:02:19,602 --> 00:02:21,030 >> 揚聲器3:來吧,查理。 46 00:02:21,030 --> 00:02:21,490 >> 揚聲器2:這是。 47 00:02:21,490 --> 00:02:22,470 鏡子的IP地址。 48 00:02:22,470 --> 00:02:27,680 她讓我們看什麼 她在做實時的。 49 00:02:27,680 --> 00:02:30,930 >> 揚聲器1:OK,這樣的幾件事情 不對的圖片。 50 00:02:30,930 --> 00:02:32,920 所以,這個人是可以接受的, 這實際上是 51 00:02:32,920 --> 00:02:34,400 不是一個有效的IP地址。 52 00:02:34,400 --> 00:02:38,190 一個有效的IP地址必須是數字 形式w.x.y.z的,其中每個 53 00:02:38,190 --> 00:02:40,000 這些信件是0到255。 54 00:02:40,000 --> 00:02:42,330 但是,這很好,因為就像 電影裡他們假的電話號碼, 55 00:02:42,330 --> 00:02:43,520 他們偽造的IP地址。 56 00:02:43,520 --> 00:02:45,230 其實你不打真正的服務器。 57 00:02:45,230 --> 00:02:46,760 >> 但是,你要知道,這是一個瀏覽器。 58 00:02:46,760 --> 00:02:50,760 瀏覽器不啟動輸出 像這樣的計算機代碼。 59 00:02:50,760 --> 00:02:54,230 如果我們看得更深,注意 ,他們所看到的語言 60 00:02:54,230 --> 00:02:57,040 屏幕上是一種語言叫 目的C,這是語言 61 00:02:57,040 --> 00:02:59,520 iPhone應用程序被寫入, 特別是那些涉及 62 00:02:59,520 --> 00:03:03,540 蠟筆,你可以看到從 這裡的源代碼。 63 00:03:03,540 --> 00:03:06,600 64 00:03:06,600 --> 00:03:07,560 >> OK,我認為這非常可笑。 65 00:03:07,560 --> 00:03:12,240 因此,這個代碼片段絕對 不管這無關 66 00:03:12,240 --> 00:03:13,940 特別是情節。 67 00:03:13,940 --> 00:03:17,590 所以這個笑話是一種對鄉親 服用此授予。 68 00:03:17,590 --> 00:03:20,220 但是這還不是全部,很難得到 這些技術細節的權利。 69 00:03:20,220 --> 00:03:21,980 我會鼓勵你。 70 00:03:21,980 --> 00:03:25,530 而實際上,50很可能糟蹋 很多的電視節目和電影,或者你 71 00:03:25,530 --> 00:03:27,320 因為你會發現,它只是 不可能的,他們是怎麼 72 00:03:27,320 --> 00:03:28,630 在屏幕上做。 73 00:03:28,630 --> 00:03:31,750 但事實上,這是代碼 可能會看到它在iPhone應用程序 74 00:03:31,750 --> 00:03:33,640 或Mac OS的應用程序。 75 00:03:33,640 --> 00:03:35,685 它什麼都沒有 與安全。 76 00:03:35,685 --> 00:03:38,610 因此,保持眼睛出更多的 如此有趣之類的東西。 77 00:03:38,610 --> 00:03:42,720 >> 但是今天,我們開始潛水真的 深入到語言一整套。 78 00:03:42,720 --> 00:03:45,410 事實上,總體 這個部分的外賣 79 00:03:45,410 --> 00:03:51,815 當然不是學習如何編程 在PHP中,沒有學習SQL本身,而不是 80 00:03:51,815 --> 00:03:58,100 學習JavaScript本身,而是 教自己如何教 81 00:03:58,100 --> 00:04:02,030 自己新的語言,因為,事實上, 我們現在開始採取 82 00:04:02,030 --> 00:04:06,020 訓練車輪關閉,因此後 當然年底,你不要指望一個20 83 00:04:06,020 --> 00:04:08,890 頁的規範來告訴你如何 實現一些程序。 84 00:04:08,890 --> 00:04:12,970 你有足夠的成分在你的 頭腦,你的工具和足夠的工具 85 00:04:12,970 --> 00:04:15,750 套件,開始建設 感興趣的問題的解決方案 86 00:04:15,750 --> 00:04:19,130 一些學生組,對於一些 研究項目,或者什麼 87 00:04:19,130 --> 00:04:20,140 你的興趣。 88 00:04:20,140 --> 00:04:24,150 >> 為此,記得,這是 圖片中我們把它最後一次。 89 00:04:24,150 --> 00:04:27,620 這是兩台電腦,客戶端和 斷絕,彼此交談。 90 00:04:27,620 --> 00:04:31,130 的協議,語言,所以 說話,那這兩台計算機發生 91 00:04:31,130 --> 00:04:33,220 發言被稱為HTTP。 92 00:04:33,220 --> 00:04:37,730 而這僅僅是所使用的協議 計算機傳輸信息 93 00:04:37,730 --> 00:04:38,710 萬維網。 94 00:04:38,710 --> 00:04:41,770 網頁,當然,這只是一個服務 頂部的運行 95 00:04:41,770 --> 00:04:43,000 所謂的互聯網。 96 00:04:43,000 --> 00:04:48,660 什麼提供其他服務 頂在互聯網上這些天? 97 00:04:48,660 --> 00:04:51,600 其他一些協議或 - 那是什麼? 98 00:04:51,600 --> 00:04:52,300 >> 觀眾:FTP。 99 00:04:52,300 --> 00:04:52,790 >> 揚聲器1:FTP。 100 00:04:52,790 --> 00:04:54,630 因此,文件傳輸協議是另一回事。 101 00:04:54,630 --> 00:04:56,050 大多數人可能都沒有使用過它。 102 00:04:56,050 --> 00:04:58,830 但你們中的大多數可能已經使用 之類的東西Gchat,或即時 103 00:04:58,830 --> 00:05:00,970 消息更一般地, 當然電子郵件。 104 00:05:00,970 --> 00:05:04,470 而這些,也都是上運行的服務 在互聯網的頂部,因為在 105 00:05:04,470 --> 00:05:08,180 一天結束的時候,互聯網本身 真的只是得到數據從A點到 106 00:05:08,180 --> 00:05:12,480 B點,它使用了大量的 顆粒本身,其中一個或兩個 107 00:05:12,480 --> 00:05:17,340 的他們最一般稱為TCP / IP, 這就是說,一台計算機上 108 00:05:17,340 --> 00:05:19,960 互聯網實際上可以做 不同的東西,電子郵件, 109 00:05:19,960 --> 00:05:20,980 和網頁,等等。 110 00:05:20,980 --> 00:05:22,220 谷歌做了很多這方面。 111 00:05:22,220 --> 00:05:26,310 那麼,如何是那些獨特的服務 確定,我們說,在電腦上 112 00:05:26,310 --> 00:05:29,080 實際上可能會做 多重的東西? 113 00:05:29,080 --> 00:05:29,860 >> 端口號。 114 00:05:29,860 --> 00:05:34,180 而這些都只是人類任意 約定如80網絡,443是 115 00:05:34,180 --> 00:05:36,580 加密網絡,25是電子郵件。 116 00:05:36,580 --> 00:05:38,230 有一個串他人。 117 00:05:38,230 --> 00:05:41,860 這些數字只是包含在 這些數據包的信息,這些 118 00:05:41,860 --> 00:05:46,230 虛擬信封,實際上 包含了一個請求或響應。 119 00:05:46,230 --> 00:05:51,300 >> 所以,當你回來的響應 網頁,通常情況下,你不會看到任何 120 00:05:51,300 --> 00:05:54,780 無論在任何數字 響應的狀態碼。 121 00:05:54,780 --> 00:05:56,770 其實你不看 內部運作的 122 00:05:56,770 --> 00:05:58,090 回來的數據包。 123 00:05:58,090 --> 00:05:59,860 但200確實意味著確定。 124 00:05:59,860 --> 00:06:01,530 這意味著一切都很好。 125 00:06:01,530 --> 00:06:02,870 你可能已經看到了一堆這些。 126 00:06:02,870 --> 00:06:05,710 這可能是最常見的 你見過在網絡上? 127 00:06:05,710 --> 00:06:05,980 >> 404。 128 00:06:05,980 --> 00:06:07,330 它只是意味著找不到文件。 129 00:06:07,330 --> 00:06:08,270 這意味著有人搞砸了。 130 00:06:08,270 --> 00:06:11,450 你輸錯網址,或者是有人 給你一個別人做的 131 00:06:11,450 --> 00:06:15,100 無效的URL,或者刪除了 文件和URL仍然是 132 00:06:15,100 --> 00:06:16,130 被人們所使用。 133 00:06:16,130 --> 00:06:19,670 因此,任何數量的原因可以解釋 為什麼文件沒有找到。 134 00:06:19,670 --> 00:06:22,990 你會看到,在未來幾週內, 這些錯誤代碼,你會 135 00:06:22,990 --> 00:06:24,195 趁他們中的一些。 136 00:06:24,195 --> 00:06:25,760 最糟糕的是500。 137 00:06:25,760 --> 00:06:29,820 如果你得到一個500錯誤代碼,您已經 寫的,認為那是那種 138 00:06:29,820 --> 00:06:33,290 模擬賽格中的故障 Web編程的世界。 139 00:06:33,290 --> 00:06:34,560 不,這是相當可怕的。 140 00:06:34,560 --> 00:06:36,660 但它只是意味著,在某處, 你搞砸了。 141 00:06:36,660 --> 00:06:38,260 所以那些期待。 142 00:06:38,260 --> 00:06:39,910 >> 但是,讓我們來看看,如果我們能 看到這些上下文中。 143 00:06:39,910 --> 00:06:43,460 讓我去這裡的瀏覽器 並做到以下幾點。 144 00:06:43,460 --> 00:06:45,710 因此,這是Chrome瀏覽器,這恰好 安裝在產品中。 145 00:06:45,710 --> 00:06:49,410 但幾乎​​每一個瀏覽器,這些天有 一些相同的功能。 146 00:06:49,410 --> 00:06:52,610 我要去Chrome的菜單, 去工具,而且我要去 147 00:06:52,610 --> 00:06:53,990 開發工具。 148 00:06:53,990 --> 00:06:57,040 你會看到,這個小面板 打開窗口的底部。 149 00:06:57,040 --> 00:07:00,190 另一種快捷方式,說實話,我 自己平時使用右鍵單擊 150 00:07:00,190 --> 00:07:04,370 或控制點擊在網絡上的任何地方 頁面,只是去檢查元素。 151 00:07:04,370 --> 00:07:07,440 而且,不僅將打開 這有你。 152 00:07:07,440 --> 00:07:10,230 它也將打開,具體而言, 元素部分 153 00:07:10,230 --> 00:07:11,430 左手側。 154 00:07:11,430 --> 00:07:12,460 >> 所以,我們當然看到谷歌。 155 00:07:12,460 --> 00:07:13,930 今天他們改變他們的標誌。 156 00:07:13,930 --> 00:07:20,200 但是,如果我在這裡向下滾動,請注意 根據元素,你看 157 00:07:20,200 --> 00:07:23,460 什麼叫做HTML超文本標記 語言,這是語言 158 00:07:23,460 --> 00:07:26,000 ,這和所有的網頁, 真的,編寫的。 159 00:07:26,000 --> 00:07:28,950 但實際上它是格式化 我們這麼多可讀性 160 00:07:28,950 --> 00:07:29,970 比正常的。 161 00:07:29,970 --> 00:07:34,810 事實上,如果我縮小,我反而 只需右鍵單擊或控制點擊 162 00:07:34,810 --> 00:07:39,630 在頁面上點擊,然後去查看 頁面源代碼,這是字面意思是什麼 163 00:07:39,630 --> 00:07:42,150 谷歌向下發送到我的瀏覽器。 164 00:07:42,150 --> 00:07:46,480 >> 於是某人或某些人寫的 Google.com使用這個源代碼。 165 00:07:46,480 --> 00:07:47,790 其中大部分是沒有的HTML。 166 00:07:47,790 --> 00:07:49,340 它實際上是一個語言,稱為 JavaScript中,這 167 00:07:49,340 --> 00:07:50,880 我們還會回來上週三。 168 00:07:50,880 --> 00:07:55,580 但是,Chrome和每一個瀏覽器 可以為我們做什麼,是那種見 169 00:07:55,580 --> 00:07:59,610 過去所有的分心 瘋狂的語法,然後重新插入空白 170 00:07:59,610 --> 00:08:02,940 對我們來說,甚至語法高亮, 或上色為我們的事情。 171 00:08:02,940 --> 00:08:06,470 所以你會發現,這些所謂的 內置了瀏覽器的開發者工具 172 00:08:06,470 --> 00:08:10,830 這樣會讓你的生活,所以更容易 因為你可以探索,通過此菜單 173 00:08:10,830 --> 00:08:13,940 接口,正是底層 源代碼是為 174 00:08:13,940 --> 00:08:15,750 在互聯網上的任何頁面。 175 00:08:15,750 --> 00:08:19,070 事實上,這是一個最 有效的方法來學習如何做 176 00:08:19,070 --> 00:08:22,860 新的東西,至少如果頁面 也不是那麼複雜壓倒, 177 00:08:22,860 --> 00:08:26,700 開始戳它周圍的HTML,看 在其所謂的CSS,我們還會回來 178 00:08:26,700 --> 00:08:30,310 一個位為好,得到 的那個程序員如何理解 179 00:08:30,310 --> 00:08:33,480 某些特定的實施 功能的頁面。 180 00:08:33,480 --> 00:08:36,530 >> 但技術上更有趣的權利 現在還會是這樣。 181 00:08:36,530 --> 00:08:39,429 如果我去“網絡”選項卡, 現在,讓我們清除此。 182 00:08:39,429 --> 00:08:43,429 我要點擊小 在這裡交叉符號,然後 183 00:08:43,429 --> 00:08:45,630 轉到另一個網站。 184 00:08:45,630 --> 00:08:48,430 我只是要輸入 在Facebook.com。 185 00:08:48,430 --> 00:08:51,940 沒有HTTPS,HTTP,沒有任何WWW。 186 00:08:51,940 --> 00:08:53,850 讓我們真正看到這裡發生了什麼。 187 00:08:53,850 --> 00:08:55,030 >> 回車鍵。 188 00:08:55,030 --> 00:08:58,480 現在可以看到一大堆東西 出現在這個底部面板, 189 00:08:58,480 --> 00:09:00,285 除了網頁 出現在頂部。 190 00:09:00,285 --> 00:09:04,890 我要滾動備份到 網絡“選項卡在這裡,我要 191 00:09:04,890 --> 00:09:06,080 點擊第一行。 192 00:09:06,080 --> 00:09:10,580 此工具會向我們揭示了什麼 是每一個HTTP請求 193 00:09:10,580 --> 00:09:13,550 只是迅速回去 我的瀏覽器之間來回 194 00:09:13,550 --> 00:09:14,930 Facebook的服務器。 195 00:09:14,930 --> 00:09:17,830 所以每一個這些行 代表這樣的一個請求或 196 00:09:17,830 --> 00:09:20,970 響應,一個或多個 那些虛擬的信封。 197 00:09:20,970 --> 00:09:24,080 或者更隨意,這就像一個人 就像一個人,一個客戶在一個 198 00:09:24,080 --> 00:09:26,710 餐廳,要求的東西 一遍,一遍,又一遍。 199 00:09:26,710 --> 00:09:29,400 服務員不斷帶來 回一次。 200 00:09:29,400 --> 00:09:33,850 >> 所以,現在,如果我在變焦時,請注意 這將是諸如此類的事情, 201 00:09:33,850 --> 00:09:36,600 歡迎你,並鼓勵 發揮你自己,因為我們 202 00:09:36,600 --> 00:09:38,150 不會去通過一切 很詳細。 203 00:09:38,150 --> 00:09:40,070 但是請注意,有一個 這裡的幾個子選項卡 - 204 00:09:40,070 --> 00:09:43,700 接頭,預覽,響應, 餅乾,和時機。 205 00:09:43,700 --> 00:09:48,280 我只是要看看報頭 現在,因為這些小 206 00:09:48,280 --> 00:09:53,600 成分在裡面的信封 幫助數據和從地方。 207 00:09:53,600 --> 00:09:57,590 >> 因此,首先讓我點擊,查看 來源請求頭旁邊。 208 00:09:57,590 --> 00:10:01,910 有要求我的瀏覽器, 在這種情況下,瀏覽器,發送內側 209 00:10:01,910 --> 00:10:02,910 該虛擬信封。 210 00:10:02,910 --> 00:10:04,800 你還記得上週我 手動鍵入它,而 211 00:10:04,800 --> 00:10:06,380 假裝是一個瀏覽器。 212 00:10:06,380 --> 00:10:09,980 然後,它提醒服務器,它是 尋找稱為主機 213 00:10:09,980 --> 00:10:10,835 Facebook.com。 214 00:10:10,835 --> 00:10:13,630 再有是一個有點神秘的 信息,我們將揮手 215 00:10:13,630 --> 00:10:14,830 現在我們手中。 216 00:10:14,830 --> 00:10:18,640 >> 但是,如果我現在開始向下滾動 這個窗口中,讓我得到的 217 00:10:18,640 --> 00:10:19,980 響應頭。 218 00:10:19,980 --> 00:10:23,270 這是在虛擬 信封回來 219 00:10:23,270 --> 00:10:24,095 Facebook.com。 220 00:10:24,095 --> 00:10:27,390 如果我只是單擊“查看源文件” 看它的原始文本, 221 00:10:27,390 --> 00:10:28,400 注意到一些事情。 222 00:10:28,400 --> 00:10:32,130 一,Facebook還講同 協議,其1.1版本。 223 00:10:32,130 --> 00:10:33,390 所以這是很好的。 224 00:10:33,390 --> 00:10:36,820 但是,狀態代碼301, 永久地移動。 225 00:10:36,820 --> 00:10:38,880 >> 嗯,赫克Facebook的去了? 226 00:10:38,880 --> 00:10:40,430 這是什麼試圖傳達給我們的嗎? 227 00:10:40,430 --> 00:10:44,310 那麼,請注意這裡還有另一個 頭叫位置。 228 00:10:44,310 --> 00:10:51,050 那麼,為什麼是Facebook告訴我說,他們 被永久移動到該網址 229 00:10:51,050 --> 00:10:53,580 旁邊的位置嗎? 230 00:10:53,580 --> 00:10:54,962 我忘了www。 231 00:10:54,962 --> 00:10:56,250 >> 所以這是我的選擇。 232 00:10:56,250 --> 00:11:00,450 事實上,我們大多數人很少,大概, 鍵入www.whatever.com這些天。 233 00:11:00,450 --> 00:11:03,390 但事實證明,一個系統管理員, 像Facebook, 234 00:11:03,390 --> 00:11:06,800 以這樣一種方式配置自己的服務器 無論是Facebook.com的作品,或 235 00:11:06,800 --> 00:11:12,450 www.Facebook.com的作品,或者,真的, 在他們面前任何這樣的前綴 236 00:11:12,450 --> 00:11:13,210 域名。 237 00:11:13,210 --> 00:11:14,500 所以,他們做了我們。 238 00:11:14,500 --> 00:11:16,910 他們重定向,大概 對於一些技術, 239 00:11:16,910 --> 00:11:18,100 一些市場營銷的原因。 240 00:11:18,100 --> 00:11:21,570 他們只是想規範化 上www.Facebook.com。 241 00:11:21,570 --> 00:11:24,040 >> 但是,這不是相當。 242 00:11:24,040 --> 00:11:28,560 如果我在這裡向下滾動,讓 看個究竟。 243 00:11:28,560 --> 00:11:30,810 這是告訴我,我們 永久移至 244 00:11:30,810 --> 00:11:33,450 http://www.Facebook.com。 245 00:11:33,450 --> 00:11:36,620 因此,讓我們來看看第二個請求 我的瀏覽器發送。 246 00:11:36,620 --> 00:11:40,070 不幸的是,它看起來像Facebook 再次提出,因為第二個 247 00:11:40,070 --> 00:11:44,420 請求的網址,而不是通過選擇, 說,也感動 248 00:11:44,420 --> 00:11:45,010 久治不愈。 249 00:11:45,010 --> 00:11:48,140 並讓我在這裡向下滾動 響應頭。 250 00:11:48,140 --> 00:11:51,530 Facebook的現在已經不存在了嗎? 251 00:11:51,530 --> 00:11:52,680 >> 所以HTTPS。 252 00:11:52,680 --> 00:11:56,130 所以,現在Facebook已經開始, 特別是在光電流 253 00:11:56,130 --> 00:11:59,750 在最近幾個月的事件,尤其是 在過去幾年也 254 00:11:59,750 --> 00:12:03,670 迫使他們的所有用戶,在一個良好的 的方式,以使用HTTPS,這是更 255 00:12:03,670 --> 00:12:06,210 安全,雖然並非完全安全。 256 00:12:06,210 --> 00:12:10,000 所以現在我的網頁,我的瀏覽器 將要求這第三個URL。 257 00:12:10,000 --> 00:12:14,710 而現在,終於,我們得到 否則看不見200確定。 258 00:12:14,710 --> 00:12:18,830 >> 那麼,什麼在世界上所有 這些行這裡。 259 00:12:18,830 --> 00:12:22,630 我簡直輸入一件事,我 瀏覽器似乎已經要求像 260 00:12:22,630 --> 00:12:23,840 20一些奇怪的事情。 261 00:12:23,840 --> 00:12:24,640 那是什麼? 262 00:12:24,640 --> 00:12:25,810 >> 觀眾:腳本? 263 00:12:25,810 --> 00:12:28,460 >> 揚聲器1:腳本,所以其他文件 書面語言叫 264 00:12:28,460 --> 00:12:30,780 JavaScript中,這一次,我們將 在週三去看了一下。 265 00:12:30,780 --> 00:12:32,760 還有什麼呢? 266 00:12:32,760 --> 00:12:33,390 樣式表。 267 00:12:33,390 --> 00:12:36,350 所以東西的語言叫 CSS,我們會看到在一個位。 268 00:12:36,350 --> 00:12:40,690 GIF動畫和JPEG,GIF和PNG格式,圖片, 和電影文件 - 無論一個網頁 269 00:12:40,690 --> 00:12:43,280 已經是最有可能在 一個文件的形式。 270 00:12:43,280 --> 00:12:46,750 還等什麼,我們看到在左邊 右手邊有所有文件 271 00:12:46,750 --> 00:12:50,280 鉻下載, 遞歸的,如果你願意,為了 272 00:12:50,280 --> 00:12:52,430 構成的頁面的全部。 273 00:12:52,430 --> 00:12:56,210 >> 所以,我們剛才也看到了與谷歌, 如果我點擊的元素 274 00:12:56,210 --> 00:13:00,470 標籤,這肯定的是,HTML, 組成該頁面的語言。 275 00:13:00,470 --> 00:13:01,890 但是,還有其他的事情串。 276 00:13:01,890 --> 00:13:02,640 還有一個標誌。 277 00:13:02,640 --> 00:13:04,680 有那些藍十歲上下的 那邊的圖標。 278 00:13:04,680 --> 00:13:07,610 還有其他元素仍然 頁面本身可能會對 279 00:13:07,610 --> 00:13:08,610 單獨的文件。 280 00:13:08,610 --> 00:13:11,860 >> 那麼,什麼是瀏覽器很好 它著眼於我們要去的語言 281 00:13:11,860 --> 00:13:14,690 開始寫,或者你已經 在P組7,數字開始寫作 282 00:13:14,690 --> 00:13:17,970 這些文件在哪裡住了, 去抓住他們。 283 00:13:17,970 --> 00:13:21,010 我不能強調不夠,甚至 雖然這可能看起來有點 284 00:13:21,010 --> 00:13:24,820 神秘的或壓倒乍一看, 學習如何編程 285 00:13:24,820 --> 00:13:28,500 為Web應用程序,它的 無價的,以了解這些 286 00:13:28,500 --> 00:13:29,410 小工具的工作。 287 00:13:29,410 --> 00:13:33,830 這些都是有點像GDB工具一樣, 但簡單得多,最終使用 - 288 00:13:33,830 --> 00:13:37,690 真的讓你的眼睛變成了什麼 我們一直理所當然 289 00:13:37,690 --> 00:13:39,170 相當一段時間了。 290 00:13:39,170 --> 00:13:42,270 >> 所以我們現在做什麼用 這一信息? 291 00:13:42,270 --> 00:13:44,875 好吧,讓我們實際來看看 基本概念的HTML。 292 00:13:44,875 --> 00:13:49,025 我們會推遲,因為我們已經有了, 部分本週的問題 293 00:13:49,025 --> 00:13:53,260 設置7說明書中,一些比較 這些語言的詳情。 294 00:13:53,260 --> 00:13:57,020 但是,讓我們看到,如果我們不能畫一個 你應該明白什麼圖片 295 00:13:57,020 --> 00:13:57,940 整體這裡。 296 00:13:57,940 --> 00:14:02,280 >> 所以HTML超文本標記語言, 是不是一種編程語言。 297 00:14:02,280 --> 00:14:03,520 那是什麼意思呢? 298 00:14:03,520 --> 00:14:05,690 因此,HTML看起來是這樣的。 299 00:14:05,690 --> 00:14:06,810 一些你已經知道這一點。 300 00:14:06,810 --> 00:14:08,130 你們中的一些人一直在做 這一段時間。 301 00:14:08,130 --> 00:14:10,270 但是,讓我們看看我們是否可以不填 在一些空白。 302 00:14:10,270 --> 00:14:11,760 所以在這裡發現一對夫婦的事情。 303 00:14:11,760 --> 00:14:13,030 一,它只是文字。 304 00:14:13,030 --> 00:14:15,960 因此,它的源代碼就像 C,或其他語言。 305 00:14:15,960 --> 00:14:17,750 >> 請注意,似乎有 這裡有一種模式。 306 00:14:17,750 --> 00:14:20,870 有壓痕,但在技術上 壓痕是人性 307 00:14:20,870 --> 00:14:21,205 約定。 308 00:14:21,205 --> 00:14:24,980 Â瀏覽器不關心,如果有新的 行和製表符像我們看到有。 309 00:14:24,980 --> 00:14:27,410 但注意到,有 這裡的對稱性。 310 00:14:27,410 --> 00:14:31,180 有什麼我會打電話的頂部, 此文件中,打開的標籤,或者開始 311 00:14:31,180 --> 00:14:33,030 標籤,稱為HTML。 312 00:14:33,030 --> 00:14:36,800 然後,向下跌破,完美內襯 ,就像我們做的大括號, 313 00:14:36,800 --> 00:14:40,910 我們看到開放式支架,前進 斜線,HTML,靠近支架。 314 00:14:40,910 --> 00:14:44,610 所以這是對應關閉 標籤或結束標籤,那件事。 315 00:14:44,610 --> 00:14:47,990 >> 總之,一切都裡面的 所謂的開放標記和結束標記 316 00:14:47,990 --> 00:14:50,440 譜寫我們會打電話給一個元素。 317 00:14:50,440 --> 00:14:53,910 我們將看到,在短短的時刻,它的 真的很喜歡在樹上的一個節點。 318 00:14:53,910 --> 00:14:57,470 因為,如果你認為現在 縮進,這裡的暗示, 319 00:14:57,470 --> 00:15:00,780 樣的,喜歡,祖父母 節點稱為HTML。 320 00:15:00,780 --> 00:15:06,870 多少個孩子,你可能會說,根據 這張照片上的HTML元素? 321 00:15:06,870 --> 00:15:07,720 >> 所以,可能有兩個。 322 00:15:07,720 --> 00:15:10,240 一個是頭元素,顯然。 323 00:15:10,240 --> 00:15:11,710 一個是人體元素。 324 00:15:11,710 --> 00:15:12,555 為什麼兩個孩子呢? 325 00:15:12,555 --> 00:15:15,840 好吧,我只是一種推斷,如果 我有一個開放的頭標記,然後 326 00:15:15,840 --> 00:15:17,820 頭部標記,這是一個元素。 327 00:15:17,820 --> 00:15:21,200 然後,如果有一個開放式的身體 標籤和近身標籤,就像 328 00:15:21,200 --> 00:15:22,340 另一個元素。 329 00:15:22,340 --> 00:15:26,000 因此,在這個意義上說,如果我種旋轉 在其一側的圖片,這是 330 00:15:26,000 --> 00:15:29,910 就像有一個HTML標記,然後一個 頭標記,然後身體標記, 331 00:15:29,910 --> 00:15:34,290 然後一些文本,你好世界,晃來晃去 關閉body標籤本身。 332 00:15:34,290 --> 00:15:36,620 >> 因此,我們可以得出一個圖片 可能會這個樣子。 333 00:15:36,620 --> 00:15:38,020 的形狀是任意的。 334 00:15:38,020 --> 00:15:40,870 但是請注意,我用的排序 橢圓形的頂部來表示 335 00:15:40,870 --> 00:15:41,860 文件本身。 336 00:15:41,860 --> 00:15:45,980 原來,有可能是其他的東西 我不是一個網頁,裡面的 337 00:15:45,980 --> 00:15:46,940 這裡引出。 338 00:15:46,940 --> 00:15:50,800 所以我們要去甚至掛HTML 所謂的文件節點的節點關閉。 339 00:15:50,800 --> 00:15:53,730 然後我們有頭部和 身體和標題,通知, 340 00:15:53,730 --> 00:15:55,360 進一步嵌套。 341 00:15:55,360 --> 00:15:58,650 我沒有刻意把額外的行 標題標籤裡面休息。 342 00:15:58,650 --> 00:16:02,710 它只是感覺就像是獲得 顯得有點冗長。 343 00:16:02,710 --> 00:16:07,000 所以,我離開了它在一行, 開題,你好,靠近世界冠軍。 344 00:16:07,000 --> 00:16:09,380 然後我們有一些文字 這裡晃來晃去。 345 00:16:09,380 --> 00:16:12,200 >> 因此,這幅畫會回來 當我們潛入成JavaScript。 346 00:16:12,200 --> 00:16:15,110 和理解,當你 寫HTML這個樣子, 347 00:16:15,110 --> 00:16:16,250 瀏覽器是在做什麼? 348 00:16:16,250 --> 00:16:19,290 好吧,我們不必擔心 它是如何這樣做,或什麼 349 00:16:19,290 --> 00:16:23,090 算法,但在一天結束時, 當瀏覽器收到類似HTML 350 00:16:23,090 --> 00:16:27,510 認為,從Facebook或谷歌,它分析 它,可以這麼說,它會讀取它, 351 00:16:27,510 --> 00:16:31,160 像用fread的東西,頂 底部,左到右,因為它 352 00:16:31,160 --> 00:16:36,300 意識到,哦,開放標籤,然後關閉 標籤,開始對malloc,可以這麼說, 353 00:16:36,300 --> 00:16:37,800 的樹中的節點。 354 00:16:37,800 --> 00:16:41,130 當它遇到,因為我們已經暗示 這裡與壓痕, 355 00:16:41,130 --> 00:16:45,400 子節點,它mallocs一個節點 並附著到樹。 356 00:16:45,400 --> 00:16:49,150 >> 因此,樹的結構,二叉樹 三元樹,和更大的樹, 357 00:16:49,150 --> 00:16:53,380 我們在一兩個星期前,掃了一眼通知 ,同樣的原則是 358 00:16:53,380 --> 00:16:54,220 回來給我們。 359 00:16:54,220 --> 00:16:57,590 凡實施,鉻無論 團隊這樣做,大概有 360 00:16:57,590 --> 00:17:00,800 實現某種類型的樹結構 引擎蓋下。 361 00:17:00,800 --> 00:17:05,329 而這本身就是很可能在 語言如C或C + +或較低 362 00:17:05,329 --> 00:17:08,540 層次的語言,我們會 現在使用的網頁之上。 363 00:17:08,540 --> 00:17:11,200 >> 所以,現在,也許,這將 更有意義。 364 00:17:11,200 --> 00:17:15,420 一些傢伙,誰可能實際紋身 最終後悔了,有種。 365 00:17:15,420 --> 00:17:17,359 OK,所有的權利,所以很多的網絡幽默。 366 00:17:17,359 --> 00:17:18,599 這不是真的 在今天這麼好。 367 00:17:18,599 --> 00:17:19,560 因此,我們將繼續前進。 368 00:17:19,560 --> 00:17:20,180 好的。 369 00:17:20,180 --> 00:17:22,760 >> 因此,讓我們來看看現在 幾個例子。 370 00:17:22,760 --> 00:17:24,660 最簡單的可能 事情可能是這樣的。 371 00:17:24,660 --> 00:17:29,170 我要去進取,不斷開拓中 gedit的一個文件名為hello.php的。 372 00:17:29,170 --> 00:17:31,730 373 00:17:31,730 --> 00:17:36,330 在這裡,我要迅速 只是這樣做的printf,報價 374 00:17:36,330 --> 00:17:38,590 引文結束的“hello world”。 375 00:17:38,590 --> 00:17:42,460 >> 因此,通知,我會盡我的反斜線Ñ, 我沒有打擾申報主體。 376 00:17:42,460 --> 00:17:45,310 事實證明,在PHP中,和很多 語言,你不需要一個主 377 00:17:45,310 --> 00:17:46,090 功能本身。 378 00:17:46,090 --> 00:17:47,720 您可以開始寫 你的程序。 379 00:17:47,720 --> 00:17:51,210 現在,當我保存這個文件,通知我 要做到以下幾點。 380 00:17:51,210 --> 00:17:55,360 我不會使用,我不 要使用鐺因為PHP,不像 381 00:17:55,360 --> 00:17:57,400 C,是不是編譯語言。 382 00:17:57,400 --> 00:18:01,400 這就是被稱為一種解釋 語言,這意味著你運行它 383 00:18:01,400 --> 00:18:04,650 通過另一個程序作為輸入 所謂的解釋。 384 00:18:04,650 --> 00:18:08,150 並且該程序讀取,頂 底部,從左向右,做 385 00:18:08,150 --> 00:18:09,290 無論你告訴它做的。 386 00:18:09,290 --> 00:18:12,920 >> 因此,在這種情況下,在這裡我有 行的printf說。 387 00:18:12,920 --> 00:18:17,990 所以,當我運行這個源代碼, hello.php的,雖然一個程序, 388 00:18:17,990 --> 00:18:22,830 情況下,方便,被稱為PHP, 該程序PHP要讀 389 00:18:22,830 --> 00:18:26,120 這個文件,從上到下,從左到右, 它會做什麼,我 390 00:18:26,120 --> 00:18:30,110 告訴它做 - 執行代碼,如果 它不承認的東西,只是 391 00:18:30,110 --> 00:18:31,320 隨地吐痰出來。 392 00:18:31,320 --> 00:18:34,940 所以,我要繼續前進, 運行PHP的hello.php。 393 00:18:34,940 --> 00:18:37,110 回車鍵。 394 00:18:37,110 --> 00:18:39,690 >> 這並不完全是我的本意。 395 00:18:39,690 --> 00:18:40,530 那麼,這是為什麼? 396 00:18:40,530 --> 00:18:43,910 嗯,PHP是一門語言,這實際上是 設計是相當 397 00:18:43,910 --> 00:18:46,150 交織在一起的網絡。 398 00:18:46,150 --> 00:18:50,460 當這種語言製作網頁 PHP的,因為我們很快就會看到,我們將 399 00:18:50,460 --> 00:18:54,560 想要做類似打印 出像這樣的線。 400 00:18:54,560 --> 00:18:55,940 >> 所以我要做到這一點。 401 00:18:55,940 --> 00:19:00,810 打開支架,問號,PHP, 現在我只是要縮進只是為了保持 402 00:19:00,810 --> 00:19:01,960 美好的東西。 403 00:19:01,960 --> 00:19:04,910 現在我要做的一個問題 標記密切支架。 404 00:19:04,910 --> 00:19:06,270 所以這是一個有點不對稱。 405 00:19:06,270 --> 00:19:07,490 你不這樣做。 406 00:19:07,490 --> 00:19:10,530 而且你不必做一個斜線,所以 PHP是一個有點不同。 407 00:19:10,530 --> 00:19:14,610 >> 但現在,如果我重新運行這個程序, PHP的hello.php,現在我 408 00:19:14,610 --> 00:19:16,090 實際上得到的Hello World。 409 00:19:16,090 --> 00:19:17,750 我們將看到為什麼這是有價值的。 410 00:19:17,750 --> 00:19:20,960 一,它讓我來指定, 超明確,這是 411 00:19:20,960 --> 00:19:22,480 代碼執行。 412 00:19:22,480 --> 00:19:25,480 而這的確是這些 特殊的標籤,意味著這裡。 413 00:19:25,480 --> 00:19:30,330 >> 但是,這也意味著,如果我只是做 類似我的目標是在這裡, 414 00:19:30,330 --> 00:19:34,000 ,從字面上看,這將只是手段 被打印出來,而不需要 415 00:19:34,000 --> 00:19:36,850 實際上調用printf或打印, 或任何類似的功能。 416 00:19:36,850 --> 00:19:39,445 因此,我們會回來, 在短短的時刻。 417 00:19:39,445 --> 00:19:40,470 >> 首先,讓我們做到這一點。 418 00:19:40,470 --> 00:19:43,950 裡面的家電,我們有一個 目錄稱為虛擬主機,虛擬 419 00:19:43,950 --> 00:19:47,000 主機,斜線本地主機,削減公共。 420 00:19:47,000 --> 00:19:50,240 所以這是一個有點冗長,但很長的故事 總之,設備的設計不 421 00:19:50,240 --> 00:19:53,770 只支持這也是 旨在支持PHP。 422 00:19:53,770 --> 00:19:57,440 但它也被設計成一個網頁 服務器,和數據庫服務器。 423 00:19:57,440 --> 00:20:00,230 它的設計,真正的配置, 任何讓人聯想 424 00:20:00,230 --> 00:20:04,230 商業網站託管公司 你可能支付每月5美元, 425 00:20:04,230 --> 00:20:05,040 $ 100一個月。 426 00:20:05,040 --> 00:20:08,200 無論服務,它的配置 是非常類似於一個 427 00:20:08,200 --> 00:20:10,170 真實世界的生產服務器。 428 00:20:10,170 --> 00:20:13,485 >> 這是什麼意思是,運行 該設備是Web服務器軟件。 429 00:20:13,485 --> 00:20:15,060 它發生在被稱為Apache的。 430 00:20:15,060 --> 00:20:17,790 這只是免費的,開源的, 而大受歡迎。 431 00:20:17,790 --> 00:20:23,260 我們已經配置好Apache知道 如果我訪問某個網址, 432 00:20:23,260 --> 00:20:28,060 瀏覽器或任何瀏覽器裡面的 家電,尋找到這個目錄 433 00:20:28,060 --> 00:20:31,030 文件 用戶請求。 434 00:20:31,030 --> 00:20:32,790 >> 換句話說,讓我 繼續前進,做到這一點。 435 00:20:32,790 --> 00:20:36,890 我的公開目錄裡面,我要去 繼續前進,建立一個文件 436 00:20:36,890 --> 00:20:39,580 名為index.html。 437 00:20:39,580 --> 00:20:41,000 這給了我這裡的標籤。 438 00:20:41,000 --> 00:20:44,210 我要走得非常快 繼續前進,爆炸了 439 00:20:44,210 --> 00:20:45,010 這個程序在這裡。 440 00:20:45,010 --> 00:20:48,410 DOCTYPE HTML,現在,只 假設你必須鍵入。 441 00:20:48,410 --> 00:20:53,490 這只是一個神秘的標籤,這不是 真正的HTML標記,它指定 442 00:20:53,490 --> 00:20:55,050 這裡是一些HTML。 443 00:20:55,050 --> 00:20:57,400 >> 我要繼續前進,並重新 我們剛才也看到了。 444 00:20:57,400 --> 00:20:58,650 下面是在頁面頭部。 445 00:20:58,650 --> 00:21:01,170 頭部內側 - 446 00:21:01,170 --> 00:21:01,890 這樣的標題。 447 00:21:01,890 --> 00:21:04,340 所以我們會說你好,世界。 448 00:21:04,340 --> 00:21:06,570 再往下是身體標記。 449 00:21:06,570 --> 00:21:08,580 讓我收身標籤。 450 00:21:08,580 --> 00:21:12,280 然後在這裡,我也會說, 只是為了清晰世界,你好。 451 00:21:12,280 --> 00:21:14,770 >> 因此,這是可以說,最簡單的 可能網頁 452 00:21:14,770 --> 00:21:15,770 能使這是有效的。 453 00:21:15,770 --> 00:21:17,030 這是語法上是有效的。 454 00:21:17,030 --> 00:21:18,620 一切的打開關閉。 455 00:21:18,620 --> 00:21:20,910 一切都很好 風格和縮進。 456 00:21:20,910 --> 00:21:23,600 所以,讓我們來看看現在我怎麼 可以訪問此文件。 457 00:21:23,600 --> 00:21:25,540 >> 好了,讓我去這裡的鉻。 458 00:21:25,540 --> 00:21:35,050 並讓我去 http://localhost/index.html。 459 00:21:35,050 --> 00:21:36,200 那麼什麼是本地主機? 460 00:21:36,200 --> 00:21:39,400 嗯,大部分在世界上任何一台計算機, 在Linux,Mac OS,Windows中,有一個綽號 461 00:21:39,400 --> 00:21:40,680 所謂本地主機。 462 00:21:40,680 --> 00:21:42,900 所以,如果你想談 自己的電腦 - 463 00:21:42,900 --> 00:21:45,140 不過,奇怪的本能 - 464 00:21:45,140 --> 00:21:47,080 你稱自己為本地主機。 465 00:21:47,080 --> 00:21:50,390 不管你的實際計算機 ,無論是大衛的MacBook 466 00:21:50,390 --> 00:21:52,490 空氣,或更多的東西 冗長的那樣。 467 00:21:52,490 --> 00:21:57,760 >> 所以這個網址顯然要使用 HTTP談論到本地主機, 468 00:21:57,760 --> 00:22:00,800 在同一台計算機,家電, 要問,只取一 469 00:22:00,800 --> 00:22:02,570 猜測,什麼樣的文件? 470 00:22:02,570 --> 00:22:04,460 index.html的。 471 00:22:04,460 --> 00:22:08,650 因此,該設備已配置在 提前知道,如果我問 472 00:22:08,650 --> 00:22:13,460 類似的index.html,尋找 在一個文件夾中,在一個被稱為虛擬主機 473 00:22:13,460 --> 00:22:17,950 文件夾,名為本地的文件夾中 其中被稱為公眾。 474 00:22:17,950 --> 00:22:20,400 這就是我的所有公共 文件將要。 475 00:22:20,400 --> 00:22:22,610 所以我現在要敲回車。 476 00:22:22,610 --> 00:22:27,100 >> 該死的,還有就是禁 消息,否則403中,被稱為 477 00:22:27,100 --> 00:22:28,490 它的數字代碼。 478 00:22:28,490 --> 00:22:30,130 那麼,什麼是錯在這裡? 479 00:22:30,130 --> 00:22:33,210 嗯,這是不夠的,只是把 我的文件夾裡面的文件。 480 00:22:33,210 --> 00:22:35,790 我需要做以下。 481 00:22:35,790 --> 00:22:40,210 >> 讓我去,進到我的虛擬主機目錄 本地主機,進入公共場所,並讓 482 00:22:40,210 --> 00:22:41,680 我LS劃線升。 483 00:22:41,680 --> 00:22:44,510 還有一些其他的東西 在這裡為今天的目的。 484 00:22:44,510 --> 00:22:50,540 但是請注意,在左側,旁邊 到index.html,我們看到的只是一個RW。 485 00:22:50,540 --> 00:22:53,560 而在過去, RW站在了? 486 00:22:53,560 --> 00:22:54,240 >> 只要讀或寫。 487 00:22:54,240 --> 00:22:58,000 事實上,它在左邊以rw說 意味著我擁有這個文件,可以 488 00:22:58,000 --> 00:22:59,020 讀或寫它。 489 00:22:59,020 --> 00:23:05,010 但我需要讓所有的人在 世界閱讀本,雖然沒有寫出來。 490 00:23:05,010 --> 00:23:09,650 所以我要改變的模式 文件,屬性,給所有加r 491 00:23:09,650 --> 00:23:13,910 每個人的讀取權限, 名為index.html的文件。 492 00:23:13,910 --> 00:23:18,040 >> 如果我現在重新輸入LS幾許升,通知 在這裡,多了一些 493 00:23:18,040 --> 00:23:19,160 R的彈出。 494 00:23:19,160 --> 00:23:21,090 而現在,規範進入 的更多細節。 495 00:23:21,090 --> 00:23:24,450 對於P套7,這只是意味著每個人 現在可以讀取這個文件。 496 00:23:24,450 --> 00:23:27,790 如果我回到我的瀏覽器 現在重裝,瞧。 497 00:23:27,790 --> 00:23:28,750 世界,你好。 498 00:23:28,750 --> 00:23:32,260 >> 我什至可以打開我的Chrome工具 看看,就像谷歌和 499 00:23:32,260 --> 00:23:34,590 Facebook上有我的HTML, 格式化了一下 500 00:23:34,590 --> 00:23:35,930 不同的顏色。 501 00:23:35,930 --> 00:23:40,450 如果我去“網絡”選項卡,並重新加載 的頁面,發現有得到 502 00:23:40,450 --> 00:23:42,900 要求Chrome的發送 家電。 503 00:23:42,900 --> 00:23:46,020 有200, 特定的文件。 504 00:23:46,020 --> 00:23:49,340 因此,在短期,這是如何使所有這些 各個部分都撞在了一起。 505 00:23:49,340 --> 00:23:53,530 它只是恰巧,在Web服務器 我們現在正在使用的並不遙遠, 506 00:23:53,530 --> 00:23:54,210 像Facebook。 507 00:23:54,210 --> 00:23:58,330 嚴格地講,它在同一台計算機上, 這是完全確定的。 508 00:23:58,330 --> 00:24:00,590 >> 那麼什麼我們可以做一個網頁呢? 509 00:24:00,590 --> 00:24:03,110 好了,只是,讓微風拂過 一對夫婦的這些東西。 510 00:24:03,110 --> 00:24:07,860 不過,讓我繼續前進,重新打開 gedit中的index.html。 511 00:24:07,860 --> 00:24:13,980 讓我繼續前進,打招呼CS50, 保存這個文件,回去 512 00:24:13,980 --> 00:24:16,260 瀏覽器,真正給人留下深刻印象的變化。 513 00:24:16,260 --> 00:24:19,130 >> 但是,如果我們想要真正 連結的東西呢? 514 00:24:19,130 --> 00:24:23,480 所以,事實證明,我們可以有 在HTML中的鏈接,只是標籤 515 00:24:23,480 --> 00:24:24,140 自己。 516 00:24:24,140 --> 00:24:27,320 它發生在被稱為 錨標記。一個href的等於的 517 00:24:27,320 --> 00:24:33,190 https://www.cs50.net,www.cs50.net 報價接近,靠近支架。 518 00:24:33,190 --> 00:24:35,230 現在讓我們來看看 否則接下來。 519 00:24:35,230 --> 00:24:36,500 >> 我已經打開的標籤。 520 00:24:36,500 --> 00:24:38,990 我現在需要給它 短語像CS50。 521 00:24:38,990 --> 00:24:40,600 讓我關閉標籤。 522 00:24:40,600 --> 00:24:42,010 並注意幾件事情。 523 00:24:42,010 --> 00:24:45,270 即使有這個神秘的東西 在這裡,我不重複它,當你 524 00:24:45,270 --> 00:24:46,010 關閉標籤。 525 00:24:46,010 --> 00:24:48,230 你剛剛關閉的標籤 其名稱本身。 526 00:24:48,230 --> 00:24:50,940 這是被稱為 屬性的值。 527 00:24:50,940 --> 00:24:56,070 屬性只需要修改的行為 一些標籤的一個頁面內。 528 00:24:56,070 --> 00:24:59,150 >> 因此,這是指定的超級 花式一種說法參考, 529 00:24:59,150 --> 00:25:03,660 此錨的URL,這 鏈接,應該是CS50.net。 530 00:25:03,660 --> 00:25:07,440 而我們要顯示的文字 用戶不是該原始URL,而是 531 00:25:07,440 --> 00:25:08,730 字CS50。 532 00:25:08,730 --> 00:25:13,710 >> 所以,如果我現在重裝,讓我放大以 清晰度,讓我重新加載頁面, 533 00:25:13,710 --> 00:25:16,460 注意到我們有這個老學校 藍色帶下劃線的鏈接。 534 00:25:16,460 --> 00:25:20,000 如果我將鼠標懸停在它,它是怎麼回事 很難看到,在左下方 535 00:25:20,000 --> 00:25:23,690 右下角的畫面,請注意 它說,到的URL 536 00:25:23,690 --> 00:25:24,430 我要去。 537 00:25:24,430 --> 00:25:27,940 如果我點擊那裡,瞧, 現在我製作網頁。 538 00:25:27,940 --> 00:25:30,140 而且我們自己 到主頁。 539 00:25:30,140 --> 00:25:32,670 >> 但是請注意,有什麼發展潛力 這為我們提供了。 540 00:25:32,670 --> 00:25:34,890 安全是非常 在流行的這些日子。 541 00:25:34,890 --> 00:25:41,210 如果我不是這樣說 這一點,我反而去,說,讓我們 542 00:25:41,210 --> 00:25:42,460 看到,fakeCS50.net。 543 00:25:42,460 --> 00:25:44,660 544 00:25:44,660 --> 00:25:46,360 刷新此頁。 545 00:25:46,360 --> 00:25:50,180 >> OK,所以發現它仍然看起來像我 CS50,除非一個精明眼 546 00:25:50,180 --> 00:25:51,560 會注意到我要假CS50。 547 00:25:51,560 --> 00:25:54,550 我猜此域不採取。 548 00:25:54,550 --> 00:25:55,960 OK,所以無法使用。 549 00:25:55,960 --> 00:25:56,600 所以這是很好的。 550 00:25:56,600 --> 00:25:57,900 居然沒有一個人擁有該域名。 551 00:25:57,900 --> 00:26:00,380 >> 但是,讓我們多了幾分惡意 因為這是一種愚蠢的。 552 00:26:00,380 --> 00:26:02,240 如果我們改變到PayPal。 553 00:26:02,240 --> 00:26:09,960 如果我們調用這個一樣, www.paypal.badguy.com 554 00:26:09,960 --> 00:26:12,070 無論您正在訪問的域名。 555 00:26:12,070 --> 00:26:13,700 這可能存在。 556 00:26:13,700 --> 00:26:16,260 所以,現在讓我重新加載頁面。 557 00:26:16,260 --> 00:26:22,890 這裡,我們有一個釣魚的排序 攻擊,p-h-I-S-H-I-N-G,這是 558 00:26:22,890 --> 00:26:26,760 傻字的攻擊 嘗試魚信息,或更好 559 00:26:26,760 --> 00:26:30,450 ,錢,出人通過欺騙 他們到提供信息 560 00:26:30,450 --> 00:26:31,990 否則他們可能不會做。 561 00:26:31,990 --> 00:26:33,500 這看上去完全合法的,對不對? 562 00:26:33,500 --> 00:26:34,930 我必須有一個鏈接在這裡Paypal.com的。 563 00:26:34,930 --> 00:26:37,700 564 00:26:37,700 --> 00:26:40,430 憑心而論,如果我絕育手術了一些 圖形,我們可以使它看起來 565 00:26:40,430 --> 00:26:41,310 如PayPal。 566 00:26:41,310 --> 00:26:41,510 對嗎? 567 00:26:41,510 --> 00:26:43,815 因為我可以,順便說一句, 我可以去Paypal.com。 568 00:26:43,815 --> 00:26:47,110 我們剛剛看到,我怎麼能 看到他們的HTML。 569 00:26:47,110 --> 00:26:50,560 我可能只是把它複製並重新創建 美學貝寶,而不是去 570 00:26:50,560 --> 00:26:51,490 這裡的老同學。 571 00:26:51,490 --> 00:26:55,010 但是請注意,當然,這是一個有點 仍小,只有在底部 572 00:26:55,010 --> 00:26:59,190 左上角,像一個10點 字體,你看你是什麼樣的網址 573 00:26:59,190 --> 00:27:01,310 實際上是被領導。 574 00:27:01,310 --> 00:27:06,580 >> 所以如果你曾經得到的垃圾郵件說 先走了,你的帳戶 575 00:27:06,580 --> 00:27:07,420 已大打折扣。 576 00:27:07,420 --> 00:27:10,615 請點擊這個鏈接,讓我們知道, 您的密碼,所以我們可以確保你 577 00:27:10,615 --> 00:27:13,010 你永遠不這樣做。 578 00:27:13,010 --> 00:27:14,180 這些東西應該是不言而喻。 579 00:27:14,180 --> 00:27:17,670 但它的奇妙有趣,並且 慘烈,每年這似乎 580 00:27:17,670 --> 00:27:19,660 發生一些非零 許多人。 581 00:27:19,660 --> 00:27:21,400 >> 這就是美麗 網絡釣魚攻擊。 582 00:27:21,400 --> 00:27:23,160 您可以發送100萬封電子郵件。 583 00:27:23,160 --> 00:27:27,720 即使0.01%的人實際上 點擊Paypal和給你 584 00:27:27,720 --> 00:27:31,040 密碼,這仍然是一個非零數字 剛剛給誰的人 585 00:27:31,040 --> 00:27:32,200 你自己的錢。 586 00:27:32,200 --> 00:27:36,170 接收和發送電子郵件,當然是相當 容易,從本質上講,自由 587 00:27:36,170 --> 00:27:36,970 這些天。 588 00:27:36,970 --> 00:27:40,410 >> 所以長話短說,奇妙 美麗的想法,對吧? 589 00:27:40,410 --> 00:27:44,620 幾年前,這是最早的 網頁,使網 590 00:27:44,620 --> 00:27:46,330 資源之間的超鏈接。 591 00:27:46,330 --> 00:27:49,520 但如此之快可能是 用於生病的目的。 592 00:27:49,520 --> 00:27:54,100 電子郵件,我只想說,這些 天,裡面嵌入HTML。 593 00:27:54,100 --> 00:27:55,410 >> 好吧,讓我只是另一件事情。 594 00:27:55,410 --> 00:27:58,640 我們將推遲主要部分 問題設置七,讓您 595 00:27:58,640 --> 00:28:00,000 探索的詳情。 596 00:28:00,000 --> 00:28:01,990 不過,讓我繼續前進, 在這裡做幾件事情。 597 00:28:01,990 --> 00:28:04,840 我要去,並宣布 什麼叫做一個div,或 598 00:28:04,840 --> 00:28:06,080 師的頁面。 599 00:28:06,080 --> 00:28:07,770 讓我關閉該div標籤。 600 00:28:07,770 --> 00:28:11,460 >> 我會說 這裡頁的前頭。 601 00:28:11,460 --> 00:28:14,940 然後下面這個,我要做的事情 像另一個分區,請關閉此 602 00:28:14,940 --> 00:28:17,800 標籤,做頁面底部。 603 00:28:17,800 --> 00:28:18,840 讓我們保存它。 604 00:28:18,840 --> 00:28:21,040 >> 所以,現在讓我們回到我的文件。 605 00:28:21,040 --> 00:28:22,120 非常深刻印象。 606 00:28:22,120 --> 00:28:25,520 但是,什麼樣的分工, 引擎蓋下,這實際上 607 00:28:25,520 --> 00:28:26,920 一個很好的結構元素。 608 00:28:26,920 --> 00:28:30,300 它不具有任何美學迄今 我們可以看到,以外,很顯然, 609 00:28:30,300 --> 00:28:31,890 把東西放在新線。 610 00:28:31,890 --> 00:28:36,290 >> 但是請注意,順便說一句,只是擊中 輸入不削減它在HTML喜歡它 611 00:28:36,290 --> 00:28:39,840 並在C你可能會認為這是 打算把一個漂亮的大差距 612 00:28:39,840 --> 00:28:41,300 在頁面的頂部和底部。 613 00:28:41,300 --> 00:28:43,420 但它忽略。 614 00:28:43,420 --> 00:28:48,040 基本上是忽略空白 網頁以外的第一 615 00:28:48,040 --> 00:28:51,530 空格字符,回車, 你打在鍵盤上。 616 00:28:51,530 --> 00:28:55,370 如果你想更多的換行符, 有自己指定它。 617 00:28:55,370 --> 00:28:59,080 >> 所以我要做的幾件事情 這裡要說明發生了什麼事情。 618 00:28:59,080 --> 00:29:02,700 我要添加一個屬性 存在並再次,你的學習方式 619 00:29:02,700 --> 00:29:07,110 哪些屬性存在,存在什麼標籤, 真的,是網上的引用。 620 00:29:07,110 --> 00:29:09,750 HTML語言的那種 - 這是 不是一種編程語言。 621 00:29:09,750 --> 00:29:12,460 這是一種標記語言 - 後 良好的半個小時,也許一個小時, 622 00:29:12,460 --> 00:29:15,930 它,你一定會把握,最 可能的是,基本的想法。 623 00:29:15,930 --> 00:29:20,350 然後谷歌搜索距離是所有 你可能會對可能的標籤 624 00:29:20,350 --> 00:29:21,170 感興趣 625 00:29:21,170 --> 00:29:24,290 按照規範,那是相當的 歡迎這裡和鼓勵。 626 00:29:24,290 --> 00:29:26,120 >> 所以,現在讓我繼續前進, 做這樣的事情。 627 00:29:26,120 --> 00:29:28,690 背景顏色。 628 00:29:28,690 --> 00:29:32,060 而現在,我要做的事情 喜歡紅色,分號。 629 00:29:32,060 --> 00:29:33,970 你可以做到這一點 幾種不同的方式。 630 00:29:33,970 --> 00:29:36,770 我只是那種超級鍵入 明確越好。 631 00:29:36,770 --> 00:29:41,960 >> 但事實證明,這裡,這個值是 什麼叫做CSS層疊樣式 632 00:29:41,960 --> 00:29:43,700 床單,這是另一種 語言完全。 633 00:29:43,700 --> 00:29:46,770 CSS無關,與 打開標籤和關閉標籤。 634 00:29:46,770 --> 00:29:48,230 它做與性能。 635 00:29:48,230 --> 00:29:52,660 >> 和屬性是簡單的鍵值 對,這只是意味著一些字, 636 00:29:52,660 --> 00:29:54,680 冒號,然後其他一些字。 637 00:29:54,680 --> 00:29:57,940 如果你有多個,或者只是 在這裡,你可以結束它與 638 00:29:57,940 --> 00:29:59,390 分號,只是為了清晰。 639 00:29:59,390 --> 00:30:01,370 但是,這也將在這裡工作。 640 00:30:01,370 --> 00:30:02,500 >> 現在這是什麼該怎麼辦? 641 00:30:02,500 --> 00:30:03,610 你可能已經猜到了。 642 00:30:03,610 --> 00:30:05,930 讓我繼續前進,然後刷新頁面。 643 00:30:05,930 --> 00:30:07,300 而現在,它真的來了一起。 644 00:30:07,300 --> 00:30:09,150 因此,我的網頁的頂部是紅色的。 645 00:30:09,150 --> 00:30:12,380 但這裡的關鍵是,我提到 早些時候,該div給你 646 00:30:12,380 --> 00:30:13,220 一個分工的頁面。 647 00:30:13,220 --> 00:30:14,410 而這確實是它做什麼。 648 00:30:14,410 --> 00:30:17,920 它實質上是將頁面分為 一個矩形,然後你可以 649 00:30:17,920 --> 00:30:18,720 操縱。 650 00:30:18,720 --> 00:30:22,330 >> 而這個概念是怎麼樣的矩形 引人注目的是,如果你認為 651 00:30:22,330 --> 00:30:26,410 幾乎所有的網站,有可能是 它的一些結構。 652 00:30:26,410 --> 00:30:29,620 你們中的大多數可能已經很少見到 如果你登錄Facebook的主頁 653 00:30:29,620 --> 00:30:30,440 在所有的時間。 654 00:30:30,440 --> 00:30:33,920 >> 但在Facebook的主頁上,有 某種格的頂部。 655 00:30:33,920 --> 00:30:36,140 它可能不是那麼簡單 作為一個div,但有一個 656 00:30:36,140 --> 00:30:37,560 矩形區域。 657 00:30:37,560 --> 00:30:40,290 頁面的其餘部分是什麼樣的 一個巨大的div,就像一個多 658 00:30:40,290 --> 00:30:41,910 更大的矩形區域。 659 00:30:41,910 --> 00:30:44,540 所以長話短說,剛才有 這些小積木, 660 00:30:44,540 --> 00:30:49,250 能力模型的東西如矩形, 無論是寬的還是窄的,你也可以 661 00:30:49,250 --> 00:30:53,680 潛在列,讓你 頁面佈局,真的,但是你 662 00:30:53,680 --> 00:30:54,100 想。 663 00:30:54,100 --> 00:30:56,170 我們真的只是皮毛 這裡的表面。 664 00:30:56,170 --> 00:30:59,820 >> 事實上,如果我做一個另一個, 讓我繼續前進,做款式, 665 00:30:59,820 --> 00:31:05,410 背景顏色,我們會做一些事情 喜歡藍色,特寫報價。 666 00:31:05,410 --> 00:31:06,620 重裝。 667 00:31:06,620 --> 00:31:08,260 所以現在它變​​得更加醜陋。 668 00:31:08,260 --> 00:31:11,520 但現在我可以種炫耀 我P設置5個技能,對不對? 669 00:31:11,520 --> 00:31:12,690 紅色。 670 00:31:12,690 --> 00:31:15,640 這讓我想起RGB,紅 綠色藍三倍。 671 00:31:15,640 --> 00:31:19,330 哦,原來在網絡編程, 或網頁設計,它是這樣的,我們已經 672 00:31:19,330 --> 00:31:21,650 尚未任何編程 本身,實際上,你可以 673 00:31:21,650 --> 00:31:22,880 有十六進制代碼。 674 00:31:22,880 --> 00:31:26,480 因此,一些東西,一些 一些東西,一些東西。 675 00:31:26,480 --> 00:31:30,650 所以,你可以有六個十六進制 字符,或者在某些情況下,三, 676 00:31:30,650 --> 00:31:33,480 和那些問號 是一個十六進制數字, 677 00:31:33,480 --> 00:31:34,985 0到f。 678 00:31:34,985 --> 00:31:41,000 >> 如果我想有很多的紅色, 沒有綠色,沒有藍色的,有什麼 679 00:31:41,000 --> 00:31:43,740 相反為零時使用十六進制? 680 00:31:43,740 --> 00:31:44,480 這是F。 681 00:31:44,480 --> 00:31:51,130 所以我可以做FF,零,零, 保存這個,現在來這裡。 682 00:31:51,130 --> 00:31:52,700 我沒有真正看到了變化。 683 00:31:52,700 --> 00:31:56,230 所以報價引文結束的“紅色”顯然是 所有紅色的代名詞, 684 00:31:56,230 --> 00:31:57,610 沒有綠色,沒有藍色。 685 00:31:57,610 --> 00:31:59,960 同時,讓我們刻意改變 這樣一來的東西 686 00:31:59,960 --> 00:32:01,210 隨機的,像ABCDF。 687 00:32:01,210 --> 00:32:03,790 688 00:32:03,790 --> 00:32:05,860 >> 讓我們來看看這是什麼。 689 00:32:05,860 --> 00:32:08,530 這是一個非常漂亮的藍色, 實際上,粉藍。 690 00:32:08,530 --> 00:32:11,820 所有的權利,所以這些都是剛才 有些隨機組合 691 00:32:11,820 --> 00:32:12,210 字符。 692 00:32:12,210 --> 00:32:13,410 因此,我們不會陷入在了這裡。 693 00:32:13,410 --> 00:32:15,930 但是,這講的精度 你就可以開始 694 00:32:15,930 --> 00:32:19,090 適用 - 即使你很不堪重負 美學。 695 00:32:19,090 --> 00:32:21,750 事實上,如果你真的想成為 留下深刻的印象,讓我繼續前進,改變 696 00:32:21,750 --> 00:32:23,500 的字體大小,例如。 697 00:32:23,500 --> 00:32:25,960 注意分號, 存在是必要的。 698 00:32:25,960 --> 00:32:29,570 >> 字體大小,我們可以只是可笑 這裡96點。 699 00:32:29,570 --> 00:32:31,280 保存。 700 00:32:31,280 --> 00:32:33,670 哇,這是一個大的字體大小。 701 00:32:33,670 --> 00:32:35,490 所有的權利,所以它是很容易的。 702 00:32:35,490 --> 00:32:38,260 而實際上,你基本上看到 我的第一個網頁 703 00:32:38,260 --> 00:32:40,060 幾年前,當我第一次 學到這個東西。 704 00:32:40,060 --> 00:32:42,190 這很容易做出非常 可怕的事情很快。 705 00:32:42,190 --> 00:32:46,115 >> 如果你熟悉回程 機archive.org 706 00:32:46,115 --> 00:32:48,210 可以找到我所有的猙獰 本科生的網頁。 707 00:32:48,210 --> 00:32:50,090 一個青蛙柯密特的前面。 708 00:32:50,090 --> 00:32:53,150 我經歷了一個階段,我想 涼爽的背景 709 00:32:53,150 --> 00:32:56,320 一個紅色的窗簾,當我得知你如何 再次可以平鋪圖像,並再次, 710 00:32:56,320 --> 00:32:59,540 再次,以填補頁 一個俗氣的大紅色幕布。 711 00:32:59,540 --> 00:33:03,120 然後,在此之上,是一個圖標 ,你不得不點擊進入我的家 712 00:33:03,120 --> 00:33:04,960 因為這是頁 非常流行。 713 00:33:04,960 --> 00:33:08,870 >> 然後我的第一個程序,我曾經寫過 在PHP中,但在一種語言不是 714 00:33:08,870 --> 00:33:12,260 稱為明珠,寫了一個留言簿, 是一個非常酷的事情,一個 715 00:33:12,260 --> 00:33:14,250 很多人期待你 有一個主頁上。 716 00:33:14,250 --> 00:33:17,510 當你得到的頁面,他們希望你 簽署,並說,你是誰, 717 00:33:17,510 --> 00:33:18,720 為什麼你在那裡。 718 00:33:18,720 --> 00:33:21,320 這是非常20世紀90年代風格的網頁設計。 719 00:33:21,320 --> 00:33:24,130 >> 但這些天,當然,我們已經 來了很多更遠。 720 00:33:24,130 --> 00:33:27,560 你會看到,在第,甚至 在問題設置七, 721 00:33:27,560 --> 00:33:31,570 充分利用圖書館,這些天, 它是如此容易使 722 00:33:31,570 --> 00:33:33,400 漂亮的東西很快。 723 00:33:33,400 --> 00:33:36,550 真的在這裡,我們只是刮傷 表面你可以做什麼 724 00:33:36,550 --> 00:33:37,400 文體。 725 00:33:37,400 --> 00:33:41,660 >> 而事實上,已經讓我強調 這已經越來越醜,未 726 00:33:41,660 --> 00:33:46,030 只是美觀,但在 我的代碼風格,或者 727 00:33:46,030 --> 00:33:47,260 我的代碼設計。 728 00:33:47,260 --> 00:33:52,350 我目前已comingled的HTML, 綠色開放的標籤, 729 00:33:52,350 --> 00:33:55,160 CSS屬性, 是完全合法的。 730 00:33:55,160 --> 00:33:57,200 這是真的,其中的語言 有它的起源。 731 00:33:57,200 --> 00:34:01,030 >> 但在乾淨設計的興趣, 就像我們開始保的東西 732 00:34:01,030 --> 00:34:05,370 從C文件到h文件,讓 實際上,我的那種練習 733 00:34:05,370 --> 00:34:07,990 原則,並開始做 這個代替。 734 00:34:07,990 --> 00:34:13,280 讓我把風格標籤, 也存在於HTML,讓我 735 00:34:13,280 --> 00:34:15,330 指定以下。 736 00:34:15,330 --> 00:34:16,360 讓我刪除。 737 00:34:16,360 --> 00:34:18,110 背景顏色將是紅色的。 738 00:34:18,110 --> 00:34:19,800 我要完全刪除。 739 00:34:19,800 --> 00:34:22,580 我要擺脫的風格 屬性,我要去唯一 740 00:34:22,580 --> 00:34:24,620 識別這個div用一個字 - 741 00:34:24,620 --> 00:34:28,750 隨意,但合理報價 引文結束“頂”。和ID是一種特殊的 742 00:34:28,750 --> 00:34:32,530 唯一定義的屬性 某些HTML元素 743 00:34:32,530 --> 00:34:33,850 作為具有該ID。 744 00:34:33,850 --> 00:34:37,969 >> 如果我現在要程式化,在這裡 我的網頁,裡面的頭 745 00:34:37,969 --> 00:34:41,730 風格標籤,請注意 我可以做的哈希頂部。 746 00:34:41,730 --> 00:34:45,300 然後我可以把一對夫婦的捲髮 牙套,讓人想起了C,然後讓 747 00:34:45,300 --> 00:34:47,130 我貼在那個程式化。 748 00:34:47,130 --> 00:34:49,929 讓我在這裡繼續和預期 我要去的地方這一點。 749 00:34:49,929 --> 00:34:53,380 讓我還可以創建一個 底部的div。 750 00:34:53,380 --> 00:34:58,010 讓我抓住這個醜陋的代碼從下 把它放在這裡,在這裡,我會 751 00:34:58,010 --> 00:35:00,770 多一點現在肛門和程式化 只是把自己的事情 752 00:35:00,770 --> 00:35:02,540 線,用分號結束。 753 00:35:02,540 --> 00:35:04,430 讓我擺脫的風格標籤。 754 00:35:04,430 --> 00:35:05,320 >> 但我還沒有完成。 755 00:35:05,320 --> 00:35:07,406 我需要做的另一件事情。 756 00:35:07,406 --> 00:35:10,070 是啊,ID等於報價引文結束,“自下而上” 或任何ID,我想 757 00:35:10,070 --> 00:35:11,740 給該元素。 758 00:35:11,740 --> 00:35:13,420 現在,在這裡讓我回去。 759 00:35:13,420 --> 00:35:14,360 這是殘暴的。 760 00:35:14,360 --> 00:35:15,805 我對付不了96點。 761 00:35:15,805 --> 00:35:16,960 讓我們做24點。 762 00:35:16,960 --> 00:35:18,320 或者你可以更精確。 763 00:35:18,320 --> 00:35:21,800 實際上,你可以使用像素,像素,所以 你真的得到更細的顆粒 764 00:35:21,800 --> 00:35:23,220 控制在你的網頁上。 765 00:35:23,220 --> 00:35:26,860 >> 順便說一句,這是不一定 最好的東西,如果用戶, 766 00:35:26,860 --> 00:35:29,650 輔助功能的原因,要 可以增加體積。 767 00:35:29,650 --> 00:35:32,650 因此,意識到有辦法做 不一定的事情, 768 00:35:32,650 --> 00:35:34,230 硬編碼的一切。 769 00:35:34,230 --> 00:35:37,220 >> 所有權利,所以它比較大,24點, 比任何默認為。 770 00:35:37,220 --> 00:35:38,630 但現在它的少許清潔劑。 771 00:35:38,630 --> 00:35:40,230 讓我走這一步。 772 00:35:40,230 --> 00:35:47,220 就像頭文件的想法, 請注意,我們一步步接近那個。 773 00:35:47,220 --> 00:35:52,000 我有分解出來,但還是留下, 我的網頁,這些CSS規則內。 774 00:35:52,000 --> 00:35:56,200 我為什麼要採取這一步 進一步,刪除,這完全 775 00:35:56,200 --> 00:35:59,860 把它放在一個單獨的文件? 776 00:35:59,860 --> 00:36:01,070 >> 所以,我可以重複使用它,對不對? 777 00:36:01,070 --> 00:36:03,155 這僅僅是一種直覺 現在。 778 00:36:03,155 --> 00:36:06,340 在此之前,我聲稱這只是 越來越難看的風格 779 00:36:06,340 --> 00:36:08,480 裡面的屬性 自己的div。 780 00:36:08,480 --> 00:36:09,750 但只是認為通過。 781 00:36:09,750 --> 00:36:13,560 當你的頁面變長,如果 你把在這裡,並在這裡, 782 00:36:13,560 --> 00:36:18,350 這裡,在這裡,所有這些不同的 顏色和字體大小,以及其他類似 783 00:36:18,350 --> 00:36:22,550 屬性,你的網頁是非常快 將變得不可收拾您。 784 00:36:22,550 --> 00:36:24,570 >> 如果有人來向你及 說,哦,你知道是什麼嗎? 785 00:36:24,570 --> 00:36:28,070 我真的很想改變字體大小 另外兩個點, 786 00:36:28,070 --> 00:36:31,275 可能去查找和替換 數量龐大的代碼行。 787 00:36:31,275 --> 00:36:35,170 它更引人注目集中的 這裡所有這樣的美學。 788 00:36:35,170 --> 00:36:38,850 但是,如果你想重用那些 美學的多個網頁, 789 00:36:38,850 --> 00:36:41,100 更引人注目的, 例如,創建一個文件 790 00:36:41,100 --> 00:36:45,290 調用這些內容。 791 00:36:45,290 --> 00:36:46,680 >> 讓我這樣做。 792 00:36:46,680 --> 00:36:51,150 793 00:36:51,150 --> 00:36:51,920 保存這個文件。 794 00:36:51,920 --> 00:36:55,580 我說styles.css的,任意的, 但傳統。 795 00:36:55,580 --> 00:36:58,770 我將把它在約翰·哈佛的家 目錄現在簡單。 796 00:36:58,770 --> 00:37:03,880 在我的網頁,我能做些什麼是 擺脫完全的風格標籤, 797 00:37:03,880 --> 00:37:08,270 和有點unintuitively,使用鏈接 標籤,它不會給你一個鏈接 798 00:37:08,270 --> 00:37:13,140 超鏈接,點擊感,但 我說鏈接,HREF等於 799 00:37:13,140 --> 00:37:15,120 styles.css的。 800 00:37:15,120 --> 00:37:20,050 的關係,這些元素 網頁已經是作為 801 00:37:20,050 --> 00:37:21,280 它的樣式表。 802 00:37:21,280 --> 00:37:22,670 >> 那麼我怎麼會知道呢? 803 00:37:22,670 --> 00:37:25,950 一,你剛才讀手冊, 或者你谷歌身邊,和你 804 00:37:25,950 --> 00:37:27,000 看看各種資源。 805 00:37:27,000 --> 00:37:30,520 我的意思是,那才是真正的你挑 像這樣的技術,一致 806 00:37:30,520 --> 00:37:34,720 這個想法自己新的教學 再次,語言,你會發現, 807 00:37:34,720 --> 00:37:38,830 只有數量有限的東西 任何語言,一旦你得到 808 00:37:38,830 --> 00:37:41,310 他們,你會發現,它得到 越來越快寫。 809 00:37:41,310 --> 00:37:44,180 事實上,學習一種新的編程 語言是如此的速度遠遠超過了新的 810 00:37:44,180 --> 00:37:47,380 口語,因為這些東西 更小的和更 811 00:37:47,380 --> 00:37:48,820 精確的定義。 812 00:37:48,820 --> 00:37:51,590 >> 不過,我已經強調了一點 這裡的異常。 813 00:37:51,590 --> 00:37:57,750 我為什麼要強調這 向前斜線這裡? 814 00:37:57,750 --> 00:37:59,420 因為我不得不閉上標籤。 815 00:37:59,420 --> 00:38:00,530 我應該關閉標籤。 816 00:38:00,530 --> 00:38:02,750 你會發現無數的資源 不在線 817 00:38:02,750 --> 00:38:04,080 一定關閉標籤。 818 00:38:04,080 --> 00:38:08,770 抓實,它不是嚴格 必要的技術,並且有 819 00:38:08,770 --> 00:38:11,950 現實的原因,瀏覽器只是 在web相當寬容失誤 820 00:38:11,950 --> 00:38:14,360 頁,或好或壞, 但大多是雪上加霜。 821 00:38:14,360 --> 00:38:18,830 >> 因此,這僅僅是一個更清潔的方式 說這樣愚蠢的東西, 822 00:38:18,830 --> 00:38:22,330 其中,如果你要打開的鏈接標籤 但關閉它,真的沒有概念 823 00:38:22,330 --> 00:38:23,720 內容的鏈接標籤。 824 00:38:23,720 --> 00:38:26,000 它只是意味著加載此 文件,並把它放在這裡。 825 00:38:26,000 --> 00:38:30,610 C.您可以像尖銳包括 一次全部打開和關閉標籤 826 00:38:30,610 --> 00:38:31,660 標籤相同的範圍內。 827 00:38:31,660 --> 00:38:33,520 和其他這樣的例子。 828 00:38:33,520 --> 00:38:37,280 這是沒有辦法做到這一點,但 br標籤,換行,如果我 829 00:38:37,280 --> 00:38:41,780 真正想要對我是什麼 試圖按下回車鍵之前,如果 830 00:38:41,780 --> 00:38:45,380 我明確地說線斷裂,線斷裂, 斷行,斷行, 831 00:38:45,380 --> 00:38:49,100 然後重新加載這個頁面,你會發現 頁面的底部的是, 832 00:38:49,100 --> 00:38:51,940 事實上,很多越走越遠 頁的底部。 833 00:38:51,940 --> 00:38:55,840 但即使這樣,可以做得更多 乾淨,CSS和利潤, 834 00:38:55,840 --> 00:38:58,120 與其它類似的審美 技術。 835 00:38:58,120 --> 00:38:59,940 >> 因此,就目前而言,外賣店。 836 00:38:59,940 --> 00:39:02,320 在HTML中,我們有這些 東西叫做標籤。 837 00:39:02,320 --> 00:39:04,830 在CSS中,我們有這些事 稱為屬性。 838 00:39:04,830 --> 00:39:08,700 我們,可以comingle這兩種語言, 通過使用樣式屬性, 839 00:39:08,700 --> 00:39:14,240 或者樣式的標籤,或最好的還沒有,保 它完全,因為我們做的 840 00:39:14,240 --> 00:39:17,270 問題7。 841 00:39:17,270 --> 00:39:23,820 問題,那麼,約 這裡的概念基本? 842 00:39:23,820 --> 00:39:24,740 >> 觀眾:我有一個問題。 843 00:39:24,740 --> 00:39:25,630 >> 揚聲器1:哦,對不起。 844 00:39:25,630 --> 00:39:28,880 >> 觀眾:為什麼沒有彩色 - 845 00:39:28,880 --> 00:39:31,410 >> 揚聲器1:哦,在“其他”選項卡? 846 00:39:31,410 --> 00:39:32,232 在這裡? 847 00:39:32,232 --> 00:39:33,482 >> 觀眾:不,這是這樣的 - 848 00:39:33,482 --> 00:39:35,330 849 00:39:35,330 --> 00:39:39,480 >> 揚聲器1:哦,那是因為 我被馬虎。 850 00:39:39,480 --> 00:39:41,350 我把文件放錯了地方。 851 00:39:41,350 --> 00:39:47,840 所以,如果我把它放在這裡,和我 chmod將其所有+ R styles.css的, 852 00:39:47,840 --> 00:39:52,050 現在刷新頁面,現在我們 得到程式化回。 853 00:39:52,050 --> 00:39:54,530 因為字體大小 不同,我們沒有看到相當多 854 00:39:54,530 --> 00:39:55,010 白色的空間。 855 00:39:55,010 --> 00:39:58,240 我們不是看到什麼 而不是默認。 856 00:39:58,240 --> 00:40:00,050 這個問題問得好。 857 00:40:00,050 --> 00:40:00,846 是嗎? 858 00:40:00,846 --> 00:40:02,630 >> 觀眾:為什麼是鏈接 標籤裡面的頭? 859 00:40:02,630 --> 00:40:06,270 >> 揚聲器1:為什麼鏈接 標籤裡面的頭 - 860 00:40:06,270 --> 00:40:07,650 簡短的答案,只是因為。 861 00:40:07,650 --> 00:40:08,930 那是什麼決定。 862 00:40:08,930 --> 00:40:10,720 這就是去當鏈接標籤 您有什麼所謂的一個 863 00:40:10,720 --> 00:40:13,650 外部的樣式表。 864 00:40:13,650 --> 00:40:16,430 其他問題嗎? 865 00:40:16,430 --> 00:40:17,770 >> 好吧,讓我們做到這一點。 866 00:40:17,770 --> 00:40:20,500 我們有這麼多的樂趣,今天擺在我們面前。 867 00:40:20,500 --> 00:40:22,480 這只是刮傷 CSS的表面。 868 00:40:22,480 --> 00:40:23,010 讓我們做到這一點。 869 00:40:23,010 --> 00:40:25,980 讓我們這裡休息5分鐘 因為按我的電子郵件,讓我們掛在 870 00:40:25,980 --> 00:40:27,200 那裡,直到今天2:30 ISH。 871 00:40:27,200 --> 00:40:28,540 但如果你有 離開,這很好。 872 00:40:28,540 --> 00:40:30,380 但是,我們將銳意進取 休息5分鐘。 873 00:40:30,380 --> 00:40:35,930 我們將學習一點東西 關於PHP,MySQL和。 874 00:40:35,930 --> 00:40:44,520 >> 好吧,讓我們來試試,現在,將比分扳成一 幾個在一起,使這些想法, 875 00:40:44,520 --> 00:40:46,180 說,我們自己的搜索引擎。 876 00:40:46,180 --> 00:40:48,570 我注意到,相當好奇, 以下。 877 00:40:48,570 --> 00:40:52,610 當你在Google.com,你 通常在這裡像這樣的一個URL 878 00:40:52,610 --> 00:40:54,870 沒有後點COM。 879 00:40:54,870 --> 00:40:59,760 但是像一些愚蠢的事,如果我搜索 貓,並按下回車,我們會得到 - 880 00:40:59,760 --> 00:41:01,300 笨,但你知道的。 881 00:41:01,300 --> 00:41:05,410 >> OK,所以注意到,在頁面頂部, 現在,URL,當然改變。 882 00:41:05,410 --> 00:41:07,190 這是沒有什麼 我們任何新的。 883 00:41:07,190 --> 00:41:09,290 您點擊鏈接和東西 發生在網絡上。 884 00:41:09,290 --> 00:41:11,420 但是,什麼是有趣的 是以下內容。 885 00:41:11,420 --> 00:41:14,500 有一大堆雜亂的,但讓 我扔掉的東西,我不 886 00:41:14,500 --> 00:41:16,600 不太明白或不 看看有關。 887 00:41:16,600 --> 00:41:18,490 >> 讓我擺脫這種。 888 00:41:18,490 --> 00:41:20,030 讓我擺脫這種。 889 00:41:20,030 --> 00:41:22,630 讓我擺脫 所有這一切。 890 00:41:22,630 --> 00:41:28,840 現在發現,貓是在URL中, 其次具有Q,那麼等於 891 00:41:28,840 --> 00:41:29,710 簽署在它的前面。 892 00:41:29,710 --> 00:41:32,110 因此,原來這是怎樣的 它的工作方式,當談到 893 00:41:32,110 --> 00:41:33,360 輸入和輸出。 894 00:41:33,360 --> 00:41:37,510 >> 我們早就談過 黑盒子,對不對? 895 00:41:37,510 --> 00:41:41,650 因此,如果這是實現的功能 這裡是一個黑盒子,它需要輸入 896 00:41:41,650 --> 00:41:45,290 並產生輸出,以及,意味著 您提供的輸入到 897 00:41:45,290 --> 00:41:49,270 網站方式,很多時候,它的網址。 898 00:41:49,270 --> 00:41:52,850 您只需打上問號 然後一鍵等於價值。 899 00:41:52,850 --> 00:41:56,740 然後也許一個符號,然後 另一個關鍵等於價值,那麼也許 900 00:41:56,740 --> 00:41:58,810 另一個符號,關鍵等於價值。 901 00:41:58,810 --> 00:42:03,030 這是你如何通過鍵和 值,對輸入。 902 00:42:03,030 --> 00:42:07,050 >> 所以,如果我現在敲回車,什麼是 有趣的谷歌,是所有 903 00:42:07,050 --> 00:42:10,420 我刪除,雜波不會出現 是絕對必要的。 904 00:42:10,420 --> 00:42:15,120 我需要發送到谷歌的問題 標記Q等於貓得到 905 00:42:15,120 --> 00:42:16,160 備份一些貓。 906 00:42:16,160 --> 00:42:20,160 那麼,寓意,然後, 如果我拉gedit中,我已經開始 907 00:42:20,160 --> 00:42:24,360 在這裡我自己的搜索引擎 在一個名為seach0.html。 908 00:42:24,360 --> 00:42:26,750 >> 讓我去和刪除 多行 909 00:42:26,750 --> 00:42:27,910 不應該看到的。 910 00:42:27,910 --> 00:42:31,070 現在,讓我進入我自己的瀏覽器, 所以沒有給谷歌,去 911 00:42:31,070 --> 00:42:34,900 http://localhost的。 912 00:42:34,900 --> 00:42:36,220 ,這就是將要得到的方式。 913 00:42:36,220 --> 00:42:43,240 因此,我們將不得不說再見 現在,移動在這裡, 914 00:42:43,240 --> 00:42:46,270 哦,現在我們將不得不 該文件說再見。 915 00:42:46,270 --> 00:42:51,700 >> 每當你有一個文件名為 在index.html或編輯 916 00:42:51,700 --> 00:42:54,980 目錄,如果Web服務器 以這種方式配置,你會 917 00:42:54,980 --> 00:42:59,600 ,默認情況下,看到的內容 文件而不是上市 918 00:42:59,600 --> 00:43:02,330 目錄,因為我想在這裡。 919 00:43:02,330 --> 00:43:03,750 在這個問題上的規範。 920 00:43:03,750 --> 00:43:04,610 你沒有看到這一點。 921 00:43:04,610 --> 00:43:06,360 >> 所以這是我其實是想什麼。 922 00:43:06,360 --> 00:43:08,810 不過片刻前,有一個 在此文件夾中的文件名為 923 00:43:08,810 --> 00:43:11,290 index.html和index.php文件。 924 00:43:11,290 --> 00:43:13,380 所以Web服務器 我的那些文件。 925 00:43:13,380 --> 00:43:15,900 相反,我想這個目錄 在這裡列出。 926 00:43:15,900 --> 00:43:18,340 >> 所以我要進入 CSS和去搜索0。 927 00:43:18,340 --> 00:43:21,770 我要求,這是將是 開始我自己的競爭 928 00:43:21,770 --> 00:43:22,490 搜索引擎。 929 00:43:22,490 --> 00:43:27,630 而要做到這一點,我要去 在這裡,到CSS,並打開了 930 00:43:27,630 --> 00:43:30,190 gedit中,搜索。 931 00:43:30,190 --> 00:43:32,280 但不幸的是,有 沒有太多打算就在這裡。 932 00:43:32,280 --> 00:43:35,690 我所做的只是使用標題標籤, 會發生被稱為H1, 933 00:43:35,690 --> 00:43:38,180 基本上是指大 勇敢的,就是這樣。 934 00:43:38,180 --> 00:43:40,810 但以何種方式,我們可以 通過這些提供投入 935 00:43:40,810 --> 00:43:42,180 東西叫做形式。 936 00:43:42,180 --> 00:43:46,040 >> 因此,讓我繼續前進,打開和關閉, 先發製人,有形式標記。 937 00:43:46,040 --> 00:43:48,060 讓我繼續做 這樣的事情。 938 00:43:48,060 --> 00:43:51,430 文本輸入,鍵入等於。 939 00:43:51,430 --> 00:43:56,320 然後讓內關閉標籤 括號本身。 940 00:43:56,320 --> 00:43:58,800 我並不需要啟動一個文本字段 並停止文本字段。 941 00:43:58,800 --> 00:44:01,080 它只是將是有還是沒有。 942 00:44:01,080 --> 00:44:06,210 >> 然後,讓我們做如下 輸入類型等於提交。 943 00:44:06,210 --> 00:44:06,870 保存。 944 00:44:06,870 --> 00:44:08,630 現在讓我們只是做了 快速完整性檢查。 945 00:44:08,630 --> 00:44:09,820 讓我們重新加載。 946 00:44:09,820 --> 00:44:10,890 >> OK,所以它不壞。 947 00:44:10,890 --> 00:44:13,260 這不是谷歌的風格, 但它是相當接近的。 948 00:44:13,260 --> 00:44:13,920 有一個文本字段。 949 00:44:13,920 --> 00:44:17,190 我可以鍵入一些東西,敲回車, 但什麼也沒有發生。 950 00:44:17,190 --> 00:44:21,090 那是因為我還沒有指定 這種形式的行動,可以這麼說。 951 00:44:21,090 --> 00:44:23,860 所以,如果我回去的表單元素, 事實證明,我知道這是唯一的 952 00:44:23,860 --> 00:44:27,460 從閱讀的文檔, 標籤的形式以一個屬性 953 00:44:27,460 --> 00:44:31,880 調用的動作是URL 在網站中,您 954 00:44:31,880 --> 00:44:34,790 要發送的形式。 955 00:44:34,790 --> 00:44:37,610 >> 我真的不認為我們有時間 為實現整個後端 956 00:44:37,610 --> 00:44:38,570 今天的搜索引擎。 957 00:44:38,570 --> 00:44:41,900 所以,我們只是會說,哎, 去google.com /搜索。 958 00:44:41,900 --> 00:44:43,450 現在讓我關閉我的報價。 959 00:44:43,450 --> 00:44:46,070 讓我進一步明確 使用的方法是怎麼回事 960 00:44:46,070 --> 00:44:47,120 被稱為。 961 00:44:47,120 --> 00:44:50,650 >> 長話短說,有兩種方式, 至少,你可以提交信息 962 00:44:50,650 --> 00:44:51,880 從瀏覽器到服務器。 963 00:44:51,880 --> 00:44:55,340 一個,而且,對於今天的目的, 這僅僅意味著在URL中。 964 00:44:55,340 --> 00:44:58,730 你清楚地看到問號,則 等號,和&符號, 965 00:44:58,730 --> 00:44:59,780 我們在前面看到的。 966 00:44:59,780 --> 00:45:02,890 或者有另一種稱為後。 967 00:45:02,890 --> 00:45:06,490 現在,知道後經常被用來 當你要上傳的文件,如 968 00:45:06,490 --> 00:45:09,820 圖像等等,或當你想 提交信用卡信息,或 969 00:45:09,820 --> 00:45:13,810 密碼,任何事情,它不 真正意義,概念,或 970 00:45:13,810 --> 00:45:18,020 安全明智的,最終的URL 您的瀏覽器,窺探父母, 971 00:45:18,020 --> 00:45:21,520 或室友,或任何訪問 到您的計算機可能會看到。 972 00:45:21,520 --> 00:45:23,110 >> 所以,讓我們保存在這裡。 973 00:45:23,110 --> 00:45:24,480 我需要做的另一件事情。 974 00:45:24,480 --> 00:45:27,250 它不足夠 說給我一個文本字段。 975 00:45:27,250 --> 00:45:29,850 我已經給該字段的 珍惜一個名稱。 976 00:45:29,850 --> 00:45:34,500 因此,讓我借用谷歌的選擇 名,q和指定該第二 977 00:45:34,500 --> 00:45:38,150 屬性我真的不關心 “提交”按鈕的名稱。 978 00:45:38,150 --> 00:45:40,890 我只在乎提交 什麼類型的用戶英寸 979 00:45:40,890 --> 00:45:41,940 >> 現在這是一種醜陋的。 980 00:45:41,940 --> 00:45:42,820 它只是說提交。 981 00:45:42,820 --> 00:45:46,350 事實證明,我知道這從 文檔,我其實可以說 982 00:45:46,350 --> 00:45:51,710 值等於報價引文結束“CS50 SEACH“密切的報價。 983 00:45:51,710 --> 00:45:53,030 然後,讓我們再次重裝。 984 00:45:53,030 --> 00:45:57,020 所以我一直打命令-R,或 控制-R我的鍵盤上重新加載。 985 00:45:57,020 --> 00:45:58,605 >> 現在我們有一個更有趣 搜索引擎。 986 00:45:58,605 --> 00:46:00,340 它不完全的樣子 谷歌,目前還。 987 00:46:00,340 --> 00:46:04,100 所以,讓我們繼續在這裡 做一個小小的斷行。 988 00:46:04,100 --> 00:46:06,066 >> 好了,現在我們有谷歌。 989 00:46:06,066 --> 00:46:08,260 實際上,我們幾乎看谷歌。 990 00:46:08,260 --> 00:46:10,460 所以,現在什麼事情發生呢? 991 00:46:10,460 --> 00:46:12,220 我要輸入的東西 像貓。 992 00:46:12,220 --> 00:46:16,570 和瀏覽器解析 這種形式,我定義。 993 00:46:16,570 --> 00:46:19,470 它會發送 該網址的用戶。 994 00:46:19,470 --> 00:46:23,420 所以這個時候,一些奇怪的原因, 我得到了更多有關股票信息 995 00:46:23,420 --> 00:46:24,410 比實際的貓。 996 00:46:24,410 --> 00:46:30,580 但是,這很好,因為我們仍然注意到 在這裡結束了,Q等於貓。 997 00:46:30,580 --> 00:46:35,200 >> 所以長話短說,它似乎相當 微不足道的來自用戶的輸入。 998 00:46:35,200 --> 00:46:38,190 而且是公平的,有串 其他類型的表單字段。 999 00:46:38,190 --> 00:46:41,510 有複選框,有點相互 獨家單選按鈕, 1000 00:46:41,510 --> 00:46:42,960 下拉菜單等。 1001 00:46:42,960 --> 00:46:46,160 但所有這些都是相對 輕鬆實現 1002 00:46:46,160 --> 00:46:48,040 這個文本字段。 1003 00:46:48,040 --> 00:46:52,050 最終,我們只需要做出 肯定有人聽其他 1004 00:46:52,050 --> 00:46:56,490 為了得到該行結束 信息處理,不知何故, 1005 00:46:56,490 --> 00:46:58,440 讓我們回到我們的貓。 1006 00:46:58,440 --> 00:47:00,840 >> 讓我們來看看一個稍微 更多參與的例子。 1007 00:47:00,840 --> 00:47:06,020 讓我去到我的虛擬主機的目錄, 到本地主機,公共場所,並在那裡我 1008 00:47:06,020 --> 00:47:06,980 把今天的源代碼。 1009 00:47:06,980 --> 00:47:09,800 所有這一切都將在球場上的 網站為你鼓搗。 1010 00:47:09,800 --> 00:47:15,420 我若去成froshims,讓我開 現在了這個文件,froshim0.php。 1011 00:47:15,420 --> 00:47:18,460 這是一個有點冗長,所以 我們不會寫這篇文章從頭開始。 1012 00:47:18,460 --> 00:47:21,970 但是,僅僅注意到現在幾點幾分 熟悉的特點。 1013 00:47:21,970 --> 00:47:24,550 >> 一,形式標記,不同的動作。 1014 00:47:24,550 --> 00:47:25,670 這不是一個完整的URL。 1015 00:47:25,670 --> 00:47:29,930 現在,它顯然文件名為 的register0.php,因為在某一時刻, 1016 00:47:29,930 --> 00:47:32,660 我要教自己一點點 一些關於PHP,編程 1017 00:47:32,660 --> 00:47:37,360 語言,因為PHP可以用來 實施什麼谷歌實施 1018 00:47:37,360 --> 00:47:39,650 搜索引擎的後端。 1019 00:47:39,650 --> 00:47:42,890 >> 谷歌,在現實中,可能使用 一些Python,一些C + +, 1020 00:47:42,890 --> 00:47:44,230 其他語言的串。 1021 00:47:44,230 --> 00:47:48,230 不過,我們當然可以實現搜索 使用PHP,如果我們想要的結果。 1022 00:47:48,230 --> 00:47:49,610 但是現在,我們將保持它的簡單。 1023 00:47:49,610 --> 00:47:53,320 這實際上是讓人想起一個 我第一網站 1024 00:47:53,320 --> 00:47:54,490 年前作出。 1025 00:47:54,490 --> 00:47:58,160 >> 早在我的日子,你註冊 作為一個新生的校內體育活動 1026 00:47:58,160 --> 00:48:00,880 填寫一張紙,走 穿過院子,並將其放置在 1027 00:48:00,880 --> 00:48:04,890 一個寶潔的郵箱 威格爾斯沃,那就是你如何 1028 00:48:04,890 --> 00:48:05,460 登記手續。 1029 00:48:05,460 --> 00:48:09,650 所以我的項目後不久,CS50, 是把,這使得完美 1030 00:48:09,650 --> 00:48:13,460 某種意義上說,在網絡上,這是不 作為時尚,因為它是現在。 1031 00:48:13,460 --> 00:48:17,510 但是,所有我們必須做的是創造, 從本質上講,一個HTML表單。 1032 00:48:17,510 --> 00:48:19,640 >> 而這種形式看起來 大致是這樣的。 1033 00:48:19,640 --> 00:48:22,480 我有一個輸入 大一的名字。 1034 00:48:22,480 --> 00:48:27,780 我有另外的複選框是否 他們想成為隊長, 1035 00:48:27,780 --> 00:48:30,400 他們的性別, 他們的宿舍是什麼。 1036 00:48:30,400 --> 00:48:33,370 然後,我硬編碼的事情 像Apley法院,卡納迪, 1037 00:48:33,370 --> 00:48:34,880 灰色,等等。 1038 00:48:34,880 --> 00:48:36,300 >> 如此反复,新的標籤。 1039 00:48:36,300 --> 00:48:39,820 還沒有看到這些之前,新 屬性,但還算訪問。 1040 00:48:39,820 --> 00:48:42,360 一旦你看到一個例子,你可以 借這個想法,使下降 1041 00:48:42,360 --> 00:48:43,820 下拉菜單對於大多數什麼。 1042 00:48:43,820 --> 00:48:46,350 但最關鍵的是,每個 這些東西的名字。 1043 00:48:46,350 --> 00:48:49,720 在這種形式的底部,有 一個提交按鈕的標籤, 1044 00:48:49,720 --> 00:48:51,510 或價值,是寄存器。 1045 00:48:51,510 --> 00:48:52,670 >> 所以,讓我們去到這個網頁。 1046 00:48:52,670 --> 00:48:55,050 讓我回去 目錄列表。 1047 00:48:55,050 --> 00:48:59,410 讓我進入froshims, 去froshim0.php。 1048 00:48:59,410 --> 00:49:01,150 因此,它是可怕的,是公平的。 1049 00:49:01,150 --> 00:49:03,950 所以,我可以肯定樣式 一些CSS,我可以做一些 1050 00:49:03,950 --> 00:49:06,890 圖形,也許添加一些顏色, 使這個漂亮。 1051 00:49:06,890 --> 00:49:10,530 但是,在功能,我認為這 實際上是相當完整。 1052 00:49:10,530 --> 00:49:15,190 >> 不幸的是,當我填寫了這一點, 船長大衛,男,我們會選擇, 1053 00:49:15,190 --> 00:49:20,510 讓我們說馬修斯,註冊, 所發生的一切是這樣的。 1054 00:49:20,510 --> 00:49:21,910 但是請注意,一對夫婦的外賣店。 1055 00:49:21,910 --> 00:49:27,130 一,什麼文件返回那些 結果,顯然? 1056 00:49:27,130 --> 00:49:29,470 因此,它的確是register0.php。 1057 00:49:29,470 --> 00:49:34,570 因此,事實上,我們看到的行動 剛才值寄存器,這 1058 00:49:34,570 --> 00:49:37,500 證實我們確實結束 在該特定文件的最多。 1059 00:49:37,500 --> 00:49:39,040 >> 目前這還只是醜陋的文字。 1060 00:49:39,040 --> 00:49:42,810 但是請注意,這個文本是 來自本地主機, 1061 00:49:42,810 --> 00:49:44,170 這是從該設備。 1062 00:49:44,170 --> 00:49:46,350 現在想想器具 可能在一個Web服務器 1063 00:49:46,350 --> 00:49:46,910 科學中心。 1064 00:49:46,910 --> 00:49:48,060 這可能是對實際的網絡。 1065 00:49:48,060 --> 00:49:49,850 因此,它的公開訪問。 1066 00:49:49,850 --> 00:49:55,480 >> 所以很明顯,有一些方式傳遞 表單字段輸入到服務器 1067 00:49:55,480 --> 00:49:56,840 因此,它可以做與他們的東西。 1068 00:49:56,840 --> 00:49:59,020 不幸的是,寄存器 是非常愚蠢的。 1069 00:49:59,020 --> 00:50:01,870 它是打印出一個數組 看起來像這樣。 1070 00:50:01,870 --> 00:50:04,790 它不是一個數組 我們知道它的意義。 1071 00:50:04,790 --> 00:50:08,760 原來,PHP,和大量的 語言,不僅數值 1072 00:50:08,760 --> 00:50:12,350 索引數組的第一個索引 零,那麼一個,兩個,然後點 1073 00:50:12,350 --> 00:50:13,780 點,點,N減1。 1074 00:50:13,780 --> 00:50:16,400 >> 這就是所謂的一個 關聯數組。 1075 00:50:16,400 --> 00:50:21,150 關聯數組是其中之一 你可以存儲鍵值對 1076 00:50:21,150 --> 00:50:23,160 關鍵是不一定的數字。 1077 00:50:23,160 --> 00:50:25,580 事實上,它可以是一個字符串,一個字。 1078 00:50:25,580 --> 00:50:28,230 所以這可以實現, 引擎蓋下,事實證明, 1079 00:50:28,230 --> 00:50:31,896 使用一個數據結構被稱為? 1080 00:50:31,896 --> 00:50:33,600 思想戲劇性的東西 即將發生 - 1081 00:50:33,600 --> 00:50:34,840 哈希表。 1082 00:50:34,840 --> 00:50:38,955 >> 所以一個哈希表,回憶,那些你 是誰做的P組6,甚至召回 1083 00:50:38,955 --> 00:50:44,110 它,至少,即使你做了一個嘗試, 哈希表中,在我們的使用情況,使用 1084 00:50:44,110 --> 00:50:45,090 只是存儲的話。 1085 00:50:45,090 --> 00:50:47,980 不過說真的,你是存儲 鍵和值。 1086 00:50:47,980 --> 00:50:51,940 如果您實現了一個哈希表為P 設置6詞典,鑰匙 1087 00:50:51,940 --> 00:50:56,890 詞本身,其值 有效真或假。 1088 00:50:56,890 --> 00:51:00,190 是的,在這裡,或含蓄, 不,不是在這裡。 1089 00:51:00,190 --> 00:51:02,140 >> 好吧,我們可以概括地說,想法。 1090 00:51:02,140 --> 00:51:06,230 我們可以使用一個非常類似的數據 結構來存儲而不是字符串 1091 00:51:06,230 --> 00:51:10,180 獨自一人在你的哈希表,但 假設在每一個你的哈希 1092 00:51:10,180 --> 00:51:11,130 表的節點。 1093 00:51:11,130 --> 00:51:14,210 你甚至可以做到這一點在一個try 而不是僅僅有一個bool。 1094 00:51:14,210 --> 00:51:15,350 你可以有別的東西。 1095 00:51:15,350 --> 00:51:19,590 關鍵是如果沒有麥克斯韋, 實例,但報價引文結束“的名字,”或 1096 00:51:19,590 --> 00:51:22,900 引用引文結束“的隊長。”裡面 C數據結構,你把一個 1097 00:51:22,900 --> 00:51:26,170 價值,而不僅僅是一個布爾值,但值 如報價引文結束“大衛”,或 1098 00:51:26,170 --> 00:51:28,690 “M”或“馬修斯”和等等。 1099 00:51:28,690 --> 00:51:33,170 >> 因此,我們使用那些相同的數據結構 在其他語言中顯然存在。 1100 00:51:33,170 --> 00:51:37,650 我認為它們實際上是多少, 簡單得多,在這裡訪問。 1101 00:51:37,650 --> 00:51:40,300 讓我們看一看其實 現在在一些這樣的語法。 1102 00:51:40,300 --> 00:51:43,120 >> 我要進入一個PHP目錄。 1103 00:51:43,120 --> 00:51:48,390 我要去開拓一個更好的 從之前版本的Hello-0。 1104 00:51:48,390 --> 00:51:50,270 請注意,我所做的就是 補充一些意見。 1105 00:51:50,270 --> 00:51:52,530 因此,我們可以擺脫那分心。 1106 00:51:52,530 --> 00:51:57,610 >> 這個程序的確會打印 你好,因為我之間指定 1107 00:51:57,610 --> 00:52:01,420 標籤,我想執行該代碼。 1108 00:52:01,420 --> 00:52:03,380 現在,我們將看到在某一時刻 為什麼,這是非常有用的。 1109 00:52:03,380 --> 00:52:05,630 但是讓我們在這裡打開一個其他的例子。 1110 00:52:05,630 --> 00:52:10,430 讓我去進取,不斷開拓說, gedit的條件之一。 1111 00:52:10,430 --> 00:52:12,970 >> 這是現在回來的路上時間。 1112 00:52:12,970 --> 00:52:16,320 但半個月前,我想,在每週一, 本週二,我們有一個例子叫做 1113 00:52:16,320 --> 00:52:18,470 conditions1.c。 1114 00:52:18,470 --> 00:52:22,050 我決定重新實現在PHP中, 只是一種強調 1115 00:52:22,050 --> 00:52:26,500 PHP語法,幾乎是相同的 C.這是不是一個巨大的飛躍 1116 00:52:26,500 --> 00:52:27,840 從上週到這一點。 1117 00:52:27,840 --> 00:52:31,230 >> 請注意,在上面這個程序, 開始時,和以前一樣,具有一定的 1118 00:52:31,230 --> 00:52:34,260 意見,我將擺脫 作為分心。 1119 00:52:34,260 --> 00:52:37,410 請注意,我在PHP 在這個文件中的模式。 1120 00:52:37,410 --> 00:52:40,160 所以這段代碼中,我們將看到的, 將得到執行。 1121 00:52:40,160 --> 00:52:42,670 請注意,有readline的, 這大概是 1122 00:52:42,670 --> 00:52:46,230 PHP的getString模擬。 1123 00:52:46,230 --> 00:52:47,390 請注意,這是一個有點不同。 1124 00:52:47,390 --> 00:52:51,410 實際上,你指定提示 函數調用讀線,而這 1125 00:52:51,410 --> 00:52:52,180 用戶看到。 1126 00:52:52,180 --> 00:52:53,520 所以,你不必手動printf的。 1127 00:52:53,520 --> 00:52:54,860 但是,這並不是什麼大不了的。 1128 00:52:54,860 --> 00:52:59,150 我要儲存,裡面的$ n, 這個返回值,所以無論 1129 00:52:59,150 --> 00:53:00,490 用戶類型是自己的詮釋。 1130 00:53:00,490 --> 00:53:01,660 這裡是另一種好奇心。 1131 00:53:01,660 --> 00:53:05,810 事實證明,在PHP中,任何變量 只是前綴 1132 00:53:05,810 --> 00:53:06,970 一個美元符號。 1133 00:53:06,970 --> 00:53:08,110 這是一個有點惱人。 1134 00:53:08,110 --> 00:53:10,870 但是請注意,我沒有做什麼在PHP。 1135 00:53:10,870 --> 00:53:13,980 從左邊缺少了什麼 一邊的等號? 1136 00:53:13,980 --> 00:53:15,430 >> 沒有提到的類型。 1137 00:53:15,430 --> 00:53:19,400 因此,這是為了更好地從C不同 或者更糟的是,PHP是一種鬆散 1138 00:53:19,400 --> 00:53:20,550 類型語言。 1139 00:53:20,550 --> 00:53:22,010 它確實有數字。 1140 00:53:22,010 --> 00:53:23,240 它有字符串。 1141 00:53:23,240 --> 00:53:24,015 它有布爾值。 1142 00:53:24,015 --> 00:53:26,220 它有幾個 其他數據類型。 1143 00:53:26,220 --> 00:53:30,570 但是,你的程序員,通常 不必關心他們。 1144 00:53:30,570 --> 00:53:34,010 這樣做的好處,是它使得 這一點更容易編程。 1145 00:53:34,010 --> 00:53:35,380 你可以少想一點。 1146 00:53:35,380 --> 00:53:39,840 不足之處是它也打開你到 潛在的錯誤,如果你不小心 1147 00:53:39,840 --> 00:53:43,080 對待一個數字作為一個字符串,一個字符串 數,有可能,但即使 1148 00:53:43,080 --> 00:53:46,150 然後,PHP和很多語言, 是相當寬容的。 1149 00:53:46,150 --> 00:53:49,050 他們將使用什麼叫做 隱式轉換。 1150 00:53:49,050 --> 00:53:55,220 如果您嘗試在上下文中使用n 的一個數字的情況下,它會 1151 00:53:55,220 --> 00:53:58,040 這裡將是一個轉換 字符串,因為如果用戶鍵入 1152 00:53:58,040 --> 00:54:01,570 的東西,你得到的結果, readline的,或者得到的字符串, 1153 00:54:01,570 --> 00:54:02,910 要返回一個字符串。 1154 00:54:02,910 --> 00:54:07,360 >> 但是請注意,幾行後,我 檢查,如果n是大於零的。 1155 00:54:07,360 --> 00:54:13,370 所以,PHP會隱式轉換 “串”123,或無論用戶 1156 00:54:13,370 --> 00:54:14,860 ,進入一個int類型。 1157 00:54:14,860 --> 00:54:18,730 因此,在短期,東西只是工作 很多更直觀。 1158 00:54:18,730 --> 00:54:23,410 所以我們現在開始放鬆的幾個 在過去的事情,我們已經做了。 1159 00:54:23,410 --> 00:54:24,780 >> 這個東西有很多是 同樣的,雖然。 1160 00:54:24,780 --> 00:54:26,340 還有等於等於。 1161 00:54:26,340 --> 00:54:30,350 作為一個備用PHP也等於等於 等於,但更多的,或許,在 1162 00:54:30,350 --> 00:54:30,850 未來。 1163 00:54:30,850 --> 00:54:31,150 這是一個。 1164 00:54:31,150 --> 00:54:35,660 錯字,但兩個等號意味著同樣的 之前,進行比較的東西。 1165 00:54:35,660 --> 00:54:37,060 printf的意味著同樣的事情之前。 1166 00:54:37,060 --> 00:54:39,160 反斜杠n表示相同 和以前一樣的東西。 1167 00:54:39,160 --> 00:54:40,390 >> 所以我怎麼運行這個程序嗎? 1168 00:54:40,390 --> 00:54:44,400 好了,和以前一樣,如果我做PHP, conditions1.php,然後鍵入 1169 00:54:44,400 --> 00:54:46,560 這樣的數字123。 1170 00:54:46,560 --> 00:54:47,720 這是一個正數。 1171 00:54:47,720 --> 00:54:49,510 如果我鍵入0,我去接0。 1172 00:54:49,510 --> 00:54:53,700 如果我輸入負123,我得到 備份一個負數,這是唯一 1173 00:54:53,700 --> 00:54:59,050 也就是說,語法,PHP 是超級,超級相似。 1174 00:54:59,050 --> 00:55:03,250 >> 那麼,為什麼是現在這個有用 在web環境? 1175 00:55:03,250 --> 00:55:06,710 好吧,讓我們回到本froshims 例如,看起來, 1176 00:55:06,710 --> 00:55:08,600 再次,像這裡。 1177 00:55:08,600 --> 00:55:11,580 讓拉起網頁 再次,這個樣子。 1178 00:55:11,580 --> 00:55:14,930 我們可以做什麼用 數據提交? 1179 00:55:14,930 --> 00:55:18,770 >> 好吧,讓我打開了一個新的 版本的此。 1180 00:55:18,770 --> 00:55:20,920 你會看到這個問題 套規範引導您 1181 00:55:20,920 --> 00:55:22,850 通過幾個。 1182 00:55:22,850 --> 00:55:29,610 而不是從零開始, 讓我們看看froshims3, 1183 00:55:29,610 --> 00:55:31,410 這確實有點多。 1184 00:55:31,410 --> 00:55:34,780 >> 首先要注意,其實,讓我們打開 了0,所以你看 1185 00:55:34,780 --> 00:55:37,170 寄存器0是什麼。 1186 00:55:37,170 --> 00:55:40,040 注意寄存器0做什麼。 1187 00:55:40,040 --> 00:55:41,730 一,我在上面發表意見。 1188 00:55:41,730 --> 00:55:43,900 刪除那些只集中在此。 1189 00:55:43,900 --> 00:55:48,730 大多數的內容register0.php ,很明顯,什麼樣的語言? 1190 00:55:48,730 --> 00:55:49,980 只是原料PHP。 1191 00:55:49,980 --> 00:55:53,430 >> 所以通知,這個文件不啟動 ,此刻,打開支架, 1192 00:55:53,430 --> 00:55:54,970 問號,PHP。 1193 00:55:54,970 --> 00:55:59,800 PHP讓你交融 PHP與HTML標記代碼。 1194 00:55:59,800 --> 00:56:04,130 但我已經做了,在這裡裡面 的頁面在這裡。 1195 00:56:04,130 --> 00:56:08,180 >> 再次,現在,你只知道這 看著手冊。的print_r 1196 00:56:08,180 --> 00:56:13,410 事實證明,是print_recursive。 _recursive而這僅僅是一個方便的 1197 00:56:13,410 --> 00:56:16,780 效用函數,只是打印出來, 遞歸的,無論你把它。 1198 00:56:16,780 --> 00:56:18,760 如果你的手是一個數組, 它會打印一個數組。 1199 00:56:18,760 --> 00:56:20,180 如果你把它的數字, 它會打印一個數字。 1200 00:56:20,180 --> 00:56:21,570 把錢交出來一個字符串,它會 打印一個字符串。 1201 00:56:21,570 --> 00:56:24,500 如果你把它一個哈希表, 會打印出一個哈希表。 1202 00:56:24,500 --> 00:56:26,730 您不必編寫所有 的自己該代碼。 1203 00:56:26,730 --> 00:56:29,490 >> 現在可以看到我進入 PHP模式在這裡。 1204 00:56:29,490 --> 00:56:32,070 在這裡,我退出PHP模式。 1205 00:56:32,070 --> 00:56:35,950 所以當Web服務器讀取這個文件 從上到下,從左到右,因為 1206 00:56:35,950 --> 00:56:40,750 它結束在一個名為。php的文件名, 裡面沒有任何PHP標籤 1207 00:56:40,750 --> 00:56:42,820 只是要吐 出來,像原始的HTML。 1208 00:56:42,820 --> 00:56:43,630 沒有什麼大不了的。 1209 00:56:43,630 --> 00:56:49,280 但是,一旦Web服務器注意事項 這一點,它會說,我不應該 1210 00:56:49,280 --> 00:56:51,850 吐了出來,從字面上看,後的print_r。 1211 00:56:51,850 --> 00:56:54,910 我應該執行以下 一行代碼。 1212 00:56:54,910 --> 00:56:59,850 >> 那麼最後一個問題,那麼,這個文件 ,好了,你到底是這樣嗎? 1213 00:56:59,850 --> 00:57:00,530 採取一種猜測。 1214 00:57:00,530 --> 00:57:04,230 $ _POST是什麼,可能嗎? 1215 00:57:04,230 --> 00:57:07,070 >> 觀眾:[聽不清] 1216 00:57:07,070 --> 00:57:08,830 >> 揚聲器1:是啊,發布的數據。 1217 00:57:08,830 --> 00:57:11,350 回想一下,我們的向後滾動 時間只是一瞬間。 1218 00:57:11,350 --> 00:57:13,165 froshim0再次,這個樣子。 1219 00:57:13,165 --> 00:57:15,640 這是一個超級多數只是HTML。 1220 00:57:15,640 --> 00:57:18,410 同樣,一些你沒有標籤 見過的,或與 1221 00:57:18,410 --> 00:57:19,360 你已經很熟悉。 1222 00:57:19,360 --> 00:57:21,990 但有趣的事情是這樣的。 1223 00:57:21,990 --> 00:57:27,270 這一行是真正的鏈接 它來我們的register0.php文件。 1224 00:57:27,270 --> 00:57:29,200 我通過POST方法提交。 1225 00:57:29,200 --> 00:57:33,130 這意味著,參數 用戶類型 1226 00:57:33,130 --> 00:57:35,150 將要結束的地方。 1227 00:57:35,150 --> 00:57:36,175 >> 他們不會 顯示在URL中。 1228 00:57:36,175 --> 00:57:39,020 他們仍然要發送的 客戶端,從瀏覽器中,向 1229 00:57:39,020 --> 00:57:42,080 服務器,但只是通過其他 機制,我們將放棄我們手中 1230 00:57:42,080 --> 00:57:44,330 在今天,但它不是在URL中。 1231 00:57:44,330 --> 00:57:47,630 但是請注意,現在的關係 後,按照慣例, 1232 00:57:47,630 --> 00:57:49,160 小寫這裡。 1233 00:57:49,160 --> 00:57:54,090 >> 但如果我打開register0.php 我顯然印刷本。 1234 00:57:54,090 --> 00:57:56,450 因此,這是一種怪異 命名約定。 1235 00:57:56,450 --> 00:58:01,430 但是在PHP不錯的是,當 使用PHP在Web環境中,而不是在一個 1236 00:58:01,430 --> 00:58:04,480 剛才像我一樣的命令行, 當你真正使用它在Web 1237 00:58:04,480 --> 00:58:10,580 頁面,因為我們是在一個虛擬主機的目錄, PHP會自動填補這一 1238 00:58:10,580 --> 00:58:15,560 的事情,這是一個關聯數組, 可以這麼說,一個哈希表, 1239 00:58:15,560 --> 00:58:17,290 所有用戶輸入。 1240 00:58:17,290 --> 00:58:22,000 >> 總之,$ _POST全部大寫是一個 全局變量,PHP只是 1241 00:58:22,000 --> 00:58:25,050 奇蹟般地創造你的時候 使用PHP在Web上下文。 1242 00:58:25,050 --> 00:58:29,160 它把它裡面的所有的 的表單中的參數名稱 1243 00:58:29,160 --> 00:58:33,200 提交本文件及其所有 用戶輸入的值 1244 00:58:33,200 --> 00:58:37,790 因此,它的手給你什麼用戶 這種形式輸入。 1245 00:58:37,790 --> 00:58:42,210 >> 之前,我們得到了非常愚蠢的輸出 只看到這一點,因為我所做的 1246 00:58:42,210 --> 00:58:44,400 遞歸打印這個數組。 1247 00:58:44,400 --> 00:58:46,060 最關鍵的是名稱,值是大衛。 1248 00:58:46,060 --> 00:58:46,980 最關鍵的是船長。 1249 00:58:46,980 --> 00:58:47,970 該值上。 1250 00:58:47,970 --> 00:58:52,300 和雙箭頭和角度 有支架,這僅僅是任意的。 1251 00:58:52,300 --> 00:58:53,270 這是不是代碼。 1252 00:58:53,270 --> 00:58:57,690 這僅僅是PHP的方式向您展示 一些關鍵的價值是什麼。 1253 00:58:57,690 --> 00:59:03,000 >> 但現在讓我建議,在 froshIMs3,它幾乎相同 1254 00:59:03,000 --> 00:59:04,950 除了提交該文件。 1255 00:59:04,950 --> 00:59:08,570 再次,我們要種只是 看了一眼,正好看到一些 1256 00:59:08,570 --> 00:59:12,040 語法,但注意什麼 這個文件。 1257 00:59:12,040 --> 00:59:14,930 以此來猜測只是基於線 代碼,這可能看起來象 1258 00:59:14,930 --> 00:59:17,410 希臘,在一定程度上 顯然這樣做。 1259 00:59:17,410 --> 00:59:20,580 1260 00:59:20,580 --> 00:59:23,110 >> 此主題相關文件 郵件,電子郵件。 1261 00:59:23,110 --> 00:59:24,770 那麼,什麼是這個程序在做什麼? 1262 00:59:24,770 --> 00:59:28,740 在這個版本中,如果我是真正 填寫此表 - 讓我去 1263 00:59:28,740 --> 00:59:30,760 froshIMs3,不是froshIMs0 - 1264 00:59:30,760 --> 00:59:33,280 1265 00:59:33,280 --> 00:59:34,540 形式看起來是一樣的。 1266 00:59:34,540 --> 00:59:37,980 隊長大衛,男,宿舍,馬修斯。 1267 00:59:37,980 --> 00:59:42,980 但是,如果我提出這個,這個文件是 要去register3.php。 1268 00:59:42,980 --> 00:59:46,330 >> 我要求看在它的 源代碼,這將 1269 00:59:46,330 --> 00:59:47,650 以某種方式涉及到電子郵件。 1270 00:59:47,650 --> 00:59:49,620 讓我繼續前進,打開此 在一個更大的窗口,因此我們 1271 00:59:49,620 --> 00:59:51,030 可以看到它更乾淨。 1272 00:59:51,030 --> 00:59:57,220 我們在虛擬主機,本地主機, 公眾froshims。 1273 00:59:57,220 --> 00:59:58,680 我要開闢一個不同 程序,所以我們 1274 00:59:58,680 --> 01:00:00,160 一次可以看到更多的。 1275 01:00:00,160 --> 01:00:03,100 >> 所以,現在在這裡,發現了一些事情。 1276 01:00:03,100 --> 01:00:06,530 在該文件的頂部是開放的 括號,問號,PHP。 1277 01:00:06,530 --> 01:00:08,920 然後有一堆意見, 我們可以忽略, 1278 01:00:08,920 --> 01:00:10,450 現在無趣的。 1279 01:00:10,450 --> 01:00:11,300 >> 現在有這個。 1280 01:00:11,300 --> 01:00:14,200 PHP有很多 代碼調用需要。 1281 01:00:14,200 --> 01:00:19,110 它非常類似於在精神上C的 包括哈希包括 1282 01:00:19,110 --> 01:00:21,980 基本上抓住了一些內容 其他文件,只是他們在這裡,撲通一聲 1283 01:00:21,980 --> 01:00:22,930 這樣你就可以使用它們。 1284 01:00:22,930 --> 01:00:27,060 在這種情況下,該裝置安裝有 預裝,一個圖書館,自由和 1285 01:00:27,060 --> 01:00:29,900 稱為PHP的開源庫 郵件程序,任何人都可以 1286 01:00:29,900 --> 01:00:30,770 從互聯網上下載。 1287 01:00:30,770 --> 01:00:32,000 我們只是做給你。 1288 01:00:32,000 --> 01:00:36,130 這意味著我現在有電子郵件 在我手上的功能。 1289 01:00:36,130 --> 01:00:38,170 >> 現在,請注意幾件事。 1290 01:00:38,170 --> 01:00:41,120 我要驗證 表單的提交。 1291 01:00:41,120 --> 01:00:45,980 打開了PHP,一個驚嘆號 不是運營商,就像點 1292 01:00:45,980 --> 01:00:49,810 但是PHP也有一個功能 被稱為空。 1293 01:00:49,810 --> 01:00:53,920 >> 空,則返回true值 你的東西拿去 1294 01:00:53,920 --> 01:00:57,190 括號內是空的,像 用戶沒有輸入任何內容英寸 1295 01:00:57,190 --> 01:01:02,680 因此,這是說,並注意 語法,非常類​​似於C,如果 1296 01:01:02,680 --> 01:01:07,730 名稱鍵,這樣的name字段的形式, 這是提交通過後, 1297 01:01:07,730 --> 01:01:13,010 用戶來說是不空的,並且它們的 性別是不是空的形式 1298 01:01:13,010 --> 01:01:15,980 很好,他們的宿舍是不是空的 - 1299 01:01:15,980 --> 01:01:19,980 但是請注意,我不關心隊長, 那麼我們該怎麼辦? 1300 01:01:19,980 --> 01:01:21,990 >> 我要執行 這行代碼。 1301 01:01:21,990 --> 01:01:24,100 你能想到這種 像malloc的,但它是一個小 1302 01:01:24,100 --> 01:01:24,800 票友比。 1303 01:01:24,800 --> 01:01:29,200 但現在,這給了我一個特別的 結構類型的PHP郵件。 1304 01:01:29,200 --> 01:01:31,410 但是,忽視今天的新的關鍵字。 1305 01:01:31,410 --> 01:01:35,670 >> 現在,我要調用一個函數叫做 IsSMTP,它說,使用SMTP。 1306 01:01:35,670 --> 01:01:39,380 這是25端口,就像視頻 上週,被扔的東西 1307 01:01:39,380 --> 01:01:40,710 到防火牆的電子郵件。 1308 01:01:40,710 --> 01:01:42,440 是SMTP端口25。 1309 01:01:42,440 --> 01:01:44,410 SMTP是指使用的郵件服務器。 1310 01:01:44,410 --> 01:01:46,215 哪一個,我們可以使用哈佛 SMTP.fas.harvard.edu。 1311 01:01:46,215 --> 01:01:48,850 1312 01:01:48,850 --> 01:01:51,590 >> 我們可以設置從地址 是哈佛大學約翰的。 1313 01:01:51,590 --> 01:01:55,090 如果我繼續向下滾動,我可以設置 收件人地址,只是 1314 01:01:55,090 --> 01:01:56,840 任意約翰 哈佛。 1315 01:01:56,840 --> 01:01:59,210 於是,他將要寄給自己。 1316 01:01:59,210 --> 01:02:01,600 >> 現在,我可以設置主題 要註冊。 1317 01:02:01,600 --> 01:02:03,700 我可以定身 電子郵件如下。 1318 01:02:03,700 --> 01:02:06,500 這條線看上去多了幾分神秘, 但是這只是因為有很多 1319 01:02:06,500 --> 01:02:07,450 在它的信息。 1320 01:02:07,450 --> 01:02:10,670 其中,有一個點運算符。 1321 01:02:10,670 --> 01:02:14,510 必須有人已經知道了什麼 點運算。 1322 01:02:14,510 --> 01:02:15,436 它的串聯。 1323 01:02:15,436 --> 01:02:19,240 所以,如果你想利用PHP中的字符串, 追加或它前面加, 1324 01:02:19,240 --> 01:02:23,500 另一個字符串在PHP中,感謝上帝,你 不必,使用strcopy和malloc, 1325 01:02:23,500 --> 01:02:25,490 所有這一切了。 1326 01:02:25,490 --> 01:02:28,765 >> 如果你想連接兩個字符串, 誰在乎內存。 1327 01:02:28,765 --> 01:02:30,850 讓PHP的身影,為你。 1328 01:02:30,850 --> 01:02:35,200 PHP會做什麼用點操作符 這裡只是做一個大句子出來 1329 01:02:35,200 --> 01:02:37,900 這條線,這條線, 這條線,這條線。 1330 01:02:37,900 --> 01:02:40,460 現在通知,它會 插入值。 1331 01:02:40,460 --> 01:02:43,680 所以電子郵件,約翰·哈佛是怎麼回事 接收從字面上去說 1332 01:02:43,680 --> 01:02:49,450 名稱,結腸癌的東西,而不是,那麼我們 關閉字符串串聯 1333 01:02:49,450 --> 01:02:52,220 無論用戶輸入 ,然後在新的一行。 1334 01:02:52,220 --> 01:02:54,570 >> 然後,在約翰·哈佛的下一行 電子郵件,它會說 1335 01:02:54,570 --> 01:02:55,910 船長,開或沒有。 1336 01:02:55,910 --> 01:02:57,810 這是怎麼回事說性別, 男性或女性。 1337 01:02:57,810 --> 01:02:59,680 宿舍將是馬修斯 在我的情況下。 1338 01:02:59,680 --> 01:03:03,400 然後注意到熟悉的分號 結束。 1339 01:03:03,400 --> 01:03:07,830 然後,這裡通知,有點 神秘,但同樣,繼 1340 01:03:07,830 --> 01:03:12,730 圖案將變得更加熟悉 P後設置7,如果發送郵件 1341 01:03:12,730 --> 01:03:16,610 返回false,然後繼續前進,死了。 1342 01:03:16,610 --> 01:03:19,610 >> 因此,PHP有一個功能稱為模, 其中,從字面上看,只是殺死 1343 01:03:19,610 --> 01:03:22,830 網站僅僅打印出任何 你告訴它 - 它正在死去 1344 01:03:22,830 --> 01:03:24,280 也就是說,可以這麼說。 1345 01:03:24,280 --> 01:03:28,310 而這,的情況下,它會打印 出什麼錯誤信息 1346 01:03:28,310 --> 01:03:29,860 不管發生什麼事要出問題。 1347 01:03:29,860 --> 01:03:34,490 所以長話短說,在這裡,我們有什麼 是一個例子,其中,當用戶 1348 01:03:34,490 --> 01:03:39,150 提交形式,froshim0, froshims3.php,它去 1349 01:03:39,150 --> 01:03:40,760 register3.php。 1350 01:03:40,760 --> 01:03:45,290 但register3.php然後繼續 執行所有這些線路。 1351 01:03:45,290 --> 01:03:46,620 >> 所以這是一個很少人採取跳投。 1352 01:03:46,620 --> 01:03:50,380 一,它顯然是相當容易的, 編程,發送電子郵件, 1353 01:03:50,380 --> 01:03:50,830 這是很好的。 1354 01:03:50,830 --> 01:03:53,500 當用戶註冊,在為您的網站 這種情況下,在註冊時為您的 1355 01:03:53,500 --> 01:03:56,220 運動,你可以通過電子郵件大一 普羅克特或約翰 1356 01:03:56,220 --> 01:03:57,650 哈佛,在這種情況下。 1357 01:03:57,650 --> 01:04:01,630 >> 但是,這也意味著你可以做什麼? 1358 01:04:01,630 --> 01:04:03,970 任何人到任何發送電子郵件。 1359 01:04:03,970 --> 01:04:05,430 這是非常真實的。 1360 01:04:05,430 --> 01:04:08,580 這是不容易做,如果 你已經習慣了使用Gmail。 1361 01:04:08,580 --> 01:04:11,310 但是,如果你曾經使用Eudora或 Outlook中,你幾乎可以告訴 1362 01:04:11,310 --> 01:04:13,720 你的郵件服務器 任何你想要的。 1363 01:04:13,720 --> 01:04:16,450 而這正是我需要把 那頂帽子,並說,不這樣做。 1364 01:04:16,450 --> 01:04:21,140 但是,這是多麼容易證明 它是執行網絡釣魚攻擊, 1365 01:04:21,140 --> 01:04:24,310 發送匿名電子郵件, 垃圾郵件,更普遍。 1366 01:04:24,310 --> 01:04:27,330 它真的可以歸結為 事實上,所有你需要的是一些 1367 01:04:27,330 --> 01:04:28,500 編程方式訪問。 1368 01:04:28,500 --> 01:04:31,940 >> 順便說一句,我最親密的邂逅 廣告板,我自己的大一, 1369 01:04:31,940 --> 01:04:34,320 當我發現這個很酷 欺騙,哇,你可以 1370 01:04:34,320 --> 01:04:36,850 任何人發送電子郵件。 1371 01:04:36,850 --> 01:04:39,770 因此,我們有一些愚蠢的 的說法,從字面上看,馬修斯, 1372 01:04:39,770 --> 01:04:40,790 之間我的普羅克特組。 1373 01:04:40,790 --> 01:04:42,470 我什至不記得 問題是什麼。 1374 01:04:42,470 --> 01:04:44,970 但我想嘗試把一個 這個愚蠢的辯論結束。 1375 01:04:44,970 --> 01:04:48,580 >> 所以,我決定,我將只發送一封電子郵件 我的寶潔組,故作 1376 01:04:48,580 --> 01:04:52,000 其他的傢伙,我的意見 不同意,他默許 1377 01:04:52,000 --> 01:04:54,680 無論在我看來 這個特殊的辯論。 1378 01:04:54,680 --> 01:04:59,320 所以我使用偽造電子郵件 類似的技術精神。 1379 01:04:59,320 --> 01:05:01,256 但它實際上是更容易 的時間。 1380 01:05:01,256 --> 01:05:02,435 命中。 1381 01:05:02,435 --> 01:05:06,660 他很不高興,也不會 廣告板。 1382 01:05:06,660 --> 01:05:10,280 >> 我感到非常內迅速引起 因為,你知道,我簽署秒 1383 01:05:10,280 --> 01:05:11,420 我的電子郵件以某種方式。 1384 01:05:11,420 --> 01:05:14,200 雖然我做手工,在大 部分,15年後,因為我是 1385 01:05:14,200 --> 01:05:15,080 由創傷。 1386 01:05:15,080 --> 01:05:16,960 我沒有簽名 現在我的電子郵件。 1387 01:05:16,960 --> 01:05:20,440 但在1995年,我剛做了一個信號, 在我的電子郵件簽名。 1388 01:05:20,440 --> 01:05:24,630 因此就出現了這樣一個字條說,親愛的 普羅克特組,我默許我看來, 1389 01:05:24,630 --> 01:05:31,240 並同意大衛簽署 如此,新生產線,新生產線,DJM。 1390 01:05:31,240 --> 01:05:36,220 >> 所以,不要做,或在一般情況下,採取 這種技術的優點。 1391 01:05:36,220 --> 01:05:39,950 但是,當一個網站,喜歡 您的最後一個項目,當進行 1392 01:05:39,950 --> 01:05:43,460 網站創業的東西, 這是怎麼回事,務實的態度,你可以 1393 01:05:43,460 --> 01:05:47,000 利用在互聯網上的其他服務 如郵件,然後實際 1394 01:05:47,000 --> 01:05:49,440 送東西使用代碼。 1395 01:05:49,440 --> 01:05:51,240 >> 那麼我們如何才能改善? 1396 01:05:51,240 --> 01:05:54,370 嗯,首先讓我們來快速瀏覽 一些事情,你會看到, 1397 01:05:54,370 --> 01:05:56,170 然後看一看 一對夫婦的例子。 1398 01:05:56,170 --> 01:05:59,500 所以,放心,因為 我們正在通過PHP飛行。 1399 01:05:59,500 --> 01:06:02,470 我知道,在某些時候,你就會有 如果你真正開始寫這 1400 01:06:02,470 --> 01:06:03,460 已經沒有。 1401 01:06:03,460 --> 01:06:06,220 ,一個實現,主要是一種 ,用PHP窗外。 1402 01:06:06,220 --> 01:06:09,420 如果你想編寫代碼獲取 執行時,你剛開始寫 1403 01:06:09,420 --> 01:06:13,970 一個名為。PHP只要 你有開放的支架 1404 01:06:13,970 --> 01:06:15,620 問號PHP標籤。 1405 01:06:15,620 --> 01:06:19,730 >> 但是請注意,這些都是 PHP中的條件。 1406 01:06:19,730 --> 01:06:22,610 請注意,這是確切的同一張幻燈片 我們在第一個星期,當我們有 1407 01:06:22,610 --> 01:06:25,670 C.條件的條件 PHP是結構和 1408 01:06:25,670 --> 01:06:27,140 語法相同。 1409 01:06:27,140 --> 01:06:30,290 唯一的區別是,如果你已經有了 涉及的變量,你有那些 1410 01:06:30,290 --> 01:06:31,600 美元的跡象。 1411 01:06:31,600 --> 01:06:33,970 >> 同時,布爾表達式 看起來就像這為 1412 01:06:33,970 --> 01:06:35,725 或或和的在一起。 1413 01:06:35,725 --> 01:06:37,780 開關長得一模一樣。 1414 01:06:37,780 --> 01:06:42,180 在PHP中什麼是好的,而在C語言中, 開關必須是個案 1415 01:06:42,180 --> 01:06:46,380 整數或字符等,在PHP中的原語 你的case語句實際上可以 1416 01:06:46,380 --> 01:06:48,430 一個整體的字符串上,這是 其實挺有意思。 1417 01:06:48,430 --> 01:06:49,480 為您節省一些時間。 1418 01:06:49,480 --> 01:06:50,820 不能這樣做,在C 1419 01:06:50,820 --> 01:06:52,880 >> 下面是一個PHP for循環。 1420 01:06:52,880 --> 01:06:53,740 這是相同的。 1421 01:06:53,740 --> 01:06:55,400 可能有一些美元的跡象 為變量。 1422 01:06:55,400 --> 01:06:57,530 您不必提 東西是一個int。 1423 01:06:57,530 --> 01:07:00,580 你剛剛宣布它與一個美元符號 和的變量的名稱。 1424 01:07:00,580 --> 01:07:01,430 但是,一個for循環是相同的。 1425 01:07:01,430 --> 01:07:02,760 while循環是一樣的。 1426 01:07:02,760 --> 01:07:04,870 一個do while循環是一樣的。 1427 01:07:04,870 --> 01:07:06,170 >> 這是一個有點不同。 1428 01:07:06,170 --> 01:07:12,410 因此,PHP中,一個數組,你可以 靜態聲明一個數組,在C, 1429 01:07:12,410 --> 01:07:14,420 但是你用方括號內。 1430 01:07:14,420 --> 01:07:17,060 在C語言中,你可以使用大括號, 如果你知道這一點。 1431 01:07:17,060 --> 01:07:20,910 但其實這是很常見的PHP 聲明一個數組,在這種情況下, 1432 01:07:20,910 --> 01:07:23,640 數字,並調用 變量的數字。 1433 01:07:23,640 --> 01:07:25,300 >> 變量本身這個樣子。 1434 01:07:25,300 --> 01:07:28,710 這裡是一個字符串,報價引文結束“你好 世界,“你可以有一個反斜杠Ń。 1435 01:07:28,710 --> 01:07:30,950 在這種情況下,我根本就沒有。 1436 01:07:30,950 --> 01:07:32,640 >> 現在,這是一個有趣的結構。 1437 01:07:32,640 --> 01:07:33,700 C沒有。 1438 01:07:33,700 --> 01:07:34,700 但是,這是超級有用。 1439 01:07:34,700 --> 01:07:38,160 你會看到在P組7 規範 - 每個構造。 1440 01:07:38,160 --> 01:07:41,800 如果你想重申所有 元素的數組,你不必 1441 01:07:41,800 --> 01:07:45,500 對付我,而且$ n $, + +,和所有。 1442 01:07:45,500 --> 01:07:47,640 你可以從字面上說,在PHP中,這 - 1443 01:07:47,640 --> 01:07:51,890 號,所以每個號碼 我假定數字 1444 01:07:51,890 --> 01:07:53,380 是一個數字數組。 1445 01:07:53,380 --> 01:07:56,460 而當我說每個號碼 作為數量,這將 1446 01:07:56,460 --> 01:08:00,505 自動執行我的循環, 更新,在每次迭代時,該值 1447 01:08:00,505 --> 01:08:03,260 裡面的美元符號的數 - 1448 01:08:03,260 --> 01:08:07,730 一遍,又一遍,並再次行走 對我來說,數組。 1449 01:08:07,730 --> 01:08:08,735 因此,它只是為我們節省了代碼。 1450 01:08:08,735 --> 01:08:12,250 沒有分號,沒有+ +的,沒有我的, 沒有n的,這是剛剛好。 1451 01:08:12,250 --> 01:08:13,700 >> 但是PHP也有這個。 1452 01:08:13,700 --> 01:08:14,830 這是超級強大。 1453 01:08:14,830 --> 01:08:17,410 你會使用這個,手 在P 7。 1454 01:08:17,410 --> 01:08:21,990 關聯數組也宣布 方括號。 1455 01:08:21,990 --> 01:08:23,569 但是請注意,現在的語法。 1456 01:08:23,569 --> 01:08:26,880 這讓人想起我們看到了什麼 剛才的print_r。 1457 01:08:26,880 --> 01:08:31,810 多少個鍵,作為一個小的完整性檢查, 似乎有這個數組。 1458 01:08:31,810 --> 01:08:32,689 >> 因此,它有兩個。 1459 01:08:32,689 --> 01:08:33,830 我稱這是一個陣列。 1460 01:08:33,830 --> 01:08:36,760 但是,如果它的幫助,你可以認為 此如哈希表中,或者作為 1461 01:08:36,760 --> 01:08:37,930 關聯數組。 1462 01:08:37,930 --> 01:08:39,580 但它僅僅是一個不同的 類型的數組。 1463 01:08:39,580 --> 01:08:41,080 再次,不同的語言 有這些。 1464 01:08:41,080 --> 01:08:43,810 我們會看到類似的東西 在JavaScript中也是如此。 1465 01:08:43,810 --> 01:08:44,609 有兩個鍵。 1466 01:08:44,609 --> 01:08:48,390 其一是報價引文結束,“符號”,一個是 引用引文結束“的價格。”和那些鍵 1467 01:08:48,390 --> 01:08:49,250 每個人都有一個值。 1468 01:08:49,250 --> 01:08:54,420 在這種情況下,符號的值是FB, Facebook和價格的值是49,26, 1469 01:08:54,420 --> 01:08:56,899 這是Facebook的股票 今天上午的價格。 1470 01:08:56,899 --> 01:09:00,170 >> 那麼,什麼是有用之 關聯數組。 1471 01:09:00,170 --> 01:09:02,620 我能有一個數字 只是索引數組 1472 01:09:02,620 --> 01:09:04,120 簡單的方括號。 1473 01:09:04,120 --> 01:09:09,380 我能有美元符號 報價等於這一點。 1474 01:09:09,380 --> 01:09:10,529 讓我真正做到這一點。 1475 01:09:10,529 --> 01:09:14,796 假設我不是剛剛宣布 像這個數組。 1476 01:09:14,796 --> 01:09:17,590 這是完全有效的, 語法。 1477 01:09:17,590 --> 01:09:20,569 它不丟失任何信息, 本身。 1478 01:09:20,569 --> 01:09:24,760 我仍然看到這個符號是FB, 而價格是49,26。 1479 01:09:24,760 --> 01:09:28,939 那麼,為什麼聯想 陣列引人注目嗎? 1480 01:09:28,939 --> 01:09:30,189 >> 觀眾:你不必記得 你把東西。 1481 01:09:30,189 --> 01:09:32,050 1482 01:09:32,050 --> 01:09:34,130 >> 揚聲器1:沒錯,你沒有 要記住,你放東西的地方。 1483 01:09:34,130 --> 01:09:37,670 您不必任意記得 ,股票代碼支架為零, 1484 01:09:37,670 --> 01:09:41,479 股票價格在支架一, 這是特別危險的,如果你 1485 01:09:41,479 --> 01:09:43,220 改變的事情,最終。 1486 01:09:43,220 --> 01:09:46,399 它要好得多關聯的 我們就這麼叫元數據 1487 01:09:46,399 --> 01:09:48,340 實際的數據。 1488 01:09:48,340 --> 01:09:52,399 我認為,我們真正關心 這裡是FB,49,26。 1489 01:09:52,399 --> 01:09:57,020 是元數據的符號和價格 它描述的數據,我們 1490 01:09:57,020 --> 01:09:58,180 真正關心。 1491 01:09:58,180 --> 01:10:01,910 但是,這僅僅是這麼多 更容易訪問。 1492 01:10:01,910 --> 01:10:04,090 >> 現在,一邊是什麼 我們付出的代價嗎? 1493 01:10:04,090 --> 01:10:06,600 我們一直在做這 在CS50週。 1494 01:10:06,600 --> 01:10:10,740 此功能必須拿出一些成本。 1495 01:10:10,740 --> 01:10:11,350 內存。 1496 01:10:11,350 --> 01:10:13,830 所以你不只是存儲一個32位 整數,例如。 1497 01:10:13,830 --> 01:10:17,980 你存儲符號/ 0,大概。 1498 01:10:17,980 --> 01:10:19,160 所以你使用更多的內存。 1499 01:10:19,160 --> 01:10:22,540 >> ,什麼是性能 在尋找的東西 1500 01:10:22,540 --> 01:10:24,822 關聯數組,可能嗎? 1501 01:10:24,822 --> 01:10:26,590 這也可能是更慢。 1502 01:10:26,590 --> 01:10:29,670 隨機訪問是不錯的,特別是 當你可以做二進制搜索。 1503 01:10:29,670 --> 01:10:33,380 但是,如果你現在實際上是在尋找不 數字,但對於字符串,這 1504 01:10:33,380 --> 01:10:37,630 真正下面實現 油煙機,可能作為一個哈希表, 1505 01:10:37,630 --> 01:10:42,950 你使用一個哈希表 單獨的鏈接。 1506 01:10:42,950 --> 01:10:46,040 或者你嘗試實際使用 存儲的值。 1507 01:10:46,040 --> 01:10:50,550 因此,也許你能做到恆定的時間,但 你還是得看S-Y-M-B-ó-L, 1508 01:10:50,550 --> 01:10:54,510 潛在的,而不是僅僅32 看起來位。 1509 01:10:54,510 --> 01:10:58,430 如此反复,這些同樣的想法 在此背景下備份復發。 1510 01:10:58,430 --> 01:11:02,120 >> 但同樣,PHP現在有一些超級 全局,事實證明, 1511 01:11:02,120 --> 01:11:02,900 關聯數組。 1512 01:11:02,900 --> 01:11:05,590 我們看到剛才,$ _POST。 1513 01:11:05,590 --> 01:11:08,400 ,超級全局 有鑰匙和值。 1514 01:11:08,400 --> 01:11:10,550 具體而言,鍵 排隊什麼? 1515 01:11:10,550 --> 01:11:14,520 鑰匙在哪裡在$ _POST從何而來? 1516 01:11:14,520 --> 01:11:15,380 只要回顧一下? 1517 01:11:15,380 --> 01:11:16,480 >> 觀眾:姓名。 1518 01:11:16,480 --> 01:11:17,900 >> 揚聲器1:姓名,在哪裡? 1519 01:11:17,900 --> 01:11:19,860 >> 觀眾:[聽不清] 1520 01:11:19,860 --> 01:11:20,750 >> 揚聲器1:名稱的屬性。 1521 01:11:20,750 --> 01:11:23,480 那麼哪裡,哪裡他們 最初是從哪裡來的? 1522 01:11:23,480 --> 01:11:24,120 該表格。 1523 01:11:24,120 --> 01:11:30,140 因此,如果一個HTML頁面有一個表單標籤, 裡面是一些投入,如 1524 01:11:30,140 --> 01:11:34,760 檢查框,文本框,下拉 菜單,其中每一個都有一個名稱,那些 1525 01:11:34,760 --> 01:11:40,260 名稱最終在$ _POST鍵, 坦率地說,對於這個問題,$ _GET。 1526 01:11:40,260 --> 01:11:42,130 如果該方法是GET,同樣的想法。 1527 01:11:42,130 --> 01:11:43,830 它只是在不同的超級全局。 1528 01:11:43,830 --> 01:11:47,620 和的值,當然,來自 無論用戶在他或輸入 1529 01:11:47,620 --> 01:11:48,890 她的瀏覽器。 1530 01:11:48,890 --> 01:11:49,830 >> 但是,還有一些其他的。 1531 01:11:49,830 --> 01:11:52,140 有餅乾,我們將 最終回來。 1532 01:11:52,140 --> 01:11:56,050 但那些知道的事情,你 網頁使用一些善或惡。 1533 01:11:56,050 --> 01:11:57,420 但是,我們會回來的。 1534 01:11:57,420 --> 01:12:01,720 服務器和會話,這兩個 有一些特殊的實用程序。 1535 01:12:01,720 --> 01:12:03,940 >> 但是,讓我們來看看這個。 1536 01:12:03,940 --> 01:12:13,330 讓我去進取,不斷開拓的例子 所以MVC稱為mvc0.php 1537 01:12:13,330 --> 01:12:14,900 代表以下。 1538 01:12:14,900 --> 01:12:19,390 我們介紹這個比前面 典型的,真的,讓你設計 1539 01:12:19,390 --> 01:12:22,180 習題集7,也最終項目 行業排序 1540 01:12:22,180 --> 01:12:23,670 標準的方式,乾淨的方式。 1541 01:12:23,670 --> 01:12:24,820 這是很好的設計。 1542 01:12:24,820 --> 01:12:29,090 >> 所以你看到了,你會 經驗,在P組7,範式,排序 1543 01:12:29,090 --> 01:12:32,260 編程的心態,看起來 有點這樣的事情。 1544 01:12:32,260 --> 01:12:35,570 M為控制器的型號,C, V查看。 1545 01:12:35,570 --> 01:12:39,690 長話短說,MVC是正中下懷 一種方法,一種使 1546 01:12:39,690 --> 01:12:43,360 網站,特別是,由此 把所有你的,愚蠢的短語 - 1547 01:12:43,360 --> 01:12:44,970 業務邏輯 - 1548 01:12:44,970 --> 01:12:49,710 所有您的知識產權 什麼叫做一個控制器,一個文件 1549 01:12:49,710 --> 01:12:54,840 喜歡的index.php,否則我們將看到的, quote.php或buy.php的。 1550 01:12:54,840 --> 01:12:59,570 >> 的背景下,習題集7, 模型通常包含您的數據, 1551 01:12:59,570 --> 01:13:03,860 任何涉及到數據庫,我們會 最終看到的,和你的意見 1552 01:13:03,860 --> 01:13:07,510 包含你的美學 網站的HTML,CSS。 1553 01:13:07,510 --> 01:13:10,420 因此,我們已經看到了這一點在C 位使用。h文件。 1554 01:13:10,420 --> 01:13:15,010 我們真的看到了剛才用CSS, 通過分解的CSS風格化 1555 01:13:15,010 --> 01:13:16,520 出來的東西我們的HTML。 1556 01:13:16,520 --> 01:13:20,730 >> 因此,MVC是真的只是繪製 線在沙說, 1557 01:13:20,730 --> 01:13:25,400 有趣的編程代碼為您 網站屬於什麼我們稱之為 1558 01:13:25,400 --> 01:13:26,400 控制器。 1559 01:13:26,400 --> 01:13:29,280 東西通常涉及到數據庫 結束了在一個模型。 1560 01:13:29,280 --> 01:13:33,070 但是你會看到,在習題集7,我們 C和M合併,以保持它的簡單。 1561 01:13:33,070 --> 01:13:37,630 但是,鑑於你的HTML 和美學通常會去。 1562 01:13:37,630 --> 01:13:39,160 >> 所以,這是什麼意思,實質呢? 1563 01:13:39,160 --> 01:13:45,980 好吧,讓我進入我們的MVC 目錄,如下所示。 1564 01:13:45,980 --> 01:13:48,880 你會看到更多的這些 通過參觀在規範。 1565 01:13:48,880 --> 01:13:53,200 所以,在編碼對象,我聲稱,這是一樣, 版本CS50網站。 1566 01:13:53,200 --> 01:13:56,670 >> 我們有一些HTML,像 一個大h1標籤,顯然。 1567 01:13:56,670 --> 01:13:57,800 然後,項目符號列表。 1568 01:13:57,800 --> 01:13:59,860 我從來沒有見過一個項目符號列表 過,但沒什麼大不了的。 1569 01:13:59,860 --> 01:14:01,590 讓我們快速看的源代碼。 1570 01:14:01,590 --> 01:14:06,610 原來無序列表子彈 是開括號微升與一個或 1571 01:14:06,610 --> 01:14:09,065 多個列表項,李。 1572 01:14:09,065 --> 01:14:10,650 因此,這裡是通知一個錨標記。 1573 01:14:10,650 --> 01:14:12,130 我們看到前那一刻。 1574 01:14:12,130 --> 01:14:13,810 >> 所以這是我是如何實現 這一頁。 1575 01:14:13,810 --> 01:14:18,460 我有兩個環節,兩個列表項, 無序列表,UL和結束 1576 01:14:18,460 --> 01:14:22,700 結果,美觀,這是非常 漂亮的網站,這裡的版本0。 1577 01:14:22,700 --> 01:14:26,840 但現在有什麼有趣的是如何 是引擎蓋下實現的。 1578 01:14:26,840 --> 01:14:33,590 >> 讓我進入gedit和打開這個 第一個例子來畫一幅畫。 1579 01:14:33,590 --> 01:14:37,070 我們來看看什麼是有缺陷的, 可能在這裡。 1580 01:14:37,070 --> 01:14:43,260 現在,如果我去到本地主機,公共, MVC中,發現了一些文件。 1581 01:14:43,260 --> 01:14:45,780 我要調用這些, 此刻,所有的控制器。 1582 01:14:45,780 --> 01:14:48,640 但是,這是一個有點濫用,因為 你會看到一切都混合 1583 01:14:48,640 --> 01:14:49,620 它們內部。 1584 01:14:49,620 --> 01:14:52,330 >> 讓我走裡面的index.php。 1585 01:14:52,330 --> 01:14:54,700 我們看到,從字面上看,相同的HTML。 1586 01:14:54,700 --> 01:14:57,970 因此,即使這個文件結束 PHP,並不意味著它有 1587 01:14:57,970 --> 01:14:59,500 有任何PHP代碼。 1588 01:14:59,500 --> 01:15:02,290 它可以是原始的HTML,雖然 這是一種愚蠢。 1589 01:15:02,290 --> 01:15:07,650 但是請注意有沒有打開支架PHP 標記,除了這一點,其中,坦率地說, 1590 01:15:07,650 --> 01:15:09,160 只是作為評論。 1591 01:15:09,160 --> 01:15:12,080 但是,這是功能上並沒有 甚至是有趣的。 1592 01:15:12,080 --> 01:15:12,960 >> 但是,注意到這一點。 1593 01:15:12,960 --> 01:15:15,400 現在有趣的是什麼 此頁面上的變化。 1594 01:15:15,400 --> 01:15:16,650 讓我單擊講課。 1595 01:15:16,650 --> 01:15:18,560 注意到的網址即將改變。 1596 01:15:18,560 --> 01:15:20,930 現在我在lectures.php。 1597 01:15:20,930 --> 01:15:22,630 讓我單擊為零。 1598 01:15:22,630 --> 01:15:27,200 現在我在week0.php現在讓 在gedit,我打開這些文件。 1599 01:15:27,200 --> 01:15:30,120 不只是指數,但讓 我開了講座。 1600 01:15:30,120 --> 01:15:33,900 讓我擺脫的意見 只專注於這部分。 1601 01:15:33,900 --> 01:15:37,680 >> 現在我只是一個更開放, week0.php,扔掉的意見, 1602 01:15:37,680 --> 01:15:39,910 只是清理它。 1603 01:15:39,910 --> 01:15:41,720 現通知如下。 1604 01:15:41,720 --> 01:15:47,340 還真有幾分思考,仔細思考 設計,讓我們使它線 1605 01:15:47,340 --> 01:15:52,013 起來一樣,有什麼可以做 更好地在這裡,你覺得呢? 1606 01:15:52,013 --> 01:15:56,450 1607 01:15:56,450 --> 01:15:57,780 >> 我怎麼做第一個星期嗎? 1608 01:15:57,780 --> 01:15:58,480 這個怎麼樣。 1609 01:15:58,480 --> 01:16:00,450 所以這是我做了第一個星期。 1610 01:16:00,450 --> 01:16:08,290 我去的文件,新建,粘貼,保存, 的week1.php,然後我就在這裡。 1611 01:16:08,290 --> 01:16:09,875 我改變 - 1612 01:16:09,875 --> 01:16:11,646 事情經過是這樣,一到週五。 1613 01:16:11,646 --> 01:16:14,430 1614 01:16:14,430 --> 01:16:15,810 我改變了零一。 1615 01:16:15,810 --> 01:16:17,150 我改變之一。 1616 01:16:17,150 --> 01:16:20,350 >> 好了,現在看我的文件。 1617 01:16:20,350 --> 01:16:22,100 可以做什麼不同? 1618 01:16:22,100 --> 01:16:25,310 的機會在哪裡,也許? 1619 01:16:25,310 --> 01:16:28,330 所以有機會開始 保理這個東西。 1620 01:16:28,330 --> 01:16:32,950 讓我打開了,作為一個攪局者, 你會看到在P組7。 1621 01:16:32,950 --> 01:16:38,750 如果我打開了,現在版本的index.php 五本,它看起來方式 1622 01:16:38,750 --> 01:16:40,730 更神秘的,無可否認。 1623 01:16:40,730 --> 01:16:43,710 >> 但是,現在,是什麼,我會叫 控制器的控制 1624 01:16:43,710 --> 01:16:44,770 我的頁面邏輯。 1625 01:16:44,770 --> 01:16:48,510 而且,您可以樣的重構, 直觀的,也許,發生了什麼事情。 1626 01:16:48,510 --> 01:16:50,630 在第一行上,它的 有點神秘。 1627 01:16:50,630 --> 01:16:54,040 但是請注意,我需要的,喜歡與 尖銳包括一個名為 1628 01:16:54,040 --> 01:16:55,930 helpers.php。 1629 01:16:55,930 --> 01:16:59,980 然後我打電話,顯然, 功能,被稱為渲染,通過 1630 01:16:59,980 --> 01:17:00,850 兩個參數。 1631 01:17:00,850 --> 01:17:02,440 >> 其一是報價引文結束,頭。 1632 01:17:02,440 --> 01:17:04,800 另一種是,什麼樣的 數據類型是這樣的,基於 1633 01:17:04,800 --> 01:17:07,180 我們的語法同期? 1634 01:17:07,180 --> 01:17:08,160 這是一個關聯數組。 1635 01:17:08,160 --> 01:17:11,730 具體來說,它通過在標題中 一些元數據提醒 1636 01:17:11,730 --> 01:17:13,430 我它是什麼和它的價值。 1637 01:17:13,430 --> 01:17:16,340 然後,我看到一個硬編碼 UL,所以一些原始的HTML。 1638 01:17:16,340 --> 01:17:20,020 但後​​來我回到了PHP模式 調用一個函數渲染。 1639 01:17:20,020 --> 01:17:24,390 所以,即使你從來沒有使用HTML或PHP 之前,儘管這看起來 1640 01:17:24,390 --> 01:17:27,480 可怕的,這是為什麼可能 更好的設計嗎? 1641 01:17:27,480 --> 01:17:31,310 什麼是更好地了解它, 根據推斷? 1642 01:17:31,310 --> 01:17:32,130 >> 觀眾:[聽不清] 1643 01:17:32,130 --> 01:17:35,750 >> 揚聲器1:減多餘的 有沒有更多的HTML標籤,沒有更多的 1644 01:17:35,750 --> 01:17:38,410 頭標籤,沒有更多的身體標記 在每一個該死的文件。 1645 01:17:38,410 --> 01:17:41,860 相反,我已經考慮了 共性和大概把它們 1646 01:17:41,860 --> 01:17:45,150 主題相關到一個文件中 一個頭。 1647 01:17:45,150 --> 01:17:48,500 同樣的事情近身 標籤,密切HTML標籤。 1648 01:17:48,500 --> 01:17:52,165 這可能是在這裡裡面 的頁腳某處。 1649 01:17:52,165 --> 01:17:57,050 你會看到,在習題集7, 通過一個小的旅遊。 1650 01:17:57,050 --> 01:17:58,070 >> 那麼,是什麼樣的吧? 1651 01:17:58,070 --> 01:18:03,390 有一件事,我們還沒有能力 但對於實際存儲數據。 1652 01:18:03,390 --> 01:18:06,110 還等什麼,我們就可以看到 星期三,例如,​​是 1653 01:18:06,110 --> 01:18:08,450 老朋友Excel或數字, 允許你存儲大量的 1654 01:18:08,450 --> 01:18:10,060 以行和列的數據。 1655 01:18:10,060 --> 01:18:12,570 原來你可以做什麼 稱為數據庫編程。 1656 01:18:12,570 --> 01:18:16,620 狂躁而事實證明,在這之後, 我們將能夠存儲諸如 1657 01:18:16,620 --> 01:18:20,550 這一點,你會再次看到在P組 7,一大堆的用戶名和 1658 01:18:20,550 --> 01:18:23,690 密碼,其中後者是 實際上是加密的,就像他們 1659 01:18:23,690 --> 01:18:25,550 p設定為2的黑客版。 1660 01:18:25,550 --> 01:18:29,600 最終,你會實現這一點, ETRADE自己的網站 1661 01:18:29,600 --> 01:18:32,220 實現統稱CS50金融。 1662 01:18:32,220 --> 01:18:36,000 >> 最後,因為你在這裡住這麼晚 今天,如果你回來的這部分 1663 01:18:36,000 --> 01:18:41,120 校園,在今天下午4:00,我們將 不僅給你的意見,在SCES 1664 01:18:41,120 --> 01:18:44,200 諮詢洽談會,在下午4:00 麥克斯韋 - 德沃金,我們會給你一些 1665 01:18:44,200 --> 01:18:47,470 Americone夢,櫻桃加西亞, 巧克力布朗尼巧克力 1666 01:18:47,470 --> 01:18:50,840 片餅乾麵團,而且,當你谷歌 矮胖猴,你得到這個。 1667 01:18:50,840 --> 01:18:53,620 因此,所有等待4:00 PM在麥克斯韋 - 德沃金。 1668 01:18:53,620 --> 01:18:56,736 週三見。 1669 01:18:56,736 --> 01:18:59,960 >> 揚聲器2:在接下來的 CS50,RJ的睡眠。 1670 01:18:59,960 --> 01:19:03,656 1671 01:19:03,656 --> 01:19:04,906 >> RJ:我的部分! 1672 01:19:04,906 --> 01:19:07,727 1673 01:19:07,727 --> 01:19:08,977 哈! 1674 01:19:08,977 --> 01:19:12,056 1675 01:19:12,056 --> 01:19:13,306 哦, 1676 01:19:13,306 --> 01:19:16,374