1 00:00:00,000 --> 00:00:05,040 2 00:00:05,040 --> 00:00:08,440 >> SAM LEVATICH:へようこそ この週のセクション。 3 00:00:08,440 --> 00:00:10,040 私はアンディないです。 4 00:00:10,040 --> 00:00:14,590 アンディはこの日、病気落ち、私ました ソートの直前に呼び出されました 5 00:00:14,590 --> 00:00:15,700 引き継ぎます。 6 00:00:15,700 --> 00:00:20,920 これは、インフルエンザの季節ですので、ていることを確認します クリーン滞在している、あなたの手を洗います、 7 00:00:20,920 --> 00:00:24,800 なるように食べて健康 あなたは、あまりにも、寝たきりではありません。 8 00:00:24,800 --> 00:00:26,870 >> しかし、さらになし ADO、始めましょう。 9 00:00:26,870 --> 00:00:29,970 今日、我々は話をするつもりです PHPについて少しbit--方法 10 00:00:29,970 --> 00:00:33,900 PHPは、HTMLに関するものであり、どのように CSSに関連し、ウェブの一部 11 00:00:33,900 --> 00:00:36,100 あなたが最後に割り当てた上でのもの。 12 00:00:36,100 --> 00:00:37,930 我々は話をするつもりです SQLについて少し 13 00:00:37,930 --> 00:00:41,360 そして、どのようにデータベースを操作することができ、 これはPのかなり重要な要素であります 14 00:00:41,360 --> 00:00:43,650 設定8-- Pは7を設定します。 15 00:00:43,650 --> 00:00:44,480 Pは7を設定します。 16 00:00:44,480 --> 00:00:48,400 >> そして、我々は、少し話をするつもりです ビューコントローラがどのように機能するかについて少し 17 00:00:48,400 --> 00:00:54,640 それはいくつかの背景にある哲学だ理由 現代のWebページとは異なるデザイン。 18 00:00:54,640 --> 00:00:58,760 アプリの種類はかなり多く アプリケーションはあなたが出荷するかもしれません 19 00:00:58,760 --> 00:01:01,120 このモデルを使用しています、 ビューコントローラのフレームワーク、 20 00:01:01,120 --> 00:01:02,890 あなたが使用すること P 7に設定されているので、私はよ 21 00:01:02,890 --> 00:01:05,220 少し話 それはなっている理由について 22 00:01:05,220 --> 00:01:07,970 人気、なぜそれが重要とうれしいです。 23 00:01:07,970 --> 00:01:12,052 そして、私は最終的に移動します Pへの取り組みについていくつかのヒントを7に設定します。 24 00:01:12,052 --> 00:01:13,760 そして、我々は時間があれば 最後に残され、 25 00:01:13,760 --> 00:01:17,320 私たちは実際にいくつかを行うことができます その一緒に仕事。 26 00:01:17,320 --> 00:01:20,380 >> だから、PHP。 27 00:01:20,380 --> 00:01:23,790 実際には、あなたは気づいたかもしれthis-- あなたは本当にit--に飛び込む必要はありませんでした 28 00:01:23,790 --> 00:01:27,880 しかし、Pが6セット、いくつかのPHPを持っていました 起こっていたコード。 29 00:01:27,880 --> 00:01:34,710 そして、PHPはCに似ているので 言語、PHP、HTMLとCSSとは異なり、 30 00:01:34,710 --> 00:01:39,030 プログラミング言語は、 HTMLとCSSのに対し、静的です。 31 00:01:39,030 --> 00:01:44,050 彼らは扱うマークアップ言語です スタイルや視覚的なレイアウトと。 32 00:01:44,050 --> 00:01:46,230 PHPは、実際の契約です。 33 00:01:46,230 --> 00:01:51,590 >> PHPは、ループを持って、それがconditions--ています ℃で約楽しいですすべてのもの 34 00:01:51,590 --> 00:01:56,190 それは少しあるいくつかのことを持っています 我々が表示されますC、より良いビット、 35 00:01:56,190 --> 00:01:59,760 私は話をする最も簡単な方法だと思います PHPに関するだけで潜ることです。 36 00:01:59,760 --> 00:02:04,087 だから私は右に行くつもりです この時点でIDEに。 37 00:02:04,087 --> 00:02:06,170 私たちが行っている最初のもの 実際に見ている行うには 38 00:02:06,170 --> 00:02:10,169 のいくつかを少し PにあったPHPコードは、6を設定します。 39 00:02:10,169 --> 00:02:13,600 だから我々はthat--やり方 私たちが実行していた方法で、前 40 00:02:13,600 --> 00:02:18,550 アプライアンスのサーバー 我々はtype--しなければならないということでした 41 00:02:18,550 --> 00:02:21,750 あなたの実装を使用しますか またはスタッフの実装 42 00:02:21,750 --> 00:02:27,059 ディレクトリに行くことによってserver.cの なしのいずれかでserver.cを実行しています 43 00:02:27,059 --> 00:02:30,100 これだけでそれを呼び出しますarguments-- おそらく何であるローカルホスト、 44 00:02:30,100 --> 00:02:31,849 time--のほとんどをしました し、それを供給 45 00:02:31,849 --> 00:02:35,380 とdirectory-- これはそのルートとして使用します 46 00:02:35,380 --> 00:02:38,310 どこのウェブサイトが希望 基本的には、実行されます。 47 00:02:38,310 --> 00:02:42,180 >> Pに対する今週として、7を設定 server.cのための私たちのコードのような偉大な 48 00:02:42,180 --> 00:02:47,580 で、すでに持っている人がいます CS50でこれらの細かいものを上書き 49 00:02:47,580 --> 00:02:49,630 それは少しを持っています より多くの機能、 50 00:02:49,630 --> 00:02:52,920 可能なサーバプログラム もう少しの対処 51 00:02:52,920 --> 00:02:56,350 その私たちがよ複雑なの 両方のPで参照7を設定し、Pは8を設定します。 52 00:02:56,350 --> 00:03:01,410 そして、あなたが起動する方法 サーバーはただ、次のように入力している」apache50を。」 53 00:03:01,410 --> 00:03:03,960 >> そして、あなたは何を行う前に、 あなたが確認します 54 00:03:03,960 --> 00:03:06,070 Apacheの50ではないこと そのままではすでに実行されています 55 00:03:06,070 --> 00:03:08,130 私はそれをテストするためにやった私のマシン上で。 56 00:03:08,130 --> 00:03:10,320 そして、あなたはapache50を呼び出すことによってそれを行います。 57 00:03:10,320 --> 00:03:14,070 停止し、あなたはそれが停止していていることがわかります Webサーバ、あなたが見ることができる場合 58 00:03:14,070 --> 00:03:16,340 ターミナルウィンドウの下部にあります。 59 00:03:16,340 --> 00:03:21,090 そして、ちょうど開始するには、我々はしています 呼ぶことにし、「スタートapache50。」 60 00:03:21,090 --> 00:03:23,150 そして、我々が行っています それにディレクトリを養うために。 61 00:03:23,150 --> 00:03:26,950 >> 今、私たちが見てみたいので、 Pの一部で6コードを設定 62 00:03:26,950 --> 00:03:32,850 我々は、私が実際に実装されていたこと Pの少しをコピー 63 00:03:32,850 --> 00:03:37,090 自分のフォルダに6コードを設定し、 これはあなたがそこに左側に見ることができます。 64 00:03:37,090 --> 00:03:40,170 それは、「SECTION8」と呼ばれています すべて大文字で 65 00:03:40,170 --> 00:03:44,510 私は興奮しているので、 今日のライブストリームします。 66 00:03:44,510 --> 00:03:47,330 >> 我々はこれを実行する場合、それは必要がありますので、 すべてはかなり効果的に働きます。 67 00:03:47,330 --> 00:03:52,350 これは、[OK]を、私たちのサイトは今で言います、 IDEのアドレスで入手でき、 68 00:03:52,350 --> 00:03:57,710 基本的に、あなたが使用していたものです それがPに7--を設定したものと同じPは6を設定します。 69 00:03:57,710 --> 00:04:00,899 すべての私のインデックスは、今日一つの指標です。 70 00:04:00,899 --> 00:04:02,940 だから我々はそれに行くことができます アドレス、あなたは覚えているだろうと、 71 00:04:02,940 --> 00:04:05,710 ちょうどこの小さなをクリックして 右上のボタンをクリックします。 72 00:04:05,710 --> 00:04:14,200 >> そして、あなたは、このコードを思い出し あなたがhello.phpに入ったときに起こりました。 73 00:04:14,200 --> 00:04:18,000 そして、コードがするように設計されているもの 名前に入力したときに実行されます 74 00:04:18,000 --> 00:04:20,550 あなたはサムを言うhere--場合 それが私のname--だから 75 00:04:20,550 --> 00:04:23,620 私はときに、挨拶をクリック 我々は、次のページに行き、 76 00:04:23,620 --> 00:04:25,270 その名前が表示されるようになっていました。 77 00:04:25,270 --> 00:04:28,550 それは、言う「こんにちは、サム " または "こんにちは、"どんな名前あなたを 78 00:04:28,550 --> 00:04:32,470 私たちが行ったにも関わらず、それに入れ まったく新しいWebページへ。 79 00:04:32,470 --> 00:04:36,610 >> そして、これはものの一種であります PHPはあなたのために行うことができます。 80 00:04:36,610 --> 00:04:42,840 PHPはデータを渡すことができます 2つのウェブページの間。 81 00:04:42,840 --> 00:04:44,390 これは全く別のページです。 82 00:04:44,390 --> 00:04:46,990 あなたは、タイトルが「こんにちは」ここで表示されます。 83 00:04:46,990 --> 00:04:49,080 実際には、彼らが持っています 同じタイトルが、私 84 00:04:49,080 --> 00:04:52,560 彼らは別のWebある約束 ページ私たちは、ソースを見れば。 85 00:04:52,560 --> 00:04:55,890 そして、あなたはのデータを渡すことができます このテキストフ​​ィールドに入力され、 86 00:04:55,890 --> 00:04:59,830 あなたの次に提出 アップと呼ばれていますページ、 87 00:04:59,830 --> 00:05:02,490 そして、そのデータがすることができます 現在の形で存在すること。 88 00:05:02,490 --> 00:05:04,810 >> 今、私たちはまだ実装されていません この自分自身を、どの 89 00:05:04,810 --> 00:05:08,710 我々が今やろうとしているものです ソート、PHPがどのように動作するかのための味を取得します 90 00:05:08,710 --> 00:05:15,070 しかし、重要なアイデアは、あなたができるPHP--ということです ソートの関数のように考えることもできます。 91 00:05:15,070 --> 00:05:18,570 PHPはあなたをさせることができます何か それを行うにはパラメータを取ることができています 92 00:05:18,570 --> 00:05:24,710 そのHTMLページへのご入力 PHPとフォームを使用することにより、 93 00:05:24,710 --> 00:05:29,960 そして、それはパラメータとしてそれらを渡すことができます それがアップロードし、次のページへ。 94 00:05:29,960 --> 00:05:35,110 >> この場合、我々はこれをロードしています 「よろしく」ボタンでページを表示します。 95 00:05:35,110 --> 00:05:38,960 しかし今のところ、私は実際に そのコードの一部を削除 96 00:05:38,960 --> 00:05:44,850 実行されていたhello.phpで それは実際には「ハローを表示して、 97 00:05:44,850 --> 00:05:49,680 世界」または「こんにちは、サム」または 「こんにちは」だけ入力されたものは何でも。 98 00:05:49,680 --> 00:05:53,620 だから、今のために、私たちはしています 基本的には、それをするつもり。 99 00:05:53,620 --> 00:05:56,570 我々はそれを再作成しようとしていると また、いくつかのより多くの機能を追加 100 00:05:56,570 --> 00:06:00,210 それをもう少し行い、参照してください。 何PHPは本当に可能です。 101 00:06:00,210 --> 00:06:04,870 >> そこでまずは、についてお話しましょう このファイルhello.php。 102 00:06:04,870 --> 00:06:07,440 私たちはズームインあれば 今私はbit--少しと 103 00:06:07,440 --> 00:06:10,520 すべてのスクロールしようとしているの並べ替え 方法はありaround--私達は行きます。 104 00:06:10,520 --> 00:06:14,220 あなたはそれを呼び出して表示されます hello.phpが、それの構文 105 00:06:14,220 --> 00:06:16,880 HTMLファイルのように見えます。 106 00:06:16,880 --> 00:06:20,380 これは、あります このファイル内の実際のPHP 107 00:06:20,380 --> 00:06:25,220 すべてのこれらの間に貼り付けられています 疑問符-キャレットブロック。 108 00:06:25,220 --> 00:06:28,610 右ここですべて PHPコードであると考えられます。 109 00:06:28,610 --> 00:06:32,040 >> そして、あなたはそれに気付くでしょう 私がコメントをしたとき、 110 00:06:32,040 --> 00:06:35,320 使い慣れたが表示されます 2つの順方向のスラッシュ。 111 00:06:35,320 --> 00:06:38,440 そして、あなたはで、思い出した場合 HTML、私はコメントを入力した場合、 112 00:06:38,440 --> 00:06:42,540 それはに近いものになります HTMLにコメントしているこの、。 113 00:06:42,540 --> 00:06:46,570 間のだから本当にすべて これらの二つの角括弧 114 00:06:46,570 --> 00:06:50,060 PHPコードは、今これは 実際に反映されています 115 00:06:50,060 --> 00:06:53,270 この小さなコメント記号こと コメントになっています。 116 00:06:53,270 --> 00:06:58,420 >> あなたも、PHPコードを記述するので、すべての時間 何のHTMLコードはそれの外にありません場合は、 117 00:06:58,420 --> 00:07:02,720 それは常にになるだろう これらの角括弧で囲まれました 118 00:07:02,720 --> 00:07:04,080 疑問符を持ちます。 119 00:07:04,080 --> 00:07:08,260 どのようにすべてのあなたは、ソートのit--について考えることができます あなたのCプログラムで実行したコードの 120 00:07:08,260 --> 00:07:13,950 int型メイン、空洞内に封入されました、 中括弧、中括弧文を終了します。 121 00:07:13,950 --> 00:07:17,100 そして、あなたはで中括弧が表示されます PHPは、あまりにもが、これは一種のです 122 00:07:17,100 --> 00:07:20,490 PHPの主な方法のように。 123 00:07:20,490 --> 00:07:25,630 >> だから今、どのように我々は、PHPで何をしますか? 124 00:07:25,630 --> 00:07:29,190 今、PHPはプログラミングです 非常にCに似た言語です、 125 00:07:29,190 --> 00:07:30,970 それはウェブ上で動作します。 126 00:07:30,970 --> 00:07:33,270 だから、一つのこと、その あなたは1をimmediately--ます 127 00:07:33,270 --> 00:07:38,130 あなたが本当にで行った最初のものの Cはあなたが右、ものをプリントアウトしたのですか? 128 00:07:38,130 --> 00:07:42,290 だから、C言語で、私たちはそれをやりました printf関数と。 129 00:07:42,290 --> 00:07:46,430 我々はそれを文字列を与えました、 おそらく、新しい行と、 130 00:07:46,430 --> 00:07:49,850 し、我々は終了 それセミコロンで。 131 00:07:49,850 --> 00:07:53,790 >> だから我々はことをやろうとしている方法 PHP--にそれはかなりのprintfはないので。 132 00:07:53,790 --> 00:07:55,940 これは、異なる構文を少しです。 133 00:07:55,940 --> 00:08:02,580 私たちは物事をプリントアウト方法 PHPで私たちは「こんにちはエコー」、言うです 134 00:08:02,580 --> 00:08:04,180 または任意の単語を「エコー」。 135 00:08:04,180 --> 00:08:09,830 そして、それはやっての効果があります 文字列をprintfの、「こんにちは。」 136 00:08:09,830 --> 00:08:11,990 そして、それはそれに新しい行を追加します。 137 00:08:11,990 --> 00:08:16,000 >> それでは、今sure--しましょう 私は再び少しズームアウトしますbit-- 138 00:08:16,000 --> 00:08:18,250 のは、そのことを確認してみましょう そのコードは動作しています 139 00:08:18,250 --> 00:08:21,030 そこに非常に可能性があるため、 よくこのコードのバグで 140 00:08:21,030 --> 00:08:22,880 ことを我々が対処する必要があります。 141 00:08:22,880 --> 00:08:25,860 だから、サーバがすでに実行されています。 142 00:08:25,860 --> 00:08:30,630 だから我々は戻って一番下までスクロールすると、 うん、サーバーがまだ実行されています。 143 00:08:30,630 --> 00:08:34,510 だから、これだけでタップします 少し右here-- 144 00:08:34,510 --> 00:08:37,620 welcome--我々は偉大なget--必要があります。 145 00:08:37,620 --> 00:08:39,930 >> 我々はまだ持っています おなじみの「挨拶」の対話、 146 00:08:39,930 --> 00:08:45,750 私が入力したときが、 "こんにちは、"我々が表示されます テキスト「こんにちは」は確かにあったこと 147 00:08:45,750 --> 00:08:50,080 正確に同じである、プリントアウト 私たちは、PHPでエコーので期待しました 148 00:08:50,080 --> 00:08:53,190 ちょうどprintf文のようなものです。 149 00:08:53,190 --> 00:09:01,410 だから戻ってコードに、P 6がした設定方法 あなたが提供されているディストリビューションコード 150 00:09:01,410 --> 00:09:05,920 PHPはなるようにそれを作ります 出力あなたの事 151 00:09:05,920 --> 00:09:07,920 前の画面上で入力されましたか? 152 00:09:07,920 --> 00:09:10,350 >> ソートの調べるために、 それがなぜ起こるか、私たちはしています 153 00:09:10,350 --> 00:09:15,510 index.htmlをに行くつもり、どの 元のファイル、ファイルであります 154 00:09:15,510 --> 00:09:18,710 この画面に現れます 「よろしく」ボタンで。 155 00:09:18,710 --> 00:09:20,950 あなたはそこだと気付きます すべての古典的なもの 156 00:09:20,950 --> 00:09:26,910 我々は、HTMLから期待するようになってきました これらの事のように、これらのタグは、囲まれました 157 00:09:26,910 --> 00:09:31,080 角括弧で、PHPのような しかし疑問符なし、 158 00:09:31,080 --> 00:09:34,650 これはHTMLに特別なことを示しています。 159 00:09:34,650 --> 00:09:36,895 我々はタイトル、持っている "こんにちは。" 160 00:09:36,895 --> 00:09:41,010 そして、あなたは、私たちが見たようにいることに気づくでしょう タイトルは、どちらの場合も、「こんにちは」です。 161 00:09:41,010 --> 00:09:43,260 のはこの1つを変更してみましょう ちょうどそう、「言う」ために、我々 162 00:09:43,260 --> 00:09:48,170 私たちがどこにあるか自分自身を区別することができます。 163 00:09:48,170 --> 00:09:49,600 >> しかし、私たちは体を持っています。 164 00:09:49,600 --> 00:09:52,690 そして興味深いビット、 HTMLに表示ビット、 165 00:09:52,690 --> 00:09:54,530 このフォーム要素です。 166 00:09:54,530 --> 00:09:56,370 そして、私たちは形を持っています。 167 00:09:56,370 --> 00:09:58,330 そして、これが重要です。 168 00:09:58,330 --> 00:10:00,530 これは、PHPで作業している方法です。 169 00:10:00,530 --> 00:10:05,790 のアクションパラメータ フォームはと言うhello.php 170 00:10:05,790 --> 00:10:09,310 我々は送信しようとしているものです このフォームの値に。 171 00:10:09,310 --> 00:10:13,830 私たちが渡しているところです パラメータは、いわば。 172 00:10:13,830 --> 00:10:18,680 >> ここに別の事に気付くでしょう 方法があるということである "を得ます。」 173 00:10:18,680 --> 00:10:24,450 二つの主要ながあります。 意志によって方法 174 00:10:24,450 --> 00:10:28,750 データを渡すためにPHPを使用します websites--ウェブページとの間の、 175 00:10:28,750 --> 00:10:30,500 この割り当てにrather--。 176 00:10:30,500 --> 00:10:34,070 そして、それらの方法は、「取得」と「ポスト」を 177 00:10:34,070 --> 00:10:37,010 いくつかの微妙ながあります。 GETとPOSTとの違い 178 00:10:37,010 --> 00:10:40,520 我々は我々がinto--取得すること あなたがする場合は、に「取得」します。 179 00:10:40,520 --> 00:10:44,030 >> しかし、すべての意図および 目的、取得およびポスト 180 00:10:44,030 --> 00:10:47,120 それだけの方法の両方があります あなたはパラメータを渡します 181 00:10:47,120 --> 00:10:49,500 わずかに異なる実行しています。 182 00:10:49,500 --> 00:10:53,500 今のところ、我々が得るために使用するつもりです 取得最初に使用されたものでした 183 00:10:53,500 --> 00:10:57,340 PのPHPファイルに6を設定します。 184 00:10:57,340 --> 00:11:00,850 そして実際に、我々はで行くと見れば 私たちは何かを編集した前に、 185 00:11:00,850 --> 00:11:03,090 私が挨拶するつもりです あなたの名前は何でしょうかto--? 186 00:11:03,090 --> 00:11:03,812 >> 者:エリオット。 187 00:11:03,812 --> 00:11:04,770 SAM LEVATICH:ああ、まあ。 188 00:11:04,770 --> 00:11:05,600 私はそれをスペルする方法がわかりません。 189 00:11:05,600 --> 00:11:06,766 あなたは私のためにそれを綴るてもらえますか? 190 00:11:06,766 --> 00:11:08,710 聴衆:E-L-L-I-O-T。 191 00:11:08,710 --> 00:11:09,720 >> SAM LEVATICH:I-O-T? 192 00:11:09,720 --> 00:11:10,440 >> 聴衆:うん。 193 00:11:10,440 --> 00:11:10,960 >> SAM LEVATICH:パーフェクト。 194 00:11:10,960 --> 00:11:11,210 OK。 195 00:11:11,210 --> 00:11:12,751 私はそれをスペルする方法を知っていると思います。 196 00:11:12,751 --> 00:11:13,510 そのことはごめんなさい。 197 00:11:13,510 --> 00:11:16,560 私たちが言う場合でも「よろしく、「そうではありません それは、画面上に表示するつもりはありません 198 00:11:16,560 --> 00:11:18,476 まだ我々が変更されたため、 コー​​ドを少し。 199 00:11:18,476 --> 00:11:21,290 私たちがしなければしかし、「よろしく」 - [OK]を、ので、 "こんにちは"ここにあります。 200 00:11:21,290 --> 00:11:24,137 しかし、我々は近いがかかる場合 URL自体を見て、 201 00:11:24,137 --> 00:11:26,220 我々はそれが終了していることがわかります hello.php?名前=エリオットと。 202 00:11:26,220 --> 00:11:30,980 203 00:11:30,980 --> 00:11:37,180 >> だから、これは一つの方法です 次のWebページへの通信 204 00:11:37,180 --> 00:11:39,240 私たちが渡されてきたパラメータ。 205 00:11:39,240 --> 00:11:40,870 私たちは、名前=エリオットと述べました。 206 00:11:40,870 --> 00:11:46,290 Pは6を設定する方法そしてそれは最終的です 私たちは、渡された変数にアクセス 207 00:11:46,290 --> 00:11:47,520 フォームから。 208 00:11:47,520 --> 00:11:51,470 そして、これは何かがあること get要求に特有のものです。 209 00:11:51,470 --> 00:11:57,480 get要求は、パラメータを作ります WebサイトのURLで知られています。 210 00:11:57,480 --> 00:12:01,190 >> そして、あなたはあまりにも、思い出し、 Pであなたことを6に設定 211 00:12:01,190 --> 00:12:04,450 関数を記述しなければなりませんでした 事実を扱っていること 212 00:12:04,450 --> 00:12:09,700 、このクエリ文字列 ファイルの後に存在する可能性があります。 213 00:12:09,700 --> 00:12:14,684 続いて疑問符がある可能性があります 文字の基本的にはどの番号で。 214 00:12:14,684 --> 00:12:16,350 そして、それはまさにここで起こっているのだもの。 215 00:12:16,350 --> 00:12:21,280 そして、あなたが持っていた理由は、それを解析します P内のserver.cの実装で 216 00:12:21,280 --> 00:12:27,570 6を設定して、あなたが言うことができるようです =エリオットに名前をPHPコード。 217 00:12:27,570 --> 00:12:30,460 あなたのことができるようにするために必要な URLのうち、それを解析 218 00:12:30,460 --> 00:12:35,900 そのように、問題のPHPファイル それが扱っていたものを知っていました。 219 00:12:35,900 --> 00:12:39,350 >> だから、うまくいけば、これは与えます server.cに意欲 220 00:12:39,350 --> 00:12:43,900 今私たちが移動していること PHPへのCの外。 221 00:12:43,900 --> 00:12:48,240 それでは、実際にアクセスするに焦点を当ててみましょう 今get要求を通過したもの 222 00:12:48,240 --> 00:12:48,880 この時点で。 223 00:12:48,880 --> 00:12:50,157 私はこれを保存するつもりです。 224 00:12:50,157 --> 00:12:51,240 私たちは何も変更しませんでした。 225 00:12:51,240 --> 00:12:56,080 我々は、入力フィールドを持っているように見えます。 226 00:12:56,080 --> 00:12:58,550 >> 我々はいくつかのプロパティを設定しています、 我々は、HTMLを行うことができます。 227 00:12:58,550 --> 00:12:59,550 これらは単純なものです。 228 00:12:59,550 --> 00:13:00,580 我々は、これらを必要としません。 229 00:13:00,580 --> 00:13:03,750 しかし、我々は、オートコンプリートをオフに持っています 基本的に、あなたが知っていますsays-- 230 00:13:03,750 --> 00:13:05,710 あなたは物事を入力すると、 時には、ウェブへ 231 00:13:05,710 --> 00:13:07,355 それはあなたのためにそれを埋めるためにしようとします。 232 00:13:07,355 --> 00:13:08,230 だから、素晴らしいことです。 233 00:13:08,230 --> 00:13:11,700 我々は、この目的のためにそれをオフにします。 234 00:13:11,700 --> 00:13:13,970 それはCS50の決定でした。 235 00:13:13,970 --> 00:13:15,640 だから我々は、我々が望んでいた場合は、その削除を行うことができます。 236 00:13:15,640 --> 00:13:19,510 >> オートフォーカスは、ちょうどカーソルスティック 初めに、フォームの右インチ 237 00:13:19,510 --> 00:13:21,060 ここでも、あまりにも重要ではありません。 238 00:13:21,060 --> 00:13:26,220 >> しかし、名前= "名前" - それは少しです それは名前と名前だからトリッキー。 239 00:13:26,220 --> 00:13:28,730 しかし、我々は、変更した可能性があり この他の何かに。 240 00:13:28,730 --> 00:13:30,563 そして実際に、それはです 私たちは今、何をやります。 241 00:13:30,563 --> 00:13:34,830 私たちは、「人」を言いますよ ソートの名前のようなものです 242 00:13:34,830 --> 00:13:36,790 人は、自分の名前で定義されている場合。 243 00:13:36,790 --> 00:13:41,480 >> それでは、これを閉じてみましょう、 当社のウェブサイトを再び開きます 244 00:13:41,480 --> 00:13:46,110 弊社のサーバーは、まだ実行されているので、 Apacheの50、我々はここに、こんにちは、言いますよ 245 00:13:46,110 --> 00:13:47,200 エリオット再び。 246 00:13:47,200 --> 00:13:48,460 何故なの? 247 00:13:48,460 --> 00:13:49,220 こんにちは。 248 00:13:49,220 --> 00:13:52,880 私たちはここに行くなら、我々が表示されます その後、名前の代わりに=エリオット、 249 00:13:52,880 --> 00:13:55,200 それは、人はエリオットを=と言います。 250 00:13:55,200 --> 00:14:00,060 そして、それは事実の直接的な結果です 私達はちょうど= "人"の名前を変更したこと 251 00:14:00,060 --> 00:14:06,840 >> の入力要素でそう HTMLフォーム、名前フィールド 252 00:14:06,840 --> 00:14:10,590 するための識別子であります 渡されるパラメータです。 253 00:14:10,590 --> 00:14:14,250 あなたが関数を作成している場合、それはようなものです 二つの整数にかかった「追加」 254 00:14:14,250 --> 00:14:16,670 あなたはint型aとint型のB述べました。 255 00:14:16,670 --> 00:14:22,680 それは名Aである場合、およびになります あなたは、別のフォームを望んでいます 256 00:14:22,680 --> 00:14:27,800 我々は、コピーするだけ行うことができますし、 貼り付けは、我々は名Bを持っているでしょう。 257 00:14:27,800 --> 00:14:31,030 >> だから今、私たちは2つのパラメータを持っています 通過していること 258 00:14:31,030 --> 00:14:36,970 次website--を取得 次のウェブページ、hello.php。 259 00:14:36,970 --> 00:14:39,770 そして、我々は実際に見ることができます その再び私たちが必要な場合。 260 00:14:39,770 --> 00:14:44,830 これはに対処するための最も簡単な方法です IDEでのWebコード、基本的に。 261 00:14:44,830 --> 00:14:47,940 あなたは、サーバーを起動し、それを得ます たびに実行してから、 262 00:14:47,940 --> 00:14:50,649 ただ近く、いくつかの変更を加えます そのファイルは、念のため。 263 00:14:50,649 --> 00:14:52,440 戻るボタンを押すと、 少しトリッキーです 264 00:14:52,440 --> 00:14:55,800 それは以前にロード可能性があるため、 バージョンではなく、最新の1。 265 00:14:55,800 --> 00:14:59,200 >> そして、あなただけクリックして ボタンを再度、ポップ、右ああup-- 266 00:14:59,200 --> 00:15:00,510 そして今、2つの形式があります。 267 00:15:00,510 --> 00:15:10,440 そして、私たちがそれぞれに一つのことを入力した場合 instance--ための「ジェイソンハーシュホーン、「選びます - 268 00:15:10,440 --> 00:15:11,590 私たちは、あいさつ。 269 00:15:11,590 --> 00:15:12,840 私たちは、パラメータを見上げます。 270 00:15:12,840 --> 00:15:18,910 我々が持っているようにそれはように、見えます 予想、=ジェイソンおよびb =ハーシュホーン、 271 00:15:18,910 --> 00:15:23,760 これは、2つのパラメータを表し、 我々は、この関数に渡されていること。 272 00:15:23,760 --> 00:15:27,900 >> だから今のは、実際に取得してみましょう 我々その機能を実装します 273 00:15:27,900 --> 00:15:30,840 P 6に設定していました。 274 00:15:30,840 --> 00:15:32,490 だから、今私たちはハローをエコーし​​ています。 275 00:15:32,490 --> 00:15:34,310 そして、それは非常に便利ではありません。 276 00:15:34,310 --> 00:15:38,530 我々はいくつかの変数をエコーし​​たいです それは、私たちに渡されました。 277 00:15:38,530 --> 00:15:40,320 そして、我々はこの変数の名前を知っています。 278 00:15:40,320 --> 00:15:41,770 我々は持っていると我々はbはしています。 279 00:15:41,770 --> 00:15:43,500 だから我々は、いずれかをエコーすることを選択することができます。 280 00:15:43,500 --> 00:15:45,470 >> しかし、どのように我々はそれにアクセスできますか? 281 00:15:45,470 --> 00:15:48,820 まあ、ある種のがあります PHPのグローバル変数。 282 00:15:48,820 --> 00:15:51,240 そして、私は書くつもりです ここにコメント欄でそれら。 283 00:15:51,240 --> 00:15:59,910 二つの最も重要なものはGETです そして今、私たちの目的のために投稿してください。 284 00:15:59,910 --> 00:16:05,350 これらは配列ですか、 技術的には、辞書 285 00:16:05,350 --> 00:16:10,540 ここで、私たちはしている私たちの変数 ライブ次のWebページに渡します。 286 00:16:10,540 --> 00:16:14,520 そして、我々はすぐにそれらを使用する方法を参照しなければなりません。 287 00:16:14,520 --> 00:16:19,720 >> PHPコードについてのもう一つの簡単なメモ およびC it--のいくつかの詳細、 288 00:16:19,720 --> 00:16:23,260 変数を宣言します または変数を使用するには、 289 00:16:23,260 --> 00:16:24,570 あなたが最初にそれらを宣言する必要がありました。 290 00:16:24,570 --> 00:16:30,860 そして、あなたはときにしなければならなかったもの それらがint aまたは文字bを言ったと宣言。 291 00:16:30,860 --> 00:16:35,630 あなたはこれらの型を宣言しなければなりませんでした あなたの前の変数は、それらを作成しました。 292 00:16:35,630 --> 00:16:38,800 PHP--あなたはのいずれかを実行する必要はありません。 293 00:16:38,800 --> 00:16:42,522 PHPはを要求しません。 変数の型。 294 00:16:42,522 --> 00:16:44,480 そして、あなたの方法に むしろvariable--を作成 295 00:16:44,480 --> 00:16:49,930 言っよりint型、char型、string-- 我々はknow--として、*本当にCHARこれは 296 00:16:49,930 --> 00:16:52,180 むしろすべてを行うより 、そのすべてのため 297 00:16:52,180 --> 00:16:54,620 同じタイプのものであり、 型なし、私たちはすることができます 298 00:16:54,620 --> 00:16:59,210 これは、1文字を使用します ドル記号があります。 299 00:16:59,210 --> 00:17:03,700 そして、あなたはそれがすでにポップだ表示されます 少しオートコンプリートの事、アップ。 300 00:17:03,700 --> 00:17:11,380 そして、それはその_GETや_POSTを言っています 私が利用可能な2つのオプションがあります。 301 00:17:11,380 --> 00:17:11,900 私に。 302 00:17:11,900 --> 00:17:16,430 これらの他のもののいくつかはあります PHPの他のグローバル変数 303 00:17:16,430 --> 00:17:18,430 あなたは以上の使用しているだろうと Pのコースは7を設定します。 304 00:17:18,430 --> 00:17:20,569 今のところ、我々はするつもりです GETとPOSTに焦点を当てています。 305 00:17:20,569 --> 00:17:22,910 しかし、これは便利です IDEがない事 306 00:17:22,910 --> 00:17:24,980 どこに入力した後に そのドル記号で、 307 00:17:24,980 --> 00:17:28,760 それは、グローバル変数を埋めることから始めましょう またはすでに定義した変数。 308 00:17:28,760 --> 00:17:34,360 >> だから、あなたが定義したい場合 「文字列」と呼ばれる変数 309 00:17:34,360 --> 00:17:38,290 あなたはそれが同じに設定することができ、「こんにちは。」 310 00:17:38,290 --> 00:17:40,100 そして、それは基本的にはそれと同じくらい簡単です。 311 00:17:40,100 --> 00:17:44,720 そして、我々は何ができます 以下のようなもの "エコー$文字列。" 312 00:17:44,720 --> 00:17:48,524 IDEはいくつかを投げする必要があります エラー私が間違って何をやっている場合は、 313 00:17:48,524 --> 00:17:50,190 うまくいけば、私は右のすべてをやっています。 314 00:17:50,190 --> 00:17:52,060 しかし、バグが常に発生します。 315 00:17:52,060 --> 00:17:56,670 >> もう一つのトリッキーなこと PHPは、それがコンパイルされていないということです。 316 00:17:56,670 --> 00:18:00,640 だから、Cプログラムで、あなたはどうなります 基本的にof--日課、 317 00:18:00,640 --> 00:18:02,710 あなたはに編集を行うことになります あなたのコードは、あなたはそれを保存したいです、 318 00:18:02,710 --> 00:18:04,460 そしてあなたが希望 それを作る、makeがあった場所 319 00:18:04,460 --> 00:18:08,830 コンパイラと呼ばれるステップ、 あなたのコードを作るために、打ち鳴らす、このテキスト 320 00:18:08,830 --> 00:18:10,570 実行可​​能ファイルに、ファイル。 321 00:18:10,570 --> 00:18:15,550 PHPはC言語に似ているが、それが実行されています Webブラウザによってその場で。 322 00:18:15,550 --> 00:18:17,640 だから、知っている方法はありません。 323 00:18:17,640 --> 00:18:19,790 >> それらを投げるだろうしてください 役に立つエラー、右? 324 00:18:19,790 --> 00:18:22,190 それはあなたのようになります この変数を宣言していません 325 00:18:22,190 --> 00:18:23,320 あなたはそれを使用しようとしました前に。 326 00:18:23,320 --> 00:18:29,120 あなたは、このすべての悪いstuff--セグメンテーション違反をしました セグメンテーション違反、すべてのその種の楽しい時間 327 00:18:29,120 --> 00:18:31,000 それは、makeに付属しています。 328 00:18:31,000 --> 00:18:33,920 PHPは両刃の剣であります あなたはこれらのエラーを取得することはできませんので、 329 00:18:33,920 --> 00:18:37,770 それはまた、あなたが知っているしないことを意味 本当にあなたのプログラムの何が問題になってい 330 00:18:37,770 --> 00:18:39,840 あなたはそれを実行し、それが働いていない場合。 331 00:18:39,840 --> 00:18:45,130 しかし、デバッガは指摘しなければなりません いくつかうまくいけば役に立つささいなこと 332 00:18:45,130 --> 00:18:47,950 構文的にあなたが修正できること。 333 00:18:47,950 --> 00:18:52,850 >> だから今、私たちはto--を越える場合 のはそれを閉じてみましょう、と言います。 334 00:18:52,850 --> 00:18:54,522 再度開きます。 335 00:18:54,522 --> 00:18:55,480 そして、我々はここに戻ってにしています。 336 00:18:55,480 --> 00:18:57,210 だから我々は、変数を持っています そして、変数b。 337 00:18:57,210 --> 00:18:58,626 そして、これらは、最終的には問題ではありません。 338 00:18:58,626 --> 00:19:01,850 我々は、hとg、それらを呼ぶことにします 特段の理由があります。 339 00:19:01,850 --> 00:19:03,120 >> そして、私たちは挨拶します。 340 00:19:03,120 --> 00:19:07,480 今では私たちの文字列のようになります。 「こんにちは」確かに印刷です。 341 00:19:07,480 --> 00:19:10,460 私たちは、という変数を作成しました "文字列は、「それは同じに設定された「こんにちは。」 342 00:19:10,460 --> 00:19:15,520 私たちが行う必要はありませんでしたことに注意してください malloc関数や文字配列を作ります。 343 00:19:15,520 --> 00:19:19,110 >> PHPでは、変数理由 、文字列タイプなしです 344 00:19:19,110 --> 00:19:22,230 以下のための文字と同じです すべての意図や目的。 345 00:19:22,230 --> 00:19:23,570 これは、「こんにちは。」かもしれません 346 00:19:23,570 --> 00:19:26,340 これはただの文字Kである可能性があります。 347 00:19:26,340 --> 00:19:29,290 これは数字の1とすることができます。 348 00:19:29,290 --> 00:19:30,300 そして、それは気にしません。 349 00:19:30,300 --> 00:19:33,560 PHPは気にしません あなたの変数の型。 350 00:19:33,560 --> 00:19:34,390 あるいは、それは注意して行います。 351 00:19:34,390 --> 00:19:36,240 あなたがしようとすると、それは気に それに物事を行います、 352 00:19:36,240 --> 00:19:38,790 それは気にしないで 宣言ステップ。 353 00:19:38,790 --> 00:19:46,960 >> ちょうどあなたがCにすることができます好きな、することができます このようなスタック上の文字列を宣言 354 00:19:46,960 --> 00:19:51,130 「スタック」ということはほとんどないですが、 潜在的な誤った名称のビット時 355 00:19:51,130 --> 00:19:52,230 我々は、PHPの話をしています。 356 00:19:52,230 --> 00:19:54,020 しかし、我々はそのことについて心配する必要はありません。 357 00:19:54,020 --> 00:19:55,936 だから私たちは私たちの文字列を持って 「こんにちは、「私たちは、文字列をエコー。 358 00:19:55,936 --> 00:19:58,880 だから今、私たちは、変数を説明してきました。 359 00:19:58,880 --> 00:20:06,060 だから今、私たちは、getについて話をする必要があり、 投稿しての最終的な事を行います 360 00:20:06,060 --> 00:20:12,660 本当にこのバックアップを取得するために必要な Pの機能に6を設定します。 361 00:20:12,660 --> 00:20:14,990 だから今、私たちはしています 文字列をエコーが、我々 362 00:20:14,990 --> 00:20:17,080 これらの変数を取得し、ポストしています。 363 00:20:17,080 --> 00:20:19,430 そして、私たちが使用しているので、 方法は、それを得ます 364 00:20:19,430 --> 00:20:24,810 自然なこと私たちの変数はそのようです 我々は、AとBの両方に興味を持っています 365 00:20:24,810 --> 00:20:29,870 アレイ内に配置されます または辞書、技術的に取得します。 366 00:20:29,870 --> 00:20:33,510 >> 我々が設定している場合ので、このように取得 あなたのgroups--で私が入る押します 367 00:20:33,510 --> 00:20:36,770 それは好きではなかったですit-- しかし、ここでは取得しています。 368 00:20:36,770 --> 00:20:38,000 だからすでに存在しています。 369 00:20:38,000 --> 00:20:41,380 だから我々はすでにアクセスに開始することができます GETの要素のいくつか。 370 00:20:41,380 --> 00:20:45,000 我々は取得しない場合、この構文については、 PHPの配列は非常にCに似ています。 371 00:20:45,000 --> 00:20:47,900 我々は我々の2つの角括弧を持っています。 372 00:20:47,900 --> 00:20:53,440 >> だから我々は、正常に取得言えば 配列、我々がアクセスすることができました 373 00:20:53,440 --> 00:20:55,600 ゼロ番目のインデックス、最初のインデックス。 374 00:20:55,600 --> 00:20:56,840 PHPはゼロインデックスです。 375 00:20:56,840 --> 00:21:00,550 私たちは、ゼロ、1言うことができます このようなtwo--もの。 376 00:21:00,550 --> 00:21:03,420 そして、私はそれが得ると言ってきました 技術的には辞書です。 377 00:21:03,420 --> 00:21:08,290 だから、PHPはボンネットの下に何をしていますか、 これはCより少し進歩して、 378 00:21:08,290 --> 00:21:12,760 それはすでにあなたにいくつかを与えているされています 辞書機能は、どの 379 00:21:12,760 --> 00:21:16,240 本当にハッシュテーブルで、 またはたぶん、しようとします。 380 00:21:16,240 --> 00:21:19,360 あるいは、技術的に 同様にしてみてください可能性があります。 381 00:21:19,360 --> 00:21:25,500 しかし、PHPはハッシュテーブルを実装しています、 これは効果的な辞書を形成しています。 382 00:21:25,500 --> 00:21:28,400 >> そして、私たちは名前を知っています 私たちの変数の、右? 383 00:21:28,400 --> 00:21:32,440 これは、渡されるです PHPによるクエリ文字列。 384 00:21:32,440 --> 00:21:37,290 我々はここで、aとb = HとB =グラムを持っています 変数の名前です。 385 00:21:37,290 --> 00:21:41,580 我々がアクセスできるようにする方法 キーに対応する値 386 00:21:41,580 --> 00:21:45,055 私たちの辞書にあります ちょうど[""] _GET_GETを言って。 387 00:21:45,055 --> 00:21:48,170 388 00:21:48,170 --> 00:21:51,365 >> だから今、私たちは_GET [""]を持っています。 389 00:21:51,365 --> 00:21:56,930 そして、私たちはすぐ内側置き換える場合 私たちのエコー、我々は_GET_GETをエコー場合は[""] - 390 00:21:56,930 --> 00:22:02,410 デバッガ場合と我々が表示されます this--に関するすべてのエラーをスローします 391 00:22:02,410 --> 00:22:05,620 我々はそれを保存し、これを閉じます。 392 00:22:05,620 --> 00:22:07,130 それを開きます。 393 00:22:07,130 --> 00:22:10,390 だから我々はちょうど右をやっています 今すぐBは問題ではないはず。 394 00:22:10,390 --> 00:22:12,980 「彼女」と「彼」 - "ハム。" "彼女"と "ハム"。 395 00:22:12,980 --> 00:22:14,810 いいですね。 396 00:22:14,810 --> 00:22:18,040 >> そして、それはプリントアウト 「彼女、 "狂気です。 397 00:22:18,040 --> 00:22:21,920 しかし、それは正確に何 6を設定Pに起こっていました。 398 00:22:21,920 --> 00:22:27,240 基本的に、どのようなPは6セット たdoing--エコーこんにちは、 399 00:22:27,240 --> 00:22:31,580 name--それが持っていたところ 変数名と、それだけで 400 00:22:31,580 --> 00:22:35,520 あなたがテキストのそのビットを入力するように求められます。 401 00:22:35,520 --> 00:22:37,380 いくつかのもありました 追加のコードどこ 402 00:22:37,380 --> 00:22:40,550 if文は、含ま これは我々が今行うことができます。 403 00:22:40,550 --> 00:22:50,120 >> 我々は、存​​在する場合は言うことができます PHP内の機能であり、 404 00:22:50,120 --> 00:22:55,110 下線付き_GET、「名前」 - 基本的にこれを言っています、 405 00:22:55,110 --> 00:22:58,760 なぜなら、「名前が入力されていた場合」 私たちはボタンをクリックした可能性が 406 00:22:58,760 --> 00:23:02,580 せずにフォームを提出します そのフィールドには何も入力します。 407 00:23:02,580 --> 00:23:07,760 そして、私たちは私たちにそれをラップ フレンドリーな中括弧。 408 00:23:07,760 --> 00:23:09,175 私たちは、else文を持つことができます。 409 00:23:09,175 --> 00:23:13,300 410 00:23:13,300 --> 00:23:18,820 そして、それは、PHPの角度内ですべてです ブラケット、疑問符、アングルブラケット、 411 00:23:18,820 --> 00:23:20,040 あなたがする場合。 412 00:23:20,040 --> 00:23:21,750 >> これが動作するかどうかそして今、我々は表示されます。 413 00:23:21,750 --> 00:23:26,300 私は、デバッグにそれを待た そして、基本的には、私にがらくた 414 00:23:26,300 --> 00:23:28,410 しかし、それはまだいません。 415 00:23:28,410 --> 00:23:30,830 多分それは今でしょう 私はについて話しましたので。 416 00:23:30,830 --> 00:23:31,330 うん。 417 00:23:31,330 --> 00:23:32,510 これは、実際には、なかったです。 418 00:23:32,510 --> 00:23:34,610 だから、何も現れていないされています。 419 00:23:34,610 --> 00:23:38,750 それがために間違って何かのためです 私は、PHPコードで書きました。 420 00:23:38,750 --> 00:23:42,844 そして、私はデバッグを述べました 我々は、理由PHPで注意が必要です 421 00:23:42,844 --> 00:23:45,260 事前にそれをコンパイルしませんでした コンパイラは好きではなかったが、 422 00:23:45,260 --> 00:23:46,710 あなたのエラーがどこにあるかここです。 423 00:23:46,710 --> 00:23:49,690 >> しかし、我々は何ができますか 人々はis--を覚えていますか 424 00:23:49,690 --> 00:23:57,010 異なるネットワークを見てどのように ウェブサイトをPHP--か、その要求 425 00:23:57,010 --> 00:23:57,620 送信しますか? 426 00:23:57,620 --> 00:24:00,290 [?マリン?]でこれをやりました 一度か二度講義。 427 00:24:00,290 --> 00:24:05,830 私たちが探しに行く場所を覚えて 別の債務と200 OKS、 428 00:24:05,830 --> 00:24:09,780 送信されているすべてのこれらのコード WebページへのWebページからHTTPを介しましたか? 429 00:24:09,780 --> 00:24:12,514 誰もが覚えていません 我々はそれを行うためにどこに行きますか? 430 00:24:12,514 --> 00:24:13,787 >> 対象:ページのソース。 431 00:24:13,787 --> 00:24:14,870 SAM LEVATICH:ページのソース。 432 00:24:14,870 --> 00:24:15,890 その通りです。 433 00:24:15,890 --> 00:24:19,230 あなたはページSource--の完璧に進みます。 434 00:24:19,230 --> 00:24:21,630 だから、ページのソースは、インスペクタをプルアップします。 435 00:24:21,630 --> 00:24:23,140 >> そして、私はSafariを使用しています。 436 00:24:23,140 --> 00:24:25,790 あなた方の多くは、おそらく意志 クロムまたはFirefoxを使用すること。 437 00:24:25,790 --> 00:24:27,750 しかし、限り、あなたはしているよう 現代の任意browser--で 438 00:24:27,750 --> 00:24:29,500 フォローして自由に感じます あなたがしたい場合に沿って。 439 00:24:29,500 --> 00:24:32,560 あなたは、このコードを入力しますか ちょうどPセット6の内部を見ます 440 00:24:32,560 --> 00:24:35,820 いくつかの類似のもののためのディレクトリ。 441 00:24:35,820 --> 00:24:41,020 hello.phpは、私たちがしているものです 現在エミュレートに取り組んでいます。 442 00:24:41,020 --> 00:24:42,476 >> だから、タブの様々なものがあります。 443 00:24:42,476 --> 00:24:43,850 我々は、すべてのリソースで見ることができます。 444 00:24:43,850 --> 00:24:45,810 私たちは、ソースコードを見ることができます。 445 00:24:45,810 --> 00:24:49,900 それがなかったようなので、見えます 最終的には過去の体を得ます。 446 00:24:49,900 --> 00:24:54,890 これは、PHPのエラーを発見し、それ 全体Webページのロードを停止。 447 00:24:54,890 --> 00:24:58,320 私たちも、終了していません HTMLや何のためのタグ。 448 00:24:58,320 --> 00:25:07,189 >> 我々はネットワークを見ればそして、我々はできます 我々は、要求を送信されていることがわかります。 449 00:25:07,189 --> 00:25:07,980 これは、ドメインです。 450 00:25:07,980 --> 00:25:09,270 これはアドレスです。 451 00:25:09,270 --> 00:25:10,070 これは、ドキュメントです。 452 00:25:10,070 --> 00:25:14,310 私たちは、getメソッドを使用しています。 453 00:25:14,310 --> 00:25:15,760 >> そして、それは赤です。 454 00:25:15,760 --> 00:25:19,030 とき、私あるいは、それが赤でした それを選択していませんでした。 455 00:25:19,030 --> 00:25:22,680 私はそれをどのように選択を解除できますか? 456 00:25:22,680 --> 00:25:23,980 まあ、それは赤でした。 457 00:25:23,980 --> 00:25:25,201 私はリフレッシュしましょう​​。 458 00:25:25,201 --> 00:25:25,700 そこにそれがある。 459 00:25:25,700 --> 00:25:26,640 今では赤です。 460 00:25:26,640 --> 00:25:30,530 >> だから、意味し、赤です それは悪いである、失敗しました。 461 00:25:30,530 --> 00:25:32,280 だから、それは失敗しなかった理由のは、調べてみましょう。 462 00:25:32,280 --> 00:25:37,070 したがって、すべてのページのソースができること 基本的にはあなたのものであることを伝えます 463 00:25:37,070 --> 00:25:38,720 我々はすでに見ることができる、機能しませんでした。 464 00:25:38,720 --> 00:25:42,100 理想的にはそこだろう より便利なツールです。 465 00:25:42,100 --> 00:25:45,710 そして、いくつかのブラウザ拡張機能があります それは、あなたがPHPをデバッグすることができます 466 00:25:45,710 --> 00:25:50,490 しかし、我々はするつもりはありません PHPのトンを書くこと、 467 00:25:50,490 --> 00:25:53,190 それはおそらく最善です あなたのコードを検索します 468 00:25:53,190 --> 00:25:56,760 慎重に、ちょうどそのことを確認してください それが何かをやっていません。 469 00:25:56,760 --> 00:26:03,876 >> したがって、この形式の場合を見てみましょう 文がある場合、問題があります。 470 00:26:03,876 --> 00:26:07,420 私はここまでのことをバックロードします。 471 00:26:07,420 --> 00:26:09,830 こんにちは、こんにちは。 472 00:26:09,830 --> 00:26:11,350 だから、そこに問題があります。 473 00:26:11,350 --> 00:26:15,130 >> 正しい構文については、そう PHPの、PHPが起こっています 474 00:26:15,130 --> 00:26:17,369 Cのようなことをその中にあなたがループが表示されます。 475 00:26:17,369 --> 00:26:18,410 ステートメント場合は、表示されます。 476 00:26:18,410 --> 00:26:20,920 あなたは、これらすべての友達が表示されます あなたが慣れてきたこと 477 00:26:20,920 --> 00:26:24,820 もちろんオーバーで このCS50学期の。 478 00:26:24,820 --> 00:26:29,960 どのように把握するのではなく、最良の方法 PHPで何かをすることは、それをGoogleにあります 479 00:26:29,960 --> 00:26:33,170 またはPHPコードのいくつかの例を見て あなたが機能を知っているので。 480 00:26:33,170 --> 00:26:35,080 >> あなたは何をすることができます知っています プログラムで行います。 481 00:26:35,080 --> 00:26:35,976 あなたがループすることができます。 482 00:26:35,976 --> 00:26:37,600 あなたが好きな回数だけループができます。 483 00:26:37,600 --> 00:26:39,433 すべてのループをすることができます 異なる方法の種類。 484 00:26:39,433 --> 00:26:40,700 あなたは、関数を作成することができます。 485 00:26:40,700 --> 00:26:43,241 あなたは、その機能を作成することができます 他の機能、関数を呼び出します 486 00:26:43,241 --> 00:26:44,150 それは自分自身を呼び出します。 487 00:26:44,150 --> 00:26:45,733 そして、あなたはこれらの概念の名前を持っています。 488 00:26:45,733 --> 00:26:49,860 あなたは、ループ、再帰を持っています もし、他の制御フロー。 489 00:26:49,860 --> 00:26:51,300 そしてそうGoogleはあなたの親友です。 490 00:26:51,300 --> 00:26:53,540 場合でも、PHP」、言います 声明」とそこによ 491 00:26:53,540 --> 00:26:57,740 とポストのトン 他の人の回答 492 00:26:57,740 --> 00:27:02,090 誰があなたに同様の質問を持っていました、 ただ、PHPで出始めている人 493 00:27:02,090 --> 00:27:03,820 構文の事に興味があります。 494 00:27:03,820 --> 00:27:08,480 >> 私たちはあることの贅沢を持っているので Pセット6内のコードを見てすることができ、 495 00:27:08,480 --> 00:27:14,980 我々は実際にそれをプルアップして、それを参照してください。 [OK]を、ここに何か面白いものです。 496 00:27:14,980 --> 00:27:18,070 だから、これは実際にどのようなことです P 6に設定のように見えました。 497 00:27:18,070 --> 00:27:20,340 だから我々は、この通過した場合、 私たちがしたことを見ることができます 498 00:27:20,340 --> 00:27:27,150 これらのほとんどのいくつかのです PHPのような疑問符ビット。 499 00:27:27,150 --> 00:27:29,050 >> そして、中括弧がありません。 500 00:27:29,050 --> 00:27:30,250 コロンがあります。 501 00:27:30,250 --> 00:27:32,340 そして、カーリーがあります PHPの中括弧が、この 502 00:27:32,340 --> 00:27:38,700 形式と実行の方法です HTMLでうまく動作PHP 503 00:27:38,700 --> 00:27:43,830 あなたが表示されますように、私たちは閉じているため、 よそbits--これらのPHPオフ 504 00:27:43,830 --> 00:27:49,770 IFS、その後that--とのすべてと 我々は彼らの内側にHTMLを散在しています 505 00:27:49,770 --> 00:27:54,640 まだ続いている間 制御フローは、PHPによって設定します。 506 00:27:54,640 --> 00:27:58,480 >> だから、僕はするつもりです このを通じて迅速な散歩 507 00:27:58,480 --> 00:28:01,740 それは同じの多くはだから 我々の前にやっていた概念。 508 00:28:01,740 --> 00:28:07,280 空でない場合私たちは、持っています 括弧、_GET_GET ["名前"]。 509 00:28:07,280 --> 00:28:08,500 これは、すべて同じものです。 510 00:28:08,500 --> 00:28:15,430 我々は、_GET辞書を使用しています PHPは、フォームの要求に応じて送信します 511 00:28:15,430 --> 00:28:20,720 それはのパラメータであるため、 アクション、およびメソッドはGETです。 512 00:28:20,720 --> 00:28:22,110 そして、それはそれを終了します。 513 00:28:22,110 --> 00:28:27,420 コロンはちょうどこれを行うにはシニフィアンであります if文はtrueに評価された場合。 514 00:28:27,420 --> 00:28:29,490 これは、中括弧のようなものです。 515 00:28:29,490 --> 00:28:33,320 そして実際に、それは中括弧です Pythonのような他の言語で、 516 00:28:33,320 --> 00:28:37,070 あなただけあれば発生する可能性があります あなたの最終的なプロジェクトのためにそれを行います。 517 00:28:37,070 --> 00:28:40,170 >> そして、このライン、こんにちは。 518 00:28:40,170 --> 00:28:41,510 その後、我々は、この奇妙なことを持っています。 519 00:28:41,510 --> 00:28:43,190 我々は、より多くのブラケットを持っています。 520 00:28:43,190 --> 00:28:46,140 申し訳ありませんが、HTTP there--やPHPありません。 521 00:28:46,140 --> 00:28:47,250 しかし、等号があります。 522 00:28:47,250 --> 00:28:50,625 そして、我々は機能を持っています、 htmlspecialchars(_GEThtmlspecialchars(_GET ["名前"])。 523 00:28:50,625 --> 00:28:54,440 524 00:28:54,440 --> 00:28:58,040 これは、より多くのような種類のあります エコーの高度なバージョン。 525 00:28:58,040 --> 00:29:01,450 我々は、方法として、エコーのようにしていました PHPで物事を印刷します。 526 00:29:01,450 --> 00:29:03,890 これはです機能です PHPで定義されています 527 00:29:03,890 --> 00:29:08,160 いくつかのより多くの厄介に対処します 文字とバイト値 528 00:29:08,160 --> 00:29:09,540 あなたはそれを渡すことができています。 529 00:29:09,540 --> 00:29:11,070 それは、これを使用することが常に最も安全です。 530 00:29:11,070 --> 00:29:14,930 しかし、仕事をするエコー 私たちはいないのであればうまく 531 00:29:14,930 --> 00:29:17,620 あまりにも厄介なものを扱います。 532 00:29:17,620 --> 00:29:20,340 >> そして、これは同じを持っています 基本の効果 533 00:29:20,340 --> 00:29:26,360 質問の間でこのようなもの マークは、PHPにより評価されます。 534 00:29:26,360 --> 00:29:34,490 htmlspecialchars素敵なHTMLを返します。 _GET_GETの印刷された値が["名前"]、すなわち、 535 00:29:34,490 --> 00:29:36,010 どのような我々は、フォームに入力しました。 536 00:29:36,010 --> 00:29:40,025 そしてそれは、挨拶します コンマ・スペース、およびその。 537 00:29:40,025 --> 00:29:42,910 間の全部 角括弧 538 00:29:42,910 --> 00:29:47,390 何に置き換えられます htmlspecialcharsを出します。 539 00:29:47,390 --> 00:29:49,390 だから、基本的には似ています 私たちがやっていることに。 540 00:29:49,390 --> 00:29:54,760 そして、我々はだelse文を持っています 理にかなっているのHello World。 541 00:29:54,760 --> 00:29:58,070 だから今のは戻って私たちに行きましょう コー​​ドとああexactly--参照してください。 542 00:29:58,070 --> 00:30:02,200 私はされていない、存在し​​ていると述べました 私たちがやりたかったこと。 543 00:30:02,200 --> 00:30:05,370 私たちは、空ではない言いたかったです。 544 00:30:05,370 --> 00:30:10,020 >> そして、これは少し動作するはずです 空_GET_GET ["名前"]、少し良くありません。 545 00:30:10,020 --> 00:30:12,710 そして、その中括弧 試合中括弧。 546 00:30:12,710 --> 00:30:15,210 ここでは私たちの中括弧を持っています。 547 00:30:15,210 --> 00:30:17,790 こんにちはエコー_GET ["名前"]。 548 00:30:17,790 --> 00:30:19,912 これは少し良く動作するかどうかを見てみましょう。 549 00:30:19,912 --> 00:30:21,350 我々はまだ我々のサーバーを実行しています。 550 00:30:21,350 --> 00:30:23,910 ジェイソンこんにちは。 551 00:30:23,910 --> 00:30:24,780 ジェイソンこんにちは。 552 00:30:24,780 --> 00:30:25,810 そしてそれは、この時間を働きました。 553 00:30:25,810 --> 00:30:29,860 そしてそうそれは証明です あなたが実際にできること 554 00:30:29,860 --> 00:30:35,180 中括弧を使用することをお HTMLでPHPコードに知っていると愛。 555 00:30:35,180 --> 00:30:41,100 に提供されるPHPコード PSETであなた6-- PSET 6-- 556 00:30:41,100 --> 00:30:44,760 別の方法を提供します その同じことをやって。 557 00:30:44,760 --> 00:30:49,220 >> だから今、私たちは力を持っています。 558 00:30:49,220 --> 00:30:55,740 私たちは、実装する機能を持っています 我々はPSET 6で見たPHPコード 559 00:30:55,740 --> 00:30:57,390 自分で、基本的に。 560 00:30:57,390 --> 00:31:01,350 私が移動する前に、いくつかのは何ですか あなたはこの時点で持っている疑問? 561 00:31:01,350 --> 00:31:02,066 [聞こえない]はい。 562 00:31:02,066 --> 00:31:06,512 >> 聴衆:だからpset6でバージョンで、 あなたがそれを実行すると、スペースがあります。 563 00:31:06,512 --> 00:31:09,330 スペースがどこにあると私は見ることができます カンマの後。 [聞こえない]スタート 564 00:31:09,330 --> 00:31:10,700 オープンブラケット。 565 00:31:10,700 --> 00:31:15,420 あなたはスペースを組み込むにはどうすればよいです あなたがあなた自身のコードを書いた方法はありますか? 566 00:31:15,420 --> 00:31:17,910 >> SPEAKER:良い質問です。 567 00:31:17,910 --> 00:31:21,650 そしてそうのはそれを把握しましょう​​。 568 00:31:21,650 --> 00:31:24,450 だから、本当に良い質問ですね 私は考えていませんでした1。 569 00:31:24,450 --> 00:31:25,950 しかし、それでは、一緒にそれをやってみましょう。 570 00:31:25,950 --> 00:31:30,280 >> すべてのだから最初、何 私はエコーでやっています 571 00:31:30,280 --> 00:31:33,690 私たちはエコー時です こんにちは、それはハローを出力します。 572 00:31:33,690 --> 00:31:41,310 私たちは今、エコー場合、これは別々に乗ります ラインは、のは、何が起こるか調べてみましょう。 573 00:31:41,310 --> 00:31:43,740 だから我々は、これをクリックします。 574 00:31:43,740 --> 00:31:45,220 我々は、ジェイソン・ハイ、言い続けます。 575 00:31:45,220 --> 00:31:48,690 だからもう一度、私たちは、このスペースがありません。 576 00:31:48,690 --> 00:31:53,090 >> そしてそれはで、ためです 我々はエコーしているPHP、 577 00:31:53,090 --> 00:31:55,820 どんなに多くの spaces--いや、ありませんV-- 578 00:31:55,820 --> 00:32:01,770 どんなに多くのスペース、我々は中に入れません here--我々は今それを再度アップロードした場合、 579 00:32:01,770 --> 00:32:03,010 こんにちはジェイソン。 580 00:32:03,010 --> 00:32:05,770 ええ、それらのすべてを見ます スペースは、最大食べてしまいました。 581 00:32:05,770 --> 00:32:08,020 そして、それはその何か エコー機能はありません。 582 00:32:08,020 --> 00:32:11,110 >> だから、の世話をするために その空間は、これは 583 00:32:11,110 --> 00:32:14,960 理由の一つ あなたは、エコーを使用しない理由 584 00:32:14,960 --> 00:32:18,200 あなたが代わりにはhtmlspecialcharsを使用しています。 585 00:32:18,200 --> 00:32:22,140 私は何だろう興味 我々はこれをしなかった場合に発生します 586 00:32:22,140 --> 00:32:26,700 ここで我々は、文字列内のスペースを囲いました。 587 00:32:26,700 --> 00:32:29,720 私は正直わからないもの 私はこれを行う場合に発生します。 588 00:32:29,720 --> 00:32:30,790 >> だから、一つの方法です。 589 00:32:30,790 --> 00:32:32,210 それはそれの世話をする一つの方法です。 590 00:32:32,210 --> 00:32:34,840 あなたは内のスペースをラップした場合 その後、文字列、スペース 591 00:32:34,840 --> 00:32:36,920 エコーによってうまく出力されます。 592 00:32:36,920 --> 00:32:41,930 行うための最も安全な方法です htmlspecialcharsを行います。 593 00:32:41,930 --> 00:32:43,800 それは常に安全な賭けです。 594 00:32:43,800 --> 00:32:47,050 しかし、今、私たちは行うための方法を持っています エコーとそれに必要な場合。 595 00:32:47,050 --> 00:32:50,700 そして、同じように、我々はできます 新しい行をエコー、すべての並べ替え 596 00:32:50,700 --> 00:32:53,550 原料のあなたは、PHPでやって慣れています。 597 00:32:53,550 --> 00:32:57,460 >> 他の誰、それ以上のものです 他の人が持っている質問 598 00:32:57,460 --> 00:33:01,090 PHPについては、この時点では? 599 00:33:01,090 --> 00:33:04,620 人々は少し遅れて現れた場合には、 私は、少し後に滞在する幸せです 600 00:33:04,620 --> 00:33:06,420 そして、最初のいくつかについて話しています。 601 00:33:06,420 --> 00:33:10,380 そしてそれはまた、すべてのlivestreamedです、 狂気である、アーカイブ。 602 00:33:10,380 --> 00:33:13,960 >> とにかく、今のはいくつかをやらせます PHPを使用した、より高度なもの。 603 00:33:13,960 --> 00:33:18,790 そして最も初期のものの一つあなた C言語でに導入されたループのためでした。 604 00:33:18,790 --> 00:33:24,060 そして、PHPはのためのより強力なを持っています ループは、foreachループと呼ばれます。 605 00:33:24,060 --> 00:33:37,940 そして、それは各ブランクのためthis--のように見えます 空白、中括弧として、ことを行います。 606 00:33:37,940 --> 00:33:41,500 だから、これは基本的に省略形です。 607 00:33:41,500 --> 00:33:45,380 >> ループのために、参照してください。 構文の建設 608 00:33:45,380 --> 00:33:50,590 C言語でとアセンブリに考案されました 言語とのようなもの。 609 00:33:50,590 --> 00:33:56,300 省略形として、正確C考案 ループの種類の多くのために 610 00:33:56,300 --> 00:33:57,750 人が見るであろう。 611 00:33:57,750 --> 00:34:01,230 あなたがそこに、ループを書いたときのように 多くの場合、初期化ステップました 612 00:34:01,230 --> 00:34:04,700 右の初めに実行されると、A ループがstop--う条件 613 00:34:04,700 --> 00:34:07,030 それが機能です それはちょうど、whileループでです、 614 00:34:07,030 --> 00:34:10,040 またはしばらくは正確に持っていること ちょうどそのfeature--して、 615 00:34:10,040 --> 00:34:12,320 最後に増分ステップ。 616 00:34:12,320 --> 00:34:16,489 だから、あなたは、多くの場合、自分自身を見つけるだろう 次のようなコードを書きます。 617 00:34:16,489 --> 00:34:19,780 私はこれの一部を消去するつもりです。 618 00:34:19,780 --> 00:34:23,850 >> しかし、我々はを反復処理している場合 配列内の文字、 619 00:34:23,850 --> 00:34:26,960 例えば、私たちがきたよう 文字の配列を得ました。 620 00:34:26,960 --> 00:34:29,400 私が知っているCを戻すために申し訳ありませんが、 あなたが行われたと思いました。 621 00:34:29,400 --> 00:34:31,900 しかし、それは唯一の目的のためです PHPを学んで、私は約束します。 622 00:34:31,900 --> 00:34:38,880 ですから、文字列strを得た場合 長さ8の、としましょう 623 00:34:38,880 --> 00:34:46,760 それはHellooo言う言います 末尾のヌルと。 624 00:34:46,760 --> 00:34:48,270 偉大なので、それは私たちの文字列です。 625 00:34:48,270 --> 00:34:51,469 >> そして、我々はループのために持っていました。 626 00:34:51,469 --> 00:34:53,730 私たちは、私が0に等しいint型ています。 627 00:34:53,730 --> 00:34:57,960 628 00:34:57,960 --> 00:35:09,110 そして、我々はstrをするときに終了します 私は、ヌルに等しくないに等しいです 629 00:35:09,110 --> 00:35:11,590 それがnullに等しいとき、我々は終了理由。 630 00:35:11,590 --> 00:35:19,170 そして、我々は、各iにおける++ん ループのためのポイント。 631 00:35:19,170 --> 00:35:30,480 私のSTRで何かを行います。 632 00:35:30,480 --> 00:35:34,950 >> だから、基本的な式がありました、 我々この配列を持っていました 633 00:35:34,950 --> 00:35:37,910 独立した要素として扱いたいと思いました。 634 00:35:37,910 --> 00:35:45,170 しかし、私たちがしなければならなかったものである我々がしなければなりませんでした 基本的には個別の整数を作成 635 00:35:45,170 --> 00:35:50,530 すべてのカウントアップされた変数 我々は、ループを通過した時間。 636 00:35:50,530 --> 00:35:55,240 そして、我々はその後、コールする必要があります 私たちが本当にやりたいことときに[I]はstrstr 637 00:35:55,240 --> 00:35:57,280 ただ文字を行くされています 文字によって、右? 638 00:35:57,280 --> 00:36:00,185 私たちは、インクリメントする必要はありません 整数とその整数を使用します 639 00:36:00,185 --> 00:36:02,780 個別に各文字にアクセスします。 640 00:36:02,780 --> 00:36:04,410 私たちは本当に文字ごとをしたいです。 641 00:36:04,410 --> 00:36:08,600 >> それでごとに、インテリジェント 私たちのためにそれを計算します。 642 00:36:08,600 --> 00:36:11,875 私たちは、配列を使用している場合、これは 私たちは、PHPで宣言することができます 643 00:36:11,875 --> 00:36:15,900 just--として、我々は変数を持っている場合 呼ばれる、の配列を呼び出してみましょう。 644 00:36:15,900 --> 00:36:19,840 無入力の奇跡、それはです ただ、他の変数のよう。 645 00:36:19,840 --> 00:36:20,730 それはちょうど配列です。 646 00:36:20,730 --> 00:36:26,890 そして、我々は、[聞こえない] 1のように少しを持っています 2、3、初期化された配列のちょうど一種。 647 00:36:26,890 --> 00:36:29,680 それは大丈夫だ、それは私のforeachのが好きではありません。 648 00:36:29,680 --> 00:36:33,120 >> しかし、我々は実際にforeach--ない場合 私は少し間違っていることを入力しました。 649 00:36:33,120 --> 00:36:34,840 foreachループを行うには二つの方法があります。 650 00:36:34,840 --> 00:36:37,400 中構文とのような構文があります。 651 00:36:37,400 --> 00:36:40,580 そして、我々はやろうとしています 最初の構文で、ないよう。 652 00:36:40,580 --> 00:36:41,780 それは私のミスです。 653 00:36:41,780 --> 00:36:53,785 >> 配列中のSOのforeach numが、エコーNUM。 654 00:36:53,785 --> 00:36:56,970 655 00:36:56,970 --> 00:36:59,500 そして、PHPは叫んでさ 何らかの理由で私。 656 00:36:59,500 --> 00:37:03,520 これは予想外を見つけることです 何かでで、 657 00:37:03,520 --> 00:37:05,820 これは気の少しです。 658 00:37:05,820 --> 00:37:09,105 しかし、我々は把握します その理由は、現時点です。 659 00:37:09,105 --> 00:37:11,960 660 00:37:11,960 --> 00:37:13,610 だから、それを好きではありません。 661 00:37:13,610 --> 00:37:15,040 ののように使用してみましょう。 662 00:37:15,040 --> 00:37:17,310 これは、構文はそうであるように好みます。 663 00:37:17,310 --> 00:37:22,550 それでは、NUMとしてforeachの配列を行うことができます。 664 00:37:22,550 --> 00:37:24,520 >> だから、少し説明 ちょうど何が起こったかの 665 00:37:24,520 --> 00:37:30,670 、構文が最初によくsaying--されているようです これはプリントアウトするものを見てみましょう。 666 00:37:30,670 --> 00:37:32,260 だから我々は我々のIDEを開きます。 667 00:37:32,260 --> 00:37:33,110 私たちはここに行きます。 668 00:37:33,110 --> 00:37:35,845 我々はこんにちはジェイソン、と言います。 669 00:37:35,845 --> 00:37:41,390 そして、それは内容だった123をやりました 我々はトップを作成した配列の。 670 00:37:41,390 --> 00:37:45,500 >> このforeachループにそうダイビング、 我々は変数と呼ばれる配列を持っています 671 00:37:45,500 --> 00:37:47,470 これは3つの数字の配列です。 672 00:37:47,470 --> 00:37:52,120 そして、我々は、foreachのをやっています NUM、エコーNUMとして配列。 673 00:37:52,120 --> 00:37:54,990 そして、それはより多くのです LOPよりも直感的。 674 00:37:54,990 --> 00:38:02,380 私たちは、それぞれの処理を、言っています NUMとして配列にあるもの、 675 00:38:02,380 --> 00:38:05,180 私はあなたが私にNUMを与えたいと思います。 676 00:38:05,180 --> 00:38:06,640 そして、それはそれはやっているまさにそれです。 677 00:38:06,640 --> 00:38:12,000 >> PHPはそれを計算しています あなたはforeachの配列を言うとき、 678 00:38:12,000 --> 00:38:16,080 あなたはどのような配列、を扱っています あなたが反復処理したいとしています 679 00:38:16,080 --> 00:38:19,950 その配列内の文字は、あります その配列内のint型です、 680 00:38:19,950 --> 00:38:21,920 その配列内の要素です。 681 00:38:21,920 --> 00:38:26,110 そして、それはあなたが保存せています NUMとしてこれらの変数、 682 00:38:26,110 --> 00:38:29,360 して、ちょうど出力NUM すぐにではなく、言って、 683 00:38:29,360 --> 00:38:34,090 私は私という変数があり、 私は、出力はstrstr [i]をしたいです。 684 00:38:34,090 --> 00:38:39,130 >> そしてそうそれは私たちがクールなものを行うことができます。 685 00:38:39,130 --> 00:38:43,330 同様に、基本的に私たちが作成する必要はありません 私のと行うすべてのように、これらの変数 686 00:38:43,330 --> 00:38:45,090 最後にこの増分のもの。 687 00:38:45,090 --> 00:38:48,290 PHPはあなたのためのすべての面倒を見ます。 688 00:38:48,290 --> 00:38:54,470 >> だから今のとしてのforeachの話をしましょう それは私たちの_GET辞書に適用されます。 689 00:38:54,470 --> 00:38:57,170 だから我々はすぐにこれをコメントアウトします。 690 00:38:57,170 --> 00:39:02,030 だから我々は我々の_GET配列を持っています。 691 00:39:02,030 --> 00:39:04,361 我々は、この変数を持っています。 692 00:39:04,361 --> 00:39:05,610 そして、それはそれでいくつかのものを持っています。 693 00:39:05,610 --> 00:39:10,275 >> 今、私たちは、1つの変数を持っています 名前である、それに渡されます。 694 00:39:10,275 --> 00:39:13,420 しかし、我々は今、Enterキーを押した場合 我々は2つ​​の変数を持つことができます。 695 00:39:13,420 --> 00:39:17,910 私たちは、例えば、名前と年齢を持つことができます 我々はまた、年齢とを取得したい場合 696 00:39:17,910 --> 00:39:20,960 人の名前、妙な話だが。 697 00:39:20,960 --> 00:39:25,690 >> だから今_GETがあることを行っています 2つの要素を持つ辞書、 698 00:39:25,690 --> 00:39:27,980 2キーと値のペアを持ちます。 699 00:39:27,980 --> 00:39:33,490 そして、最初のkey--私はするつもりです あまりにもボード上に、このいずれかを書きます。 700 00:39:33,490 --> 00:39:37,136 私たちは辞書が_GETである必要があります。 701 00:39:37,136 --> 00:39:39,520 申し訳ありませんが、それは見て少し難しいですよ。 702 00:39:39,520 --> 00:39:46,690 しかし、私たちの辞書の内部に我々は 何かになるだろうされている名前、 703 00:39:46,690 --> 00:39:47,680 私たちは与えられていること。 704 00:39:47,680 --> 00:39:53,040 そして、我々はまたある、年齢を持っています 私たちは与えられているものになるだろう。 705 00:39:53,040 --> 00:39:56,020 そして、これは全体で 私たちの辞書の。 706 00:39:56,020 --> 00:39:57,730 >> だから、その中の2つの要素を持っています。 707 00:39:57,730 --> 00:40:01,310 そしてそうforeachのため ループは、我々スマートです 708 00:40:01,310 --> 00:40:04,900 思うし、正しくかもしれません そのforeachのを考えるかもしれません 709 00:40:04,900 --> 00:40:08,080 この繰り返し処理できます 辞書、プリントアウト 710 00:40:08,080 --> 00:40:10,850 名前と年齢によって与えられた値。 711 00:40:10,850 --> 00:40:14,510 >> だから、実際にはちょうどそれを行うみましょう。 712 00:40:14,510 --> 00:40:17,520 のは、foreachループを構築してみましょう。 713 00:40:17,520 --> 00:40:23,351 そして、我々は、_GETのためにやろうとしています。 714 00:40:23,351 --> 00:40:24,850 そして、我々は次のことをやろうとしています。 715 00:40:24,850 --> 00:40:34,186 それでは、私たちが入力した場合に何が起こるか見てみましょう そしてちょうど単語、およびエコー単語を言います。 716 00:40:34,186 --> 00:40:40,540 我々はまた、新しい行をエコーするつもりです ちょうどそれが少し明確にするために、 717 00:40:40,540 --> 00:40:41,260 どうしたの。 718 00:40:41,260 --> 00:40:42,890 >> それでは見てみましょう。 719 00:40:42,890 --> 00:40:44,390 それは私にエラーを与えていません。 720 00:40:44,390 --> 00:40:46,810 そして、我々はこれを閉じます。 721 00:40:46,810 --> 00:40:51,020 当社のウェブサイト上で、あなたがやっているつもりです pset7の過程で、その多くの。 722 00:40:51,020 --> 00:40:53,890 だから、私の名前はサムであると言います。 723 00:40:53,890 --> 00:40:58,560 私の年齢は45です。 724 00:40:58,560 --> 00:41:01,060 そうではありません。 725 00:41:01,060 --> 00:41:05,640 しかし、それは、予想通り、サム45を出力します。 726 00:41:05,640 --> 00:41:08,930 >> そして、あなたはそれに気付くでしょう 何foreachループは、ここdid-- 727 00:41:08,930 --> 00:41:12,360 それはアップですので、のは、それに戻ってみましょう board--に我々は単語とし​​て_GETを得ます。 728 00:41:12,360 --> 00:41:15,130 そして_GETの4つの事がありました。 729 00:41:15,130 --> 00:41:17,410 しかし、それは2つだけをプリントアウト。 730 00:41:17,410 --> 00:41:21,290 foreachの、その知性の自己であること、 私たちが本当に望んでいたと仮定 731 00:41:21,290 --> 00:41:24,100 値ではなく、キーでした。 732 00:41:24,100 --> 00:41:27,800 >> しかし、我々は印刷できませんでした方法があります 同様にキーアウト、私たちがしたい場合。 733 00:41:27,800 --> 00:41:30,810 我々はまた、何を知りたいと思った場合 これらの変数は呼ばれていました、 734 00:41:30,810 --> 00:41:33,540 我々の方法があります これもアクセスすることができます。 735 00:41:33,540 --> 00:41:36,840 そして、方法は、一種のことを行うには、 私たちは本当にすることができます、と言うことができます 736 00:41:36,840 --> 00:41:39,485 キーと値のペアに分割。 737 00:41:39,485 --> 00:41:42,370 738 00:41:42,370 --> 00:41:47,580 それでは、今何が起こるか見てみましょう。 739 00:41:47,580 --> 00:41:50,550 >> だから我々は、キーを持っています。 740 00:41:50,550 --> 00:41:52,290 我々は値を持っています。 741 00:41:52,290 --> 00:41:56,650 私たちは別の新しいを持っています 読みやすくするためのライン。 742 00:41:56,650 --> 00:42:00,540 そしてのは、何が起こるか見てみましょう 我々は今、これを行うとき。 743 00:42:00,540 --> 00:42:04,950 744 00:42:04,950 --> 00:42:06,720 私はジェイソンが何歳かわかりません。 745 00:42:06,720 --> 00:42:09,180 ジェイソンの15。 746 00:42:09,180 --> 00:42:11,650 だから我々は、ジェイソン、15歳に名前を付けています。 747 00:42:11,650 --> 00:42:15,830 だから我々は、キーにアクセスすることができました この辞書のと値のペア 748 00:42:15,830 --> 00:42:18,590 単に値をキーポイントとして言って。 749 00:42:18,590 --> 00:42:23,350 そして、それはのforeach構文的です ことができます砂糖ビット 750 00:42:23,350 --> 00:42:25,960 あなたは辞書に物事にアクセスします。 751 00:42:25,960 --> 00:42:31,190 >> だから、うまくいけば、これは一種の強調します foreachループのパワー。 752 00:42:31,190 --> 00:42:35,690 あなたはかなりスローをすることができます 反復可能なようで何も、 753 00:42:35,690 --> 00:42:38,922 複数を持っているもののような 配列のような要素、 754 00:42:38,922 --> 00:42:41,880 dictionary--ものは2つであるように あなたが作業になります主なもの 755 00:42:41,880 --> 00:42:45,630 生活の中でとPSET 7の両方で。 756 00:42:45,630 --> 00:42:49,350 だから、その原料を投げることができます それで、それは把握します 757 00:42:49,350 --> 00:42:51,030 あなたはそれをどうしたいのか。 758 00:42:51,030 --> 00:42:54,250 これは、[OK]を、私は取得するつもりだ、と言うでしょう そのデータからこれらの事 759 00:42:54,250 --> 00:42:55,680 私に渡されました。 760 00:42:55,680 --> 00:43:02,470 そして、それはあなたがしている何か PSET 7での多くを使用してするつもり。 761 00:43:02,470 --> 00:43:08,550 >> 私は素早くスクロールするつもりです 私がよどこダウンだけ確認してください。 762 00:43:08,550 --> 00:43:11,410 763 00:43:11,410 --> 00:43:13,070 人々は、この時点で疑問を持っていますか? 764 00:43:13,070 --> 00:43:13,778 すべてで質問? 765 00:43:13,778 --> 00:43:14,400 はい? 766 00:43:14,400 --> 00:43:18,320 >> 聴衆:だから、キーと値を持ちます、 あなたはそれを他の何かに名前を付けることができ 767 00:43:18,320 --> 00:43:20,507 そして、それはまだ動作しますか? 768 00:43:20,507 --> 00:43:21,090 SPEAKER:おっと。 769 00:43:21,090 --> 00:43:22,820 うわー、私は完全に行全体を削除しました。 770 00:43:22,820 --> 00:43:23,380 すごい仕事。 771 00:43:23,380 --> 00:43:26,502 だから、。 772 00:43:26,502 --> 00:43:30,109 キーと値だけの規約です。 773 00:43:30,109 --> 00:43:30,650 これは便利です。 774 00:43:30,650 --> 00:43:34,010 あなたはいくつかのデザインになるだろう ポイント、おそらくいくつかのスタイルのポイント 775 00:43:34,010 --> 00:43:36,970 それので、それを行うための 本当に意図を伝えます。 776 00:43:36,970 --> 00:43:39,650 しかし、我々はAとyarpを言います。 777 00:43:39,650 --> 00:43:42,476 >> 観客:あなたがする必要はありません HTMLファイルには何も変更します 778 00:43:42,476 --> 00:43:43,607 それを反映するためには? 779 00:43:43,607 --> 00:43:44,440 SPEAKER:全く。 780 00:43:44,440 --> 00:43:47,260 観客は:そして、それはちょうどことを知っています なぜなら等しい大きいthan--の 781 00:43:47,260 --> 00:43:47,801 スピーカー:はい。 782 00:43:47,801 --> 00:43:49,489 聴衆:that's-- --thatインジケータ 783 00:43:49,489 --> 00:43:50,030 スピーカー:はい。 784 00:43:50,030 --> 00:43:52,260 それはそうですが、foreachの構文です。 785 00:43:52,260 --> 00:43:53,720 >> 観客:種類がありません。 786 00:43:53,720 --> 00:43:57,230 ですから、何を望むか場合 年齢はわずか数になるには? 787 00:43:57,230 --> 00:43:59,510 それを行う方法はありますか? 788 00:43:59,510 --> 00:44:04,550 >> SPEAKER:かどうかを確認する方法があります。 変数は、特定のタイプに準拠しています。 789 00:44:04,550 --> 00:44:08,482 だから、PHPはよりもう少し尋ねます あなたはには種類がありませんので。 790 00:44:08,482 --> 00:44:09,440 いくつかの方法は以下を要求します。 791 00:44:09,440 --> 00:44:11,070 いくつかの点で、それは多くを要求します。 792 00:44:11,070 --> 00:44:13,320 あなただけの持っている場合ので、 変数に何か、 793 00:44:13,320 --> 00:44:14,960 あなたはそれが何であるかの種類が分かりません。 794 00:44:14,960 --> 00:44:19,310 しかし、あなたは変数に関するスマートであれば あなたはにタイプを割り当てると確認していること 795 00:44:19,310 --> 00:44:22,750 関数は、あなただけのreturn--こと 唯一のリターンに機能をしたいです 796 00:44:22,750 --> 00:44:26,210 値の一種ので あなたは基本的にできること 797 00:44:26,210 --> 00:44:31,090 変数は、あなたが戻って取得することを期待します 関数から型になります 798 00:44:31,090 --> 00:44:32,780 あなたが考えること、それは基本的に、なります。 799 00:44:32,780 --> 00:44:36,550 >> しかし、いくつかの方法があります これによって、あなたは確認することができます。 800 00:44:36,550 --> 00:44:39,801 私はそれらを覚えていません 私の頭の上から。 801 00:44:39,801 --> 00:44:43,300 それが青色にするために私が待っています。 802 00:44:43,300 --> 00:44:45,560 isint? 803 00:44:45,560 --> 00:44:48,070 isstr? 804 00:44:48,070 --> 00:44:52,000 方法があります。 PHPに組み込まれていることができます 805 00:44:52,000 --> 00:44:54,440 あなたのための変数の型をチェック。 806 00:44:54,440 --> 00:44:58,250 しかし、あなたは変数を割り当てた場合 スマート、あなたはいけません 807 00:44:58,250 --> 00:45:01,330 PSET 7であまりにも多くのことをしなければなりません。 808 00:45:01,330 --> 00:45:02,780 しかし、これらの方法が存在します。 809 00:45:02,780 --> 00:45:06,704 そして、それはその何か 言語自体です。 810 00:45:06,704 --> 00:45:08,370 そして、私は、正確な構文を覚えていません。 811 00:45:08,370 --> 00:45:09,930 私たちも、それを見ることができます。 812 00:45:09,930 --> 00:45:11,974 しかし、時間は本質です。 813 00:45:11,974 --> 00:45:13,890 他の誰を持ってい それ以上の質問がありますか? 814 00:45:13,890 --> 00:45:14,660 はい。 815 00:45:14,660 --> 00:45:15,951 >> 聴衆:私はちょうど1より多くを持っています。 816 00:45:15,951 --> 00:45:19,050 ですから、GETメソッドを述べたが、 あなたは、POSTメソッドを言及しませんでした。 817 00:45:19,050 --> 00:45:20,500 我々は戻ってくることにしていますか? 818 00:45:20,500 --> 00:45:21,540 >> スピーカー:はい、私たちがします 戻ってそれに来るということ。 819 00:45:21,540 --> 00:45:24,840 それは私が探していたまさにそれです 今眠ってしまった自分の携帯電話、で、 820 00:45:24,840 --> 00:45:26,960 私はそれを見つけることができます。 821 00:45:26,960 --> 00:45:30,680 念私たちはヒットすること PHPのノートのすべて。 822 00:45:30,680 --> 00:45:35,640 うん、何のデバッグバージョンはありません。 823 00:45:35,640 --> 00:45:41,940 はい、私たちはいくつかのより多くのものを持っています 我々は、この時点で、今やってみたいです。 824 00:45:41,940 --> 00:45:45,980 >> そこで、POSTの話、 これはあなたが言及しました、 825 00:45:45,980 --> 00:45:49,630 唯一の違い GETとPOSTである間に 826 00:45:49,630 --> 00:45:53,150 私たちが見たとき、それは覚えています ああ、次のURLにあると私たちは見て、 827 00:45:53,150 --> 00:45:58,270 名前は等しく、年齢がyarpに等しいです 私たちのためにそこに、URLに正しいです。 828 00:45:58,270 --> 00:46:03,300 POSTは、もう少し秘密です 情報のその通過を持ちます。 829 00:46:03,300 --> 00:46:08,090 >> ですから、ユーザーを望んでいなかった場合 例えば、あなたを知っています 830 00:46:08,090 --> 00:46:11,160 ユーザ名をしたくありませんでした そして、人のパスワード 831 00:46:11,160 --> 00:46:15,080 現在に表示されるログイン 合理的なことですが、URL、 832 00:46:15,080 --> 00:46:17,770 URLにしたくないために、 誰かがそれを見ることができますので。 833 00:46:17,770 --> 00:46:21,520 彼らはページに誰かをリンクする場合、 そのURLが存在漆喰たくありません、 834 00:46:21,520 --> 00:46:27,850 それは、人々がログインできるようになるので、 だけではなく、URLの貼り付けと 835 00:46:27,850 --> 00:46:29,670 実際のフォームに必要事項を記入。 836 00:46:29,670 --> 00:46:31,710 POSTは、もう少し秘密主義です。 837 00:46:31,710 --> 00:46:34,150 >> そして、それだけの事 我々は変更する必要があります 838 00:46:34,150 --> 00:46:38,550 この方法では、変更されています 投稿してもらいます。 839 00:46:38,550 --> 00:46:42,367 そして、HTTPの内部ではなく、 配列_GETへのアクセス、 840 00:46:42,367 --> 00:46:43,950 我々は、アレイ_POSTにアクセスしようとしています。 841 00:46:43,950 --> 00:46:48,600 >> そして、我々は場合は、そのことに気づくでしょう 我々は、再びこのバックを開きます 842 00:46:48,600 --> 00:46:51,910 ジェイソンはゆっくり時代に低下します。 843 00:46:51,910 --> 00:46:53,230 ジェイソン、14歳に名前を付けます。 844 00:46:53,230 --> 00:46:54,280 同じものがポップアップ表示されます。 845 00:46:54,280 --> 00:46:57,190 しかし、我々は、URLにアクセスして、 これらの変数は存在しません。 846 00:46:57,190 --> 00:47:00,540 >> ところで、POST そう覚えpasses-- 847 00:47:00,540 --> 00:47:02,750 ページのソースを見てどのように。 848 00:47:02,750 --> 00:47:04,570 私たちは、ネットワークにアクセスしてください。 849 00:47:04,570 --> 00:47:06,920 我々は更新されます。 850 00:47:06,920 --> 00:47:10,690 そして、これは別のものであり、その POSTはあなたについての警告を与えます。 851 00:47:10,690 --> 00:47:15,050 あなたはボックス、テキストを見ている可能性があります お使いのブラウザでこのような箱。 852 00:47:15,050 --> 00:47:18,170 あなたがよろしいです もう一度フォームを送信するには? 853 00:47:18,170 --> 00:47:21,170 POSTは、「これらのフォームを送信しては何です。 854 00:47:21,170 --> 00:47:24,680 >> あなたが送信され、基本的には場合ので、あなたの 誰かにクレジットカード情報、 855 00:47:24,680 --> 00:47:26,350 それは、URLに表示するつもりはありません。 856 00:47:26,350 --> 00:47:28,180 つまり、POST要求になるだろう。 857 00:47:28,180 --> 00:47:32,905 ですから、ページを更新すると、 そのポストの要求を再送信です。 858 00:47:32,905 --> 00:47:35,530 だから今、私たちは、送りたいん それはないだろうので、再び形成 859 00:47:35,530 --> 00:47:37,340 重複購入を作成します。 860 00:47:37,340 --> 00:47:41,160 >> そして、我々は、ここでそれをダウンわかります 私たちが使っている方法はPOSTです。 861 00:47:41,160 --> 00:47:43,065 そして、それは確かにバイトを転送しました。 862 00:47:43,065 --> 00:47:45,460 それは、それらの401を移しました。 863 00:47:45,460 --> 00:47:47,190 プログラムのかなり小さな。 864 00:47:47,190 --> 00:47:51,600 しかし、我々が見ることができることはどこにもありません 渡される値。 865 00:47:51,600 --> 00:47:59,540 自身が見ることができるWebページ、 しかし、ユーザーとして、我々は、参照することができません 866 00:47:59,540 --> 00:48:01,650 あなたがハッカーでない限り。 867 00:48:01,650 --> 00:48:05,340 あなたは良いハッカーなら、あなたは見ることができます。 868 00:48:05,340 --> 00:48:09,360 >> あなたは基本を知っている場合 HTMLのフォーマット、 869 00:48:09,360 --> 00:48:11,790 値が行います 自体はページ単位で知られています。 870 00:48:11,790 --> 00:48:13,160 あなたが確認できるようになります。 871 00:48:13,160 --> 00:48:16,720 値は、彼らがしている、があるでしょう ほんの少しあまり目立たないあなたのために 872 00:48:16,720 --> 00:48:19,522 基本的に、アクセスします。 873 00:48:19,522 --> 00:48:23,620 >> 我々はこれ以上持っていますか GET、POSTに関する質問 874 00:48:23,620 --> 00:48:26,800 我々は次をやろうとしているものbefore-- 実際にコードの一部を見ています 875 00:48:26,800 --> 00:48:30,837 あなたはPSET 7に与えていること、話 それはこれらの概念のいくつかをどのように使用しますか、 876 00:48:30,837 --> 00:48:32,670 そして、の話を あなたが行っているもの 877 00:48:32,670 --> 00:48:35,090 PSET 7に少しを行う必要があります。 878 00:48:35,090 --> 00:48:36,760 その前に、多くの質問? 879 00:48:36,760 --> 00:48:38,047 その他の質問あなたたちは持っていますか? 880 00:48:38,047 --> 00:48:41,250 881 00:48:41,250 --> 00:48:41,840 グレート。 882 00:48:41,840 --> 00:48:45,370 >> すべての権利、見てみましょう PSET 7で少し、 883 00:48:45,370 --> 00:48:49,530 間違いなくありません、あなたが何でありますか すべての最も興奮。 884 00:48:49,530 --> 00:48:52,126 885 00:48:52,126 --> 00:48:54,750 私が意味する、これは何かであります ダビデは少しを通過します。 886 00:48:54,750 --> 00:49:00,890 しかし、我々は、3つのディレクトリがあるでしょう トップだけでなく、コンフィギュレーションファイル。 887 00:49:00,890 --> 00:49:04,650 それは、私たちがよ、データベースのためです 約5分で話。 888 00:49:04,650 --> 00:49:07,220 あなたが必要とすることはありません、含まれています このディレクトリを検索します 889 00:49:07,220 --> 00:49:12,480 あなたはしたくないが、それはうれしいです場合 ヘルパーのすべての種類があることを知っています。 890 00:49:12,480 --> 00:49:14,210 ヘルパー便利な機能のようなものです。 891 00:49:14,210 --> 00:49:18,120 そして、我々は設定を持っています、 これはいくつかのものを設定します。 892 00:49:18,120 --> 00:49:24,590 >> CS50が持ついくつかの機能があります。 ヘルパーと設定されているように記述。 893 00:49:24,590 --> 00:49:27,250 PHPのいくつかのこと 既にファイルに終了します 894 00:49:27,250 --> 00:49:30,880 より多くの種類の多くを行います あなたのための鈍足の仕事。 895 00:49:30,880 --> 00:49:35,250 私たちは公共に入る場合と同様に login.php、これは何です 896 00:49:35,250 --> 00:49:38,350 あなたはPSET 7に行くとき右に表示されます。 897 00:49:38,350 --> 00:49:40,580 我々はそこだとわかります これは、ステートメントが必要です。 898 00:49:40,580 --> 00:49:43,420 などのその種 シャープ、ハッシュタグを含みます 899 00:49:43,420 --> 00:49:46,850 あなたは新しい世代のならあります。 900 00:49:46,850 --> 00:49:49,740 しかし、これは基本的に 私はアクセスする必要があると述べています 901 00:49:49,740 --> 00:49:52,260 config.phpファイルのすべての関数に。 902 00:49:52,260 --> 00:49:55,290 そして、あなたは必要かもしれません 他のあらゆる種類のもののために。 903 00:49:55,290 --> 00:49:59,670 >> 設定は、実際にヘルパーが必要です。 904 00:49:59,670 --> 00:50:02,490 だから、あなたが必要とするたびに 設定ファイル、あなたもね 905 00:50:02,490 --> 00:50:05,660 含むまたは同様にヘルパーを必要とします。 906 00:50:05,660 --> 00:50:09,590 だから、それはあなたがすべてにアクセスすることができます 我々が使用するつもりクールな機能、 907 00:50:09,590 --> 00:50:10,420 レンダリングのようなもの。 908 00:50:10,420 --> 00:50:13,490 私は実際に容易にするつもりです このダウン少し。 909 00:50:13,490 --> 00:50:16,280 それでは、機能、私たちはしています 歩くに行きます 910 00:50:16,280 --> 00:50:22,380 我々は少しSQLに移る直前に ビットはただ、login.php機能です 911 00:50:22,380 --> 00:50:26,586 それがトピックのいくつかを使用しているため、 私たちは、PHPでの話をすることを。 912 00:50:26,586 --> 00:50:30,840 >> あなたは$ _SERVER場合は、最初のものがある参照してください。 913 00:50:30,840 --> 00:50:34,500 これは、別のグローバル変数であります あなたが扱うことになるだろう。 914 00:50:34,500 --> 00:50:38,460 これは、_GETや_POSTのようだが、何 サーバーが含まれ、これはあなたをさせることができますです 915 00:50:38,460 --> 00:50:42,730 リクエストメソッドかどうかを知ります GETまたはPOSTでした。 916 00:50:42,730 --> 00:50:47,250 以前に私たちが何をしていたかのように ちょうど私達が書いた私たちのコードであり、 917 00:50:47,250 --> 00:50:51,880 私達はちょうどそれがGETであることを変更し、 POSTは、HTMLが持っているものに応じて。 918 00:50:51,880 --> 00:50:55,120 しかし、可能なページがあります 要求の両方のタイプを使用してアクセス。 919 00:50:55,120 --> 00:50:57,410 そして、あなたは何をしたいかもしれません 応じて異なるもの 920 00:50:57,410 --> 00:50:59,740 要求のタイプに、 ちょうどのようなログインが行われます。 921 00:50:59,740 --> 00:51:04,400 >> だから、その要求を確認することができます アクセスキースルー方式、 922 00:51:04,400 --> 00:51:08,630 キーを使用して取得を通じ 辞書に何かの値 923 00:51:08,630 --> 00:51:10,260 _サーバ。 924 00:51:10,260 --> 00:51:13,800 だから、別のグローバルです _GETや_POSTのような変数。 925 00:51:13,800 --> 00:51:16,990 >> それはGETだ場合は、私たちがしたいです ログインフォームをレンダリングします。 926 00:51:16,990 --> 00:51:21,920 レンダリング基本的機能であります ちょうど適切なHTMLを置きます 927 00:51:21,920 --> 00:51:24,500 それにいくつかのパラメータを渡します。 928 00:51:24,500 --> 00:51:28,740 このタイトルだパラメータであり、 奇妙なことに、表示に使用されます、 929 00:51:28,740 --> 00:51:32,670 ページのタイトルで 質問、ここまでの事、 930 00:51:32,670 --> 00:51:34,850 先の例で言うかこんにちは。 931 00:51:34,850 --> 00:51:36,100 今、私たちは別のものを持っています。 932 00:51:36,100 --> 00:51:38,570 それ以外は、POST、私たちだ場合 いくつかの他のものを行います。 933 00:51:38,570 --> 00:51:40,790 私たちは、空のメソッドを使用しています。 934 00:51:40,790 --> 00:51:42,750 それは空ですが、存在していません。 935 00:51:42,750 --> 00:51:45,440 そして、我々は、前にPHPを見ました かなりの量が組み込まれています 936 00:51:45,440 --> 00:51:52,370 そこにあればダビデはwill--方法で あなたに有用な方法であるが、 937 00:51:52,370 --> 00:51:55,560 彼らはあなたに警告されます そのデビッドウォークスルーで 938 00:51:55,560 --> 00:51:59,770 始めの概要で与え、 またZamylaの役に立つビット。 939 00:51:59,770 --> 00:52:01,040 彼女が戻ってすべての人です。 940 00:52:01,040 --> 00:52:03,100 我々は、すべての喜ぶことができます。 941 00:52:03,100 --> 00:52:06,530 適切な名前の関数で謝罪 それはただ、基本的に出力します 942 00:52:06,530 --> 00:52:10,130 いくつかのエラーメッセージ、 CS50は非常に丁寧なので。 943 00:52:10,130 --> 00:52:14,770 >> そして今、これは、これは このため、トリッキーなビット 944 00:52:14,770 --> 00:52:16,697 我々は、データベースを照会しているところです。 945 00:52:16,697 --> 00:52:18,280 今、私たちはデータベースについて話していません。 946 00:52:18,280 --> 00:52:22,220 そして、我々は次にするつもりです 5分程度、最大。 947 00:52:22,220 --> 00:52:24,980 しかし、これは関数であり、 そのCS50が書かれています 948 00:52:24,980 --> 00:52:38,050 データベースから基本的にテーブルを取得します 我々はPSET 7でで作業していること。 949 00:52:38,050 --> 00:52:40,860 私には本当に悪いです ゼロインデクシング今日。 950 00:52:40,860 --> 00:52:42,060 しかし、はい、それは7です。 951 00:52:42,060 --> 00:52:46,340 >> だから、返すために起こっているの照会 配列、基本的に重要なビットです。 952 00:52:46,340 --> 00:52:54,130 そして、これらのものは持っていないため、 タイピングは、行ので、配列の配列です。 953 00:52:54,130 --> 00:52:59,480 私たちが考えているときので、 テーブルには、私たちがやろうとしています 954 00:52:59,480 --> 00:53:04,830 あなたがのpsetで学んだように、あります 15のゲームのような、とにかく 955 00:53:04,830 --> 00:53:06,990 あなたが使用していたところ double配列、基本的に 956 00:53:06,990 --> 00:53:15,210 他の配列を持っています 配列は、表を作成します。 957 00:53:15,210 --> 00:53:18,150 そして、あなたは、行と列を持っています。 958 00:53:18,150 --> 00:53:24,450 それから、あなたは次のようにそれらにアクセスすることができます [0] [1]は、[1] [0]を得ます。 959 00:53:24,450 --> 00:53:26,900 そのような基本的なもの。 960 00:53:26,900 --> 00:53:29,380 >> だから我々は何をやっています ここでは、この機能で、 961 00:53:29,380 --> 00:53:35,070 我々は、データベースを求めています ユーザーの場合 962 00:53:35,070 --> 00:53:40,200 ログインしようとすると、それはなります POSTメソッドを介して送信されます。 963 00:53:40,200 --> 00:53:43,950 我々は取得している参照してくださいよ _POSTからユーザー名。 964 00:53:43,950 --> 00:53:46,900 彼らは、ユーザーが送信しましたよ または、あなたは、値を送信します 965 00:53:46,900 --> 00:53:50,750 なぜならPOSTを通じてフォームから それは、ユーザー名とパスワードのものです。 966 00:53:50,750 --> 00:53:54,830 我々は、ユーザー名をチェックしています 確認するために、これはテーブルにありますか? 967 00:53:54,830 --> 00:53:58,070 ユーザーがログインしている場合ので、 その後、ユーザー名、中 968 00:53:58,070 --> 00:54:03,320 のテーブルに格納されるべきです このサイトのために存在するユーザー。 969 00:54:03,320 --> 00:54:09,360 したがって、基本的にあれば ユーザーは、データベース内にあります、 970 00:54:09,360 --> 00:54:16,400 クエリが返すために起こっています 配列である行、。 971 00:54:16,400 --> 00:54:24,560 >> しかし、トリッキーな部分は、その場合でも場合 double配列は、1行のみです 972 00:54:24,560 --> 00:54:31,900 でもそれは1行の場合array-- あなたが持っているようなbasically-- 973 00:54:31,900 --> 00:54:36,900 あなたは、サイズ1の配列を持っている場合 それは別の配列を保持して、 974 00:54:36,900 --> 00:54:38,940 あなたは本当につの列を扱っています。 975 00:54:38,940 --> 00:54:41,420 しかし、それはまだ扱われます double配列のような。 976 00:54:41,420 --> 00:54:44,560 >> それは時々得ることができる場所、これはあります トリッキー、私たちはここに行を持っているからです。 977 00:54:44,560 --> 00:54:46,440 私たちの変数は行です。 978 00:54:46,440 --> 00:54:48,590 そして、我々が作成しています 行と呼ばれる新しい変数 979 00:54:48,590 --> 00:54:51,450 とに等しい、それを設定します 行の最初の行。 980 00:54:51,450 --> 00:54:55,150 そして、あなたはそのコメントに気付くでしょう それが最初で唯一の行だと言います。 981 00:54:55,150 --> 00:54:57,080 >> だから、これはトリッキーです 一部今機能 982 00:54:57,080 --> 00:54:59,660 非常に簡単に配列を返すことができます。 983 00:54:59,660 --> 00:55:01,270 mallocをありません。 984 00:55:01,270 --> 00:55:02,280 あなたは、mallocを表示されません。 985 00:55:02,280 --> 00:55:03,940 だから、ワンセグの障害は表示されません。 986 00:55:03,940 --> 00:55:08,380 しかし、機能はまだ渡しとなります グループ内の配列やデータの周囲。 987 00:55:08,380 --> 00:55:12,250 そして、あなたは何を警戒しなければなりません 正確にあなたの関数は戻ります。 988 00:55:12,250 --> 00:55:15,160 そして、それは一つだ場合でも、 このような列、クエリ 989 00:55:15,160 --> 00:55:17,520 まだ二重配列を返すために起こっています。 990 00:55:17,520 --> 00:55:21,390 だからcolumn--かにアクセスします 反転としてのすべてを考えることができます 991 00:55:21,390 --> 00:55:22,870 我々は、行の話をしているからです。 992 00:55:22,870 --> 00:55:26,810 しかし、その1行にアクセスするには、 あなただけの行を言うことはできません。 993 00:55:26,810 --> 00:55:31,540 それは1行ですが、あなたがする必要はあり rowsrows [0]ソートのこれを解消するために行います 994 00:55:31,540 --> 00:55:37,360 配列の外側のビットと、 ちょうどあなたの1行を持っています。 995 00:55:37,360 --> 00:55:38,342 >> 他のいくつかのことを行います。 996 00:55:38,342 --> 00:55:40,050 機能があります 呼ばれるpassword_verify 997 00:55:40,050 --> 00:55:42,980 それを検証 投稿されたパスワード。 998 00:55:42,980 --> 00:55:48,500 そして、我々は別のグローバルを参照してください ここでは、変数、_SESSION。 999 00:55:48,500 --> 00:55:51,340 基本的にセッションID あなたが追跡する方法です 1000 00:55:51,340 --> 00:55:53,990 誰かがログインされているかどうかの。 1001 00:55:53,990 --> 00:55:58,590 だから今login.phpと、 我々はユーザーのログインしています。 1002 00:55:58,590 --> 00:56:01,920 だから我々は何をしたいのか、私たちがしたいです セッションIDは、行に等しいと言います 1003 00:56:01,920 --> 00:56:05,890 理由だけで理にかなっているID、 各行は別のIDを持つことになります 1004 00:56:05,890 --> 00:56:07,239 テーブルの一部として数。 1005 00:56:07,239 --> 00:56:09,280 我々はにSQLに取得します 第二ので、このいずれかの場合 1006 00:56:09,280 --> 00:56:13,500 少し何とかのように思えます、 すべては、最大クリアされます。 1007 00:56:13,500 --> 00:56:18,450 しかし、我々はに等しいIDを設定しようとしています ユーザーのログイン、適切なもの、。 1008 00:56:18,450 --> 00:56:20,530 何かがうまくいかない場合はお詫び申し上げます。 1009 00:56:20,530 --> 00:56:27,600 そして、それは、ログイン目的であります 教授マランとしての人生は言うでしょう。 1010 00:56:27,600 --> 00:56:29,130 >> だから、login.phpました。 1011 00:56:29,130 --> 00:56:33,750 そして、あなたが書いたPHPのコードの多く PSET 7で、彼らは少しになるでしょう。 1012 00:56:33,750 --> 00:56:36,470 は、chmodすることを忘れないでください 適切な権限。 1013 00:56:36,470 --> 00:56:40,180 少しがあります 仕様の始まりです。 1014 00:56:40,180 --> 00:56:46,382 >> しかし、あなたはしているPHP 書き込みがあることを行っています 1015 00:56:46,382 --> 00:56:47,840 これに似ているものをやって。 1016 00:56:47,840 --> 00:56:49,715 あなたがすることになるだろう そのいくつかのものにアクセス 1017 00:56:49,715 --> 00:56:52,760 あなたに与えられています PHPのグローバル変数こと 1018 00:56:52,760 --> 00:56:56,105 現在扱っています ログインしているユーザーかどうか、そこに 1019 00:56:56,105 --> 00:57:00,460 これに送信された要求されています ページ、そのような別のもの。 1020 00:57:00,460 --> 00:57:05,790 そしてそれはまた、潜在的になります この事の行を反復処理。 1021 00:57:05,790 --> 00:57:09,010 >> 別の関数では、クエリ この二重の配列を返すん。 1022 00:57:09,010 --> 00:57:11,450 よりがある場合 その中の1行よりも、 1023 00:57:11,450 --> 00:57:15,080 はい、もしそこare--場合 その中に複数の行があり、 1024 00:57:15,080 --> 00:57:16,870 それが表になります。 1025 00:57:16,870 --> 00:57:20,500 そして、あなたが反復する場合があります 使用して、この配列の行を通して 1026 00:57:20,500 --> 00:57:22,860 我々は説明foreachループ。 1027 00:57:22,860 --> 00:57:30,270 >> だから、二重にするforeachを行う場合 配列が、何を、ここにword--ます 1028 00:57:30,270 --> 00:57:31,909 私は実際にそれを書きます。 1029 00:57:31,909 --> 00:57:32,950 私は素早くそれをここに書きます。 1030 00:57:32,950 --> 00:57:44,280 >> 我々は、行のforeachのを持っている場合 行として、行の種類は何ですか? 1031 00:57:44,280 --> 00:57:45,390 誰でも知っていますか? 1032 00:57:45,390 --> 00:57:54,000 1033 00:57:54,000 --> 00:57:54,500 あなたはそれを得ましたか。 1034 00:57:54,500 --> 00:57:57,110 だから行は二重の配列です。 1035 00:57:57,110 --> 00:58:02,810 だから何のforeachは推測しようとしています 我々は、この二重の配列からたい 1036 00:58:02,810 --> 00:58:04,280 我々はそれを反復処理している場合は? 1037 00:58:04,280 --> 00:58:07,170 1038 00:58:07,170 --> 00:58:10,770 私たちは、基本的にはそれを仮定することができます それはどちらかの要素になるだろう、 1039 00:58:10,770 --> 00:58:14,970 基本的にまたは行、または列、。 1040 00:58:14,970 --> 00:58:18,740 だから、行と列たち 同じものとして扱うことができます。 1041 00:58:18,740 --> 00:58:23,880 >> 基本的にはforeachループが起こっていること 行うには、それが行を返すために起こっているのです。 1042 00:58:23,880 --> 00:58:28,500 行は、行タイプであることが起こっています 行に対し、二重の配列です。 1043 00:58:28,500 --> 00:58:32,290 だから、foreachのを与える場合 double配列、それはです 1044 00:58:32,290 --> 00:58:35,830 反復するつもりはありません 複数のレベルの深さです。 1045 00:58:35,830 --> 00:58:44,464 そこにあれば言うことは基本的にどれ 8つのセルは、このtable-- 1,2であります 1046 00:58:44,464 --> 00:58:48,110 3 4、5、6、7、8-- foreachループではありません 1047 00:58:48,110 --> 00:58:51,880 これらの細胞のそれぞれを通って行くつもり。 1048 00:58:51,880 --> 00:58:56,390 foreachループは何をします それは、この行を通過しますました、 1049 00:58:56,390 --> 00:58:57,870 あなたにこの行全体を与えます。 1050 00:58:57,870 --> 00:58:59,410 そしてそれは、その行を通って行きます。 1051 00:58:59,410 --> 00:59:01,850 >> だから、唯一の深い一段階を反復します。 1052 00:59:01,850 --> 00:59:05,310 あなたは、ネストされたを追加した場合 その後、foreachループ、あなた 1053 00:59:05,310 --> 00:59:16,280 から返された各行を扱うことができます 行は、あなたは、要素としてforeachの行を行います 1054 00:59:16,280 --> 00:59:17,640 のは言わせて。 1055 00:59:17,640 --> 00:59:22,750 そして、あなたは要素をエコー可能性があります。 1056 00:59:22,750 --> 00:59:24,930 だから、簡単なのです どのように少し復習 1057 00:59:24,930 --> 00:59:30,220 あなたはforeachのを使用している場合があります クエリのコンテキストでループします。 1058 00:59:30,220 --> 00:59:32,840 >> PHP上の任意の質問がありますか? 1059 00:59:32,840 --> 00:59:36,520 私たちの前にすべてのもの SQLの話に移ります 1060 00:59:36,520 --> 00:59:37,820 およびデータベースの楽しいですか? 1061 00:59:37,820 --> 00:59:41,480 1062 00:59:41,480 --> 00:59:42,110 良い感じですか? 1063 00:59:42,110 --> 00:59:42,750 良い感じ。 1064 00:59:42,750 --> 00:59:43,470 大丈夫。 1065 00:59:43,470 --> 00:59:49,130 >> に戻るに移動しましょう あなたはおそらく欠場パワーポイント、。 1066 00:59:49,130 --> 00:59:51,800 SQL、イェーイ。 1067 00:59:51,800 --> 00:59:57,900 一般的に私のセクションにある人々 頭字語の小見出しを知っています 1068 00:59:57,900 --> 01:00:01,220 ただ最初の言葉は常にあります 私はその試合を考えること 1069 01:00:01,220 --> 01:00:02,690 その頭文字algorithm--。 1070 01:00:02,690 --> 01:00:04,090 これは、このアルゴリズムではありません。 1071 01:00:04,090 --> 01:00:08,050 >> だから、SQLはデータベースです。 1072 01:00:08,050 --> 01:00:11,060 それは、その言語です データベースで動作します。 1073 01:00:11,060 --> 01:00:14,440 そして、すべてのデータベースがされています 少なくとも方法でテーブル、 1074 01:00:14,440 --> 01:00:17,220 そのSQLは、それらを表しています。 1075 01:00:17,220 --> 01:00:23,610 >> データベースについて考えるもう一つの方法です データベースは、キーと値のセットです 1076 01:00:23,610 --> 01:00:24,110 基本的には。 1077 01:00:24,110 --> 01:00:29,530 あなたは、データベースと考えることができます 辞書と、テーブルなど。 1078 01:00:29,530 --> 01:00:34,300 基本的には関連付ける方法です 他のデータと異なるデータ、 1079 01:00:34,300 --> 01:00:36,270 多くの場合、行と列を通じ。 1080 01:00:36,270 --> 01:00:38,470 そして、それは方法です それは、SQL最適に動作します。 1081 01:00:38,470 --> 01:00:40,880 >> これはテーブルの一例です。 1082 01:00:40,880 --> 01:00:44,610 私はいくつかの例を持っています 私のセクションの人々、どの 1083 01:00:44,610 --> 01:00:45,970 私は変更する時間がありませんでした。 1084 01:00:45,970 --> 01:00:52,020 しかし、我々は、IDのようなものを持っています 名前、超大国、そして故郷。 1085 01:00:52,020 --> 01:00:54,100 私はどこに誰のかわかりません 私のセクションでから、 1086 01:00:54,100 --> 01:00:56,266 私はちょうど仮定するつもりです 誰もがニューヨークからです 1087 01:00:56,266 --> 01:00:59,370 市私は高い統計を持っているので、 正しいらし。 1088 01:00:59,370 --> 01:01:04,200 >> SQLが自動的にかかります あなたのためのID列のケア。 1089 01:01:04,200 --> 01:01:07,560 あなたは、新しい行を挿入した場合 SQLデータベースに、 1090 01:01:07,560 --> 01:01:09,700 それはそれをインクリメントします ID番号だけ 1091 01:01:09,700 --> 01:01:14,890 基本的には5つの名前のように固執します、 超大国、故郷、誰でも 1092 01:01:14,890 --> 01:01:16,430 そのテーブルの最後に。 1093 01:01:16,430 --> 01:01:19,160 だから、ID列を使用すると、よです 心配する必要はありません。 1094 01:01:19,160 --> 01:01:22,770 しかし、場合と同様に login.phpの、ときに我々 1095 01:01:22,770 --> 01:01:26,610 セッションIDを取得しました。 表からだけIDを使用して、 1096 01:01:26,610 --> 01:01:30,320 IDは一意に識別するための方法です。 データベースの要素。 1097 01:01:30,320 --> 01:01:34,980 >> だから我々は、2つのサムス、の両方を持っていた場合 これはCS50を教え、誰の両方 1098 01:01:34,980 --> 01:01:39,370 ミルウォーキー、希望のものからのものでした まだ明確なID番号を持っています 1099 01:01:39,370 --> 01:01:43,420 したがって、に区別されます テーブルのコンテキスト。 1100 01:01:43,420 --> 01:01:48,700 だから、これはSQLが扱っているものです バックエンドでと協力して、と。 1101 01:01:48,700 --> 01:01:54,160 >> 現在、これらの4つのコマンドがあります あなたは、SQLを使用する必要があるだろうと。 1102 01:01:54,160 --> 01:01:56,390 そして、私は1つのスライドにそれらのすべてを投げました。 1103 01:01:56,390 --> 01:01:59,530 しかし、我々は通過するつもりです 個別にそれらをすべて。 1104 01:01:59,530 --> 01:02:03,300 >> 最初のコマンドは、アップデートです これはあなたが期待するかもしれないものありません。 1105 01:02:03,300 --> 01:02:07,240 あなたはいくつかのデータを持っていると言います 古くなっていテーブル。 1106 01:02:07,240 --> 01:02:09,470 あなたが維持している場合と同様に 人の名前のトラック 1107 01:02:09,470 --> 01:02:13,350 そして年齢、誰かの場合 年齢が増加すると、その後 1108 01:02:13,350 --> 01:02:18,590 あなたが行きたいとしていると ちょうどその人の年齢を更新します。 1109 01:02:18,590 --> 01:02:21,902 働くたとえば、 私たちの最初のtable--と 1110 01:02:21,902 --> 01:02:24,610 すべてを書くことについて心配しないでください 同時に、これらのコマンド。 1111 01:02:24,610 --> 01:02:27,640 しかし、あなたがダウンしてアップデートを持っている場合は、 それは、この部分のために良いことでしょう 1112 01:02:27,640 --> 01:02:29,790 我々がしようとしているため、 テーブルに戻ります。 1113 01:02:29,790 --> 01:02:33,920 >> だから我々は、テーブルに戻る場合は、 のが起こった何かを言わせて 1114 01:02:33,920 --> 01:02:38,480 地震があったされましたか、 直接分割断層線 1115 01:02:38,480 --> 01:02:39,920 ニューヨークを通して。 1116 01:02:39,920 --> 01:02:45,130 そして、私たちは皆を更新したいです 誰がニューヨーク市に住んでいました。 1117 01:02:45,130 --> 01:02:49,670 彼らはすべてのペンシルベニア州に移動しなければなりませんでした。 1118 01:02:49,670 --> 01:02:51,130 それは故郷ではありません。 1119 01:02:51,130 --> 01:02:53,180 彼らはすべてのニューヘブンに移動しなければなりませんでした。 1120 01:02:53,180 --> 01:02:54,030 そうしよう。 1121 01:02:54,030 --> 01:02:57,630 ニューヨークの誰も ニューヘブンに移動します。 1122 01:02:57,630 --> 01:03:01,300 >> そしてそうそれは何かです この表の3行を編集します。 1123 01:03:01,300 --> 01:03:04,716 しかし、SQLで、あなたが行うことができます ちょうど1文です。 1124 01:03:04,716 --> 01:03:05,715 だから我々は、更新に戻ります。 1125 01:03:05,715 --> 01:03:09,670 私は素早く再びこのボードを消去してみましょう。 1126 01:03:09,670 --> 01:03:14,570 我々は話をしているとき 更新があります 1127 01:03:14,570 --> 01:03:17,640 鍵となる構文のいくつかの部分。 1128 01:03:17,640 --> 01:03:19,770 まあ、構文のすべてが重要です。 1129 01:03:19,770 --> 01:03:22,210 しかし、緑の中のものはオプションです。 1130 01:03:22,210 --> 01:03:25,680 白が必要とされ、 事前定義名様。 1131 01:03:25,680 --> 01:03:30,750 そして、ライトブルーのものがあります それは、テーブルによって異なります。 1132 01:03:30,750 --> 01:03:34,640 だから、で何が起こっているのです ここでは、そこまでの配色。 1133 01:03:34,640 --> 01:03:40,250 >> だから、私たちはそれらの行を更新する場合 ニューヨークに住んでいる人たちの、 1134 01:03:40,250 --> 01:03:43,490 我々はUPDATE言った場合、私たちは何をしますか? 1135 01:03:43,490 --> 01:03:46,320 我々は置く場所だから表です 私たちのテーブルの名前。 1136 01:03:46,320 --> 01:03:49,170 ちょうど名前を言ってみましょう 私たちのテーブルのテーブル一つです。 1137 01:03:49,170 --> 01:03:52,515 そこで、表1を更新したいと思います。 1138 01:03:52,515 --> 01:03:57,470 そして、私たちはset--たい 私たちは、設定したいのですか? 1139 01:03:57,470 --> 01:04:05,160 さて、私たちは言いたい、そうcolumn-- PHP 一意の識別子としての行を扱います。 1140 01:04:05,160 --> 01:04:07,930 そして列があります 異なるフィールド 1141 01:04:07,930 --> 01:04:09,940 データベースのこれらの要素の。 1142 01:04:09,940 --> 01:04:14,210 >> データベースの最初の要素だから サム、CS50の超大国の名を持ちます、 1143 01:04:14,210 --> 01:04:16,210 ミルウォーキーの故郷。 1144 01:04:16,210 --> 01:04:20,710 我々が設定さと言ったらそれでは、見てみましょう パラメータ再びそのセットがかかります。 1145 01:04:20,710 --> 01:04:23,880 私たちは、列が値と等しい必要があります。 1146 01:04:23,880 --> 01:04:27,290 だから我々はいくつかを言いたいです 覚えていますcolumn-- 1147 01:04:27,290 --> 01:04:31,850 私たちが見てみたいfield--です 何か新しいことに等しいフィールド。 1148 01:04:31,850 --> 01:04:42,340 >> だから私たちはアップデートを言ったら 表1、設定した名前と同じエリオット。 1149 01:04:42,340 --> 01:04:46,310 から一部の人々を取得します。 この上で新しいセクション。 1150 01:04:46,310 --> 01:04:51,540 しかし、我々はちょうど更新テーブル1を行った場合 名前を設定するに等しいエリオット、何だろう 1151 01:04:51,540 --> 01:04:55,530 テーブルには、その後のように見えますか? 1152 01:04:55,530 --> 01:04:56,410 人々はすべてのアイデアがありますか? 1153 01:04:56,410 --> 01:04:59,710 1154 01:04:59,710 --> 01:05:00,210 うん。 1155 01:05:00,210 --> 01:05:03,195 >> 聴衆:その内のすべて 行はエリオットとなります。 1156 01:05:03,195 --> 01:05:04,570 スピーカー:どの行ですべて? 1157 01:05:04,570 --> 01:05:06,067 聴衆:最初の行で。 1158 01:05:06,067 --> 01:05:07,150 SPEAKER:最初の行には? 1159 01:05:07,150 --> 01:05:09,724 なぜ最初の行? 1160 01:05:09,724 --> 01:05:10,890 私はあなたに選択することを意味するものではありません。 1161 01:05:10,890 --> 01:05:13,287 >> 聴衆:たぶんすべて テーブル全体で? 1162 01:05:13,287 --> 01:05:15,120 SPEAKER:すべてで テーブル全体、はい。 1163 01:05:15,120 --> 01:05:19,520 そして、それは私because--まさにそうです ちょうど少しあなたを助けました 1164 01:05:19,520 --> 01:05:22,650 there--我々は省略しているため オプション句。 1165 01:05:22,650 --> 01:05:27,260 どこに持っていない場合 句は、このコマンドは何をします 1166 01:05:27,260 --> 01:05:32,240 それは、すべてで動作しますされています テーブルの単一の行。 1167 01:05:32,240 --> 01:05:35,430 みんなの名前意志 、基本的には、エリオットになります 1168 01:05:35,430 --> 01:05:37,360 これはエリオットが約非常に満足しています。 1169 01:05:37,360 --> 01:05:40,070 あるいはヤニー、二つのうちの一つ。 1170 01:05:40,070 --> 01:05:42,490 しかし、すべての人の名前が変更されます。 1171 01:05:42,490 --> 01:05:47,880 >> だから方法は、私たちが使用するWHERE clause-- これはのwheresのすべてに適用されます 1172 01:05:47,880 --> 01:05:51,410 のそれぞれであること これらの異なった事。 1173 01:05:51,410 --> 01:05:54,380 だから、そのセットに気付くでしょう カラム等しい値を有しています。 1174 01:05:54,380 --> 01:05:55,190 そして、だからここで行います。 1175 01:05:55,190 --> 01:06:00,040 しかし、これらは異なっています ステートメントのタイプ。 1176 01:06:00,040 --> 01:06:04,400 だから、列には値に等しいです SETに割り当てています。 1177 01:06:04,400 --> 01:06:08,320 私たちは、私たちが望むと言っているように エリオットに等しい名前を設定します。 1178 01:06:08,320 --> 01:06:15,390 しかし、WHERE句で、 これらは、平等の文です。 1179 01:06:15,390 --> 01:06:20,410 それでは、我々だけに望んでいたとしましょう エリオットに人の名前を変更します 1180 01:06:20,410 --> 01:06:23,940 彼らの名前はライアンだった場合、のは言わせて。 1181 01:06:23,940 --> 01:06:24,920 >> だから、私たちが言う時 1182 01:06:24,920 --> 01:06:32,700 >> WHERE名前はライアンに等しく、その 成功した唯一の変更希望 1183 01:06:32,700 --> 01:06:37,440 name--それだけだろう 行の名前フィールドを変更 1184 01:06:37,440 --> 01:06:40,770 名前フィールドには、ライアンに等しいです。 1185 01:06:40,770 --> 01:06:44,430 だから我々は、複数の人があった場合 ライアン、その名前のすべての名前付き 1186 01:06:44,430 --> 01:06:45,730 エリオットに変更します。 1187 01:06:45,730 --> 01:06:48,169 >> これは、例のようになります 断層線は、分割の場合 1188 01:06:48,169 --> 01:06:50,960 ニューヨーク市と誰もがしなければなりません ニューヘブン、私達ができる方法に移動 1189 01:06:50,960 --> 01:06:56,570 1つのステートメントでUPDATEがあることを行います TABLE1セット故郷=ニューヘブン 1190 01:06:56,570 --> 01:07:00,210 故郷は、ニューヨーク市に等しいです。 1191 01:07:00,210 --> 01:07:03,410 これはの力です UPDATEステートメント。 1192 01:07:03,410 --> 01:07:10,530 我々は、任意の数を選択することができます 真のステートメントを行 1193 01:07:10,530 --> 01:07:12,860 それらの行のフィールドに関する。 1194 01:07:12,860 --> 01:07:19,510 私たちは、UPDATE TABLE1セットを言うことはできません 、行= 1 =エリオットに名前を付けます 1195 01:07:19,510 --> 01:07:24,820 我々は、ID = 1と言うことができるかどうかということを除いて。 1196 01:07:24,820 --> 01:07:27,350 1197 01:07:27,350 --> 01:07:29,830 >> だから我々はことになるだろう 平等と協力 1198 01:07:29,830 --> 01:07:32,830 フィールドの、列の平等。 1199 01:07:32,830 --> 01:07:38,030 しかし、IDフィールドを使用するための方法です 特に個々の行を選択し、 1200 01:07:38,030 --> 01:07:43,210 IDフィールドは、一意であるため SQLデータベース内の識別子。 1201 01:07:43,210 --> 01:07:45,860 だから、行1を更新するように、IDは1に等しいです。 1202 01:07:45,860 --> 01:07:49,560 ただ、行2を更新します そのID番号を変更します。 1203 01:07:49,560 --> 01:07:51,610 しかし、のパワー WHERE文は、我々です 1204 01:07:51,610 --> 01:07:57,480 どのような彼らに基づいて物事を更新することができます 特定の物事の現在の値です。 1205 01:07:57,480 --> 01:07:58,155 エリオットはい? 1206 01:07:58,155 --> 01:08:02,678 >> 聴衆:そして、何あなたがしたい場合to-- 再び、これは別の問題です。 1207 01:08:02,678 --> 01:08:07,660 しかし、私の最初の質問はありました、 これはどこに起こっているのでしょうか? 1208 01:08:07,660 --> 01:08:09,130 どこで私はこれを更新するのですか? 1209 01:08:09,130 --> 01:08:11,100 これは、PHPコードでますか? 1210 01:08:11,100 --> 01:08:13,379 >> SPEAKER:あなたが更新、はい。 1211 01:08:13,379 --> 01:08:15,170 我々は話をするつもりです このすべての場所について 1212 01:08:15,170 --> 01:08:18,729 私たちが行くの並べ替えの後に起こります すべてのコマンドを通じ。 1213 01:08:18,729 --> 01:08:21,130 しかし、あなたがするために必要なもの 今のところ知っている基本的には 1214 01:08:21,130 --> 01:08:26,279 SQLデータベースこと ものとして存在しています 1215 01:08:26,279 --> 01:08:30,090 クエリによってアクセスされます CS50が定義する関数、。 1216 01:08:30,090 --> 01:08:33,800 だから、問い合わせ機能を使用する場合、 あなたがこのテーブルにアクセスすることができます。 1217 01:08:33,800 --> 01:08:39,529 >> ですから、これらを送信します PHPファイルにあなたのテーブルへのコマンド 1218 01:08:39,529 --> 01:08:41,420 クエリー機能を通じて。 1219 01:08:41,420 --> 01:08:45,410 また、周りに再生することができます あなたのテーブルで直接。 1220 01:08:45,410 --> 01:08:49,050 そして、それはへの最善の方法です コマンドのこれらの種類をテストします。 1221 01:08:49,050 --> 01:08:52,720 そして、我々は正確にどのように通って行きますよ ほんの少しでそれを行います。 1222 01:08:52,720 --> 01:08:54,910 >> だから、UPDATEコマンドです。 1223 01:08:54,910 --> 01:08:57,939 そして、残りのコマンド ソートの同様のことを行っています、 1224 01:08:57,939 --> 01:08:59,069 同じようなことに取り組んでいます。 1225 01:08:59,069 --> 01:09:02,740 INSERT INTOはおそらくあります UPDATE最も異なります。 1226 01:09:02,740 --> 01:09:06,170 私はそこにそれを任せるつもりです こっちに少しだけと仕事。 1227 01:09:06,170 --> 01:09:10,215 だから、INTOをINSERT、あなたが表示されます そのテーブルは同じです。 1228 01:09:10,215 --> 01:09:17,010 あなたは、INTOを挿入します。 1229 01:09:17,010 --> 01:09:20,286 大文字は、SQL 大文字と小文字を区別しません。 1230 01:09:20,286 --> 01:09:22,160 だから、あなたがする必要はありません これらのことを生かします。 1231 01:09:22,160 --> 01:09:27,960 慣例により、言葉 白で資産計上されます。 1232 01:09:27,960 --> 01:09:31,590 しかし、私はまた、色は、それらをコード化されました。 1233 01:09:31,590 --> 01:09:34,390 あなたは大文字だけの理由 それらあなたがそれらを入力しているとき 1234 01:09:34,390 --> 01:09:36,609 ただ強調することです これらのことを定数です。 1235 01:09:36,609 --> 01:09:39,189 だから、あなたはどちらかを見ることができます 大文字または事実 1236 01:09:39,189 --> 01:09:40,740 私はこれらを別の色のしたこと。 1237 01:09:40,740 --> 01:09:44,910 >> だから我々は、INSERT INTOを持っています それでは、再びTABLE1を行うことができます。 1238 01:09:44,910 --> 01:09:45,930 これは、すべて1行にあります。 1239 01:09:45,930 --> 01:09:48,609 私はちょうどそれをすることによって分離しています 異なる記述が含まれます。 1240 01:09:48,609 --> 01:09:52,399 だから、実際にそのことについて心配しないでください TABLE1は二行目にそれを作りました。 1241 01:09:52,399 --> 01:09:56,130 >> だから我々は、挿入したいです いくつかの値をTABLE1に。 1242 01:09:56,130 --> 01:09:58,922 そして、あなたはオプションに気づくでしょう 私は2番目にになるでしょうビット、。 1243 01:09:58,922 --> 01:09:59,755 だから、値を持っています。 1244 01:09:59,755 --> 01:10:03,640 1245 01:10:03,640 --> 01:10:08,100 >> それでは、私たちはアンディを追加したいとしましょう 私たちのテーブルに、ので、我々はアンディを欠場。 1246 01:10:08,100 --> 01:10:09,390 アンディは病気です。 1247 01:10:09,390 --> 01:10:12,490 それでは、私たちのテーブルにアンディを追加してみましょう。 1248 01:10:12,490 --> 01:10:15,150 ID番号があることに注意してください 自動的に更新されます。 1249 01:10:15,150 --> 01:10:17,320 フィールドだけだから我々 心配する必要はあり 1250 01:10:17,320 --> 01:10:20,230 名前、超大国、そして故郷です。 1251 01:10:20,230 --> 01:10:23,660 >> だから私たちはそれを行う方法、 私たちの構文を見て、私たちはきています 1252 01:10:23,660 --> 01:10:28,780 ただコンマで、括弧を持って 区切り、それぞれの 1253 01:10:28,780 --> 01:10:29,890 値です。 1254 01:10:29,890 --> 01:10:35,530 だから私たちは私たちにアンディを挿入したい場合 テーブルには、私たちがしなければならないすべては右のアンディです。 1255 01:10:35,530 --> 01:10:38,630 アンディの超大国は何ですか、 アンディのセクションの人? 1256 01:10:38,630 --> 01:10:45,406 1257 01:10:45,406 --> 01:10:47,545 彼女は飛行が好き、など スピード、または何か。 1258 01:10:47,545 --> 01:10:48,920 我々はすでにそこまでは何がありますか? 1259 01:10:48,920 --> 01:10:53,425 我々は、CS50、飛行を持ちます スピード、強さ。 1260 01:10:53,425 --> 01:10:54,850 >> 聴衆:タイムトラベル。 1261 01:10:54,850 --> 01:10:56,180 >> スピーカー:タイムトラベル、素晴らしいです。 1262 01:10:56,180 --> 01:11:04,280 だから我々はアンディ、時間を持っています 旅行、そして彼女の故郷。 1263 01:11:04,280 --> 01:11:05,530 それは本当に良い質問ですね。 1264 01:11:05,530 --> 01:11:09,210 ニューヨーク市、誰かが知っている場合を除きます。 1265 01:11:09,210 --> 01:11:13,600 ニューヨークはあるから誰です 今日から奪うためのレッスン。 1266 01:11:13,600 --> 01:11:17,710 >> したがって、この文では、希望 5行目のように、挿入、 1267 01:11:17,710 --> 01:11:21,900 超大国のタイムトラベルと ニューヨークの故郷。 1268 01:11:21,900 --> 01:11:25,660 しかし、オプションのフィールド 基本的な方法であります 1269 01:11:25,660 --> 01:11:30,090 正確にどの列を指定します あなたは物事を挿入します。 1270 01:11:30,090 --> 01:11:33,710 >> 我々は今それをやっている方法、 アンディ、タイムトラベル、ニューヨーク、 1271 01:11:33,710 --> 01:11:38,150 私たちの正確な順序で起こっています table--名、超大国、故郷。 1272 01:11:38,150 --> 01:11:42,290 そして、あなたがしたい場合 それ以外のもの、 1273 01:11:42,290 --> 01:11:44,970 以下のようなあなたが知らなかったと言います 誰かの超大国、 1274 01:11:44,970 --> 01:11:47,660 私はアンディのを知りませんでしたかのように 先頭の超大国。 1275 01:11:47,660 --> 01:11:50,450 だから私は知っていたすべては彼女でした 名前と彼女の故郷。 1276 01:11:50,450 --> 01:11:54,550 私は何ができたことは、私は可能性があります do--私はこのクイックを消去します。 1277 01:11:54,550 --> 01:11:57,910 1278 01:11:57,910 --> 01:12:00,090 >> 私は列のみを更新します。 1279 01:12:00,090 --> 01:12:04,100 そして、これはどこにオプションです 列リストは、場に出ます。 1280 01:12:04,100 --> 01:12:09,185 私は名前と故郷を更新したいと思います。 1281 01:12:09,185 --> 01:12:12,650 1282 01:12:12,650 --> 01:12:16,480 そして、私には、値を言うだろう。 1283 01:12:16,480 --> 01:12:24,430 私はアンディとニューヨークをやります。 1284 01:12:24,430 --> 01:12:28,980 >> 私は、列のリストを省略した場合は ちょうどこれら二つのことを行って、 1285 01:12:28,980 --> 01:12:32,450 ニューヨーク市は、どこに行っているのでしょうか? 1286 01:12:32,450 --> 01:12:35,900 どの列になるニューヨーク 市に置かれていますか? 1287 01:12:35,900 --> 01:12:38,950 人々はすべてのアイデアがありますか? 1288 01:12:38,950 --> 01:12:40,160 超大国、正確に。 1289 01:12:40,160 --> 01:12:41,890 >> だから、これは単に順番に移動します。 1290 01:12:41,890 --> 01:12:45,530 それは、最後に達すると リストには、それだけで物事を埋める停止されます。 1291 01:12:45,530 --> 01:12:49,080 そして、それは中固執よ値は すべての列がちょうどNULLになります。 1292 01:12:49,080 --> 01:12:51,840 だから我々は、指定されたため、 名前と故郷、 1293 01:12:51,840 --> 01:12:56,110 我々は、ID 5を持っているつもりです、 アンディ、超大国のNULLという名前を付けます。 1294 01:12:56,110 --> 01:12:58,750 だから、超大国は初期化されていない値です。 1295 01:12:58,750 --> 01:13:01,340 あなたは必ずしも得ることはありません 同じValgrindのエラー、あなたがしようとした場合 1296 01:13:01,340 --> 01:13:01,970 それにアクセスします。 1297 01:13:01,970 --> 01:13:05,160 すべてがうまくゼロにされます アウト、NULLは、SQLの値があるため。 1298 01:13:05,160 --> 01:13:06,780 それは一定です。 1299 01:13:06,780 --> 01:13:08,980 そして故郷は、ニューヨーク市になります。 1300 01:13:08,980 --> 01:13:11,860 だから、INSERT INTOコマンドです。 1301 01:13:11,860 --> 01:13:13,610 私たちが移動する前に、あります さらに2つのコマンド。 1302 01:13:13,610 --> 01:13:19,060 人々はについてのご質問はありますか UPDATE、INSERT INTOについて、SQLの 1303 01:13:19,060 --> 01:13:21,556 一般的に私たちが移動する前に 私たちの最後のビットの上に? 1304 01:13:21,556 --> 01:13:25,500 1305 01:13:25,500 --> 01:13:26,910 人々は偉大な、良い感じ。 1306 01:13:26,910 --> 01:13:27,410 大好きです。 1307 01:13:27,410 --> 01:13:29,480 それでは、SELECTについて話しましょう​​。 1308 01:13:29,480 --> 01:13:33,445 こっち溝の更新を行きます。 1309 01:13:33,445 --> 01:13:35,720 >> そして、SELECTが非常に類似していることが起こっています。 1310 01:13:35,720 --> 01:13:38,790 SELECTの目標は、 生活の中での目的を選択 1311 01:13:38,790 --> 01:13:45,910 あなたの列の束を与えることです それは、特定の条件を満たしています。 1312 01:13:45,910 --> 01:13:48,230 そして、私は満足言うとき 一定の条件、 1313 01:13:48,230 --> 01:13:50,800 あなたの心はすぐにかもしれません WHERE句それに戻ります 1314 01:13:50,800 --> 01:13:52,090 それは、UPDATEで思い付きました。 1315 01:13:52,090 --> 01:13:54,880 そして、その句があります まさにそこに選択します。 1316 01:13:54,880 --> 01:14:06,020 >> 我々はどこに入れていない場合 句と私たちは、SELECTの名前を言って、 1317 01:14:06,020 --> 01:14:16,490 hometown--は少しことを綴り wrong--名、TABLE1からの故郷。 1318 01:14:16,490 --> 01:14:19,690 私達はちょうどそれを言うならば、どのようなSELECT 私たちを与えるために起こっていることは、それはですです 1319 01:14:19,690 --> 01:14:23,730 私たちに与えるつもり むしろ、テーブルをdouble--。 1320 01:14:23,730 --> 01:14:27,450 私たちがしている場合、二重配列 PHPの感覚にについて考えます。 1321 01:14:27,450 --> 01:14:33,239 しかし、それはちょうど私達に与えるために起こっています 2 columns--名前のdouble配列、 1322 01:14:33,239 --> 01:14:33,780 そして故郷。 1323 01:14:33,780 --> 01:14:36,400 1324 01:14:36,400 --> 01:14:38,130 そして、それは、IDを無視します。 1325 01:14:38,130 --> 01:14:41,310 そして、それは超大国を無視します。 1326 01:14:41,310 --> 01:14:44,696 そして、それはちょうど私達にすべてのをあげます そのテーブルの単一の行。 1327 01:14:44,696 --> 01:14:46,570 だから我々は単に挿入した場合 アンディは、我々はアンディがあるでしょう。 1328 01:14:46,570 --> 01:14:48,605 そして、我々は、元の4を持っています。 1329 01:14:48,605 --> 01:14:53,720 彼らは更新されていた場合、それは意志 反映され、エトセトラ、エトセトラ。 1330 01:14:53,720 --> 01:14:56,520 >> だから、これは私たちのため WHERE句を使用していませんでした。 1331 01:14:56,520 --> 01:14:59,200 しかし、我々は正確にそれを使用することができます 我々はアップデートでそれを使用したのと同じ方法です。 1332 01:14:59,200 --> 01:15:05,310 我々は名前だけのテーブルが必要な場合 住んでいる人々のと超大国 1333 01:15:05,310 --> 01:15:13,430 ニューヨークでは、我々は、ステートメントを実行することができます SELECT名様、superpower-- 1334 01:15:13,430 --> 01:15:27,190 私はちょうどFROM that--を残すつもりです TABLE1故郷=ニューヨーク。 1335 01:15:27,190 --> 01:15:33,370 >> だから、これはあなたができることを示すことを行きます 全く異なる列を取得し、 1336 01:15:33,370 --> 01:15:36,920 してから、じゃないの列を置きます でもバックWHERE句で取得。 1337 01:15:36,920 --> 01:15:39,200 私たちもしたくありません みんなの故郷。 1338 01:15:39,200 --> 01:15:41,920 しかし、我々は名前をしたいと 人の超大国 1339 01:15:41,920 --> 01:15:43,817 ニューヨーク市は、その故郷です。 1340 01:15:43,817 --> 01:15:45,650 だから、私たちは何か WHEREで行うことができます 1341 01:15:45,650 --> 01:15:49,112 句は、私たちが列を扱うことができますです 私たちは必ずしもバックしないこと。 1342 01:15:49,112 --> 01:15:52,320 UPDATEで同じように、我々は対処することができます 私たちは必ずしもない列で 1343 01:15:52,320 --> 01:15:53,270 更新します。 1344 01:15:53,270 --> 01:15:58,890 私たちは皆の街を更新することができます 誰の名前なのは、例えば、サムです。 1345 01:15:58,890 --> 01:16:02,080 私たちは、市を更新することができます そのID番号の人は2です。 1346 01:16:02,080 --> 01:16:04,960 だから更新 2行目の都市 1347 01:16:04,960 --> 01:16:08,220 我々はに対処する必要はありませんどこに 必要な一般的な質問。 1348 01:16:08,220 --> 01:16:13,264 >> そして、DELETEあなたがしたいように、あります TABLE1 FROM DELETE、期待しています。 1349 01:16:13,264 --> 01:16:14,930 そして、我々は別のWHERE句を持っています。 1350 01:16:14,930 --> 01:16:17,940 だから我々は、WHERE ID = 1と言うことができます。 1351 01:16:17,940 --> 01:16:18,950 最初の行を削除します。 1352 01:16:18,950 --> 01:16:23,240 そして、DELETEは常に行を削除します、 またはそれは、行のいくつかの番号を削除します。 1353 01:16:23,240 --> 01:16:26,990 WHEREテーブルFROM DELETE 故郷=ニューヨーク 1354 01:16:26,990 --> 01:16:28,740 ニューヨークのすべての人を削除します。 1355 01:16:28,740 --> 01:16:30,985 あった場合はそのためです 突然の悲劇的なペスト 1356 01:16:30,985 --> 01:16:33,360 そしてあなただけ削除したいです テーブルからすべての人者 1357 01:16:33,360 --> 01:16:35,760 特定の都市に住んでいました それは疫病に見舞われました。 1358 01:16:35,760 --> 01:16:38,050 彼らは平和で休むことがあります。 1359 01:16:38,050 --> 01:16:43,849 >> これらは、4つのSQLコマンドです ことをあなたが使用する必要があります。 1360 01:16:43,849 --> 01:16:45,390 あなたも、それらすべてを使う必要はないかもしれません。 1361 01:16:45,390 --> 01:16:47,690 しかし、これらは4です CS50はあなたを期待していること 1362 01:16:47,690 --> 01:16:53,630 行くと快適に クイズ1ともpset7とpset8両方。 1363 01:16:53,630 --> 01:16:55,820 >> ちょうどそのテーブルが再びあります。 1364 01:16:55,820 --> 01:16:58,930 これでは、ロイの超大国が持っています レーザビームに更新されています 1365 01:16:58,930 --> 01:17:00,880 私は使用しなかった例です。 1366 01:17:00,880 --> 01:17:05,480 私はものを知りません ロイは好むが、強さ。 1367 01:17:05,480 --> 01:17:07,670 ロイは、強度の超大国を持っています。 1368 01:17:07,670 --> 01:17:09,090 キャサリンは今日しませんでした。 1369 01:17:09,090 --> 01:17:10,260 それは残念です。 1370 01:17:10,260 --> 01:17:11,260 しかし、彼女は、スーパースピードを持っています。 1371 01:17:11,260 --> 01:17:13,780 1372 01:17:13,780 --> 01:17:14,670 >> まあそれは、PHPました。 1373 01:17:14,670 --> 01:17:19,410 我々は、MVCの話をする前に、い 誰もが、PHPについて質問がありますか? 1374 01:17:19,410 --> 01:17:23,864 さて、SQL、またはPHPあなたが突然持っている場合 PHPに関する質問を思い付きますか? 1375 01:17:23,864 --> 01:17:27,560 1376 01:17:27,560 --> 01:17:28,460 グレート。 1377 01:17:28,460 --> 01:17:29,920 すべての権利は​​、我々は、すべての後、設定されています。 1378 01:17:29,920 --> 01:17:33,660 >> だから、少し話 モデル・ビュー・コントローラに関する、 1379 01:17:33,660 --> 01:17:38,770 それでは、いくつかに戻ってみましょう pset7におけるものの。 1380 01:17:38,770 --> 01:17:42,470 それでは、モデルビュー 私はないんだけどis--コントローラ 1381 01:17:42,470 --> 01:17:45,660 ログインする自分の変更を保存しようとして 私は完全にそれを虐殺ので。 1382 01:17:45,660 --> 01:17:49,220 しかし、基本的に、我々は2を持っています 別々の事が起こって。 1383 01:17:49,220 --> 01:17:52,390 私たちは国民を持っています 含まれているディレクトリ 1384 01:17:52,390 --> 01:17:56,460 実行することになるだろうコード 訪問され、Webページ。 1385 01:17:56,460 --> 01:17:58,780 そして、我々はまた、このビューのディレクトリがあります。 1386 01:17:58,780 --> 01:18:01,780 そして、ビューはテンプレートが含まれています。 1387 01:18:01,780 --> 01:18:04,390 >> これはどのような機能です 我々はレンダリング見render-- 1388 01:18:04,390 --> 01:18:08,240 PHPコードの束内の関数 そのCS50はすでにあなたのために書かれました、 1389 01:18:08,240 --> 01:18:10,550 それは、特定のパラメータになります。 1390 01:18:10,550 --> 01:18:14,510 そのコードが何をしていますか それがビューに起こっています、 1391 01:18:14,510 --> 01:18:18,000 セットですのようにします 作成済みのHTMLコード、 1392 01:18:18,000 --> 01:18:20,720 それは値を挿入しています 特定の場所へ。 1393 01:18:20,720 --> 01:18:23,990 これはどのようにするときであります CS50ファイナンスに入ります、 1394 01:18:23,990 --> 01:18:25,760 同じヘッダーがすべてのページにあります。 1395 01:18:25,760 --> 01:18:28,130 同じフッターは、すべてのページにあります。 1396 01:18:28,130 --> 01:18:31,880 これは方法であるためです 作品をレンダリングすることは、それがありますよ 1397 01:18:31,880 --> 01:18:36,720 そのヘッダーに自動的にパッチを適用し、 あなたがビューで見つけることができるビューアー。 1398 01:18:36,720 --> 01:18:41,400 >> 私たちは、実際にヘッダに行く、とすることができます 見て、それが頭でHTMLファイルです。 1399 01:18:41,400 --> 01:18:43,280 これは、いくつかのスタイルシートを持っています。 1400 01:18:43,280 --> 01:18:48,450 あなたは、CSSを見てする必要はありません pset7のためにあなたがしたくない場合。 1401 01:18:48,450 --> 01:18:50,560 しかし、あなたは変更することができます 彼らはあなたがしたい場合は、作ります 1402 01:18:50,560 --> 01:18:53,470 あなたの財政は少し違って見えます。 1403 01:18:53,470 --> 01:18:57,560 >> これは、いくつかのPHPの持っています 参照するには、ヘッダビット 1404 01:18:57,560 --> 01:19:01,240 異なるタイトルがあるかどう それがこのヘッダ内に置く必要があります。 1405 01:19:01,240 --> 01:19:04,300 しかし、単にいくつかの他のスクリプト、 そして、リンク、および他のもの。 1406 01:19:04,300 --> 01:19:08,700 ヘッドは、本体が起動し、終了し、おっと 我々は、この奇妙な小さなエンドビットを持っています。 1407 01:19:08,700 --> 01:19:14,730 そして、ちょうど同じように、div要素があります 要素の形のない種類 1408 01:19:14,730 --> 01:19:17,120 それは、中間のアイデアを持っています。 1409 01:19:17,120 --> 01:19:22,450 >> そして、我々はフッターを見たとき、 我々はdiv要素の端部を有します。 1410 01:19:22,450 --> 01:19:25,000 私たちは、底を持っています ここで、フッターのテキストです。 1411 01:19:25,000 --> 01:19:26,770 DIV、本体の端、HTMLの最後の最後。 1412 01:19:26,770 --> 01:19:29,070 >> だから何されているレンダリング レンダリングさにすることは一種であります 1413 01:19:29,070 --> 01:19:33,150 ヘッダーをパッチ適用の、A 別のPHPファイルその 1414 01:19:33,150 --> 01:19:37,110 その実際のものが含まれています あなたは株式のあなたの表のように、表示します 1415 01:19:37,110 --> 01:19:39,690 場合は、株式を買ったり、販売しています。 1416 01:19:39,690 --> 01:19:41,480 そしてそれはフッターに追加します。 1417 01:19:41,480 --> 01:19:44,890 そして、モデルビュー コントローラの考えは、私たちです 1418 01:19:44,890 --> 01:19:49,590 どのように分離するようにしたいです 物事はコードから見えます。 1419 01:19:49,590 --> 01:19:53,420 私たちはフロントエンドを分離したいです そして、フロントエンドがあるバックエンドは、 1420 01:19:53,420 --> 01:20:00,440 ユーザーが見ているもの、素敵な visuals-- HTML、CSS、そのようなこと、 1421 01:20:00,440 --> 01:20:02,320 画像、エトセトラ。 1422 01:20:02,320 --> 01:20:05,780 そして、バックエンドはPHPです。 1423 01:20:05,780 --> 01:20:07,710 これは、あなたが書いたコードです。 1424 01:20:07,710 --> 01:20:10,240 これはどこにコードというのです 実際の操作を行います。 1425 01:20:10,240 --> 01:20:12,400 あなたが追加しているときには、 あなたのテーブルに株式、 1426 01:20:12,400 --> 01:20:14,890 あなたが購入しているときに 販売は、それがバックエンドです。 1427 01:20:14,890 --> 01:20:20,210 >> そして、我々はあなたが見たように、することができ、 HTMLで直接PHPを含みます。 1428 01:20:20,210 --> 01:20:23,210 だから我々はのために行っている可能性がどのような この割り当ては、ちょうど持っていたされています 1429 01:20:23,210 --> 01:20:26,200 ログインなどの各ページのHTMLファイル、。 1430 01:20:26,200 --> 01:20:30,260 そして、そのページの、ちょうど PHPコードの巨大なブロックを持っていました、 1431 01:20:30,260 --> 01:20:33,822 そのコードのすべてを含みます そのページには、特に必要があるでしょう。 1432 01:20:33,822 --> 01:20:35,780 そして、我々が持っている可能性が ポートフォリオのためにそれを行います。 1433 01:20:35,780 --> 01:20:40,250 私たちは、買いのすべてを行っている可能性が そして個々のページ内で販売しています。 1434 01:20:40,250 --> 01:20:43,680 >> しかし、我々は、レンダリングしているので、 別にどこから 1435 01:20:43,680 --> 01:20:46,660 我々は、バックエンドを書いています コー​​ド、我々は簡単にすることができます 1436 01:20:46,660 --> 01:20:52,660 物事はなしに見える方法を変更 すべての単一のファイルを変更します。 1437 01:20:52,660 --> 01:20:55,460 私達はちょうど追加のようなことを行います 下に新しいdiv要素 1438 01:20:55,460 --> 01:21:00,720 こんにちはof--私はフッターを変更しました。 1439 01:21:00,720 --> 01:21:03,710 あなたはちょうどそのようなものを行うことができます。 1440 01:21:03,710 --> 01:21:07,250 しかし、また、あなたが変更することができます 全体の視覚的なレイアウト 1441 01:21:07,250 --> 01:21:09,290 何影響を与えることなく、 バックエンドで行きます。 1442 01:21:09,290 --> 01:21:12,000 そして、あなたが変更することができます 全体のバックエンドと、まだ 1443 01:21:12,000 --> 01:21:13,900 それは前にやったように見えています。 1444 01:21:13,900 --> 01:21:14,400 この 1445 01:21:14,400 --> 01:21:16,170 >> モデル・ビュー・コントローラの考え方です。 1446 01:21:16,170 --> 01:21:19,992 そして、それは実際に課せられたパラダイムです プログラミング言語の一部で 1447 01:21:19,992 --> 01:21:21,700 あなたが使用することをお勧めします 最終的なプロジェクトのため。 1448 01:21:21,700 --> 01:21:25,100 あなたは、iOSの開発を行う場合は、 彼らは景色を眺めることができ、 1449 01:21:25,100 --> 01:21:29,120 あなたはiPhone上で見て、何をしています その後、独立したものなどのバックエンド。 1450 01:21:29,120 --> 01:21:31,260 >> あなたは少し考えることができます。 1451 01:21:31,260 --> 01:21:35,190 でバイナリがたくさんあり​​ます 面白いですコンピュータサイエンス、 1452 01:21:35,190 --> 01:21:37,270 すべてがバイナリでだから。 1453 01:21:37,270 --> 01:21:38,550 私はそれを計画していませんでした。 1454 01:21:38,550 --> 01:21:41,590 それが意図しないしゃれました。 1455 01:21:41,590 --> 01:21:43,860 はい、しゃれ意図していません。 1456 01:21:43,860 --> 01:21:49,070 >> しかし、.hファイルと.cファイルのように、あります その私たちのものの分離がたくさん 1457 01:21:49,070 --> 01:21:49,900 必要はありません。 1458 01:21:49,900 --> 01:21:54,330 だから我々は単に時間のファイルを編集することができ、または 誰かがちょうど.hファイルを見て知ることができます 1459 01:21:54,330 --> 01:21:57,650 であり、正確な機能 必ずしも知らずの.cファイル 1460 01:21:57,650 --> 01:21:58,870 その実装。 1461 01:21:58,870 --> 01:22:02,800 成分を分離するこのアイデア お互いに依存すること 1462 01:22:02,800 --> 01:22:06,990 しかし種類のお互いにアクセスすることができます 異なるチャネルを介して、通過します 1463 01:22:06,990 --> 01:22:09,310 変数の、ちょうど 文、物事を含みます 1464 01:22:09,310 --> 01:22:14,440 そのような、この原則 アプリケーションを作成するのに役立ちます 1465 01:22:14,440 --> 01:22:17,080 それはより容易にすることができ 複数の人が編集し、 1466 01:22:17,080 --> 01:22:20,440 より容易に変更することができます または大規模で修正され、 1467 01:22:20,440 --> 01:22:24,880 とに容易です 多くの方法でデバッグ。 1468 01:22:24,880 --> 01:22:28,254 >> 私は、本当に迅速な pset7ためのいくつかのヒント、 1469 01:22:28,254 --> 01:22:31,420 私はあなたのようではないフルスクリーンを作ってあげるします ちょうどthe--先端先端チップを受け取る人を見ています。 1470 01:22:31,420 --> 01:22:33,964 1471 01:22:33,964 --> 01:22:35,130 多くのヒントがありません。 1472 01:22:35,130 --> 01:22:38,060 >> しかし、私はPHPは、デバッグすることは困難である述べました。 1473 01:22:38,060 --> 01:22:39,290 それをチェックダブル、トリプル。 1474 01:22:39,290 --> 01:22:41,550 あなたのコードだけではない場合 ページ上に表示、 1475 01:22:41,550 --> 01:22:46,240 それは申し訳ありませんが、おそらく、PHPのエラーです。 1476 01:22:46,240 --> 01:22:48,570 >> あなたが見てする必要はありません あなたがしたくない場合は、CSS。 1477 01:22:48,570 --> 01:22:52,150 あなたが終わったらしかし、それはすることができます ちょっといい楽しい事だけで行きます 1478 01:22:52,150 --> 01:22:54,770 CSSパラメータを使用して混乱。 1479 01:22:54,770 --> 01:22:58,700 CSSとHTMLは、モデルの一例です ビューコントローラスタイルのもの、あまりにも、右か? 1480 01:22:58,700 --> 01:23:02,150 あなたは、スタイルのタグを持つことができます HTML要素の内部。 1481 01:23:02,150 --> 01:23:04,800 しかし、あなたの並べ替えの場合 CSSにそれらをアウトソーシング、 1482 01:23:04,800 --> 01:23:08,180 彼らは編集が容易だし、遊び 周り、との楽しみを持っています。 1483 01:23:08,180 --> 01:23:10,816 >> CS50ヘルパーを扱います ブラックボックスとして機能します。 1484 01:23:10,816 --> 01:23:12,940 あなたが知っている必要はありません 正確に何をやっているレンダリング、 1485 01:23:12,940 --> 01:23:16,770 しかし、それは常に正しい操作を行うために信頼 あなたがそれを渡すものに応じての事、 1486 01:23:16,770 --> 01:23:17,690 このようなもの。 1487 01:23:17,690 --> 01:23:21,040 そして、私はお勧めします ダビデのチュートリアルを見て、 1488 01:23:21,040 --> 01:23:24,490 すべてを通過 ものだけではなく、ドス、 1489 01:23:24,490 --> 01:23:26,960 しかし、あなたは本当に扱うことができます これらのようなブラックボックス。 1490 01:23:26,960 --> 01:23:29,280 これらにはなりません。 バグを探して機能します。 1491 01:23:29,280 --> 01:23:33,510 >> そして、復帰を歓迎 私たちの君主Zamylaの。 1492 01:23:33,510 --> 01:23:34,010 グレート。 1493 01:23:34,010 --> 01:23:40,430 >> 最終的な質問が前にあります 私たちは、ソートの日のためにバウンス? 1494 01:23:40,430 --> 01:23:42,610 私はまだ生きていますか? 1495 01:23:42,610 --> 01:23:44,700 グレート。 1496 01:23:44,700 --> 01:23:47,120 こんにちはライブストリーム人。 1497 01:23:47,120 --> 01:23:47,620 グレート。 1498 01:23:47,620 --> 01:23:50,260 質問はもうありませんか? 1499 01:23:50,260 --> 01:23:50,760 なし? 1500 01:23:50,760 --> 01:23:52,884 >> そして、私たちはだと思います 今日の行ってもいい。 1501 01:23:52,884 --> 01:23:55,550 私は少し固執します 人が質問していた場合は、その後 1502 01:23:55,550 --> 01:23:57,480 彼らは、ストリームに尋ねるのを恐れていました。 1503 01:23:57,480 --> 01:23:59,790 しかし、そうでなければ、良い一日を持っています。 1504 01:23:59,790 --> 01:24:01,933