1 00:00:00,000 --> 00:00:05,720 2 00:00:05,720 --> 00:00:07,620 >> DOUG LLOYD:だから私たちの中で PHPの構文のビデオ、 3 00:00:07,620 --> 00:00:10,480 私たちはどのようにPHPについて多くのことを話しました コマンドラインで使用することができ 4 00:00:10,480 --> 00:00:13,620 なるようにプログラムを実行します 我々はCからではかなり精通しています 5 00:00:13,620 --> 00:00:15,370 しかし、私も述べたように そのビデオで、PHP 6 00:00:15,370 --> 00:00:19,572 最初にするために開発されました Webプログラミング、ウェブサイトを実装します。 7 00:00:19,572 --> 00:00:21,780 だから、このビデオでは、我々はしています どのように私たちの話をするつもりは 8 00:00:21,780 --> 00:00:23,890 Web開発コンテキストでPHPを使用しています。 9 00:00:23,890 --> 00:00:26,360 >> 我々は、から、すでに知っています、 HTML上の私たちのビデオ、 10 00:00:26,360 --> 00:00:29,820 ウェブサイトが構築されていること HTMLタグのセットのうち 11 00:00:29,820 --> 00:00:32,850 それは意味的に定義します ウェブページの構造。 12 00:00:32,850 --> 00:00:35,910 しかし、ウェブサイトであること 純粋なHTMLで構築 13 00:00:35,910 --> 00:00:39,510 非常に苦しみます、 非常に重大な制限。 14 00:00:39,510 --> 00:00:42,690 >> この制限を説明するために、 それでは、次のことを考えてみましょう。 15 00:00:42,690 --> 00:00:45,665 だから今私は、Webページを構築したいです ユーザーがそれを訪問するたびに、その、 16 00:00:45,665 --> 00:00:49,760 それは私に電流を提供します マサチューセッツ州ケンブリッジの時間。、 17 00:00:49,760 --> 00:00:52,620 最新分にそれを表示します。 18 00:00:52,620 --> 00:00:57,910 私は今、この権利を作っていた場合は、 私はこのような何かを言うかもしれません。 19 00:00:57,910 --> 00:01:01,330 私が持っているので、Cambridge--の現在時刻 HTMLタグ、ヘッドタグ、タイトルタグ、 20 00:01:01,330 --> 00:01:04,610 本体は、電流をtags-- ケンブリッジでの時間は、14時08分です 21 00:01:04,610 --> 00:01:06,690 軍用時間をプリントアウトします。 22 00:01:06,690 --> 00:01:11,390 >> それは今14:09、14時09分だ場合はどうなりますか? 23 00:01:11,390 --> 00:01:16,470 さて、これまで、HTMLで、私が持っています 行くと午後2時09分に変更します。 24 00:01:16,470 --> 00:01:19,390 そして、1分後、 私は再びそれを変更する必要があります。 25 00:01:19,390 --> 00:01:22,132 そして、1分後、 私は再びそれを変更する必要があります。 26 00:01:22,132 --> 00:01:24,590 あなたが想像できるように、それはです これまでおそらく最悪の仕事。 27 00:01:24,590 --> 00:01:29,420 あなたは、Webページのウェブマスターなら、 1分ごと、1日24時間、 28 00:01:29,420 --> 00:01:35,970 あなたがして、現在の時刻を更新する必要があります 手動tim​​e.htmlを開き、変更 29 00:01:35,970 --> 00:01:41,750 言うべきコードのちょうどそのスニペット 時間と分で現在の時刻。 30 00:01:41,750 --> 00:01:45,850 それはおそらく非常にではありません 経営資源の有効利用、 31 00:01:45,850 --> 00:01:48,880 両方の人間と計算。 32 00:01:48,880 --> 00:01:51,297 >> すべてのHTMLあるサイト 完全に静的です。 33 00:01:51,297 --> 00:01:53,630 あなたが更新できる唯一の​​方法 コンテンツ、私たちは見てきたように、 34 00:01:53,630 --> 00:01:56,339 手動でそれらのソースを開くことです ファイルは、それらを編集し、それらを保存します。 35 00:01:56,339 --> 00:01:58,088 そして、ときにユーザー ページを更新し、 36 00:01:58,088 --> 00:02:01,080 または最初のページを訪問 時間、彼らは最新のコンテンツを取得します。 37 00:02:01,080 --> 00:02:03,970 しかし、我々はしましたという理由だけで それを手動で編集しました。 38 00:02:03,970 --> 00:02:07,980 >> 私たちはそこにいくつかのPHPを混合するために起動した場合、 我々のコードは、多くはより柔軟な得ることができます。 39 00:02:07,980 --> 00:02:11,940 そして、私たちは私達のページのための方法を持つことができます 動的に、または自分自身を更新し、 40 00:02:11,940 --> 00:02:15,360 私たちの貧困層を必要とせず 前の例のウェブマスター 41 00:02:15,360 --> 00:02:16,662 手動で物事を更新します。 42 00:02:16,662 --> 00:02:17,870 彼らは自動的にそれを行うことができます。 43 00:02:17,870 --> 00:02:19,130 私たちが介入する必要はありません。 44 00:02:19,130 --> 00:02:20,410 我々はいくつかの睡眠を得ることができます。 45 00:02:20,410 --> 00:02:24,850 どのおそらく良いことであればあります あなたは、Webプログラミングをたくさんやっています。 46 00:02:24,850 --> 00:02:28,360 >> だからCS50 IDEで、我々は実行します Webサーバは、Apacheと呼ばれます。 47 00:02:28,360 --> 00:02:35,250 これは、非常に一般的に使用される情報 オープンソースのWebサーバシステム。 48 00:02:35,250 --> 00:02:37,320 このシステムは、持っています 解釈する能力 49 00:02:37,320 --> 00:02:41,260 場合に有用であることが起こっている、PHP、 あなたは、任意のPHPプログラミングをしたいです。 50 00:02:41,260 --> 00:02:45,230 >> そして、CS50 IDEで、我々はコマンドを持っています 行うにはこれは非常に簡単にするために、 51 00:02:45,230 --> 00:02:47,280 開始apache50。 52 00:02:47,280 --> 00:02:49,445 そして、そのスラッシュ パスにスラッシュ、スラッシュ 53 00:02:49,445 --> 00:02:53,350 DIRは、それはの本当に一般的な方法です あなたがここで指定したものを示します 54 00:02:53,350 --> 00:02:56,510 特定のパスです ディレクトリあなたに 55 00:02:56,510 --> 00:03:00,800 ルートになりたいです サイト、またはルートページ、 56 00:03:00,800 --> 00:03:05,430 またはフォルダからWebサーバー ファイルを検査し、提供するために開始されます 57 00:03:05,430 --> 00:03:07,850 それらを要求するクライアントにまで。 58 00:03:07,850 --> 00:03:12,110 それでは、ちょうどに、CS50 IDEにオーバーポップましょう これがどのように機能するか、本当に迅速に、あなたを示しています。 59 00:03:12,110 --> 00:03:30,930 60 00:03:30,930 --> 00:03:36,240 >> だからここCS50のIDEで、私がいますよ 週ゼロナインと呼ばれるディレクトリ。 61 00:03:36,240 --> 00:03:38,890 そして私は私が持っているtwo--持っています 単にlsコマンドを実行 62 00:03:38,890 --> 00:03:41,910 上記の私が持っていることを示すために ここに2つのディレクトリ、PHP、 63 00:03:41,910 --> 00:03:46,410 私が使用したファイルのセットがあります PHPの構文ビデオ、その後、PHP-ウェブ、 64 00:03:46,410 --> 00:03:49,380 ファイルのセットはである私 このビデオで使用したいと思います。 65 00:03:49,380 --> 00:03:53,480 >> そして、私は開始したいと思います Webサーバインスタンス 66 00:03:53,480 --> 00:03:59,089 PHP-webフォルダの内容 ファイルがアップサービスされているとおりです。 67 00:03:59,089 --> 00:04:00,130 だから私は何をするつもり? 68 00:04:00,130 --> 00:04:05,710 私はapache50スペース​​を入力しようとして 、宇宙PHP、ダッシュウェブを開始します。 69 00:04:05,710 --> 00:04:08,100 それはディレクトリへのパスです 私は現在、午前場所から。 70 00:04:08,100 --> 00:04:09,127 それから私は、Enterキーを押します。 71 00:04:09,127 --> 00:04:10,960 これは何をするだろう ここでものを少し。 72 00:04:10,960 --> 00:04:14,030 そして、それは言うために起こっています、 Apacheが正常に起動しました。 73 00:04:14,030 --> 00:04:20,689 あなたのサイトはat--使用可能になり、 その後、サイトのURLがあります。 74 00:04:20,689 --> 00:04:21,730 だから私は何をするつもり? 75 00:04:21,730 --> 00:04:26,234 私はすぐにこれをコピーするつもりです。 76 00:04:26,234 --> 00:04:28,900 そして、私はup--開き、するつもりです 私は少しズームアウトしますhere-- 77 00:04:28,900 --> 00:04:31,570 私は開くつもりです Chromeで新しいタブ。 78 00:04:31,570 --> 00:04:34,320 そして、私はそのURLを訪問するつもりです。 79 00:04:34,320 --> 00:04:35,299 >> 私はEnterキーを押しますするつもりです。 80 00:04:35,299 --> 00:04:36,090 これは、ロードするために起こっています。 81 00:04:36,090 --> 00:04:37,510 そして私は再びズームアウトします。 82 00:04:37,510 --> 00:04:41,350 そして、私たちはここで見ることができますです 私のPHPのWebディレクトリの内容。 83 00:04:41,350 --> 00:04:45,290 >> だから今は基本的に何が起こっているのか ここCS50 IDEの私のインスタンスがあり、 84 00:04:45,290 --> 00:04:49,620 これらのファイルを提供しています それらを要求します誰。 85 00:04:49,620 --> 00:04:51,620 そしてもちろん、オーバー このビデオでは、我々は一種のよ 86 00:04:51,620 --> 00:04:55,400 これらの束を見てみましょう コンテキスト内の異なるファイル。 87 00:04:55,400 --> 00:04:57,614 >> あなたのApacheのことをテストするには サーバが動作しています、 88 00:04:57,614 --> 00:04:59,780 一般的に起こっています CS50 IDEのケースのように、 89 00:04:59,780 --> 00:05:02,696 しかし、あなたはより一般的にこれを行う場合、 あなたは、あなた自身のウェブの構築を開始 90 00:05:02,696 --> 00:05:04,990 サーバーは、本当にあります アナログの共通の並べ替え、 91 00:05:04,990 --> 00:05:08,500 通常の "Hello World" PHPのWeb開発のために使用。 92 00:05:08,500 --> 00:05:12,855 ファイルを持つことです ちょうどこのcode--から成ります 93 00:05:12,855 --> 00:05:18,247 PHP情報を設定し、PHPの区切り文字、 括弧、間にセミコロン。 94 00:05:18,247 --> 00:05:20,580 どちらが、基本的には特別です 示していますPHPの関数 95 00:05:20,580 --> 00:05:23,970 あなたが実行しているPHPのバージョン。 96 00:05:23,970 --> 00:05:26,850 >> だからCS50 IDEで、私が持っています 利用可能なそのファイルだけ 97 00:05:26,850 --> 00:05:28,680 これがどのように見えるかをお見せします。 98 00:05:28,680 --> 00:05:32,860 だから、私は、インデックスで探しています 私のPHPインスタンスから。 99 00:05:32,860 --> 00:05:35,870 私のApacheインスタンスが実行されています PHP-ウェブの内容。 100 00:05:35,870 --> 00:05:39,290 そして、私は、ファイルがここにinfo.phpを呼ばれています。 101 00:05:39,290 --> 00:05:41,164 >> 私はそれをクリックし、ズームアウトするつもりです。 102 00:05:41,164 --> 00:05:43,080 これは、あなたが行っているものです かなり多く、確認してください。 103 00:05:43,080 --> 00:05:45,729 これはちょうどことを私に語っています 私のApacheサーバが動作しています。 104 00:05:45,729 --> 00:05:48,270 そして、これは、明らかに、あります 私が実行しているPHPのバージョン。 105 00:05:48,270 --> 00:05:51,590 これはに私のアナログでの "Hello World。" 106 00:05:51,590 --> 00:05:53,070 >> だから私は物事が動作している知っています。 107 00:05:53,070 --> 00:05:54,150 だから我々は行ってもいいです。 108 00:05:54,150 --> 00:05:55,730 我々はここから進むことができます。 109 00:05:55,730 --> 00:05:57,790 >> それでは、それを再検討しましょう 私たちがした時の例 110 00:05:57,790 --> 00:06:01,950 私たちの貧しいウェブマスターとの話 誰が常にページを更新しなければなりませんでした。 111 00:06:01,950 --> 00:06:05,020 これは、どのようにのための修正であるかもしれません 私は物事を実装するだろう 112 00:06:05,020 --> 00:06:08,080 ウェブマスターはしませんでしたように、 時間を更新し続ける必要があります。 113 00:06:08,080 --> 00:06:10,270 それはちょうど一種のだろう 自動的に行われます。 114 00:06:10,270 --> 00:06:13,710 >> 以下のダウン、HTML、それはです 1つの例外を除いて、かなり類似しました。 115 00:06:13,710 --> 00:06:16,720 しかし、ここで私が一番上にあるいくつかのPHPを持っています。 116 00:06:16,720 --> 00:06:19,940 私は、明らかに、これを求めています 関数date_default_timezone_set。 117 00:06:19,940 --> 00:06:22,106 >> そして、我々はについてのすべての話をしません CS50でこれらの機能、 118 00:06:22,106 --> 00:06:24,670 PHPはおそらく持っているので、 数万。 119 00:06:24,670 --> 00:06:27,540 それが少しあるかもしれません 誇張が、それができない場合があります。 120 00:06:27,540 --> 00:06:29,490 それが組み込まれ多くの機能を持っています。 121 00:06:29,490 --> 00:06:33,290 そして、これは明らかに関数であります 米国/東部としての私のタイムゾーンを設定し、 122 00:06:33,290 --> 00:06:36,320 これは私はタイムゾーン 現在、この動画を作りました。 123 00:06:36,320 --> 00:06:38,430 >> それから私は、呼び出しを行います 日付、呼び出される関数です。 124 00:06:38,430 --> 00:06:43,850 そして、どうやら、私は記憶しています 彼の時間、と呼ばれるものの。 125 00:06:43,850 --> 00:06:45,320 それでは、ここで起こっているの? 126 00:06:45,320 --> 00:06:48,040 >> まあ、基本的には何が されて起こって、私は電話を作ってるんです 127 00:06:48,040 --> 00:06:51,650 に起こっているいくつかのサーバに 時間は、現在あるものを私に教えてください。 128 00:06:51,650 --> 00:06:56,150 そして、私は形式に変換してい 時間、分、秒。 129 00:06:56,150 --> 00:07:00,540 そして、それは資本Hだ理由はこれです 12、私は24時間の時間を与えないだろう 130 00:07:00,540 --> 00:07:02,362 小文字の時間になる時間の時間、。 131 00:07:02,362 --> 00:07:04,570 そして、私はちょうどそれを格納しています 時間と呼ばれる変数です。 132 00:07:04,570 --> 00:07:07,028 だから、PHPの2行目 そこに、関数の呼び出し、 133 00:07:07,028 --> 00:07:09,037 日付、ちょうどなっています いくつかの文字列であり、 134 00:07:09,037 --> 00:07:12,120 私に日付を与えるつもり、と 時間、およびその他の情報の束。 135 00:07:12,120 --> 00:07:16,480 そして、そこに最初の引数は、彼のこと、 ただ重要な部分を抽出しています 136 00:07:16,480 --> 00:07:20,614 私はこの例の気にすることを、 その時、分、秒です。 137 00:07:20,614 --> 00:07:22,030 だから、起こっていることすべてです。 138 00:07:22,030 --> 00:07:23,562 だから私は、格納する変数$時間のこと。 139 00:07:23,562 --> 00:07:25,270 そして、ダウン時 私は、そこに非常に底 140 00:07:25,270 --> 00:07:28,980 そのための速記を持っています 現在の時刻をプリントアウトします。 141 00:07:28,980 --> 00:07:32,050 だから、僕は印刷するつもりです 現在の時刻が何であるかを。 142 00:07:32,050 --> 00:07:37,220 >> それでは、この中を見てみましょう CS50 IDEと私たちが今しているかを確認 143 00:07:37,220 --> 00:07:40,002 そのウェブマスターに多くの問題を節約できます。 144 00:07:40,002 --> 00:07:42,570 すべての権利なので、ここで私は再び午前 バックルートディレクトリで 145 00:07:42,570 --> 00:07:45,040 私のApacheインスタンスの。 146 00:07:45,040 --> 00:07:51,585 そして、私はここにファイルと呼ばれるtime.phpを持っています。 147 00:07:51,585 --> 00:07:53,559 私はちょうどそれをクリックするつもりです。 148 00:07:53,559 --> 00:07:55,850 そして、私はので、上にスクロールします 私たちはかなり遠くにズームしています。 149 00:07:55,850 --> 00:07:57,257 現在の時刻が午前14時20分34秒です。 150 00:07:57,257 --> 00:07:59,090 だから私はそれを時間をやっています、 分、秒。 151 00:07:59,090 --> 00:08:01,910 そして、私はリフレッシュすることができます ページと新しい時間を取得します。 152 00:08:01,910 --> 00:08:02,420 --41。 153 00:08:02,420 --> 00:08:07,240 私はページを更新するつもりです そして、新しい時間、44、46、47を得ます。 154 00:08:07,240 --> 00:08:10,490 >> だから、私は明らかにないです 自分は何も変更。 155 00:08:10,490 --> 00:08:11,720 私はこちらのページを更新しています。 156 00:08:11,720 --> 00:08:13,711 だから私はそれを編集して戻ってそこにすることはできません。 157 00:08:13,711 --> 00:08:15,710 そして、私はあなたを約束し、私はしないでください いずれかの同盟国を持っています 158 00:08:15,710 --> 00:08:18,230 ファイルを編集している人 側の私に代わって。 159 00:08:18,230 --> 00:08:21,260 >> 私はちょうど、そのPHPの関数を使用しています 私のための時間を生成するための時間、 160 00:08:21,260 --> 00:08:22,340 自動的に。 161 00:08:22,340 --> 00:08:24,800 、私は眠ってる場合でも、だから そして、私のWebサーバが実行されています、 162 00:08:24,800 --> 00:08:28,884 そのページを訪れたユーザーはまだです 正確に現在の時刻を取得するつもり。 163 00:08:28,884 --> 00:08:29,800 だから、かなり良いです。 164 00:08:29,800 --> 00:08:33,609 私のサイトは、よりダイナミック作りました 過言ではないPHPコードと。 165 00:08:33,609 --> 00:08:36,650 これは、コードの2行だけだったと print文を少し。 166 00:08:36,650 --> 00:08:38,441 そして、すでに私が持っています はるかにダイナミックなサイト 167 00:08:38,441 --> 00:08:42,750 その最初の例よりも、私たちは見ました ビデオの冒頭に。 168 00:08:42,750 --> 00:08:46,660 >> だから、PHPの構文のビデオからリコール PHPインタプリタの実行時にその 169 00:08:46,660 --> 00:08:50,000 私たちのプログラムは、それがすべてを無視します それは、PHPの区切り文字の中にはありません 170 00:08:50,000 --> 00:08:51,500 それを吐き。 171 00:08:51,500 --> 00:08:54,410 その例では、どのようなもの それが吐きれたことを、HTMLました。 172 00:08:54,410 --> 00:08:58,080 そして、これは私が今できることを意味します 一緒にHTMLとPHPをまき散らします。 173 00:08:58,080 --> 00:09:01,920 インタプリタはちょうどなるため HTMLと文字通り出力それを無視します。 174 00:09:01,920 --> 00:09:04,140 右、良いどれですか? 175 00:09:04,140 --> 00:09:06,100 >> おそらく、 一日の終わりに、 176 00:09:06,100 --> 00:09:08,360 私はに私のサイトを希望します HTMLで構成すること。 177 00:09:08,360 --> 00:09:12,880 任意のWebブラウザが解釈できるように、 それは、ページのHTMLを理解します 178 00:09:12,880 --> 00:09:17,270 私たちのものとしてそれをレンダリング 実際に人間として理解することができます。 179 00:09:17,270 --> 00:09:19,430 そして、私はPHPを使用することができます 私のサイトの部品の 180 00:09:19,430 --> 00:09:23,390 私を必要とする必要ダイナミズム、 常に更新し、物事を持っています。 181 00:09:23,390 --> 00:09:26,630 静的情報 同じ滞在することができます。 182 00:09:26,630 --> 00:09:27,540 >> [OK]を、ので、それは大丈夫です。 183 00:09:27,540 --> 00:09:28,540 しかし、なぜ私はこれをしますか? 184 00:09:28,540 --> 00:09:30,400 なぜ私は、HTMLやPHPを混ぜるでしょうか? 185 00:09:30,400 --> 00:09:33,850 私は、すべてのプリントアウトができました HTML、PHPの印刷機能を使用して。 186 00:09:33,850 --> 00:09:35,870 なぜ私はそれをやっていないのですか? 187 00:09:35,870 --> 00:09:37,100 第二のためにそれについて考えてみよう。 188 00:09:37,100 --> 00:09:41,220 >> なぜ、私はちょうど私がout--印刷することができたとき ちょうど言うPHPの行を持つことができ、 189 00:09:41,220 --> 00:09:43,841 印刷HTMLタグ、プリントヘッド。 190 00:09:43,841 --> 00:09:44,840 なぜ私はそれをやっていないのですか? 191 00:09:44,840 --> 00:09:48,230 なぜ私はPHPとHTMLを混合していますか? 192 00:09:48,230 --> 00:09:50,080 >> さて、あなたは思われる場合 それについて秒。 193 00:09:50,080 --> 00:09:52,824 PHPは、インタプリタが持ちます それは見るものを解釈します。 194 00:09:52,824 --> 00:09:54,990 そしてそれは、持っているために起こっています コー​​ドの行を実行します。 195 00:09:54,990 --> 00:09:56,450 HTMLを出力します。 196 00:09:56,450 --> 00:09:57,700 オープンヘッドタグを出力します。 197 00:09:57,700 --> 00:09:58,969 オープンタイトルタグを出力します。 198 00:09:58,969 --> 00:10:00,760 それはしているつもりです 実行し、解釈 199 00:10:00,760 --> 00:10:02,671 方法の一つ一つのステップという。 200 00:10:02,671 --> 00:10:04,670 理由だけではなくせありません インタプリタは、ちょうどごまかします 201 00:10:04,670 --> 00:10:06,878 それは理解していないもの そして、、自動的にそれを行いますか? 202 00:10:06,878 --> 00:10:11,365 それは私に多くの時間を節約するために起こっています 一緒に私のHTMLとPHPを混合します。 203 00:10:11,365 --> 00:10:16,220 >> 我々がない理由となるようです ちょうどオープンPHPの区切り文字を持っています 204 00:10:16,220 --> 00:10:19,450 して、ちょうど全体を印刷 1つの巨大なPHPなどのページの内容 205 00:10:19,450 --> 00:10:24,330 その後、機能への印刷を呼び出し、 近くにPHPの区切り文字と我々が行っています。 206 00:10:24,330 --> 00:10:27,620 私たちは一緒にそれらをミックスだから、なぜです。 207 00:10:27,620 --> 00:10:32,345 >> これまでのところ、我々はあまりにも多くのを見ていません 一般的なPHPの構文との違い。 208 00:10:32,345 --> 00:10:33,720 これは非常に単純されています。 209 00:10:33,720 --> 00:10:35,553 我々はすでに見てきました 疑問符、同等。 210 00:10:35,553 --> 00:10:39,012 私たちは、新しい関数呼び出しのカップルを見て、 本当に空想何が起こっていません。 211 00:10:39,012 --> 00:10:40,720 のは多分ものを作ってみましょう 少し手の込んだ。 212 00:10:40,720 --> 00:10:44,360 私たちは、情報を渡す場合 別のPHPファイルとの間に、 213 00:10:44,360 --> 00:10:47,280 多分ユーザーはできるように 私に情報を送信します。 214 00:10:47,280 --> 00:10:50,230 そして、私は何かを行うことができます それ別のページ上で。 215 00:10:50,230 --> 00:10:52,990 >> だから、PHPはをサポートしています スーパーグローバルと呼ばれるもの 216 00:10:52,990 --> 00:10:55,297 かなり素晴らしいですね変数、。 217 00:10:55,297 --> 00:10:57,130 彼らは本当にしています 巨大な連想配列 218 00:10:57,130 --> 00:10:59,900 それは、この実装を支援 通過の機能 219 00:10:59,900 --> 00:11:05,010 そのPHPファイル間の情報 弊社のWebサーバー上に存在しています。 220 00:11:05,010 --> 00:11:07,760 >> これらのスーパーの最初の グローバルは、$ _GETと呼ばれています。 221 00:11:07,760 --> 00:11:10,140 そして、それはおそらくです 理解するための最も簡単な。 222 00:11:10,140 --> 00:11:12,430 何が$ _GETとどうなりますか? 223 00:11:12,430 --> 00:11:16,240 まあ、基本的には、ユーザーがあります 余分な情報を入力しようとして 224 00:11:16,240 --> 00:11:18,390 私たちのURLの末尾に。 225 00:11:18,390 --> 00:11:21,460 そして、彼らはどのようなタイプ、と仮定すると それは、特定の方法でフォーマットされています 226 00:11:21,460 --> 00:11:25,830 ちょうどである、クエリ文字列と呼ばれます キー値ペアのセットを分離 227 00:11:25,830 --> 00:11:27,810 アンパサンドで。 228 00:11:27,810 --> 00:11:32,362 これらのキーと値のペアは次のようになります $ _GET連想配列に格納されています。 229 00:11:32,362 --> 00:11:34,070 そして、上の私たちのビデオから PHPの構文は、我々は知っています 230 00:11:34,070 --> 00:11:40,080 を操作する方法 すでに連想配列。 231 00:11:40,080 --> 00:11:44,090 だからここの例であり、 多分私はいくつかのPHP、 232 00:11:44,090 --> 00:11:50,180 キーと値のペアのすべてを抽出します ユーザーがURLに供給されます。 233 00:11:50,180 --> 00:11:51,970 だから、私はオープンPHPの区切り文字を持っています。 234 00:11:51,970 --> 00:11:53,410 私は、foreachループを持っています。 235 00:11:53,410 --> 00:11:57,410 私はスーパー渡って反復処理してい グローバル配列は、$ _GETと呼ばれます。 236 00:11:57,410 --> 00:12:00,160 >> そして、私は参照できるようにしたいです キーと値の両方に。 237 00:12:00,160 --> 00:12:02,410 そして、私はちょうどそれらを印刷しています うち、上の各1明らかに 238 00:12:02,410 --> 00:12:03,780 ここに、独自の段落タグ。 239 00:12:03,780 --> 00:12:07,620 私はいくつかのHTMLをプリントアウトしています そして、値を補間 240 00:12:07,620 --> 00:12:12,900 その文にキーと値の。 241 00:12:12,900 --> 00:12:16,980 >> それでは、どのようにこれを見てみましょう 実際に私たちのIDEで動作します。 242 00:12:16,980 --> 00:12:18,980 そして多分これは役立ちます 少し説明 243 00:12:18,980 --> 00:12:21,880 実際にやっている何を得るの。 244 00:12:21,880 --> 00:12:23,610 だから私はここに私のWebルートに戻ってきました。 245 00:12:23,610 --> 00:12:25,318 そして、私はズームインよ 少しはあなたを表示します 246 00:12:25,318 --> 00:12:28,620 私は、get1.phpというファイルを持っています。 247 00:12:28,620 --> 00:12:31,830 >> それでは、get1.phpをクリックしてみましょう。 248 00:12:31,830 --> 00:12:36,600 そして、私は、任意のコンテンツを見ていませんよ。 249 00:12:36,600 --> 00:12:38,390 それは右、奇妙な? 250 00:12:38,390 --> 00:12:39,740 まあ、それは本当に実際に。 251 00:12:39,740 --> 00:12:42,030 私は提供しなかったため、 URLで何か。 252 00:12:42,030 --> 00:12:46,270 私はget1.phpに行くが、私です 任意のキーと値のペアを提供していませんでした 253 00:12:46,270 --> 00:12:47,450 私のクエリ文字列の一部として。 254 00:12:47,450 --> 00:12:50,510 それでは、クエリ文字列を追加してみましょう このファイルには何ができるかを参照してください。 255 00:12:50,510 --> 00:12:53,040 >> クエリ文字列を開始するには、あなた ただ疑問符を入力します。 256 00:12:53,040 --> 00:13:00,820 その後、多分私は名前=ダグ&年= 2015を言いますよ。 257 00:13:00,820 --> 00:13:02,914 そして私は、Enterキーを押します。 258 00:13:02,914 --> 00:13:04,080 今何が起こっているかがわかります。 259 00:13:04,080 --> 00:13:05,480 私はget1.phpまだです。 260 00:13:05,480 --> 00:13:08,445 しかし、今、私は与えてきました キーと値のペアは、と私はよ 261 00:13:08,445 --> 00:13:14,940 自分自身でそれらをプリントアウト paragraph--名、Doug--年、2015年。 262 00:13:14,940 --> 00:13:17,970 それはまさに、コードだけで私たちです 少し前のスライドで見ました。 263 00:13:17,970 --> 00:13:22,290 >> そして、私は多分別のものを追加したい場合 キーと値のペア、およびクラス= CS50。 264 00:13:22,290 --> 00:13:25,325 265 00:13:25,325 --> 00:13:27,580 今、私は別のキー値を持ちます プリントアウトしていますペア 266 00:13:27,580 --> 00:13:30,025 とき、私はもう一度、URLを再訪。 267 00:13:30,025 --> 00:13:31,900 今、多分これではありません ものすごくよくフォーマットされています。 268 00:13:31,900 --> 00:13:33,660 だから私はget.phpの別のバージョンがあります。 269 00:13:33,660 --> 00:13:36,350 それはget2.phpです。 270 00:13:36,350 --> 00:13:39,070 >> この差 一つは、私はCSSファイルを持っています、 271 00:13:39,070 --> 00:13:41,690 それがAのものをフォーマット もう少しうまく私のため。 272 00:13:41,690 --> 00:13:43,940 それは、多分ほとんどありません 世界の美しいCSS。 273 00:13:43,940 --> 00:13:45,650 しかし、それはそれを行うためのもうひとつの方法です。 274 00:13:45,650 --> 00:13:52,840 だから私はまだアクセスを得ることができます $ _GETを使用して、私の変数へ。 275 00:13:52,840 --> 00:13:56,610 そして、この場合には、私は一種のです CSSはもう少し凝った作り。 276 00:13:56,610 --> 00:13:58,360 そして、我々はにオーバーポップ場合 第二のための私のIDE、 277 00:13:58,360 --> 00:14:06,870 私はPHPのWebであなたを紹介します ここでは、ディレクトリ、get2.php。 278 00:14:06,870 --> 00:14:10,010 ここでは、いくつかのHTMLをそれを開くでしょう。 279 00:14:10,010 --> 00:14:13,220 どうやら私はそれにリンクしてい 私が話していたCSSファイル。 280 00:14:13,220 --> 00:14:14,570 私は、テーブルタグを開きます。 281 00:14:14,570 --> 00:14:15,970 そして、ここに私のforeachループです。 282 00:14:15,970 --> 00:14:18,450 >> ここで、その何 前のスライドに示しました。 283 00:14:18,450 --> 00:14:21,007 唯一の違いは、私です このキーと値のCSSを持っています 284 00:14:21,007 --> 00:14:22,340 私はそれに適用していたスタイリング。 285 00:14:22,340 --> 00:14:25,622 しかし、それは、私がやっているすべての私はされるのです すべて取得するために$ _GET渡って繰り返し処理 286 00:14:25,622 --> 00:14:26,580 キーと値のペアの。 287 00:14:26,580 --> 00:14:28,890 >> そして、私はテーブルとして、それらをプリントアウトしています。 288 00:14:28,890 --> 00:14:33,230 そして、どうやら、私はキーをフォーマットしてい 片道で、 00:14:40,057 だから、明らかにそれはいくつかに適用されます 私のCSSファイルのGET.CSSでクラスセレクタ。 290 00:14:40,057 --> 00:14:42,890 そして、どうやら、私はプリントアウトしています 私の値は全く異なる方法。 291 00:14:42,890 --> 00:14:45,530 かなり多くのどちらが ここでは、どこで見たもの 292 00:14:45,530 --> 00:14:47,710 私たちの値が印刷されました 青色の背景と、 293 00:14:47,710 --> 00:14:49,969 私たちのキーが印刷されました 黄色の背景を持ちます。 294 00:14:49,969 --> 00:14:52,010 だから、私が得ている方法です これらの様々なスタイル。 295 00:14:52,010 --> 00:14:54,054 私は別のCSSクラスを使用していますので。 296 00:14:54,054 --> 00:14:55,470 しかし、それはかなりそれを得るためです。 297 00:14:55,470 --> 00:14:58,380 同様に私は情報を抽出しています。 298 00:14:58,380 --> 00:15:01,000 そして、この場合には、私はちょうどよ 画面にそれを印刷します。 299 00:15:01,000 --> 00:15:04,310 私は、URLからそれを取得しています そしてそれは、GETが私たちのために何をするかです。 300 00:15:04,310 --> 00:15:06,470 >> あなたは可能性を参照しています 問題ここにかかわらず? 301 00:15:06,470 --> 00:15:11,720 なぜ多分私達だろう $ _GETを使用したくありませんか? 302 00:15:11,720 --> 00:15:15,440 何場合は、多分、私はこのクエリを作っていましたか? 303 00:15:15,440 --> 00:15:18,000 --to get3.php、どのI 私のIDEではありません。 304 00:15:18,000 --> 00:15:19,640 それはちょうど仮想的なファイルです。 305 00:15:19,640 --> 00:15:22,187 しかし、それは明らかに、ここで注意してください で自分のパスワードを渡します。 306 00:15:22,187 --> 00:15:23,770 そして多分私のパスワードが恥ずかしいです。 307 00:15:23,770 --> 00:15:28,070 それとも私は人にしたくありません 私のパスワードは、右であるものを知っています。 308 00:15:28,070 --> 00:15:33,140 >> 私が渡している場合は私が使用している場合にはthough-- $ _GET方法である何が起こりますか、 309 00:15:33,140 --> 00:15:34,970 それは、URLになるだろう。 310 00:15:34,970 --> 00:15:39,890 だから、いくつかの悪意のあるユーザーがかもしれません 私がやっているかを確認することができます。 311 00:15:39,890 --> 00:15:42,040 私はそれらを渡すこともできます 機密性の高い情報。 312 00:15:42,040 --> 00:15:43,310 それともそれも悪質なユーザーではありません。 313 00:15:43,310 --> 00:15:45,790 多分それはちょうどあなたの友人の誰 あなたの肩の上に立っています。 314 00:15:45,790 --> 00:15:47,650 そして今、彼らはパスワードを知っています 自分のFacebookのアカウントに。 315 00:15:47,650 --> 00:15:49,483 >> そしておそらく彼らはないでしょう それを使って何をします。 316 00:15:49,483 --> 00:15:53,749 しかし、あなたのパスワードがあった場合 Facebookを利用して$ _GETを経由して提出し、 317 00:15:53,749 --> 00:15:55,290 今、彼らは自分のFacebookのパスワードを知っています。 318 00:15:55,290 --> 00:15:59,000 それはURLですぐそこですので あなたは情報を提出やった時。 319 00:15:59,000 --> 00:16:01,887 >> だから、おそらくそれが最善ではありません 機密情報を渡す方法。 320 00:16:01,887 --> 00:16:04,470 それは、情報を渡すために良い方法です 我々は特にないこと 321 00:16:04,470 --> 00:16:05,886 あまりにも敏感であるように、約気になります。 322 00:16:05,886 --> 00:16:09,347 GETはかなり速いですので、 他のスーパーグローバルへの相対 323 00:16:09,347 --> 00:16:10,430 我々はについて話すつもりです。 324 00:16:10,430 --> 00:16:13,330 しかし、そうでないかもしれない最高のツール 機密情報のため。 325 00:16:13,330 --> 00:16:15,990 >> そのために私たちがしたいことがあります 、$ _POSTと呼ばれるものを使用します 326 00:16:15,990 --> 00:16:18,560 これは他のスーパーグローバル変数です。 327 00:16:18,560 --> 00:16:20,750 それは別の連想配列です。 328 00:16:20,750 --> 00:16:23,240 だから、ほとんどの作品 GETとまったく同じ。 329 00:16:23,240 --> 00:16:26,850 除き、代わりの抽出 URLからの情報、 330 00:16:26,850 --> 00:16:29,870 それは、HTTPヘッダを介して何かをします。 331 00:16:29,870 --> 00:16:32,080 だから、私たちからリコール 我々が話をしたHTTP、上のビデオ 332 00:16:32,080 --> 00:16:34,850 どのようなブラウザ、サーバについて、 クライアントが通信します。 333 00:16:34,850 --> 00:16:38,070 そして、情報が戻されます 前後HTTPヘッダインチ 334 00:16:38,070 --> 00:16:43,330 >> $ _POSTで、情報は、典型的には これらのHTTPヘッダを介して送信されます。 335 00:16:43,330 --> 00:16:49,770 そして、我々は、最も一般的に$ _POSTが表示されます HTMLフォームの提出状況。 336 00:16:49,770 --> 00:16:52,390 あなたはまだHTMLフォームを使用することができます GETに物事を提出します。 337 00:16:52,390 --> 00:16:56,120 しかし、彼らは通常使用されています POSTのコンテキストインチ 338 00:16:56,120 --> 00:17:00,280 >> そこでここでは、HTMLフォームの例です。 339 00:17:00,280 --> 00:17:06,750 今、私たちは前に、これらを見てきましたが、我々は持っています この部分、アクション= "post.php"を見ていません。 340 00:17:06,750 --> 00:17:10,756 だから我々はのフォームについて話したとき、 HTMLのコンテキストが、私は送信ボタンを持っていました。 341 00:17:10,756 --> 00:17:13,630 そして、あなたが思い出すならば、私は[送信]をクリックしますと思います そしてそのページだけでリフレッシュ、 342 00:17:13,630 --> 00:17:14,660 何もしませんでした。 343 00:17:14,660 --> 00:17:18,250 >> この場合、私が提出しています 私は、このフォームで入力するものは何でも、 344 00:17:18,250 --> 00:17:20,750 post.phpと呼ばれるPHPファイルを。 345 00:17:20,750 --> 00:17:25,810 そして、どうやら、私はそれをやっている方法 この形でPOSTメソッドを使用しています。 346 00:17:25,810 --> 00:17:29,040 情報のだから、すべての部分 私は、このフォームに入力すること 347 00:17:29,040 --> 00:17:31,470 提出されます HTTPヘッダを通して。 348 00:17:31,470 --> 00:17:36,440 >> それはpost.phpにアクセスできるようになり、 それは私のフォームのアクションだから。 349 00:17:36,440 --> 00:17:39,811 これは、アクセスできるようになります $ _POSTに行くこともできます。 350 00:17:39,811 --> 00:17:42,310 そしてどうやら、私ができる方法 個々の要素を取得 351 00:17:42,310 --> 00:17:44,765 その連想配列と この属性であり、 352 00:17:44,765 --> 00:17:48,130 私たちのinputタグのname属性。 353 00:17:48,130 --> 00:17:53,540 >> だから、明らかに私は正方形の$ _POSTを言うことができます ブラケットはどのようなユーザーを取得するために名前を付けます 354 00:17:53,540 --> 00:17:55,440 最初のフィールドに入力しました。 355 00:17:55,440 --> 00:18:01,030 そして、$ _POSTパスワードのPWではなく、 ユーザーが入力したものは何でもで取得します 356 00:18:01,030 --> 00:18:03,650 2番目のフィールドです。 357 00:18:03,650 --> 00:18:06,414 >> それでは、見てみましょう CS50 IDEでこれを超えます。 358 00:18:06,414 --> 00:18:08,330 そこでここでは、私はよ 第二のためにズームイン。 359 00:18:08,330 --> 00:18:12,380 そして、我々はpost.htmlというファイルを持っています。 360 00:18:12,380 --> 00:18:13,690 私post.htmlをクリックしてください。 361 00:18:13,690 --> 00:18:16,300 私はここで一番上に 非常に単純なWebフォーム。 362 00:18:16,300 --> 00:18:18,750 それは我々がちょうど見た形です 秒前のスライドに。 363 00:18:18,750 --> 00:18:25,610 >> 私は、ダグを入力すると、私がすることができます 私のパスワード、我々はすべてを入力 364 00:18:25,610 --> 00:18:27,340 squadgoals知っています。 365 00:18:27,340 --> 00:18:30,100 そして、私は提出ヒットします。 366 00:18:30,100 --> 00:18:32,290 そしてどうやら、その post.phpに提出します。 367 00:18:32,290 --> 00:18:33,810 そして、私は明らかにそれを印刷しています。 368 00:18:33,810 --> 00:18:36,490 だから私は、すべてのセキュリティを退治です POSTがちょうどプリントアウトで私を与えること 369 00:18:36,490 --> 00:18:37,720 ユーザ名とパスワードを入力します。 370 00:18:37,720 --> 00:18:38,960 >> ユーザーの名前はダグです。 371 00:18:38,960 --> 00:18:40,810 ユーザーのパスワードがsquadgoalsです。 372 00:18:40,810 --> 00:18:42,480 私はこれをどのように行うのですか? 373 00:18:42,480 --> 00:18:44,800 まあ、IDEにオーバーポップ 再び秒。 374 00:18:44,800 --> 00:18:51,340 私たちは、取るために下にスクロールします post.phpを見て、されました 375 00:18:51,340 --> 00:18:54,040 私はここに提出するための操作です。 376 00:18:54,040 --> 00:18:55,739 それは私のHTMLフォームのアクションでした。 377 00:18:55,739 --> 00:18:56,780 そして、それは私がやっているすべてです。 378 00:18:56,780 --> 00:19:01,370 ユーザーの名前で、私は印刷です $ _POST「名前」の内容アウト。 379 00:19:01,370 --> 00:19:04,660 そして、ユーザーのパスワード $ _POST "password"です。 380 00:19:04,660 --> 00:19:08,920 だから私はその情報を与えられました HTMLフォームを送信することもできます。 381 00:19:08,920 --> 00:19:13,790 そして、私は今、$ _POSTを使用して抽出することができます 私が送信するのに使用される方法が原因 382 00:19:13,790 --> 00:19:17,470 そのフォームのデータがPOSTメソッドでした。 383 00:19:17,470 --> 00:19:20,640 >> 今では、おそらくありません 私は行くよそうgreat-- 384 00:19:20,640 --> 00:19:24,510 第二のために戻ります 私たちのセットにhere-- 385 00:19:24,510 --> 00:19:30,120 私はあればそれはおそらくそれほど大きくはありません POSTで情報を送信し、 386 00:19:30,120 --> 00:19:32,532 これは表向きより安全です。 387 00:19:32,532 --> 00:19:34,740 これはおそらく、それほど大きくないのです 私はそれをやっている場合は、その後、 388 00:19:34,740 --> 00:19:36,470 ユーザーのパスワードをプリントアウトします。 389 00:19:36,470 --> 00:19:38,540 これは、より安全なことになっています。 390 00:19:38,540 --> 00:19:40,870 >> [OK]を、それが完全に安全ではないのです。 391 00:19:40,870 --> 00:19:42,910 だから、この小さなで スニペットここで私が欲しいです 392 00:19:42,910 --> 00:19:46,410 ほんの一部にあなたの注意を引くために データセキュリティ上の問題、ちょうど何か 393 00:19:46,410 --> 00:19:51,200 あなたがしているとして考えるように 仕事やインターネットを使用して。 394 00:19:51,200 --> 00:19:53,890 これは、検討するだけのものです。 395 00:19:53,890 --> 00:19:57,980 >> 私は情報であることを言いました HTTPヘッダを通じて提出 396 00:19:57,980 --> 00:19:59,724 あなたは、POSTメソッドを使用する場合。 397 00:19:59,724 --> 00:20:01,390 それらが完全に安全ではないことを意味しています。 398 00:20:01,390 --> 00:20:05,610 彼らはより見つけることが困難です GETメソッドを使用して、どこ 399 00:20:05,610 --> 00:20:06,882 それは、URLにちょうどいいです。 400 00:20:06,882 --> 00:20:08,340 しかし、それを見つけるための方法がまだあります。 401 00:20:08,340 --> 00:20:10,423 そして、私はちょうど表示します あなたこれ多分あなたように 402 00:20:10,423 --> 00:20:12,940 このことについて考え始めます あなたが働いて、または使用しているとして、 403 00:20:12,940 --> 00:20:14,560 ウェブサイトや提出 パスワード、多分使用して 404 00:20:14,560 --> 00:20:16,518 で同じパスワード 異なる多くの場所。 405 00:20:16,518 --> 00:20:22,060 それは知っていることは、まだ実際にはかなりあります 誰かのパスワードを見つけるのは簡単。 406 00:20:22,060 --> 00:20:25,190 >> だからここで、私は行きますよ post2.htmlに移動します。 407 00:20:25,190 --> 00:20:28,850 そしてpost2.htmlとの違い そして、post2.phpはかなり微妙です。 408 00:20:28,850 --> 00:20:31,420 違いはただであります 私はプリントアウトしていないこと 409 00:20:31,420 --> 00:20:33,520 私はフォームを送信したパスワード。 410 00:20:33,520 --> 00:20:35,260 >> だから私は、ダグを入力するつもりです。 411 00:20:35,260 --> 00:20:38,365 そして、私はタイプするつもりです squadgoals、で、でも、 412 00:20:38,365 --> 00:20:40,770 私たちが知っているものの、それはパスワードです。 413 00:20:40,770 --> 00:20:42,540 私は、送信する前に フォームしかし、私は行きますよ 414 00:20:42,540 --> 00:20:45,864 ちょうどに、開発者ツールを開きます ここで発生する何が起こっているかを示しています。 415 00:20:45,864 --> 00:20:47,530 だからChromeで、私はF12キーをヒットするつもりです。 416 00:20:47,530 --> 00:20:54,120 417 00:20:54,120 --> 00:20:57,230 そして、それは私を開くために起こっています 右側の開発ツール。 418 00:20:57,230 --> 00:20:59,480 私はまだフォームを提出していません。 419 00:20:59,480 --> 00:21:02,680 今、私は自分のフォームに送信ヒットするつもりです。 420 00:21:02,680 --> 00:21:05,370 そしてどうやら、私が作りました 電話するか、私は要求を行いました 421 00:21:05,370 --> 00:21:07,620 理にかなっている、post2.phpします。 422 00:21:07,620 --> 00:21:10,040 私はそれをクリックするつもりです。 423 00:21:10,040 --> 00:21:13,802 >> そしてこっち、私は行きますよ ヘッダをクリックします。 424 00:21:13,802 --> 00:21:15,410 ここで起こって多くのものがあります。 425 00:21:15,410 --> 00:21:21,310 しかし、私は非常にスクロールダウンした場合 ボトム、通知は右の私のカレンダーをthere-- 426 00:21:21,310 --> 00:21:25,180 second--権利のためにそれをブロックしました そこに非常に下の隅に、 427 00:21:25,180 --> 00:21:27,386 ダグ、pw-- squadgoals name--。 428 00:21:27,386 --> 00:21:30,010 だから私は、POSTを使用しているにもかかわらず、 より安全な方法は、 429 00:21:30,010 --> 00:21:33,570 ただ、あなたがそうするときに注意してください あなたはまだ情報を送信しています 430 00:21:33,570 --> 00:21:34,430 HTTPを介しました。 431 00:21:34,430 --> 00:21:36,770 そしてそれはまだすることができます 敵によって発見。 432 00:21:36,770 --> 00:21:39,270 それはちょうど私たちが行っているものです 本当にに対処する必要があります。 433 00:21:39,270 --> 00:21:41,980 たぶん私たちを暗号化するためのいくつかの方法があります パスワード我々はそれらを介して送信する前に、 434 00:21:41,980 --> 00:21:44,410 これは、良いだろう これは私がここでやっていませんよ。 435 00:21:44,410 --> 00:21:47,010 >> しかし、単にPOSTことに注意してください この方法はあまりにも制限があります。 436 00:21:47,010 --> 00:21:49,801 これは、GETを超える改良でです すぐに表示されるという点。 437 00:21:49,801 --> 00:21:51,280 しかし、それは完全な修正ではありません。 438 00:21:51,280 --> 00:21:53,280 だからここの例を示します。 ホームエクササイズで簡単に 439 00:21:53,280 --> 00:21:56,350 あなたには、いくつかを取得するために使用できること PHPでの作業の練習。 440 00:21:56,350 --> 00:21:58,300 Webページの次のペアを作成します。 441 00:21:58,300 --> 00:22:00,960 最初はただ非常に簡単でなければなりません 単一のフィールドを形成し、Submit 442 00:22:00,960 --> 00:22:01,460 ボタン。 443 00:22:01,460 --> 00:22:04,070 私たちに非常に非常に似て ただpost.htmlで行いました。 444 00:22:04,070 --> 00:22:07,450 >> そして、第二 ファイルを作成しなければなりません 445 00:22:07,450 --> 00:22:11,687 、ファイル、PHPファイルであります POSTで、入力を期待して、 446 00:22:11,687 --> 00:22:14,770 そしてこれは、ユーザが入力した内容に基づいて、 あなたは整数になりますと仮定することができます。 447 00:22:14,770 --> 00:22:16,160 あなたがいずれかの操作を実行する必要はありません エラーチェックなど。 448 00:22:16,160 --> 00:22:18,284 あなたは、ユーザーを想定することができます 整数値を入力します、 449 00:22:18,284 --> 00:22:22,230 またはによって解釈のようなもの そのフォームに整数としてPHP、。 450 00:22:22,230 --> 00:22:24,790 あなたはただ作成したいです n個の乗算テーブルにより、N。 451 00:22:24,790 --> 00:22:28,480 >> ユーザーが10を送信するのであれば、私たちがしたいです 10×10乗算テーブルを持っています。 452 00:22:28,480 --> 00:22:31,832 ユーザーが12を提出した場合、我々はしたいです 12 12乗算テーブル。 453 00:22:31,832 --> 00:22:33,790 ただ、あなたは何を見ることができます 我々は、ここで運転しています 454 00:22:33,790 --> 00:22:36,040 我々は見てみましょう 私のIDEでこのファイル。 455 00:22:36,040 --> 00:22:38,080 >> そこでここでは、IDEで、私はmult_form.htmlを持っています。 456 00:22:38,080 --> 00:22:41,370 457 00:22:41,370 --> 00:22:43,100 私はそれをクリックします。 458 00:22:43,100 --> 00:22:46,020 私がしたいすべてが値を提出しています。 459 00:22:46,020 --> 00:22:47,590 10を入力し、Submitを押してください。 460 00:22:47,590 --> 00:22:51,190 そしてどうやら、mult_table.php、これ 我々は、URLであり上部に見ることができます 461 00:22:51,190 --> 00:22:53,970 私は10で10を作成しています 九九。 462 00:22:53,970 --> 00:22:59,365 >> 私は、私は今、15を入力し、Submitをヒットした場合 15 15乗算テーブルを持っています。 463 00:22:59,365 --> 00:23:02,240 私は、もちろん、表示するつもりはありません あなたmult_table.phpの内容、 464 00:23:02,240 --> 00:23:04,781 それは楽しみを取るため、 ホームエクササイズで、このうち。 465 00:23:04,781 --> 00:23:07,480 しかし、それはいくつかを得るための素晴らしい方法です PHPのループでの作業の練習 466 00:23:07,480 --> 00:23:10,889 POST、非常にシンプルで、うまくいけば、 ストレスのない例は、単に 467 00:23:10,889 --> 00:23:12,180 練習の少しをすることができません。 468 00:23:12,180 --> 00:23:16,540 そして、私が起こって少しCSSを持っています ここに私の個々のテーブルを作成するには 469 00:23:16,540 --> 00:23:19,710 細胞は、だけの種類のオフポップ 少しともう少し見て 470 00:23:19,710 --> 00:23:22,205 九九のように、 ただ単にテキストとは対照的に、 471 00:23:22,205 --> 00:23:23,261 そこに座っての一種。 472 00:23:23,261 --> 00:23:26,260 私たちが話しましょう​​最後のスーパーグローバル このビデオで何が呼び出されます 473 00:23:26,260 --> 00:23:27,597 $ _SESSION。 474 00:23:27,597 --> 00:23:29,930 そして多分これは実際にあります 何かの最良の例 475 00:23:29,930 --> 00:23:31,700 地球検討します。 476 00:23:31,700 --> 00:23:33,189 これは、別の配列です。 477 00:23:33,189 --> 00:23:34,480 それは別の連想配列です。 478 00:23:34,480 --> 00:23:40,580 しかし、それはすべてのを介してアクセスできます 私たちのシステムに存在するPHPファイル。 479 00:23:40,580 --> 00:23:43,410 >> 私たちは、提出する必要はありません 時の情報1ページ 480 00:23:43,410 --> 00:23:45,400 以下のような私たちは、GETとPOSTとしてください。 481 00:23:45,400 --> 00:23:46,380 それは常にあります。 482 00:23:46,380 --> 00:23:50,040 そして、これはページに最適です あなたは、例えば、ログインしている場合は、 483 00:23:50,040 --> 00:23:53,120 そして、あなたのログイン情報が欲しいです ページにページからページへ永続化します。 484 00:23:53,120 --> 00:23:58,180 >> あなたは、セッションを開始することができ、 以下のようなものを保存するために、$ _SESSIONを使用 485 00:23:58,180 --> 00:24:02,320 ユーザー名、またはユーザーの ID情報など。 486 00:24:02,320 --> 00:24:07,600 そして、その情報は、のままになります $ _SESSIONセッションを破壊するまで 487 00:24:07,600 --> 00:24:09,550 少し後に。 488 00:24:09,550 --> 00:24:12,375 >> と動的なWebサイトを書きます PHPは、彼らがかなり良くなります。 489 00:24:12,375 --> 00:24:14,250 あなたのサイトは非常になります ダイナミック、あなたはしないでください 490 00:24:14,250 --> 00:24:17,670 何よりも、あまりにもはるかに多くをしなければなりません あなたは、そうでなければ、単に行っているだろう 491 00:24:17,670 --> 00:24:18,920 HTMLでそれをやって。 492 00:24:18,920 --> 00:24:21,630 しかし、それは練習が必要、 たくさんの練習。 493 00:24:21,630 --> 00:24:26,897 >> あなたは既にCで動作する方法を知って、 そのため、PHPにジャンプすることはあまりにもトリッキーではありません。 494 00:24:26,897 --> 00:24:28,730 多分少しは何か トリッキーなビットが働いています 495 00:24:28,730 --> 00:24:33,180 GETとPOSTのこの新しい考えと、 そして多分あなたのHTMLとあなたのPHPを混合 496 00:24:33,180 --> 00:24:34,220 一緒に。 497 00:24:34,220 --> 00:24:37,570 しかし、また、インターネットことに注意してください 膨大な情報の宝庫です。 498 00:24:37,570 --> 00:24:41,670 また、PHPのドキュメントが提供されています 多くの場所で、おそらく最も 499 00:24:41,670 --> 00:24:43,354 php.netで正準。 500 00:24:43,354 --> 00:24:45,520 そして、あなたがそこに見つけることができ、 さまざまな機能の多く、 501 00:24:45,520 --> 00:24:48,330 そして、例、および例を使用します 例の際、例に依存します。 502 00:24:48,330 --> 00:24:51,340 どこにしようとすると、図にする場合 何かをする方法を、オッズは、あります 503 00:24:51,340 --> 00:24:52,964 誰かが、おそらくあなたの前にそれを行っています。 504 00:24:52,964 --> 00:24:55,840 そして、あなたは、それらを使用することができます どのような実装するためのインスピレーション 505 00:24:55,840 --> 00:24:58,230 それはあなたがあまりにも実装しようとしているです。 506 00:24:58,230 --> 00:24:59,230 >> 私はダグロイドです。 507 00:24:59,230 --> 00:25:01,210 これはCS50です。 508 00:25:01,210 --> 00:25:02,608