SAM LEVATICH:へようこそ この週のセクション。 私はアンディないです。 アンディはこの日、病気落ち、私ました ソートの直前に呼び出されました 引き継ぎます。 これは、インフルエンザの季節ですので、ていることを確認します クリーン滞在している、あなたの手を洗います、 なるように食べて健康 あなたは、あまりにも、寝たきりではありません。 しかし、さらになし ADO、始めましょう。 今日、我々は話をするつもりです PHPについて少しbit--方法 PHPは、HTMLに関するものであり、どのように CSSに関連し、ウェブの一部 あなたが最後に割り当てた上でのもの。 我々は話をするつもりです SQLについて少し そして、どのようにデータベースを操作することができ、 これはPのかなり重要な要素であります 設定8-- Pは7を設定します。 Pは7を設定します。 そして、我々は、少し話をするつもりです ビューコントローラがどのように機能するかについて少し それはいくつかの背景にある哲学だ理由 現代のWebページとは異なるデザイン。 アプリの種類はかなり多く アプリケーションはあなたが出荷するかもしれません このモデルを使用しています、 ビューコントローラのフレームワーク、 あなたが使用すること P 7に設定されているので、私はよ 少し話 それはなっている理由について 人気、なぜそれが重要とうれしいです。 そして、私は最終的に移動します Pへの取り組みについていくつかのヒントを7に設定します。 そして、我々は時間があれば 最後に残され、 私たちは実際にいくつかを行うことができます その一緒に仕事。 だから、PHP。 実際には、あなたは気づいたかもしれthis-- あなたは本当にit--に飛び込む必要はありませんでした しかし、Pが6セット、いくつかのPHPを持っていました 起こっていたコード。 そして、PHPはCに似ているので 言語、PHP、HTMLとCSSとは異なり、 プログラミング言語は、 HTMLとCSSのに対し、静的です。 彼らは扱うマークアップ言語です スタイルや視覚的なレイアウトと。 PHPは、実際の契約です。 PHPは、ループを持って、それがconditions--ています ℃で約楽しいですすべてのもの それは少しあるいくつかのことを持っています 我々が表示されますC、より良いビット、 私は話をする最も簡単な方法だと思います PHPに関するだけで潜ることです。 だから私は右に行くつもりです この時点でIDEに。 私たちが行っている最初のもの 実際に見ている行うには のいくつかを少し PにあったPHPコードは、6を設定します。 だから我々はthat--やり方 私たちが実行していた方法で、前 アプライアンスのサーバー 我々はtype--しなければならないということでした あなたの実装を使用しますか またはスタッフの実装 ディレクトリに行くことによってserver.cの なしのいずれかでserver.cを実行しています これだけでそれを呼び出しますarguments-- おそらく何であるローカルホスト、 time--のほとんどをしました し、それを供給 とdirectory-- これはそのルートとして使用します どこのウェブサイトが希望 基本的には、実行されます。 Pに対する今週として、7を設定 server.cのための私たちのコードのような偉大な で、すでに持っている人がいます CS50でこれらの細かいものを上書き それは少しを持っています より多くの機能、 可能なサーバプログラム もう少しの対処 その私たちがよ複雑なの 両方のPで参照7を設定し、Pは8を設定します。 そして、あなたが起動する方法 サーバーはただ、次のように入力している」apache50を。」 そして、あなたは何を行う前に、 あなたが確認します Apacheの50ではないこと そのままではすでに実行されています 私はそれをテストするためにやった私のマシン上で。 そして、あなたはapache50を呼び出すことによってそれを行います。 停止し、あなたはそれが停止していていることがわかります Webサーバ、あなたが見ることができる場合 ターミナルウィンドウの下部にあります。 そして、ちょうど開始するには、我々はしています 呼ぶことにし、「スタートapache50。」 そして、我々が行っています それにディレクトリを養うために。 今、私たちが見てみたいので、 Pの一部で6コードを設定 我々は、私が実際に実装されていたこと Pの少しをコピー 自分のフォルダに6コードを設定し、 これはあなたがそこに左側に見ることができます。 それは、「SECTION8」と呼ばれています すべて大文字で 私は興奮しているので、 今日のライブストリームします。 我々はこれを実行する場合、それは必要がありますので、 すべてはかなり効果的に働きます。 これは、[OK]を、私たちのサイトは今で言います、 IDEのアドレスで入手でき、 基本的に、あなたが使用していたものです それがPに7--を設定したものと同じPは6を設定します。 すべての私のインデックスは、今日一つの指標です。 だから我々はそれに行くことができます アドレス、あなたは覚えているだろうと、 ちょうどこの小さなをクリックして 右上のボタンをクリックします。 そして、あなたは、このコードを思い出し あなたがhello.phpに入ったときに起こりました。 そして、コードがするように設計されているもの 名前に入力したときに実行されます あなたはサムを言うhere--場合 それが私のname--だから 私はときに、挨拶をクリック 我々は、次のページに行き、 その名前が表示されるようになっていました。 それは、言う「こんにちは、サム " または "こんにちは、"どんな名前あなたを 私たちが行ったにも関わらず、それに入れ まったく新しいWebページへ。 そして、これはものの一種であります PHPはあなたのために行うことができます。 PHPはデータを渡すことができます 2つのウェブページの間。 これは全く別のページです。 あなたは、タイトルが「こんにちは」ここで表示されます。 実際には、彼らが持っています 同じタイトルが、私 彼らは別のWebある約束 ページ私たちは、ソースを見れば。 そして、あなたはのデータを渡すことができます このテキストフ​​ィールドに入力され、 あなたの次に提出 アップと呼ばれていますページ、 そして、そのデータがすることができます 現在の形で存在すること。 今、私たちはまだ実装されていません この自分自身を、どの 我々が今やろうとしているものです ソート、PHPがどのように動作するかのための味を取得します しかし、重要なアイデアは、あなたができるPHP--ということです ソートの関数のように考えることもできます。 PHPはあなたをさせることができます何か それを行うにはパラメータを取ることができています そのHTMLページへのご入力 PHPとフォームを使用することにより、 そして、それはパラメータとしてそれらを渡すことができます それがアップロードし、次のページへ。 この場合、我々はこれをロードしています 「よろしく」ボタンでページを表示します。 しかし今のところ、私は実際に そのコードの一部を削除 実行されていたhello.phpで それは実際には「ハローを表示して、 世界」または「こんにちは、サム」または 「こんにちは」だけ入力されたものは何でも。 だから、今のために、私たちはしています 基本的には、それをするつもり。 我々はそれを再作成しようとしていると また、いくつかのより多くの機能を追加 それをもう少し行い、参照してください。 何PHPは本当に可能です。 そこでまずは、についてお話しましょう このファイルhello.php。 私たちはズームインあれば 今私はbit--少しと すべてのスクロールしようとしているの並べ替え 方法はありaround--私達は行きます。 あなたはそれを呼び出して表示されます hello.phpが、それの構文 HTMLファイルのように見えます。 これは、あります このファイル内の実際のPHP すべてのこれらの間に貼り付けられています 疑問符-キャレットブロック。 右ここですべて PHPコードであると考えられます。 そして、あなたはそれに気付くでしょう 私がコメントをしたとき、 使い慣れたが表示されます 2つの順方向のスラッシュ。 そして、あなたはで、思い出した場合 HTML、私はコメントを入力した場合、 それはに近いものになります HTMLにコメントしているこの、。 間のだから本当にすべて これらの二つの角括弧 PHPコードは、今これは 実際に反映されています この小さなコメント記号こと コメントになっています。 あなたも、PHPコードを記述するので、すべての時間 何のHTMLコードはそれの外にありません場合は、 それは常にになるだろう これらの角括弧で囲まれました 疑問符を持ちます。 どのようにすべてのあなたは、ソートのit--について考えることができます あなたのCプログラムで実行したコードの int型メイン、空洞内に封入されました、 中括弧、中括弧文を終了します。 そして、あなたはで中括弧が表示されます PHPは、あまりにもが、これは一種のです PHPの主な方法のように。 だから今、どのように我々は、PHPで何をしますか? 今、PHPはプログラミングです 非常にCに似た言語です、 それはウェブ上で動作します。 だから、一つのこと、その あなたは1をimmediately--ます あなたが本当にで行った最初のものの Cはあなたが右、ものをプリントアウトしたのですか? だから、C言語で、私たちはそれをやりました printf関数と。 我々はそれを文字列を与えました、 おそらく、新しい行と、 し、我々は終了 それセミコロンで。 だから我々はことをやろうとしている方法 PHP--にそれはかなりのprintfはないので。 これは、異なる構文を少しです。 私たちは物事をプリントアウト方法 PHPで私たちは「こんにちはエコー」、言うです または任意の単語を「エコー」。 そして、それはやっての効果があります 文字列をprintfの、「こんにちは。」 そして、それはそれに新しい行を追加します。 それでは、今sure--しましょう 私は再び少しズームアウトしますbit-- のは、そのことを確認してみましょう そのコードは動作しています そこに非常に可能性があるため、 よくこのコードのバグで ことを我々が対処する必要があります。 だから、サーバがすでに実行されています。 だから我々は戻って一番下までスクロールすると、 うん、サーバーがまだ実行されています。 だから、これだけでタップします 少し右here-- welcome--我々は偉大なget--必要があります。 我々はまだ持っています おなじみの「挨拶」の対話、 私が入力したときが、 "こんにちは、"我々が表示されます テキスト「こんにちは」は確かにあったこと 正確に同じである、プリントアウト 私たちは、PHPでエコーので期待しました ちょうどprintf文のようなものです。 だから戻ってコードに、P 6がした設定方法 あなたが提供されているディストリビューションコード PHPはなるようにそれを作ります 出力あなたの事 前の画面上で入力されましたか? ソートの調べるために、 それがなぜ起こるか、私たちはしています index.htmlをに行くつもり、どの 元のファイル、ファイルであります この画面に現れます 「よろしく」ボタンで。 あなたはそこだと気付きます すべての古典的なもの 我々は、HTMLから期待するようになってきました これらの事のように、これらのタグは、囲まれました 角括弧で、PHPのような しかし疑問符なし、 これはHTMLに特別なことを示しています。 我々はタイトル、持っている "こんにちは。" そして、あなたは、私たちが見たようにいることに気づくでしょう タイトルは、どちらの場合も、「こんにちは」です。 のはこの1つを変更してみましょう ちょうどそう、「言う」ために、我々 私たちがどこにあるか自分自身を区別することができます。 しかし、私たちは体を持っています。 そして興味深いビット、 HTMLに表示ビット、 このフォーム要素です。 そして、私たちは形を持っています。 そして、これが重要です。 これは、PHPで作業している方法です。 のアクションパラメータ フォームはと言うhello.php 我々は送信しようとしているものです このフォームの値に。 私たちが渡しているところです パラメータは、いわば。 ここに別の事に気付くでしょう 方法があるということである "を得ます。」 二つの主要ながあります。 意志によって方法 データを渡すためにPHPを使用します websites--ウェブページとの間の、 この割り当てにrather--。 そして、それらの方法は、「取得」と「ポスト」を いくつかの微妙ながあります。 GETとPOSTとの違い 我々は我々がinto--取得すること あなたがする場合は、に「取得」します。 しかし、すべての意図および 目的、取得およびポスト それだけの方法の両方があります あなたはパラメータを渡します わずかに異なる実行しています。 今のところ、我々が得るために使用するつもりです 取得最初に使用されたものでした PのPHPファイルに6を設定します。 そして実際に、我々はで行くと見れば 私たちは何かを編集した前に、 私が挨拶するつもりです あなたの名前は何でしょうかto--? 者:エリオット。 SAM LEVATICH:ああ、まあ。 私はそれをスペルする方法がわかりません。 あなたは私のためにそれを綴るてもらえますか? 聴衆:E-L-L-I-O-T。 SAM LEVATICH:I-O-T? 聴衆:うん。 SAM LEVATICH:パーフェクト。 OK。 私はそれをスペルする方法を知っていると思います。 そのことはごめんなさい。 私たちが言う場合でも「よろしく、「そうではありません それは、画面上に表示するつもりはありません まだ我々が変更されたため、 コー​​ドを少し。 私たちがしなければしかし、「よろしく」 - [OK]を、ので、 "こんにちは"ここにあります。 しかし、我々は近いがかかる場合 URL自体を見て、 我々はそれが終了していることがわかります hello.php?名前=エリオットと。 だから、これは一つの方法です 次のWebページへの通信 私たちが渡されてきたパラメータ。 私たちは、名前=エリオットと述べました。 Pは6を設定する方法そしてそれは最終的です 私たちは、渡された変数にアクセス フォームから。 そして、これは何かがあること get要求に特有のものです。 get要求は、パラメータを作ります WebサイトのURLで知られています。 そして、あなたはあまりにも、思い出し、 Pであなたことを6に設定 関数を記述しなければなりませんでした 事実を扱っていること 、このクエリ文字列 ファイルの後に存在する可能性があります。 続いて疑問符がある可能性があります 文字の基本的にはどの番号で。 そして、それはまさにここで起こっているのだもの。 そして、あなたが持っていた理由は、それを解析します P内のserver.cの実装で 6を設定して、あなたが言うことができるようです =エリオットに名前をPHPコード。 あなたのことができるようにするために必要な URLのうち、それを解析 そのように、問題のPHPファイル それが扱っていたものを知っていました。 だから、うまくいけば、これは与えます server.cに意欲 今私たちが移動していること PHPへのCの外。 それでは、実際にアクセスするに焦点を当ててみましょう 今get要求を通過したもの この時点で。 私はこれを保存するつもりです。 私たちは何も変更しませんでした。 我々は、入力フィールドを持っているように見えます。 我々はいくつかのプロパティを設定しています、 我々は、HTMLを行うことができます。 これらは単純なものです。 我々は、これらを必要としません。 しかし、我々は、オートコンプリートをオフに持っています 基本的に、あなたが知っていますsays-- あなたは物事を入力すると、 時には、ウェブへ それはあなたのためにそれを埋めるためにしようとします。 だから、素晴らしいことです。 我々は、この目的のためにそれをオフにします。 それはCS50の決定でした。 だから我々は、我々が望んでいた場合は、その削除を行うことができます。 オートフォーカスは、ちょうどカーソルスティック 初めに、フォームの右インチ ここでも、あまりにも重要ではありません。 しかし、名前= "名前" - それは少しです それは名前と名前だからトリッキー。 しかし、我々は、変更した可能性があり この他の何かに。 そして実際に、それはです 私たちは今、何をやります。 私たちは、「人」を言いますよ ソートの名前のようなものです 人は、自分の名前で定義されている場合。 それでは、これを閉じてみましょう、 当社のウェブサイトを再び開きます 弊社のサーバーは、まだ実行されているので、 Apacheの50、我々はここに、こんにちは、言いますよ エリオット再び。 何故なの? こんにちは。 私たちはここに行くなら、我々が表示されます その後、名前の代わりに=エリオット、 それは、人はエリオットを=と言います。 そして、それは事実の直接的な結果です 私達はちょうど= "人"の名前を変更したこと の入力要素でそう HTMLフォーム、名前フィールド するための識別子であります 渡されるパラメータです。 あなたが関数を作成している場合、それはようなものです 二つの整数にかかった「追加」 あなたはint型aとint型のB述べました。 それは名Aである場合、およびになります あなたは、別のフォームを望んでいます 我々は、コピーするだけ行うことができますし、 貼り付けは、我々は名Bを持っているでしょう。 だから今、私たちは2つのパラメータを持っています 通過していること 次website--を取得 次のウェブページ、hello.php。 そして、我々は実際に見ることができます その再び私たちが必要な場合。 これはに対処するための最も簡単な方法です IDEでのWebコード、基本的に。 あなたは、サーバーを起動し、それを得ます たびに実行してから、 ただ近く、いくつかの変更を加えます そのファイルは、念のため。 戻るボタンを押すと、 少しトリッキーです それは以前にロード可能性があるため、 バージョンではなく、最新の1。 そして、あなただけクリックして ボタンを再度、ポップ、右ああup-- そして今、2つの形式があります。 そして、私たちがそれぞれに一つのことを入力した場合 instance--ための「ジェイソンハーシュホーン、「選びます - 私たちは、あいさつ。 私たちは、パラメータを見上げます。 我々が持っているようにそれはように、見えます 予想、=ジェイソンおよびb =ハーシュホーン、 これは、2つのパラメータを表し、 我々は、この関数に渡されていること。 だから今のは、実際に取得してみましょう 我々その機能を実装します P 6に設定していました。 だから、今私たちはハローをエコーし​​ています。 そして、それは非常に便利ではありません。 我々はいくつかの変数をエコーし​​たいです それは、私たちに渡されました。 そして、我々はこの変数の名前を知っています。 我々は持っていると我々はbはしています。 だから我々は、いずれかをエコーすることを選択することができます。 しかし、どのように我々はそれにアクセスできますか? まあ、ある種のがあります PHPのグローバル変数。 そして、私は書くつもりです ここにコメント欄でそれら。 二つの最も重要なものはGETです そして今、私たちの目的のために投稿してください。 これらは配列ですか、 技術的には、辞書 ここで、私たちはしている私たちの変数 ライブ次のWebページに渡します。 そして、我々はすぐにそれらを使用する方法を参照しなければなりません。 PHPコードについてのもう一つの簡単なメモ およびC it--のいくつかの詳細、 変数を宣言します または変数を使用するには、 あなたが最初にそれらを宣言する必要がありました。 そして、あなたはときにしなければならなかったもの それらがint aまたは文字bを言ったと宣言。 あなたはこれらの型を宣言しなければなりませんでした あなたの前の変数は、それらを作成しました。 PHP--あなたはのいずれかを実行する必要はありません。 PHPはを要求しません。 変数の型。 そして、あなたの方法に むしろvariable--を作成 言っよりint型、char型、string-- 我々はknow--として、*本当にCHARこれは むしろすべてを行うより 、そのすべてのため 同じタイプのものであり、 型なし、私たちはすることができます これは、1文字を使用します ドル記号があります。 そして、あなたはそれがすでにポップだ表示されます 少しオートコンプリートの事、アップ。 そして、それはその_GETや_POSTを言っています 私が利用可能な2つのオプションがあります。 私に。 これらの他のもののいくつかはあります PHPの他のグローバル変数 あなたは以上の使用しているだろうと Pのコースは7を設定します。 今のところ、我々はするつもりです GETとPOSTに焦点を当てています。 しかし、これは便利です IDEがない事 どこに入力した後に そのドル記号で、 それは、グローバル変数を埋めることから始めましょう またはすでに定義した変数。 だから、あなたが定義したい場合 「文字列」と呼ばれる変数 あなたはそれが同じに設定することができ、「こんにちは。」 そして、それは基本的にはそれと同じくらい簡単です。 そして、我々は何ができます 以下のようなもの "エコー$文字列。" IDEはいくつかを投げする必要があります エラー私が間違って何をやっている場合は、 うまくいけば、私は右のすべてをやっています。 しかし、バグが常に発生します。 もう一つのトリッキーなこと PHPは、それがコンパイルされていないということです。 だから、Cプログラムで、あなたはどうなります 基本的にof--日課、 あなたはに編集を行うことになります あなたのコードは、あなたはそれを保存したいです、 そしてあなたが希望 それを作る、makeがあった場所 コンパイラと呼ばれるステップ、 あなたのコードを作るために、打ち鳴らす、このテキスト 実行可​​能ファイルに、ファイル。 PHPはC言語に似ているが、それが実行されています Webブラウザによってその場で。 だから、知っている方法はありません。 それらを投げるだろうしてください 役に立つエラー、右? それはあなたのようになります この変数を宣言していません あなたはそれを使用しようとしました前に。 あなたは、このすべての悪いstuff--セグメンテーション違反をしました セグメンテーション違反、すべてのその種の楽しい時間 それは、makeに付属しています。 PHPは両刃の剣であります あなたはこれらのエラーを取得することはできませんので、 それはまた、あなたが知っているしないことを意味 本当にあなたのプログラムの何が問題になってい あなたはそれを実行し、それが働いていない場合。 しかし、デバッガは指摘しなければなりません いくつかうまくいけば役に立つささいなこと 構文的にあなたが修正できること。 だから今、私たちはto--を越える場合 のはそれを閉じてみましょう、と言います。 再度開きます。 そして、我々はここに戻ってにしています。 だから我々は、変数を持っています そして、変数b。 そして、これらは、最終的には問題ではありません。 我々は、hとg、それらを呼ぶことにします 特段の理由があります。 そして、私たちは挨拶します。 今では私たちの文字列のようになります。 「こんにちは」確かに印刷です。 私たちは、という変数を作成しました "文字列は、「それは同じに設定された「こんにちは。」 私たちが行う必要はありませんでしたことに注意してください malloc関数や文字配列を作ります。 PHPでは、変数理由 、文字列タイプなしです 以下のための文字と同じです すべての意図や目的。 これは、「こんにちは。」かもしれません これはただの文字Kである可能性があります。 これは数字の1とすることができます。 そして、それは気にしません。 PHPは気にしません あなたの変数の型。 あるいは、それは注意して行います。 あなたがしようとすると、それは気に それに物事を行います、 それは気にしないで 宣言ステップ。 ちょうどあなたがCにすることができます好きな、することができます このようなスタック上の文字列を宣言 「スタック」ということはほとんどないですが、 潜在的な誤った名称のビット時 我々は、PHPの話をしています。 しかし、我々はそのことについて心配する必要はありません。 だから私たちは私たちの文字列を持って 「こんにちは、「私たちは、文字列をエコー。 だから今、私たちは、変数を説明してきました。 だから今、私たちは、getについて話をする必要があり、 投稿しての最終的な事を行います 本当にこのバックアップを取得するために必要な Pの機能に6を設定します。 だから今、私たちはしています 文字列をエコーが、我々 これらの変数を取得し、ポストしています。 そして、私たちが使用しているので、 方法は、それを得ます 自然なこと私たちの変数はそのようです 我々は、AとBの両方に興味を持っています アレイ内に配置されます または辞書、技術的に取得します。 我々が設定している場合ので、このように取得 あなたのgroups--で私が入る押します それは好きではなかったですit-- しかし、ここでは取得しています。 だからすでに存在しています。 だから我々はすでにアクセスに開始することができます GETの要素のいくつか。 我々は取得しない場合、この構文については、 PHPの配列は非常にCに似ています。 我々は我々の2つの角括弧を持っています。 だから我々は、正常に取得言えば 配列、我々がアクセスすることができました ゼロ番目のインデックス、最初のインデックス。 PHPはゼロインデックスです。 私たちは、ゼロ、1言うことができます このようなtwo--もの。 そして、私はそれが得ると言ってきました 技術的には辞書です。 だから、PHPはボンネットの下に何をしていますか、 これはCより少し進歩して、 それはすでにあなたにいくつかを与えているされています 辞書機能は、どの 本当にハッシュテーブルで、 またはたぶん、しようとします。 あるいは、技術的に 同様にしてみてください可能性があります。 しかし、PHPはハッシュテーブルを実装しています、 これは効果的な辞書を形成しています。 そして、私たちは名前を知っています 私たちの変数の、右? これは、渡されるです PHPによるクエリ文字列。 我々はここで、aとb = HとB =グラムを持っています 変数の名前です。 我々がアクセスできるようにする方法 キーに対応する値 私たちの辞書にあります ちょうど[""] _GET_GETを言って。 だから今、私たちは_GET [""]を持っています。 そして、私たちはすぐ内側置き換える場合 私たちのエコー、我々は_GET_GETをエコー場合は[""] - デバッガ場合と我々が表示されます this--に関するすべてのエラーをスローします 我々はそれを保存し、これを閉じます。 それを開きます。 だから我々はちょうど右をやっています 今すぐBは問題ではないはず。 「彼女」と「彼」 - "ハム。" "彼女"と "ハム"。 いいですね。 そして、それはプリントアウト 「彼女、 "狂気です。 しかし、それは正確に何 6を設定Pに起こっていました。 基本的に、どのようなPは6セット たdoing--エコーこんにちは、 name--それが持っていたところ 変数名と、それだけで あなたがテキストのそのビットを入力するように求められます。 いくつかのもありました 追加のコードどこ if文は、含ま これは我々が今行うことができます。 我々は、存​​在する場合は言うことができます PHP内の機能であり、 下線付き_GET、「名前」 - 基本的にこれを言っています、 なぜなら、「名前が入力されていた場合」 私たちはボタンをクリックした可能性が せずにフォームを提出します そのフィールドには何も入力します。 そして、私たちは私たちにそれをラップ フレンドリーな中括弧。 私たちは、else文を持つことができます。 そして、それは、PHPの角度内ですべてです ブラケット、疑問符、アングルブラケット、 あなたがする場合。 これが動作するかどうかそして今、我々は表示されます。 私は、デバッグにそれを待た そして、基本的には、私にがらくた しかし、それはまだいません。 多分それは今でしょう 私はについて話しましたので。 うん。 これは、実際には、なかったです。 だから、何も現れていないされています。 それがために間違って何かのためです 私は、PHPコードで書きました。 そして、私はデバッグを述べました 我々は、理由PHPで注意が必要です 事前にそれをコンパイルしませんでした コンパイラは好きではなかったが、 あなたのエラーがどこにあるかここです。 しかし、我々は何ができますか 人々はis--を覚えていますか 異なるネットワークを見てどのように ウェブサイトをPHP--か、その要求 送信しますか? [?マリン?]でこれをやりました 一度か二度講義。 私たちが探しに行く場所を覚えて 別の債務と200 OKS、 送信されているすべてのこれらのコード WebページへのWebページからHTTPを介しましたか? 誰もが覚えていません 我々はそれを行うためにどこに行きますか? 対象:ページのソース。 SAM LEVATICH:ページのソース。 その通りです。 あなたはページSource--の完璧に進みます。 だから、ページのソースは、インスペクタをプルアップします。 そして、私はSafariを使用しています。 あなた方の多くは、おそらく意志 クロムまたはFirefoxを使用すること。 しかし、限り、あなたはしているよう 現代の任意browser--で フォローして自由に感じます あなたがしたい場合に沿って。 あなたは、このコードを入力しますか ちょうどPセット6の内部を見ます いくつかの類似のもののためのディレクトリ。 hello.phpは、私たちがしているものです 現在エミュレートに取り組んでいます。 だから、タブの様々なものがあります。 我々は、すべてのリソースで見ることができます。 私たちは、ソースコードを見ることができます。 それがなかったようなので、見えます 最終的には過去の体を得ます。 これは、PHPのエラーを発見し、それ 全体Webページのロードを停止。 私たちも、終了していません HTMLや何のためのタグ。 我々はネットワークを見ればそして、我々はできます 我々は、要求を送信されていることがわかります。 これは、ドメインです。 これはアドレスです。 これは、ドキュメントです。 私たちは、getメソッドを使用しています。 そして、それは赤です。 とき、私あるいは、それが赤でした それを選択していませんでした。 私はそれをどのように選択を解除できますか? まあ、それは赤でした。 私はリフレッシュしましょう​​。 そこにそれがある。 今では赤です。 だから、意味し、赤です それは悪いである、失敗しました。 だから、それは失敗しなかった理由のは、調べてみましょう。 したがって、すべてのページのソースができること 基本的にはあなたのものであることを伝えます 我々はすでに見ることができる、機能しませんでした。 理想的にはそこだろう より便利なツールです。 そして、いくつかのブラウザ拡張機能があります それは、あなたがPHPをデバッグすることができます しかし、我々はするつもりはありません PHPのトンを書くこと、 それはおそらく最善です あなたのコードを検索します 慎重に、ちょうどそのことを確認してください それが何かをやっていません。 したがって、この形式の場合を見てみましょう 文がある場合、問題があります。 私はここまでのことをバックロードします。 こんにちは、こんにちは。 だから、そこに問題があります。 正しい構文については、そう PHPの、PHPが起こっています Cのようなことをその中にあなたがループが表示されます。 ステートメント場合は、表示されます。 あなたは、これらすべての友達が表示されます あなたが慣れてきたこと もちろんオーバーで このCS50学期の。 どのように把握するのではなく、最良の方法 PHPで何かをすることは、それをGoogleにあります またはPHPコードのいくつかの例を見て あなたが機能を知っているので。 あなたは何をすることができます知っています プログラムで行います。 あなたがループすることができます。 あなたが好きな回数だけループができます。 すべてのループをすることができます 異なる方法の種類。 あなたは、関数を作成することができます。 あなたは、その機能を作成することができます 他の機能、関数を呼び出します それは自分自身を呼び出します。 そして、あなたはこれらの概念の名前を持っています。 あなたは、ループ、再帰を持っています もし、他の制御フロー。 そしてそうGoogleはあなたの親友です。 場合でも、PHP」、言います 声明」とそこによ とポストのトン 他の人の回答 誰があなたに同様の質問を持っていました、 ただ、PHPで出始めている人 構文の事に興味があります。 私たちはあることの贅沢を持っているので Pセット6内のコードを見てすることができ、 我々は実際にそれをプルアップして、それを参照してください。 [OK]を、ここに何か面白いものです。 だから、これは実際にどのようなことです P 6に設定のように見えました。 だから我々は、この通過した場合、 私たちがしたことを見ることができます これらのほとんどのいくつかのです PHPのような疑問符ビット。 そして、中括弧がありません。 コロンがあります。 そして、カーリーがあります PHPの中括弧が、この 形式と実行の方法です HTMLでうまく動作PHP あなたが表示されますように、私たちは閉じているため、 よそbits--これらのPHPオフ IFS、その後that--とのすべてと 我々は彼らの内側にHTMLを散在しています まだ続いている間 制御フローは、PHPによって設定します。 だから、僕はするつもりです このを通じて迅速な散歩 それは同じの多くはだから 我々の前にやっていた概念。 空でない場合私たちは、持っています 括弧、_GET_GET ["名前"]。 これは、すべて同じものです。 我々は、_GET辞書を使用しています PHPは、フォームの要求に応じて送信します それはのパラメータであるため、 アクション、およびメソッドはGETです。 そして、それはそれを終了します。 コロンはちょうどこれを行うにはシニフィアンであります if文はtrueに評価された場合。 これは、中括弧のようなものです。 そして実際に、それは中括弧です Pythonのような他の言語で、 あなただけあれば発生する可能性があります あなたの最終的なプロジェクトのためにそれを行います。 そして、このライン、こんにちは。 その後、我々は、この奇妙なことを持っています。 我々は、より多くのブラケットを持っています。 申し訳ありませんが、HTTP there--やPHPありません。 しかし、等号があります。 そして、我々は機能を持っています、 htmlspecialchars(_GEThtmlspecialchars(_GET ["名前"])。 これは、より多くのような種類のあります エコーの高度なバージョン。 我々は、方法として、エコーのようにしていました PHPで物事を印刷します。 これはです機能です PHPで定義されています いくつかのより多くの厄介に対処します 文字とバイト値 あなたはそれを渡すことができています。 それは、これを使用することが常に最も安全です。 しかし、仕事をするエコー 私たちはいないのであればうまく あまりにも厄介なものを扱います。 そして、これは同じを持っています 基本の効果 質問の間でこのようなもの マークは、PHPにより評価されます。 htmlspecialchars素敵なHTMLを返します。 _GET_GETの印刷された値が["名前"]、すなわち、 どのような我々は、フォームに入力しました。 そしてそれは、挨拶します コンマ・スペース、およびその。 間の全部 角括弧 何に置き換えられます htmlspecialcharsを出します。 だから、基本的には似ています 私たちがやっていることに。 そして、我々はだelse文を持っています 理にかなっているのHello World。 だから今のは戻って私たちに行きましょう コー​​ドとああexactly--参照してください。 私はされていない、存在し​​ていると述べました 私たちがやりたかったこと。 私たちは、空ではない言いたかったです。 そして、これは少し動作するはずです 空_GET_GET ["名前"]、少し良くありません。 そして、その中括弧 試合中括弧。 ここでは私たちの中括弧を持っています。 こんにちはエコー_GET ["名前"]。 これは少し良く動作するかどうかを見てみましょう。 我々はまだ我々のサーバーを実行しています。 ジェイソンこんにちは。 ジェイソンこんにちは。 そしてそれは、この時間を働きました。 そしてそうそれは証明です あなたが実際にできること 中括弧を使用することをお HTMLでPHPコードに知っていると愛。 に提供されるPHPコード PSETであなた6-- PSET 6-- 別の方法を提供します その同じことをやって。 だから今、私たちは力を持っています。 私たちは、実装する機能を持っています 我々はPSET 6で見たPHPコード 自分で、基本的に。 私が移動する前に、いくつかのは何ですか あなたはこの時点で持っている疑問? [聞こえない]はい。 聴衆:だからpset6でバージョンで、 あなたがそれを実行すると、スペースがあります。 スペースがどこにあると私は見ることができます カンマの後。 [聞こえない]スタート オープンブラケット。 あなたはスペースを組み込むにはどうすればよいです あなたがあなた自身のコードを書いた方法はありますか? SPEAKER:良い質問です。 そしてそうのはそれを把握しましょう​​。 だから、本当に良い質問ですね 私は考えていませんでした1。 しかし、それでは、一緒にそれをやってみましょう。 すべてのだから最初、何 私はエコーでやっています 私たちはエコー時です こんにちは、それはハローを出力します。 私たちは今、エコー場合、これは別々に乗ります ラインは、のは、何が起こるか調べてみましょう。 だから我々は、これをクリックします。 我々は、ジェイソン・ハイ、言い続けます。 だからもう一度、私たちは、このスペースがありません。 そしてそれはで、ためです 我々はエコーしているPHP、 どんなに多くの spaces--いや、ありませんV-- どんなに多くのスペース、我々は中に入れません here--我々は今それを再度アップロードした場合、 こんにちはジェイソン。 ええ、それらのすべてを見ます スペースは、最大食べてしまいました。 そして、それはその何か エコー機能はありません。 だから、の世話をするために その空間は、これは 理由の一つ あなたは、エコーを使用しない理由 あなたが代わりにはhtmlspecialcharsを使用しています。 私は何だろう興味 我々はこれをしなかった場合に発生します ここで我々は、文字列内のスペースを囲いました。 私は正直わからないもの 私はこれを行う場合に発生します。 だから、一つの方法です。 それはそれの世話をする一つの方法です。 あなたは内のスペースをラップした場合 その後、文字列、スペース エコーによってうまく出力されます。 行うための最も安全な方法です htmlspecialcharsを行います。 それは常に安全な賭けです。 しかし、今、私たちは行うための方法を持っています エコーとそれに必要な場合。 そして、同じように、我々はできます 新しい行をエコー、すべての並べ替え 原料のあなたは、PHPでやって慣れています。 他の誰、それ以上のものです 他の人が持っている質問 PHPについては、この時点では? 人々は少し遅れて現れた場合には、 私は、少し後に滞在する幸せです そして、最初のいくつかについて話しています。 そしてそれはまた、すべてのlivestreamedです、 狂気である、アーカイブ。 とにかく、今のはいくつかをやらせます PHPを使用した、より高度なもの。 そして最も初期のものの一つあなた C言語でに導入されたループのためでした。 そして、PHPはのためのより強力なを持っています ループは、foreachループと呼ばれます。 そして、それは各ブランクのためthis--のように見えます 空白、中括弧として、ことを行います。 だから、これは基本的に省略形です。 ループのために、参照してください。 構文の建設 C言語でとアセンブリに考案されました 言語とのようなもの。 省略形として、正確C考案 ループの種類の多くのために 人が見るであろう。 あなたがそこに、ループを書いたときのように 多くの場合、初期化ステップました 右の初めに実行されると、A ループがstop--う条件 それが機能です それはちょうど、whileループでです、 またはしばらくは正確に持っていること ちょうどそのfeature--して、 最後に増分ステップ。 だから、あなたは、多くの場合、自分自身を見つけるだろう 次のようなコードを書きます。 私はこれの一部を消去するつもりです。 しかし、我々はを反復処理している場合 配列内の文字、 例えば、私たちがきたよう 文字の配列を得ました。 私が知っているCを戻すために申し訳ありませんが、 あなたが行われたと思いました。 しかし、それは唯一の目的のためです PHPを学んで、私は約束します。 ですから、文字列strを得た場合 長さ8の、としましょう それはHellooo言う言います 末尾のヌルと。 偉大なので、それは私たちの文字列です。 そして、我々はループのために持っていました。 私たちは、私が0に等しいint型ています。 そして、我々はstrをするときに終了します 私は、ヌルに等しくないに等しいです それがnullに等しいとき、我々は終了理由。 そして、我々は、各iにおける++ん ループのためのポイント。 私のSTRで何かを行います。 だから、基本的な式がありました、 我々この配列を持っていました 独立した要素として扱いたいと思いました。 しかし、私たちがしなければならなかったものである我々がしなければなりませんでした 基本的には個別の整数を作成 すべてのカウントアップされた変数 我々は、ループを通過した時間。 そして、我々はその後、コールする必要があります 私たちが本当にやりたいことときに[I]はstrstr ただ文字を行くされています 文字によって、右? 私たちは、インクリメントする必要はありません 整数とその整数を使用します 個別に各文字にアクセスします。 私たちは本当に文字ごとをしたいです。 それでごとに、インテリジェント 私たちのためにそれを計算します。 私たちは、配列を使用している場合、これは 私たちは、PHPで宣言することができます just--として、我々は変数を持っている場合 呼ばれる、の配列を呼び出してみましょう。 無入力の奇跡、それはです ただ、他の変数のよう。 それはちょうど配列です。 そして、我々は、[聞こえない] 1のように少しを持っています 2、3、初期化された配列のちょうど一種。 それは大丈夫だ、それは私のforeachのが好きではありません。 しかし、我々は実際にforeach--ない場合 私は少し間違っていることを入力しました。 foreachループを行うには二つの方法があります。 中構文とのような構文があります。 そして、我々はやろうとしています 最初の構文で、ないよう。 それは私のミスです。 配列中のSOのforeach numが、エコーNUM。 そして、PHPは叫んでさ 何らかの理由で私。 これは予想外を見つけることです 何かでで、 これは気の少しです。 しかし、我々は把握します その理由は、現時点です。 だから、それを好きではありません。 ののように使用してみましょう。 これは、構文はそうであるように好みます。 それでは、NUMとしてforeachの配列を行うことができます。 だから、少し説明 ちょうど何が起こったかの 、構文が最初によくsaying--されているようです これはプリントアウトするものを見てみましょう。 だから我々は我々のIDEを開きます。 私たちはここに行きます。 我々はこんにちはジェイソン、と言います。 そして、それは内容だった123をやりました 我々はトップを作成した配列の。 このforeachループにそうダイビング、 我々は変数と呼ばれる配列を持っています これは3つの数字の配列です。 そして、我々は、foreachのをやっています NUM、エコーNUMとして配列。 そして、それはより多くのです LOPよりも直感的。 私たちは、それぞれの処理を、言っています NUMとして配列にあるもの、 私はあなたが私にNUMを与えたいと思います。 そして、それはそれはやっているまさにそれです。 PHPはそれを計算しています あなたはforeachの配列を言うとき、 あなたはどのような配列、を扱っています あなたが反復処理したいとしています その配列内の文字は、あります その配列内のint型です、 その配列内の要素です。 そして、それはあなたが保存せています NUMとしてこれらの変数、 して、ちょうど出力NUM すぐにではなく、言って、 私は私という変数があり、 私は、出力はstrstr [i]をしたいです。 そしてそうそれは私たちがクールなものを行うことができます。 同様に、基本的に私たちが作成する必要はありません 私のと行うすべてのように、これらの変数 最後にこの増分のもの。 PHPはあなたのためのすべての面倒を見ます。 だから今のとしてのforeachの話をしましょう それは私たちの_GET辞書に適用されます。 だから我々はすぐにこれをコメントアウトします。 だから我々は我々の_GET配列を持っています。 我々は、この変数を持っています。 そして、それはそれでいくつかのものを持っています。 今、私たちは、1つの変数を持っています 名前である、それに渡されます。 しかし、我々は今、Enterキーを押した場合 我々は2つ​​の変数を持つことができます。 私たちは、例えば、名前と年齢を持つことができます 我々はまた、年齢とを取得したい場合 人の名前、妙な話だが。 だから今_GETがあることを行っています 2つの要素を持つ辞書、 2キーと値のペアを持ちます。 そして、最初のkey--私はするつもりです あまりにもボード上に、このいずれかを書きます。 私たちは辞書が_GETである必要があります。 申し訳ありませんが、それは見て少し難しいですよ。 しかし、私たちの辞書の内部に我々は 何かになるだろうされている名前、 私たちは与えられていること。 そして、我々はまたある、年齢を持っています 私たちは与えられているものになるだろう。 そして、これは全体で 私たちの辞書の。 だから、その中の2つの要素を持っています。 そしてそうforeachのため ループは、我々スマートです 思うし、正しくかもしれません そのforeachのを考えるかもしれません この繰り返し処理できます 辞書、プリントアウト 名前と年齢によって与えられた値。 だから、実際にはちょうどそれを行うみましょう。 のは、foreachループを構築してみましょう。 そして、我々は、_GETのためにやろうとしています。 そして、我々は次のことをやろうとしています。 それでは、私たちが入力した場合に何が起こるか見てみましょう そしてちょうど単語、およびエコー単語を言います。 我々はまた、新しい行をエコーするつもりです ちょうどそれが少し明確にするために、 どうしたの。 それでは見てみましょう。 それは私にエラーを与えていません。 そして、我々はこれを閉じます。 当社のウェブサイト上で、あなたがやっているつもりです pset7の過程で、その多くの。 だから、私の名前はサムであると言います。 私の年齢は45です。 そうではありません。 しかし、それは、予想通り、サム45を出力します。 そして、あなたはそれに気付くでしょう 何foreachループは、ここdid-- それはアップですので、のは、それに戻ってみましょう board--に我々は単語とし​​て_GETを得ます。 そして_GETの4つの事がありました。 しかし、それは2つだけをプリントアウト。 foreachの、その知性の自己であること、 私たちが本当に望んでいたと仮定 値ではなく、キーでした。 しかし、我々は印刷できませんでした方法があります 同様にキーアウト、私たちがしたい場合。 我々はまた、何を知りたいと思った場合 これらの変数は呼ばれていました、 我々の方法があります これもアクセスすることができます。 そして、方法は、一種のことを行うには、 私たちは本当にすることができます、と言うことができます キーと値のペアに分割。 それでは、今何が起こるか見てみましょう。 だから我々は、キーを持っています。 我々は値を持っています。 私たちは別の新しいを持っています 読みやすくするためのライン。 そしてのは、何が起こるか見てみましょう 我々は今、これを行うとき。 私はジェイソンが何歳かわかりません。 ジェイソンの15。 だから我々は、ジェイソン、15歳に名前を付けています。 だから我々は、キーにアクセスすることができました この辞書のと値のペア 単に値をキーポイントとして言って。 そして、それはのforeach構文的です ことができます砂糖ビット あなたは辞書に物事にアクセスします。 だから、うまくいけば、これは一種の強調します foreachループのパワー。 あなたはかなりスローをすることができます 反復可能なようで何も、 複数を持っているもののような 配列のような要素、 dictionary--ものは2つであるように あなたが作業になります主なもの 生活の中でとPSET 7の両方で。 だから、その原料を投げることができます それで、それは把握します あなたはそれをどうしたいのか。 これは、[OK]を、私は取得するつもりだ、と言うでしょう そのデータからこれらの事 私に渡されました。 そして、それはあなたがしている何か PSET 7での多くを使用してするつもり。 私は素早くスクロールするつもりです 私がよどこダウンだけ確認してください。 人々は、この時点で疑問を持っていますか? すべてで質問? はい? 聴衆:だから、キーと値を持ちます、 あなたはそれを他の何かに名前を付けることができ そして、それはまだ動作しますか? SPEAKER:おっと。 うわー、私は完全に行全体を削除しました。 すごい仕事。 だから、。 キーと値だけの規約です。 これは便利です。 あなたはいくつかのデザインになるだろう ポイント、おそらくいくつかのスタイルのポイント それので、それを行うための 本当に意図を伝えます。 しかし、我々はAとyarpを言います。 観客:あなたがする必要はありません HTMLファイルには何も変更します それを反映するためには? SPEAKER:全く。 観客は:そして、それはちょうどことを知っています なぜなら等しい大きいthan--の スピーカー:はい。 聴衆:that's-- --thatインジケータ スピーカー:はい。 それはそうですが、foreachの構文です。 観客:種類がありません。 ですから、何を望むか場合 年齢はわずか数になるには? それを行う方法はありますか? SPEAKER:かどうかを確認する方法があります。 変数は、特定のタイプに準拠しています。 だから、PHPはよりもう少し尋ねます あなたはには種類がありませんので。 いくつかの方法は以下を要求します。 いくつかの点で、それは多くを要求します。 あなただけの持っている場合ので、 変数に何か、 あなたはそれが何であるかの種類が分かりません。 しかし、あなたは変数に関するスマートであれば あなたはにタイプを割り当てると確認していること 関数は、あなただけのreturn--こと 唯一のリターンに機能をしたいです 値の一種ので あなたは基本的にできること 変数は、あなたが戻って取得することを期待します 関数から型になります あなたが考えること、それは基本的に、なります。 しかし、いくつかの方法があります これによって、あなたは確認することができます。 私はそれらを覚えていません 私の頭の上から。 それが青色にするために私が待っています。 isint? isstr? 方法があります。 PHPに組み込まれていることができます あなたのための変数の型をチェック。 しかし、あなたは変数を割り当てた場合 スマート、あなたはいけません PSET 7であまりにも多くのことをしなければなりません。 しかし、これらの方法が存在します。 そして、それはその何か 言語自体です。 そして、私は、正確な構文を覚えていません。 私たちも、それを見ることができます。 しかし、時間は本質です。 他の誰を持ってい それ以上の質問がありますか? はい。 聴衆:私はちょうど1より多くを持っています。 ですから、GETメソッドを述べたが、 あなたは、POSTメソッドを言及しませんでした。 我々は戻ってくることにしていますか? スピーカー:はい、私たちがします 戻ってそれに来るということ。 それは私が探していたまさにそれです 今眠ってしまった自分の携帯電話、で、 私はそれを見つけることができます。 念私たちはヒットすること PHPのノートのすべて。 うん、何のデバッグバージョンはありません。 はい、私たちはいくつかのより多くのものを持っています 我々は、この時点で、今やってみたいです。 そこで、POSTの話、 これはあなたが言及しました、 唯一の違い GETとPOSTである間に 私たちが見たとき、それは覚えています ああ、次のURLにあると私たちは見て、 名前は等しく、年齢がyarpに等しいです 私たちのためにそこに、URLに正しいです。 POSTは、もう少し秘密です 情報のその通過を持ちます。 ですから、ユーザーを望んでいなかった場合 例えば、あなたを知っています ユーザ名をしたくありませんでした そして、人のパスワード 現在に表示されるログイン 合理的なことですが、URL、 URLにしたくないために、 誰かがそれを見ることができますので。 彼らはページに誰かをリンクする場合、 そのURLが存在漆喰たくありません、 それは、人々がログインできるようになるので、 だけではなく、URLの貼り付けと 実際のフォームに必要事項を記入。 POSTは、もう少し秘密主義です。 そして、それだけの事 我々は変更する必要があります この方法では、変更されています 投稿してもらいます。 そして、HTTPの内部ではなく、 配列_GETへのアクセス、 我々は、アレイ_POSTにアクセスしようとしています。 そして、我々は場合は、そのことに気づくでしょう 我々は、再びこのバックを開きます ジェイソンはゆっくり時代に低下します。 ジェイソン、14歳に名前を付けます。 同じものがポップアップ表示されます。 しかし、我々は、URLにアクセスして、 これらの変数は存在しません。 ところで、POST そう覚えpasses-- ページのソースを見てどのように。 私たちは、ネットワークにアクセスしてください。 我々は更新されます。 そして、これは別のものであり、その POSTはあなたについての警告を与えます。 あなたはボックス、テキストを見ている可能性があります お使いのブラウザでこのような箱。 あなたがよろしいです もう一度フォームを送信するには? POSTは、「これらのフォームを送信しては何です。 あなたが送信され、基本的には場合ので、あなたの 誰かにクレジットカード情報、 それは、URLに表示するつもりはありません。 つまり、POST要求になるだろう。 ですから、ページを更新すると、 そのポストの要求を再送信です。 だから今、私たちは、送りたいん それはないだろうので、再び形成 重複購入を作成します。 そして、我々は、ここでそれをダウンわかります 私たちが使っている方法はPOSTです。 そして、それは確かにバイトを転送しました。 それは、それらの401を移しました。 プログラムのかなり小さな。 しかし、我々が見ることができることはどこにもありません 渡される値。 自身が見ることができるWebページ、 しかし、ユーザーとして、我々は、参照することができません あなたがハッカーでない限り。 あなたは良いハッカーなら、あなたは見ることができます。 あなたは基本を知っている場合 HTMLのフォーマット、 値が行います 自体はページ単位で知られています。 あなたが確認できるようになります。 値は、彼らがしている、があるでしょう ほんの少しあまり目立たないあなたのために 基本的に、アクセスします。 我々はこれ以上持っていますか GET、POSTに関する質問 我々は次をやろうとしているものbefore-- 実際にコードの一部を見ています あなたはPSET 7に与えていること、話 それはこれらの概念のいくつかをどのように使用しますか、 そして、の話を あなたが行っているもの PSET 7に少しを行う必要があります。 その前に、多くの質問? その他の質問あなたたちは持っていますか? グレート。 すべての権利、見てみましょう PSET 7で少し、 間違いなくありません、あなたが何でありますか すべての最も興奮。 私が意味する、これは何かであります ダビデは少しを通過します。 しかし、我々は、3つのディレクトリがあるでしょう トップだけでなく、コンフィギュレーションファイル。 それは、私たちがよ、データベースのためです 約5分で話。 あなたが必要とすることはありません、含まれています このディレクトリを検索します あなたはしたくないが、それはうれしいです場合 ヘルパーのすべての種類があることを知っています。 ヘルパー便利な機能のようなものです。 そして、我々は設定を持っています、 これはいくつかのものを設定します。 CS50が持ついくつかの機能があります。 ヘルパーと設定されているように記述。 PHPのいくつかのこと 既にファイルに終了します より多くの種類の多くを行います あなたのための鈍足の仕事。 私たちは公共に入る場合と同様に login.php、これは何です あなたはPSET 7に行くとき右に表示されます。 我々はそこだとわかります これは、ステートメントが必要です。 などのその種 シャープ、ハッシュタグを含みます あなたは新しい世代のならあります。 しかし、これは基本的に 私はアクセスする必要があると述べています config.phpファイルのすべての関数に。 そして、あなたは必要かもしれません 他のあらゆる種類のもののために。 設定は、実際にヘルパーが必要です。 だから、あなたが必要とするたびに 設定ファイル、あなたもね 含むまたは同様にヘルパーを必要とします。 だから、それはあなたがすべてにアクセスすることができます 我々が使用するつもりクールな機能、 レンダリングのようなもの。 私は実際に容易にするつもりです このダウン少し。 それでは、機能、私たちはしています 歩くに行きます 我々は少しSQLに移る直前に ビットはただ、login.php機能です それがトピックのいくつかを使用しているため、 私たちは、PHPでの話をすることを。 あなたは$ _SERVER場合は、最初のものがある参照してください。 これは、別のグローバル変数であります あなたが扱うことになるだろう。 これは、_GETや_POSTのようだが、何 サーバーが含まれ、これはあなたをさせることができますです リクエストメソッドかどうかを知ります GETまたはPOSTでした。 以前に私たちが何をしていたかのように ちょうど私達が書いた私たちのコードであり、 私達はちょうどそれがGETであることを変更し、 POSTは、HTMLが持っているものに応じて。 しかし、可能なページがあります 要求の両方のタイプを使用してアクセス。 そして、あなたは何をしたいかもしれません 応じて異なるもの 要求のタイプに、 ちょうどのようなログインが行われます。 だから、その要求を確認することができます アクセスキースルー方式、 キーを使用して取得を通じ 辞書に何かの値 _サーバ。 だから、別のグローバルです _GETや_POSTのような変数。 それはGETだ場合は、私たちがしたいです ログインフォームをレンダリングします。 レンダリング基本的機能であります ちょうど適切なHTMLを置きます それにいくつかのパラメータを渡します。 このタイトルだパラメータであり、 奇妙なことに、表示に使用されます、 ページのタイトルで 質問、ここまでの事、 先の例で言うかこんにちは。 今、私たちは別のものを持っています。 それ以外は、POST、私たちだ場合 いくつかの他のものを行います。 私たちは、空のメソッドを使用しています。 それは空ですが、存在していません。 そして、我々は、前にPHPを見ました かなりの量が組み込まれています そこにあればダビデはwill--方法で あなたに有用な方法であるが、 彼らはあなたに警告されます そのデビッドウォークスルーで 始めの概要で与え、 またZamylaの役に立つビット。 彼女が戻ってすべての人です。 我々は、すべての喜ぶことができます。 適切な名前の関数で謝罪 それはただ、基本的に出力します いくつかのエラーメッセージ、 CS50は非常に丁寧なので。 そして今、これは、これは このため、トリッキーなビット 我々は、データベースを照会しているところです。 今、私たちはデータベースについて話していません。 そして、我々は次にするつもりです 5分程度、最大。 しかし、これは関数であり、 そのCS50が書かれています データベースから基本的にテーブルを取得します 我々はPSET 7でで作業していること。 私には本当に悪いです ゼロインデクシング今日。 しかし、はい、それは7です。 だから、返すために起こっているの照会 配列、基本的に重要なビットです。 そして、これらのものは持っていないため、 タイピングは、行ので、配列の配列です。 私たちが考えているときので、 テーブルには、私たちがやろうとしています あなたがのpsetで学んだように、あります 15のゲームのような、とにかく あなたが使用していたところ double配列、基本的に 他の配列を持っています 配列は、表を作成します。 そして、あなたは、行と列を持っています。 それから、あなたは次のようにそれらにアクセスすることができます [0] [1]は、[1] [0]を得ます。 そのような基本的なもの。 だから我々は何をやっています ここでは、この機能で、 我々は、データベースを求めています ユーザーの場合 ログインしようとすると、それはなります POSTメソッドを介して送信されます。 我々は取得している参照してくださいよ _POSTからユーザー名。 彼らは、ユーザーが送信しましたよ または、あなたは、値を送信します なぜならPOSTを通じてフォームから それは、ユーザー名とパスワードのものです。 我々は、ユーザー名をチェックしています 確認するために、これはテーブルにありますか? ユーザーがログインしている場合ので、 その後、ユーザー名、中 のテーブルに格納されるべきです このサイトのために存在するユーザー。 したがって、基本的にあれば ユーザーは、データベース内にあります、 クエリが返すために起こっています 配列である行、。 しかし、トリッキーな部分は、その場合でも場合 double配列は、1行のみです でもそれは1行の場合array-- あなたが持っているようなbasically-- あなたは、サイズ1の配列を持っている場合 それは別の配列を保持して、 あなたは本当につの列を扱っています。 しかし、それはまだ扱われます double配列のような。 それは時々得ることができる場所、これはあります トリッキー、私たちはここに行を持っているからです。 私たちの変数は行です。 そして、我々が作成しています 行と呼ばれる新しい変数 とに等しい、それを設定します 行の最初の行。 そして、あなたはそのコメントに気付くでしょう それが最初で唯一の行だと言います。 だから、これはトリッキーです 一部今機能 非常に簡単に配列を返すことができます。 mallocをありません。 あなたは、mallocを表示されません。 だから、ワンセグの障害は表示されません。 しかし、機能はまだ渡しとなります グループ内の配列やデータの周囲。 そして、あなたは何を警戒しなければなりません 正確にあなたの関数は戻ります。 そして、それは一つだ場合でも、 このような列、クエリ まだ二重配列を返すために起こっています。 だからcolumn--かにアクセスします 反転としてのすべてを考えることができます 我々は、行の話をしているからです。 しかし、その1行にアクセスするには、 あなただけの行を言うことはできません。 それは1行ですが、あなたがする必要はあり rowsrows [0]ソートのこれを解消するために行います 配列の外側のビットと、 ちょうどあなたの1行を持っています。 他のいくつかのことを行います。 機能があります 呼ばれるpassword_verify それを検証 投稿されたパスワード。 そして、我々は別のグローバルを参照してください ここでは、変数、_SESSION。 基本的にセッションID あなたが追跡する方法です 誰かがログインされているかどうかの。 だから今login.phpと、 我々はユーザーのログインしています。 だから我々は何をしたいのか、私たちがしたいです セッションIDは、行に等しいと言います 理由だけで理にかなっているID、 各行は別のIDを持つことになります テーブルの一部として数。 我々はにSQLに取得します 第二ので、このいずれかの場合 少し何とかのように思えます、 すべては、最大クリアされます。 しかし、我々はに等しいIDを設定しようとしています ユーザーのログイン、適切なもの、。 何かがうまくいかない場合はお詫び申し上げます。 そして、それは、ログイン目的であります 教授マランとしての人生は言うでしょう。 だから、login.phpました。 そして、あなたが書いたPHPのコードの多く PSET 7で、彼らは少しになるでしょう。 は、chmodすることを忘れないでください 適切な権限。 少しがあります 仕様の始まりです。 しかし、あなたはしているPHP 書き込みがあることを行っています これに似ているものをやって。 あなたがすることになるだろう そのいくつかのものにアクセス あなたに与えられています PHPのグローバル変数こと 現在扱っています ログインしているユーザーかどうか、そこに これに送信された要求されています ページ、そのような別のもの。 そしてそれはまた、潜在的になります この事の行を反復処理。 別の関数では、クエリ この二重の配列を返すん。 よりがある場合 その中の1行よりも、 はい、もしそこare--場合 その中に複数の行があり、 それが表になります。 そして、あなたが反復する場合があります 使用して、この配列の行を通して 我々は説明foreachループ。 だから、二重にするforeachを行う場合 配列が、何を、ここにword--ます 私は実際にそれを書きます。 私は素早くそれをここに書きます。 我々は、行のforeachのを持っている場合 行として、行の種類は何ですか? 誰でも知っていますか? あなたはそれを得ましたか。 だから行は二重の配列です。 だから何のforeachは推測しようとしています 我々は、この二重の配列からたい 我々はそれを反復処理している場合は? 私たちは、基本的にはそれを仮定することができます それはどちらかの要素になるだろう、 基本的にまたは行、または列、。 だから、行と列たち 同じものとして扱うことができます。 基本的にはforeachループが起こっていること 行うには、それが行を返すために起こっているのです。 行は、行タイプであることが起こっています 行に対し、二重の配列です。 だから、foreachのを与える場合 double配列、それはです 反復するつもりはありません 複数のレベルの深さです。 そこにあれば言うことは基本的にどれ 8つのセルは、このtable-- 1,2であります 3 4、5、6、7、8-- foreachループではありません これらの細胞のそれぞれを通って行くつもり。 foreachループは何をします それは、この行を通過しますました、 あなたにこの行全体を与えます。 そしてそれは、その行を通って行きます。 だから、唯一の深い一段階を反復します。 あなたは、ネストされたを追加した場合 その後、foreachループ、あなた から返された各行を扱うことができます 行は、あなたは、要素としてforeachの行を行います のは言わせて。 そして、あなたは要素をエコー可能性があります。 だから、簡単なのです どのように少し復習 あなたはforeachのを使用している場合があります クエリのコンテキストでループします。 PHP上の任意の質問がありますか? 私たちの前にすべてのもの SQLの話に移ります およびデータベースの楽しいですか? 良い感じですか? 良い感じ。 大丈夫。 に戻るに移動しましょう あなたはおそらく欠場パワーポイント、。 SQL、イェーイ。 一般的に私のセクションにある人々 頭字語の小見出しを知っています ただ最初の言葉は常にあります 私はその試合を考えること その頭文字algorithm--。 これは、このアルゴリズムではありません。 だから、SQLはデータベースです。 それは、その言語です データベースで動作します。 そして、すべてのデータベースがされています 少なくとも方法でテーブル、 そのSQLは、それらを表しています。 データベースについて考えるもう一つの方法です データベースは、キーと値のセットです 基本的には。 あなたは、データベースと考えることができます 辞書と、テーブルなど。 基本的には関連付ける方法です 他のデータと異なるデータ、 多くの場合、行と列を通じ。 そして、それは方法です それは、SQL最適に動作します。 これはテーブルの一例です。 私はいくつかの例を持っています 私のセクションの人々、どの 私は変更する時間がありませんでした。 しかし、我々は、IDのようなものを持っています 名前、超大国、そして故郷。 私はどこに誰のかわかりません 私のセクションでから、 私はちょうど仮定するつもりです 誰もがニューヨークからです 市私は高い統計を持っているので、 正しいらし。 SQLが自動的にかかります あなたのためのID列のケア。 あなたは、新しい行を挿入した場合 SQLデータベースに、 それはそれをインクリメントします ID番号だけ 基本的には5つの名前のように固執します、 超大国、故郷、誰でも そのテーブルの最後に。 だから、ID列を使用すると、よです 心配する必要はありません。 しかし、場合と同様に login.phpの、ときに我々 セッションIDを取得しました。 表からだけIDを使用して、 IDは一意に識別するための方法です。 データベースの要素。 だから我々は、2つのサムス、の両方を持っていた場合 これはCS50を教え、誰の両方 ミルウォーキー、希望のものからのものでした まだ明確なID番号を持っています したがって、に区別されます テーブルのコンテキスト。 だから、これはSQLが扱っているものです バックエンドでと協力して、と。 現在、これらの4つのコマンドがあります あなたは、SQLを使用する必要があるだろうと。 そして、私は1つのスライドにそれらのすべてを投げました。 しかし、我々は通過するつもりです 個別にそれらをすべて。 最初のコマンドは、アップデートです これはあなたが期待するかもしれないものありません。 あなたはいくつかのデータを持っていると言います 古くなっていテーブル。 あなたが維持している場合と同様に 人の名前のトラック そして年齢、誰かの場合 年齢が増加すると、その後 あなたが行きたいとしていると ちょうどその人の年齢を更新します。 働くたとえば、 私たちの最初のtable--と すべてを書くことについて心配しないでください 同時に、これらのコマンド。 しかし、あなたがダウンしてアップデートを持っている場合は、 それは、この部分のために良いことでしょう 我々がしようとしているため、 テーブルに戻ります。 だから我々は、テーブルに戻る場合は、 のが起こった何かを言わせて 地震があったされましたか、 直接分割断層線 ニューヨークを通して。 そして、私たちは皆を更新したいです 誰がニューヨーク市に住んでいました。 彼らはすべてのペンシルベニア州に移動しなければなりませんでした。 それは故郷ではありません。 彼らはすべてのニューヘブンに移動しなければなりませんでした。 そうしよう。 ニューヨークの誰も ニューヘブンに移動します。 そしてそうそれは何かです この表の3行を編集します。 しかし、SQLで、あなたが行うことができます ちょうど1文です。 だから我々は、更新に戻ります。 私は素早く再びこのボードを消去してみましょう。 我々は話をしているとき 更新があります 鍵となる構文のいくつかの部分。 まあ、構文のすべてが重要です。 しかし、緑の中のものはオプションです。 白が必要とされ、 事前定義名様。 そして、ライトブルーのものがあります それは、テーブルによって異なります。 だから、で何が起こっているのです ここでは、そこまでの配色。 だから、私たちはそれらの行を更新する場合 ニューヨークに住んでいる人たちの、 我々はUPDATE言った場合、私たちは何をしますか? 我々は置く場所だから表です 私たちのテーブルの名前。 ちょうど名前を言ってみましょう 私たちのテーブルのテーブル一つです。 そこで、表1を更新したいと思います。 そして、私たちはset--たい 私たちは、設定したいのですか? さて、私たちは言いたい、そうcolumn-- PHP 一意の識別子としての行を扱います。 そして列があります 異なるフィールド データベースのこれらの要素の。 データベースの最初の要素だから サム、CS50の超大国の名を持ちます、 ミルウォーキーの故郷。 我々が設定さと言ったらそれでは、見てみましょう パラメータ再びそのセットがかかります。 私たちは、列が値と等しい必要があります。 だから我々はいくつかを言いたいです 覚えていますcolumn-- 私たちが見てみたいfield--です 何か新しいことに等しいフィールド。 だから私たちはアップデートを言ったら 表1、設定した名前と同じエリオット。 から一部の人々を取得します。 この上で新しいセクション。 しかし、我々はちょうど更新テーブル1を行った場合 名前を設定するに等しいエリオット、何だろう テーブルには、その後のように見えますか? 人々はすべてのアイデアがありますか? うん。 聴衆:その内のすべて 行はエリオットとなります。 スピーカー:どの行ですべて? 聴衆:最初の行で。 SPEAKER:最初の行には? なぜ最初の行? 私はあなたに選択することを意味するものではありません。 聴衆:たぶんすべて テーブル全体で? SPEAKER:すべてで テーブル全体、はい。 そして、それは私because--まさにそうです ちょうど少しあなたを助けました there--我々は省略しているため オプション句。 どこに持っていない場合 句は、このコマンドは何をします それは、すべてで動作しますされています テーブルの単一の行。 みんなの名前意志 、基本的には、エリオットになります これはエリオットが約非常に満足しています。 あるいはヤニー、二つのうちの一つ。 しかし、すべての人の名前が変更されます。 だから方法は、私たちが使用するWHERE clause-- これはのwheresのすべてに適用されます のそれぞれであること これらの異なった事。 だから、そのセットに気付くでしょう カラム等しい値を有しています。 そして、だからここで行います。 しかし、これらは異なっています ステートメントのタイプ。 だから、列には値に等しいです SETに割り当てています。 私たちは、私たちが望むと言っているように エリオットに等しい名前を設定します。 しかし、WHERE句で、 これらは、平等の文です。 それでは、我々だけに望んでいたとしましょう エリオットに人の名前を変更します 彼らの名前はライアンだった場合、のは言わせて。 だから、私たちが言う時 WHERE名前はライアンに等しく、その 成功した唯一の変更希望 name--それだけだろう 行の名前フィールドを変更 名前フィールドには、ライアンに等しいです。 だから我々は、複数の人があった場合 ライアン、その名前のすべての名前付き エリオットに変更します。 これは、例のようになります 断層線は、分割の場合 ニューヨーク市と誰もがしなければなりません ニューヘブン、私達ができる方法に移動 1つのステートメントでUPDATEがあることを行います TABLE1セット故郷=ニューヘブン 故郷は、ニューヨーク市に等しいです。 これはの力です UPDATEステートメント。 我々は、任意の数を選択することができます 真のステートメントを行 それらの行のフィールドに関する。 私たちは、UPDATE TABLE1セットを言うことはできません 、行= 1 =エリオットに名前を付けます 我々は、ID = 1と言うことができるかどうかということを除いて。 だから我々はことになるだろう 平等と協力 フィールドの、列の平等。 しかし、IDフィールドを使用するための方法です 特に個々の行を選択し、 IDフィールドは、一意であるため SQLデータベース内の識別子。 だから、行1を更新するように、IDは1に等しいです。 ただ、行2を更新します そのID番号を変更します。 しかし、のパワー WHERE文は、我々です どのような彼らに基づいて物事を更新することができます 特定の物事の現在の値です。 エリオットはい? 聴衆:そして、何あなたがしたい場合to-- 再び、これは別の問題です。 しかし、私の最初の質問はありました、 これはどこに起こっているのでしょうか? どこで私はこれを更新するのですか? これは、PHPコードでますか? SPEAKER:あなたが更新、はい。 我々は話をするつもりです このすべての場所について 私たちが行くの並べ替えの後に起こります すべてのコマンドを通じ。 しかし、あなたがするために必要なもの 今のところ知っている基本的には SQLデータベースこと ものとして存在しています クエリによってアクセスされます CS50が定義する関数、。 だから、問い合わせ機能を使用する場合、 あなたがこのテーブルにアクセスすることができます。 ですから、これらを送信します PHPファイルにあなたのテーブルへのコマンド クエリー機能を通じて。 また、周りに再生することができます あなたのテーブルで直接。 そして、それはへの最善の方法です コマンドのこれらの種類をテストします。 そして、我々は正確にどのように通って行きますよ ほんの少しでそれを行います。 だから、UPDATEコマンドです。 そして、残りのコマンド ソートの同様のことを行っています、 同じようなことに取り組んでいます。 INSERT INTOはおそらくあります UPDATE最も異なります。 私はそこにそれを任せるつもりです こっちに少しだけと仕事。 だから、INTOをINSERT、あなたが表示されます そのテーブルは同じです。 あなたは、INTOを挿入します。 大文字は、SQL 大文字と小文字を区別しません。 だから、あなたがする必要はありません これらのことを生かします。 慣例により、言葉 白で資産計上されます。 しかし、私はまた、色は、それらをコード化されました。 あなたは大文字だけの理由 それらあなたがそれらを入力しているとき ただ強調することです これらのことを定数です。 だから、あなたはどちらかを見ることができます 大文字または事実 私はこれらを別の色のしたこと。 だから我々は、INSERT INTOを持っています それでは、再びTABLE1を行うことができます。 これは、すべて1行にあります。 私はちょうどそれをすることによって分離しています 異なる記述が含まれます。 だから、実際にそのことについて心配しないでください TABLE1は二行目にそれを作りました。 だから我々は、挿入したいです いくつかの値をTABLE1に。 そして、あなたはオプションに気づくでしょう 私は2番目にになるでしょうビット、。 だから、値を持っています。 それでは、私たちはアンディを追加したいとしましょう 私たちのテーブルに、ので、我々はアンディを欠場。 アンディは病気です。 それでは、私たちのテーブルにアンディを追加してみましょう。 ID番号があることに注意してください 自動的に更新されます。 フィールドだけだから我々 心配する必要はあり 名前、超大国、そして故郷です。 だから私たちはそれを行う方法、 私たちの構文を見て、私たちはきています ただコンマで、括弧を持って 区切り、それぞれの 値です。 だから私たちは私たちにアンディを挿入したい場合 テーブルには、私たちがしなければならないすべては右のアンディです。 アンディの超大国は何ですか、 アンディのセクションの人? 彼女は飛行が好き、など スピード、または何か。 我々はすでにそこまでは何がありますか? 我々は、CS50、飛行を持ちます スピード、強さ。 聴衆:タイムトラベル。 スピーカー:タイムトラベル、素晴らしいです。 だから我々はアンディ、時間を持っています 旅行、そして彼女の故郷。 それは本当に良い質問ですね。 ニューヨーク市、誰かが知っている場合を除きます。 ニューヨークはあるから誰です 今日から奪うためのレッスン。 したがって、この文では、希望 5行目のように、挿入、 超大国のタイムトラベルと ニューヨークの故郷。 しかし、オプションのフィールド 基本的な方法であります 正確にどの列を指定します あなたは物事を挿入します。 我々は今それをやっている方法、 アンディ、タイムトラベル、ニューヨーク、 私たちの正確な順序で起こっています table--名、超大国、故郷。 そして、あなたがしたい場合 それ以外のもの、 以下のようなあなたが知らなかったと言います 誰かの超大国、 私はアンディのを知りませんでしたかのように 先頭の超大国。 だから私は知っていたすべては彼女でした 名前と彼女の故郷。 私は何ができたことは、私は可能性があります do--私はこのクイックを消去します。 私は列のみを更新します。 そして、これはどこにオプションです 列リストは、場に出ます。 私は名前と故郷を更新したいと思います。 そして、私には、値を言うだろう。 私はアンディとニューヨークをやります。 私は、列のリストを省略した場合は ちょうどこれら二つのことを行って、 ニューヨーク市は、どこに行っているのでしょうか? どの列になるニューヨーク 市に置かれていますか? 人々はすべてのアイデアがありますか? 超大国、正確に。 だから、これは単に順番に移動します。 それは、最後に達すると リストには、それだけで物事を埋める停止されます。 そして、それは中固執よ値は すべての列がちょうどNULLになります。 だから我々は、指定されたため、 名前と故郷、 我々は、ID 5を持っているつもりです、 アンディ、超大国のNULLという名前を付けます。 だから、超大国は初期化されていない値です。 あなたは必ずしも得ることはありません 同じValgrindのエラー、あなたがしようとした場合 それにアクセスします。 すべてがうまくゼロにされます アウト、NULLは、SQLの値があるため。 それは一定です。 そして故郷は、ニューヨーク市になります。 だから、INSERT INTOコマンドです。 私たちが移動する前に、あります さらに2つのコマンド。 人々はについてのご質問はありますか UPDATE、INSERT INTOについて、SQLの 一般的に私たちが移動する前に 私たちの最後のビットの上に? 人々は偉大な、良い感じ。 大好きです。 それでは、SELECTについて話しましょう​​。 こっち溝の更新を行きます。 そして、SELECTが非常に類似していることが起こっています。 SELECTの目標は、 生活の中での目的を選択 あなたの列の束を与えることです それは、特定の条件を満たしています。 そして、私は満足言うとき 一定の条件、 あなたの心はすぐにかもしれません WHERE句それに戻ります それは、UPDATEで思い付きました。 そして、その句があります まさにそこに選択します。 我々はどこに入れていない場合 句と私たちは、SELECTの名前を言って、 hometown--は少しことを綴り wrong--名、TABLE1からの故郷。 私達はちょうどそれを言うならば、どのようなSELECT 私たちを与えるために起こっていることは、それはですです 私たちに与えるつもり むしろ、テーブルをdouble--。 私たちがしている場合、二重配列 PHPの感覚にについて考えます。 しかし、それはちょうど私達に与えるために起こっています 2 columns--名前のdouble配列、 そして故郷。 そして、それは、IDを無視します。 そして、それは超大国を無視します。 そして、それはちょうど私達にすべてのをあげます そのテーブルの単一の行。 だから我々は単に挿入した場合 アンディは、我々はアンディがあるでしょう。 そして、我々は、元の4を持っています。 彼らは更新されていた場合、それは意志 反映され、エトセトラ、エトセトラ。 だから、これは私たちのため WHERE句を使用していませんでした。 しかし、我々は正確にそれを使用することができます 我々はアップデートでそれを使用したのと同じ方法です。 我々は名前だけのテーブルが必要な場合 住んでいる人々のと超大国 ニューヨークでは、我々は、ステートメントを実行することができます SELECT名様、superpower-- 私はちょうどFROM that--を残すつもりです TABLE1故郷=ニューヨーク。 だから、これはあなたができることを示すことを行きます 全く異なる列を取得し、 してから、じゃないの列を置きます でもバックWHERE句で取得。 私たちもしたくありません みんなの故郷。 しかし、我々は名前をしたいと 人の超大国 ニューヨーク市は、その故郷です。 だから、私たちは何か WHEREで行うことができます 句は、私たちが列を扱うことができますです 私たちは必ずしもバックしないこと。 UPDATEで同じように、我々は対処することができます 私たちは必ずしもない列で 更新します。 私たちは皆の街を更新することができます 誰の名前なのは、例えば、サムです。 私たちは、市を更新することができます そのID番号の人は2です。 だから更新 2行目の都市 我々はに対処する必要はありませんどこに 必要な一般的な質問。 そして、DELETEあなたがしたいように、あります TABLE1 FROM DELETE、期待しています。 そして、我々は別のWHERE句を持っています。 だから我々は、WHERE ID = 1と言うことができます。 最初の行を削除します。 そして、DELETEは常に行を削除します、 またはそれは、行のいくつかの番号を削除します。 WHEREテーブルFROM DELETE 故郷=ニューヨーク ニューヨークのすべての人を削除します。 あった場合はそのためです 突然の悲劇的なペスト そしてあなただけ削除したいです テーブルからすべての人者 特定の都市に住んでいました それは疫病に見舞われました。 彼らは平和で休むことがあります。 これらは、4つのSQLコマンドです ことをあなたが使用する必要があります。 あなたも、それらすべてを使う必要はないかもしれません。 しかし、これらは4です CS50はあなたを期待していること 行くと快適に クイズ1ともpset7とpset8両方。 ちょうどそのテーブルが再びあります。 これでは、ロイの超大国が持っています レーザビームに更新されています 私は使用しなかった例です。 私はものを知りません ロイは好むが、強さ。 ロイは、強度の超大国を持っています。 キャサリンは今日しませんでした。 それは残念です。 しかし、彼女は、スーパースピードを持っています。 まあそれは、PHPました。 我々は、MVCの話をする前に、い 誰もが、PHPについて質問がありますか? さて、SQL、またはPHPあなたが突然持っている場合 PHPに関する質問を思い付きますか? グレート。 すべての権利は​​、我々は、すべての後、設定されています。 だから、少し話 モデル・ビュー・コントローラに関する、 それでは、いくつかに戻ってみましょう pset7におけるものの。 それでは、モデルビュー 私はないんだけどis--コントローラ ログインする自分の変更を保存しようとして 私は完全にそれを虐殺ので。 しかし、基本的に、我々は2を持っています 別々の事が起こって。 私たちは国民を持っています 含まれているディレクトリ 実行することになるだろうコード 訪問され、Webページ。 そして、我々はまた、このビューのディレクトリがあります。 そして、ビューはテンプレートが含まれています。 これはどのような機能です 我々はレンダリング見render-- PHPコードの束内の関数 そのCS50はすでにあなたのために書かれました、 それは、特定のパラメータになります。 そのコードが何をしていますか それがビューに起こっています、 セットですのようにします 作成済みのHTMLコード、 それは値を挿入しています 特定の場所へ。 これはどのようにするときであります CS50ファイナンスに入ります、 同じヘッダーがすべてのページにあります。 同じフッターは、すべてのページにあります。 これは方法であるためです 作品をレンダリングすることは、それがありますよ そのヘッダーに自動的にパッチを適用し、 あなたがビューで見つけることができるビューアー。 私たちは、実際にヘッダに行く、とすることができます 見て、それが頭でHTMLファイルです。 これは、いくつかのスタイルシートを持っています。 あなたは、CSSを見てする必要はありません pset7のためにあなたがしたくない場合。 しかし、あなたは変更することができます 彼らはあなたがしたい場合は、作ります あなたの財政は少し違って見えます。 これは、いくつかのPHPの持っています 参照するには、ヘッダビット 異なるタイトルがあるかどう それがこのヘッダ内に置く必要があります。 しかし、単にいくつかの他のスクリプト、 そして、リンク、および他のもの。 ヘッドは、本体が起動し、終了し、おっと 我々は、この奇妙な小さなエンドビットを持っています。 そして、ちょうど同じように、div要素があります 要素の形のない種類 それは、中間のアイデアを持っています。 そして、我々はフッターを見たとき、 我々はdiv要素の端部を有します。 私たちは、底を持っています ここで、フッターのテキストです。 DIV、本体の端、HTMLの最後の最後。 だから何されているレンダリング レンダリングさにすることは一種であります ヘッダーをパッチ適用の、A 別のPHPファイルその その実際のものが含まれています あなたは株式のあなたの表のように、表示します 場合は、株式を買ったり、販売しています。 そしてそれはフッターに追加します。 そして、モデルビュー コントローラの考えは、私たちです どのように分離するようにしたいです 物事はコードから見えます。 私たちはフロントエンドを分離したいです そして、フロントエンドがあるバックエンドは、 ユーザーが見ているもの、素敵な visuals-- HTML、CSS、そのようなこと、 画像、エトセトラ。 そして、バックエンドはPHPです。 これは、あなたが書いたコードです。 これはどこにコードというのです 実際の操作を行います。 あなたが追加しているときには、 あなたのテーブルに株式、 あなたが購入しているときに 販売は、それがバックエンドです。 そして、我々はあなたが見たように、することができ、 HTMLで直接PHPを含みます。 だから我々はのために行っている可能性がどのような この割り当ては、ちょうど持っていたされています ログインなどの各ページのHTMLファイル、。 そして、そのページの、ちょうど PHPコードの巨大なブロックを持っていました、 そのコードのすべてを含みます そのページには、特に必要があるでしょう。 そして、我々が持っている可能性が ポートフォリオのためにそれを行います。 私たちは、買いのすべてを行っている可能性が そして個々のページ内で販売しています。 しかし、我々は、レンダリングしているので、 別にどこから 我々は、バックエンドを書いています コー​​ド、我々は簡単にすることができます 物事はなしに見える方法を変更 すべての単一のファイルを変更します。 私達はちょうど追加のようなことを行います 下に新しいdiv要素 こんにちはof--私はフッターを変更しました。 あなたはちょうどそのようなものを行うことができます。 しかし、また、あなたが変更することができます 全体の視覚的なレイアウト 何影響を与えることなく、 バックエンドで行きます。 そして、あなたが変更することができます 全体のバックエンドと、まだ それは前にやったように見えています。 この モデル・ビュー・コントローラの考え方です。 そして、それは実際に課せられたパラダイムです プログラミング言語の一部で あなたが使用することをお勧めします 最終的なプロジェクトのため。 あなたは、iOSの開発を行う場合は、 彼らは景色を眺めることができ、 あなたはiPhone上で見て、何をしています その後、独立したものなどのバックエンド。 あなたは少し考えることができます。 でバイナリがたくさんあり​​ます 面白いですコンピュータサイエンス、 すべてがバイナリでだから。 私はそれを計画していませんでした。 それが意図しないしゃれました。 はい、しゃれ意図していません。 しかし、.hファイルと.cファイルのように、あります その私たちのものの分離がたくさん 必要はありません。 だから我々は単に時間のファイルを編集することができ、または 誰かがちょうど.hファイルを見て知ることができます であり、正確な機能 必ずしも知らずの.cファイル その実装。 成分を分離するこのアイデア お互いに依存すること しかし種類のお互いにアクセスすることができます 異なるチャネルを介して、通過します 変数の、ちょうど 文、物事を含みます そのような、この原則 アプリケーションを作成するのに役立ちます それはより容易にすることができ 複数の人が編集し、 より容易に変更することができます または大規模で修正され、 とに容易です 多くの方法でデバッグ。 私は、本当に迅速な pset7ためのいくつかのヒント、 私はあなたのようではないフルスクリーンを作ってあげるします ちょうどthe--先端先端チップを受け取る人を見ています。 多くのヒントがありません。 しかし、私はPHPは、デバッグすることは困難である述べました。 それをチェックダブル、トリプル。 あなたのコードだけではない場合 ページ上に表示、 それは申し訳ありませんが、おそらく、PHPのエラーです。 あなたが見てする必要はありません あなたがしたくない場合は、CSS。 あなたが終わったらしかし、それはすることができます ちょっといい楽しい事だけで行きます CSSパラメータを使用して混乱。 CSSとHTMLは、モデルの一例です ビューコントローラスタイルのもの、あまりにも、右か? あなたは、スタイルのタグを持つことができます HTML要素の内部。 しかし、あなたの並べ替えの場合 CSSにそれらをアウトソーシング、 彼らは編集が容易だし、遊び 周り、との楽しみを持っています。 CS50ヘルパーを扱います ブラックボックスとして機能します。 あなたが知っている必要はありません 正確に何をやっているレンダリング、 しかし、それは常に正しい操作を行うために信頼 あなたがそれを渡すものに応じての事、 このようなもの。 そして、私はお勧めします ダビデのチュートリアルを見て、 すべてを通過 ものだけではなく、ドス、 しかし、あなたは本当に扱うことができます これらのようなブラックボックス。 これらにはなりません。 バグを探して機能します。 そして、復帰を歓迎 私たちの君主Zamylaの。 グレート。 最終的な質問が前にあります 私たちは、ソートの日のためにバウンス? 私はまだ生きていますか? グレート。 こんにちはライブストリーム人。 グレート。 質問はもうありませんか? なし? そして、私たちはだと思います 今日の行ってもいい。 私は少し固執します 人が質問していた場合は、その後 彼らは、ストリームに尋ねるのを恐れていました。 しかし、そうでなければ、良い一日を持っています。