>> DOUG LLOYD：だから私たちの中で PHPの構文のビデオ、
私たちはどのようにPHPについて多くのことを話しました コマンドラインで使用することができ
なるようにプログラムを実行します 我々はCからではかなり精通しています
しかし、私も述べたように そのビデオで、PHP
最初にするために開発されました Webプログラミング、ウェブサイトを実装します。
だから、このビデオでは、我々はしています どのように私たちの話をするつもりは
Web開発コンテキストでPHPを使用しています。
>> 我々は、から、すでに知っています、 HTML上の私たちのビデオ、
ウェブサイトが構築されていること HTMLタグのセットのうち
それは意味的に定義します ウェブページの構造。
しかし、ウェブサイトであること 純粋なHTMLで構築
非常に苦しみます、 非常に重大な制限。
>> この制限を説明するために、 それでは、次のことを考えてみましょう。
だから今私は、Webページを構築したいです ユーザーがそれを訪問するたびに、その、
それは私に電流を提供します マサチューセッツ州ケンブリッジの時間。、
最新分にそれを表示します。
私は今、この権利を作っていた場合は、 私はこのような何かを言うかもしれません。
私が持っているので、Cambridge--の現在時刻 HTMLタグ、ヘッドタグ、タイトルタグ、
本体は、電流をtags-- ケンブリッジでの時間は、14時08分です
軍用時間をプリントアウトします。
>> それは今14:09、14時09分だ場合はどうなりますか？
さて、これまで、HTMLで、私が持っています 行くと午後2時09分に変更します。
そして、1分後、 私は再びそれを変更する必要があります。
あなたが想像できるように、それはです これまでおそらく最悪の仕事。
あなたは、Webページのウェブマスターなら、 1分ごと、1日24時間、
あなたがして、現在の時刻を更新する必要があります 手動tim​​e.htmlを開き、変更
言うべきコードのちょうどそのスニペット 時間と分で現在の時刻。
それはおそらく非常にではありません 経営資源の有効利用、
両方の人間と計算。
>> すべてのHTMLあるサイト 完全に静的です。
あなたが更新できる唯一の​​方法 コンテンツ、私たちは見てきたように、
手動でそれらのソースを開くことです ファイルは、それらを編集し、それらを保存します。
そして、ときにユーザー ページを更新し、
または最初のページを訪問 時間、彼らは最新のコンテンツを取得します。
しかし、我々はしましたという理由だけで それを手動で編集しました。
>> 私たちはそこにいくつかのPHPを混合するために起動した場合、 我々のコードは、多くはより柔軟な得ることができます。
そして、私たちは私達のページのための方法を持つことができます 動的に、または自分自身を更新し、
私たちの貧困層を必要とせず 前の例のウェブマスター
手動で物事を更新します。
彼らは自動的にそれを行うことができます。
私たちが介入する必要はありません。
我々はいくつかの睡眠を得ることができます。
どのおそらく良いことであればあります あなたは、Webプログラミングをたくさんやっています。
>> だからCS50 IDEで、我々は実行します Webサーバは、Apacheと呼ばれます。
これは、非常に一般的に使用される情報 オープンソースのWebサーバシステム。
このシステムは、持っています 解釈する能力
場合に有用であることが起こっている、PHP、 あなたは、任意のPHPプログラミングをしたいです。
>> そして、CS50 IDEで、我々はコマンドを持っています 行うにはこれは非常に簡単にするために、
開始apache50。
そして、そのスラッシュ パスにスラッシュ、スラッシュ
DIRは、それはの本当に一般的な方法です あなたがここで指定したものを示します
特定のパスです ディレクトリあなたに
ルートになりたいです サイト、またはルートページ、
またはフォルダからWebサーバー ファイルを検査し、提供するために開始されます
それらを要求するクライアントにまで。
それでは、ちょうどに、CS50 IDEにオーバーポップましょう これがどのように機能するか、本当に迅速に、あなたを示しています。
>> だからここCS50のIDEで、私がいますよ 週ゼロナインと呼ばれるディレクトリ。
そして私は私が持っているtwo--持っています 単にlsコマンドを実行
上記の私が持っていることを示すために ここに2つのディレクトリ、PHP、
私が使用したファイルのセットがあります PHPの構文ビデオ、その後、PHP-ウェブ、
ファイルのセットはである私 このビデオで使用したいと思います。
>> そして、私は開始したいと思います Webサーバインスタンス
PHP-webフォルダの内容 ファイルがアップサービスされているとおりです。
だから私は何をするつもり？
私はapache50スペース​​を入力しようとして 、宇宙PHP、ダッシュウェブを開始します。
それはディレクトリへのパスです 私は現在、午前場所から。
それから私は、Enterキーを押します。
これは何をするだろう ここでものを少し。
そして、それは言うために起こっています、 Apacheが正常に起動しました。
あなたのサイトはat--使用可能になり、 その後、サイトのURLがあります。
だから私は何をするつもり？
私はすぐにこれをコピーするつもりです。
そして、私はup--開き、するつもりです 私は少しズームアウトしますhere--
私は開くつもりです Chromeで新しいタブ。
そして、私はそのURLを訪問するつもりです。
>> 私はEnterキーを押しますするつもりです。
これは、ロードするために起こっています。
そして私は再びズームアウトします。
そして、私たちはここで見ることができますです 私のPHPのWebディレクトリの内容。
>> だから今は基本的に何が起こっているのか ここCS50 IDEの私のインスタンスがあり、
これらのファイルを提供しています それらを要求します誰。
そしてもちろん、オーバー このビデオでは、我々は一種のよ
これらの束を見てみましょう コンテキスト内の異なるファイル。
>> あなたのApacheのことをテストするには サーバが動作しています、
一般的に起こっています CS50 IDEのケースのように、
しかし、あなたはより一般的にこれを行う場合、 あなたは、あなた自身のウェブの構築を開始
サーバーは、本当にあります アナログの共通の並べ替え、
通常の "Hello World" PHPのWeb開発のために使用。
ファイルを持つことです ちょうどこのcode--から成ります
PHP情報を設定し、PHPの区切り文字、 括弧、間にセミコロン。
どちらが、基本的には特別です 示していますPHPの関数
あなたが実行しているPHPのバージョン。
>> だからCS50 IDEで、私が持っています 利用可能なそのファイルだけ
これがどのように見えるかをお見せします。
だから、私は、インデックスで探しています 私のPHPインスタンスから。
私のApacheインスタンスが実行されています PHP-ウェブの内容。
そして、私は、ファイルがここにinfo.phpを呼ばれています。
>> 私はそれをクリックし、ズームアウトするつもりです。
これは、あなたが行っているものです かなり多く、確認してください。
これはちょうどことを私に語っています 私のApacheサーバが動作しています。
そして、これは、明らかに、あります 私が実行しているPHPのバージョン。
これはに私のアナログでの "Hello World。"
>> だから私は物事が動作している知っています。
だから我々は行ってもいいです。
我々はここから進むことができます。
>> それでは、それを再検討しましょう 私たちがした時の例
私たちの貧しいウェブマスターとの話 誰が常にページを更新しなければなりませんでした。
これは、どのようにのための修正であるかもしれません 私は物事を実装するだろう
ウェブマスターはしませんでしたように、 時間を更新し続ける必要があります。
それはちょうど一種のだろう 自動的に行われます。
>> 以下のダウン、HTML、それはです 1つの例外を除いて、かなり類似しました。
しかし、ここで私が一番上にあるいくつかのPHPを持っています。
私は、明らかに、これを求めています 関数date_default_timezone_set。
>> そして、我々はについてのすべての話をしません CS50でこれらの機能、
PHPはおそらく持っているので、 数万。
それが少しあるかもしれません 誇張が、それができない場合があります。
それが組み込まれ多くの機能を持っています。
そして、これは明らかに関数であります 米国/東部としての私のタイムゾーンを設定し、
これは私はタイムゾーン 現在、この動画を作りました。
>> それから私は、呼び出しを行います 日付、呼び出される関数です。
そして、どうやら、私は記憶しています 彼の時間、と呼ばれるものの。
それでは、ここで起こっているの？
>> まあ、基本的には何が されて起こって、私は電話を作ってるんです
に起こっているいくつかのサーバに 時間は、現在あるものを私に教えてください。
そして、私は形式に変換してい 時間、分、秒。
そして、それは資本Hだ理由はこれです 12、私は24時間の時間を与えないだろう
小文字の時間になる時間の時間、。
そして、私はちょうどそれを格納しています 時間と呼ばれる変数です。
だから、PHPの2行目 そこに、関数の呼び出し、
日付、ちょうどなっています いくつかの文字列であり、
私に日付を与えるつもり、と 時間、およびその他の情報の束。
そして、そこに最初の引数は、彼のこと、 ただ重要な部分を抽出しています
私はこの例の気にすることを、 その時、分、秒です。
だから、起こっていることすべてです。
だから私は、格納する変数$時間のこと。
そして、ダウン時 私は、そこに非常に底
そのための速記を持っています 現在の時刻をプリントアウトします。
だから、僕は印刷するつもりです 現在の時刻が何であるかを。
>> それでは、この中を見てみましょう CS50 IDEと私たちが今しているかを確認
そのウェブマスターに多くの問題を節約できます。
すべての権利なので、ここで私は再び午前 バックルートディレクトリで
私のApacheインスタンスの。
そして、私はここにファイルと呼ばれるtime.phpを持っています。
私はちょうどそれをクリックするつもりです。
そして、私はので、上にスクロールします 私たちはかなり遠くにズームしています。
現在の時刻が午前14時20分34秒です。
だから私はそれを時間をやっています、 分、秒。
そして、私はリフレッシュすることができます ページと新しい時間を取得します。
--41。
私はページを更新するつもりです そして、新しい時間、44、46、47を得ます。
>> だから、私は明らかにないです 自分は何も変更。
私はこちらのページを更新しています。
だから私はそれを編集して戻ってそこにすることはできません。
そして、私はあなたを約束し、私はしないでください いずれかの同盟国を持っています
ファイルを編集している人 側の私に代わって。
>> 私はちょうど、そのPHPの関数を使用しています 私のための時間を生成するための時間、
自動的に。
、私は眠ってる場合でも、だから そして、私のWebサーバが実行されています、
そのページを訪れたユーザーはまだです 正確に現在の時刻を取得するつもり。
だから、かなり良いです。
私のサイトは、よりダイナミック作りました 過言ではないPHPコードと。
これは、コードの2行だけだったと print文を少し。
そして、すでに私が持っています はるかにダイナミックなサイト
その最初の例よりも、私たちは見ました ビデオの冒頭に。
>> だから、PHPの構文のビデオからリコール PHPインタプリタの実行時にその
私たちのプログラムは、それがすべてを無視します それは、PHPの区切り文字の中にはありません
それを吐き。
その例では、どのようなもの それが吐きれたことを、HTMLました。
そして、これは私が今できることを意味します 一緒にHTMLとPHPをまき散らします。
インタプリタはちょうどなるため HTMLと文字通り出力それを無視します。
右、良いどれですか？
>> おそらく、 一日の終わりに、
私はに私のサイトを希望します HTMLで構成すること。
任意のWebブラウザが解釈できるように、 それは、ページのHTMLを理解します
私たちのものとしてそれをレンダリング 実際に人間として理解することができます。
そして、私はPHPを使用することができます 私のサイトの部品の
私を必要とする必要ダイナミズム、 常に更新し、物事を持っています。
静的情報 同じ滞在することができます。
>> [OK]を、ので、それは大丈夫です。
しかし、なぜ私はこれをしますか？
なぜ私は、HTMLやPHPを混ぜるでしょうか？
私は、すべてのプリントアウトができました HTML、PHPの印刷機能を使用して。
なぜ私はそれをやっていないのですか？
第二のためにそれについて考えてみよう。
>> なぜ、私はちょうど私がout--印刷することができたとき ちょうど言うPHPの行を持つことができ、
印刷HTMLタグ、プリントヘッド。
なぜ私はそれをやっていないのですか？
なぜ私はPHPとHTMLを混合していますか？
>> さて、あなたは思われる場合 それについて秒。
PHPは、インタプリタが持ちます それは見るものを解釈します。
そしてそれは、持っているために起こっています コー​​ドの行を実行します。
HTMLを出力します。
オープンヘッドタグを出力します。
オープンタイトルタグを出力します。
それはしているつもりです 実行し、解釈
方法の一つ一つのステップという。
理由だけではなくせありません インタプリタは、ちょうどごまかします
それは理解していないもの そして、、自動的にそれを行いますか？
それは私に多くの時間を節約するために起こっています 一緒に私のHTMLとPHPを混合します。
>> 我々がない理由となるようです ちょうどオープンPHPの区切り文字を持っています
して、ちょうど全体を印刷 1つの巨大なPHPなどのページの内容
その後、機能への印刷を呼び出し、 近くにPHPの区切り文字と我々が行っています。
私たちは一緒にそれらをミックスだから、なぜです。
>> これまでのところ、我々はあまりにも多くのを見ていません 一般的なPHPの構文との違い。
これは非常に単純されています。
我々はすでに見てきました 疑問符、同等。
私たちは、新しい関数呼び出しのカップルを見て、 本当に空想何が起こっていません。
のは多分ものを作ってみましょう 少し手の込んだ。
私たちは、情報を渡す場合 別のPHPファイルとの間に、
多分ユーザーはできるように 私に情報を送信します。
そして、私は何かを行うことができます それ別のページ上で。
>> だから、PHPはをサポートしています スーパーグローバルと呼ばれるもの
かなり素晴らしいですね変数、。
彼らは本当にしています 巨大な連想配列
それは、この実装を支援 通過の機能
そのPHPファイル間の情報 弊社のWebサーバー上に存在しています。
>> これらのスーパーの最初の グローバルは、$ _GETと呼ばれています。
そして、それはおそらくです 理解するための最も簡単な。
何が$ _GETとどうなりますか？
まあ、基本的には、ユーザーがあります 余分な情報を入力しようとして
私たちのURLの末尾に。
そして、彼らはどのようなタイプ、と仮定すると それは、特定の方法でフォーマットされています
ちょうどである、クエリ文字列と呼ばれます キー値ペアのセットを分離
アンパサンドで。
これらのキーと値のペアは次のようになります $ _GET連想配列に格納されています。
そして、上の私たちのビデオから PHPの構文は、我々は知っています
を操作する方法 すでに連想配列。
だからここの例であり、 多分私はいくつかのPHP、
キーと値のペアのすべてを抽出します ユーザーがURLに供給されます。
だから、私はオープンPHPの区切り文字を持っています。
私は、foreachループを持っています。
私はスーパー渡って反復処理してい グローバル配列は、$ _GETと呼ばれます。
>> そして、私は参照できるようにしたいです キーと値の両方に。
そして、私はちょうどそれらを印刷しています うち、上の各1明らかに
ここに、独自の段落タグ。
私はいくつかのHTMLをプリントアウトしています そして、値を補間
その文にキーと値の。
>> それでは、どのようにこれを見てみましょう 実際に私たちのIDEで動作します。
そして多分これは役立ちます 少し説明
実際にやっている何を得るの。
だから私はここに私のWebルートに戻ってきました。
そして、私はズームインよ 少しはあなたを表示します
私は、get1.phpというファイルを持っています。
>> それでは、get1.phpをクリックしてみましょう。
そして、私は、任意のコンテンツを見ていませんよ。
それは右、奇妙な？
まあ、それは本当に実際に。
私は提供しなかったため、 URLで何か。
私はget1.phpに行くが、私です 任意のキーと値のペアを提供していませんでした
私のクエリ文字列の一部として。
それでは、クエリ文字列を追加してみましょう このファイルには何ができるかを参照してください。
>> クエリ文字列を開始するには、あなた ただ疑問符を入力します。
その後、多分私は名前=ダグ＆年= 2015を言いますよ。
そして私は、Enterキーを押します。
今何が起こっているかがわかります。
私はget1.phpまだです。
しかし、今、私は与えてきました キーと値のペアは、と私はよ
自分自身でそれらをプリントアウト paragraph--名、Doug--年、2015年。
それはまさに、コードだけで私たちです 少し前のスライドで見ました。
>> そして、私は多分別のものを追加したい場合 キーと値のペア、およびクラス= CS50。
今、私は別のキー値を持ちます プリントアウトしていますペア
とき、私はもう一度、URLを再訪。
今、多分これではありません ものすごくよくフォーマットされています。
だから私はget.phpの別のバージョンがあります。
それはget2.phpです。
>> この差 一つは、私はCSSファイルを持っています、
それがAのものをフォーマット もう少しうまく私のため。
それは、多分ほとんどありません 世界の美しいCSS。
しかし、それはそれを行うためのもうひとつの方法です。
だから私はまだアクセスを得ることができます $ _GETを使用して、私の変数へ。
そして、この場合には、私は一種のです CSSはもう少し凝った作り。
そして、我々はにオーバーポップ場合 第二のための私のIDE、
私はPHPのWebであなたを紹介します ここでは、ディレクトリ、get2.php。
ここでは、いくつかのHTMLをそれを開くでしょう。
どうやら私はそれにリンクしてい 私が話していたCSSファイル。
私は、テーブルタグを開きます。
そして、ここに私のforeachループです。
>> ここで、その何 前のスライドに示しました。
唯一の違いは、私です このキーと値のCSSを持っています
私はそれに適用していたスタイリング。
しかし、それは、私がやっているすべての私はされるのです すべて取得するために$ _GET渡って繰り返し処理
キーと値のペアの。
>> そして、私はテーブルとして、それらをプリントアウトしています。
そして、どうやら、私はキーをフォーマットしてい 片道で、<TDクラス= "キー"と。
だから、明らかにそれはいくつかに適用されます 私のCSSファイルのGET.CSSでクラスセレクタ。
そして、どうやら、私はプリントアウトしています 私の値は全く異なる方法。
かなり多くのどちらが ここでは、どこで見たもの
私たちの値が印刷されました 青色の背景と、
私たちのキーが印刷されました 黄色の背景を持ちます。
だから、私が得ている方法です これらの様々なスタイル。
私は別のCSSクラスを使用していますので。
しかし、それはかなりそれを得るためです。
同様に私は情報を抽出しています。
そして、この場合には、私はちょうどよ 画面にそれを印刷します。
私は、URLからそれを取得しています そしてそれは、GETが私たちのために何をするかです。
>> あなたは可能性を参照しています 問題ここにかかわらず？
なぜ多分私達だろう $ _GETを使用したくありませんか？
何場合は、多分、私はこのクエリを作っていましたか？
--to get3.php、どのI 私のIDEではありません。
それはちょうど仮想的なファイルです。
しかし、それは明らかに、ここで注意してください で自分のパスワードを渡します。
そして多分私のパスワードが恥ずかしいです。
それとも私は人にしたくありません 私のパスワードは、右であるものを知っています。
>> 私が渡している場合は私が使用している場合にはthough-- $ _GET方法である何が起こりますか、
それは、URLになるだろう。
だから、いくつかの悪意のあるユーザーがかもしれません 私がやっているかを確認することができます。
私はそれらを渡すこともできます 機密性の高い情報。
それともそれも悪質なユーザーではありません。
多分それはちょうどあなたの友人の誰 あなたの肩の上に立っています。
そして今、彼らはパスワードを知っています 自分のFacebookのアカウントに。
>> そしておそらく彼らはないでしょう それを使って何をします。
しかし、あなたのパスワードがあった場合 Facebookを利用して$ _GETを経由して提出し、
今、彼らは自分のFacebookのパスワードを知っています。
それはURLですぐそこですので あなたは情報を提出やった時。
>> だから、おそらくそれが最善ではありません 機密情報を渡す方法。
それは、情報を渡すために良い方法です 我々は特にないこと
あまりにも敏感であるように、約気になります。
GETはかなり速いですので、 他のスーパーグローバルへの相対
我々はについて話すつもりです。
しかし、そうでないかもしれない最高のツール 機密情報のため。
>> そのために私たちがしたいことがあります 、$ _POSTと呼ばれるものを使用します
これは他のスーパーグローバル変数です。
それは別の連想配列です。
だから、ほとんどの作品 GETとまったく同じ。
除き、代わりの抽出 URLからの情報、
それは、HTTPヘッダを介して何かをします。
だから、私たちからリコール 我々が話をしたHTTP、上のビデオ
どのようなブラウザ、サーバについて、 クライアントが通信します。
そして、情報が戻されます 前後HTTPヘッダインチ
>> $ _POSTで、情報は、典型的には これらのHTTPヘッダを介して送信されます。
そして、我々は、最も一般的に$ _POSTが表示されます HTMLフォームの提出状況。
あなたはまだHTMLフォームを使用することができます GETに物事を提出します。
しかし、彼らは通常使用されています POSTのコンテキストインチ
>> そこでここでは、HTMLフォームの例です。
今、私たちは前に、これらを見てきましたが、我々は持っています この部分、アクション= "post.php"を見ていません。
だから我々はのフォームについて話したとき、 HTMLのコンテキストが、私は送信ボタンを持っていました。
そして、あなたが思い出すならば、私は[送信]をクリックしますと思います そしてそのページだけでリフレッシュ、
何もしませんでした。
>> この場合、私が提出しています 私は、このフォームで入力するものは何でも、
post.phpと呼ばれるPHPファイルを。
そして、どうやら、私はそれをやっている方法 この形でPOSTメソッドを使用しています。
情報のだから、すべての部分 私は、このフォームに入力すること
提出されます HTTPヘッダを通して。
>> それはpost.phpにアクセスできるようになり、 それは私のフォームのアクションだから。
これは、アクセスできるようになります $ _POSTに行くこともできます。
そしてどうやら、私ができる方法 個々の要素を取得
その連想配列と この属性であり、
私たちのinputタグのname属性。
>> だから、明らかに私は正方形の$ _POSTを言うことができます ブラケットはどのようなユーザーを取得するために名前を付けます
最初のフィールドに入力しました。
そして、$ _POSTパスワードのPWではなく、 ユーザーが入力したものは何でもで取得します
2番目のフィールドです。
>> それでは、見てみましょう CS50 IDEでこれを超えます。
そこでここでは、私はよ 第二のためにズームイン。
そして、我々はpost.htmlというファイルを持っています。
私post.htmlをクリックしてください。
私はここで一番上に 非常に単純なWebフォーム。
それは我々がちょうど見た形です 秒前のスライドに。
>> 私は、ダグを入力すると、私がすることができます 私のパスワード、我々はすべてを入力
squadgoals知っています。
そして、私は提出ヒットします。
そしてどうやら、その post.phpに提出します。
そして、私は明らかにそれを印刷しています。
だから私は、すべてのセキュリティを退治です POSTがちょうどプリントアウトで私を与えること
ユーザ名とパスワードを入力します。
>> ユーザーの名前はダグです。
ユーザーのパスワードがsquadgoalsです。
私はこれをどのように行うのですか？
まあ、IDEにオーバーポップ 再び秒。
私たちは、取るために下にスクロールします post.phpを見て、されました
私はここに提出するための操作です。
それは私のHTMLフォームのアクションでした。
そして、それは私がやっているすべてです。
ユーザーの名前で、私は印刷です $ _POST「名前」の内容アウト。
そして、ユーザーのパスワード $ _POST "password"です。
だから私はその情報を与えられました HTMLフォームを送信することもできます。
そして、私は今、$ _POSTを使用して抽出することができます 私が送信するのに使用される方法が原因
そのフォームのデータがPOSTメソッドでした。
>> 今では、おそらくありません 私は行くよそうgreat--
第二のために戻ります 私たちのセットにhere--
私はあればそれはおそらくそれほど大きくはありません POSTで情報を送信し、
これは表向きより安全です。
これはおそらく、それほど大きくないのです 私はそれをやっている場合は、その後、
ユーザーのパスワードをプリントアウトします。
これは、より安全なことになっています。
>> [OK]を、それが完全に安全ではないのです。
だから、この小さなで スニペットここで私が欲しいです
ほんの一部にあなたの注意を引くために データセキュリティ上の問題、ちょうど何か
あなたがしているとして考えるように 仕事やインターネットを使用して。
これは、検討するだけのものです。
>> 私は情報であることを言いました HTTPヘッダを通じて提出
あなたは、POSTメソッドを使用する場合。
それらが完全に安全ではないことを意味しています。
彼らはより見つけることが困難です GETメソッドを使用して、どこ
それは、URLにちょうどいいです。
しかし、それを見つけるための方法がまだあります。
そして、私はちょうど表示します あなたこれ多分あなたように
このことについて考え始めます あなたが働いて、または使用しているとして、
ウェブサイトや提出 パスワード、多分使用して
で同じパスワード 異なる多くの場所。
それは知っていることは、まだ実際にはかなりあります 誰かのパスワードを見つけるのは簡単。
>> だからここで、私は行きますよ post2.htmlに移動します。
そしてpost2.htmlとの違い そして、post2.phpはかなり微妙です。
違いはただであります 私はプリントアウトしていないこと
私はフォームを送信したパスワード。
>> だから私は、ダグを入力するつもりです。
そして、私はタイプするつもりです squadgoals、で、でも、
私たちが知っているものの、それはパスワードです。
私は、送信する前に フォームしかし、私は行きますよ
ちょうどに、開発者ツールを開きます ここで発生する何が起こっているかを示しています。
だからChromeで、私はF12キーをヒットするつもりです。
そして、それは私を開くために起こっています 右側の開発ツール。
私はまだフォームを提出していません。
今、私は自分のフォームに送信ヒットするつもりです。
そしてどうやら、私が作りました 電話するか、私は要求を行いました
理にかなっている、post2.phpします。
私はそれをクリックするつもりです。
>> そしてこっち、私は行きますよ ヘッダをクリックします。
ここで起こって多くのものがあります。
しかし、私は非常にスクロールダウンした場合 ボトム、通知は右の私のカレンダーをthere--
second--権利のためにそれをブロックしました そこに非常に下の隅に、
ダグ、pw-- squadgoals name--。
だから私は、POSTを使用しているにもかかわらず、 より安全な方法は、
ただ、あなたがそうするときに注意してください あなたはまだ情報を送信しています
HTTPを介しました。
そしてそれはまだすることができます 敵によって発見。
それはちょうど私たちが行っているものです 本当にに対処する必要があります。
たぶん私たちを暗号化するためのいくつかの方法があります パスワード我々はそれらを介して送信する前に、
これは、良いだろう これは私がここでやっていませんよ。
>> しかし、単にPOSTことに注意してください この方法はあまりにも制限があります。
これは、GETを超える改良でです すぐに表示されるという点。
しかし、それは完全な修正ではありません。
だからここの例を示します。 ホームエクササイズで簡単に
あなたには、いくつかを取得するために使用できること PHPでの作業の練習。
Webページの次のペアを作成します。
最初はただ非常に簡単でなければなりません 単一のフィールドを形成し、Submit
ボタン。
私たちに非常に非常に似て ただpost.htmlで行いました。
>> そして、第二 ファイルを作成しなければなりません
、ファイル、PHPファイルであります POSTで、入力を期待して、
そしてこれは、ユーザが入力した内容に基づいて、 あなたは整数になりますと仮定することができます。
あなたがいずれかの操作を実行する必要はありません エラーチェックなど。
あなたは、ユーザーを想定することができます 整数値を入力します、
またはによって解釈のようなもの そのフォームに整数としてPHP、。
あなたはただ作成したいです n個の乗算テーブルにより、N。
>> ユーザーが10を送信するのであれば、私たちがしたいです 10×10乗算テーブルを持っています。
ユーザーが12を提出した場合、我々はしたいです 12 12乗算テーブル。
ただ、あなたは何を見ることができます 我々は、ここで運転しています
我々は見てみましょう 私のIDEでこのファイル。
>> そこでここでは、IDEで、私はmult_form.htmlを持っています。
私はそれをクリックします。
私がしたいすべてが値を提出しています。
10を入力し、Submitを押してください。
そしてどうやら、mult_table.php、これ 我々は、URLであり上部に見ることができます
私は10で10を作成しています 九九。
>> 私は、私は今、15を入力し、Submitをヒットした場合 15 15乗算テーブルを持っています。
私は、もちろん、表示するつもりはありません あなたmult_table.phpの内容、
それは楽しみを取るため、 ホームエクササイズで、このうち。
しかし、それはいくつかを得るための素晴らしい方法です PHPのループでの作業の練習
POST、非常にシンプルで、うまくいけば、 ストレスのない例は、単に
練習の少しをすることができません。
そして、私が起こって少しCSSを持っています ここに私の個々のテーブルを作成するには
細胞は、だけの種類のオフポップ 少しともう少し見て
九九のように、 ただ単にテキストとは対照的に、
そこに座っての一種。
私たちが話しましょう​​最後のスーパーグローバル このビデオで何が呼び出されます
$ _SESSION。
そして多分これは実際にあります 何かの最良の例
地球検討します。
これは、別の配列です。
それは別の連想配列です。
しかし、それはすべてのを介してアクセスできます 私たちのシステムに存在するPHPファイル。
>> 私たちは、提出する必要はありません 時の情報1ページ
以下のような私たちは、GETとPOSTとしてください。
それは常にあります。
そして、これはページに最適です あなたは、例えば、ログインしている場合は、
そして、あなたのログイン情報が欲しいです ページにページからページへ永続化します。
>> あなたは、セッションを開始することができ、 以下のようなものを保存するために、$ _SESSIONを使用
ユーザー名、またはユーザーの ID情報など。
そして、その情報は、のままになります $ _SESSIONセッションを破壊するまで
少し後に。
>> と動的なWebサイトを書きます PHPは、彼らがかなり良くなります。
あなたのサイトは非常になります ダイナミック、あなたはしないでください
何よりも、あまりにもはるかに多くをしなければなりません あなたは、そうでなければ、単に行っているだろう
HTMLでそれをやって。
しかし、それは練習が必要、 たくさんの練習。
>> あなたは既にCで動作する方法を知って、 そのため、PHPにジャンプすることはあまりにもトリッキーではありません。
多分少しは何か トリッキーなビットが働いています
GETとPOSTのこの新しい考えと、 そして多分あなたのHTMLとあなたのPHPを混合
一緒に。
しかし、また、インターネットことに注意してください 膨大な情報の宝庫です。
また、PHPのドキュメントが提供されています 多くの場所で、おそらく最も
php.netで正準。
そして、あなたがそこに見つけることができ、 さまざまな機能の多く、
そして、例、および例を使用します 例の際、例に依存します。
どこにしようとすると、図にする場合 何かをする方法を、オッズは、あります
誰かが、おそらくあなたの前にそれを行っています。
そして、あなたは、それらを使用することができます どのような実装するためのインスピレーション
それはあなたがあまりにも実装しようとしているです。
>> 私はダグロイドです。
これはCS50です。