SAM LEVATICH: კეთილი მონაკვეთზე ამ კვირაში. მე არ ვარ Andi. Andi დაეცა ავადმყოფი ამ დღეს, მე და უკვე ერთგვარი მოუწოდა ბოლო წუთს აღება. ეს არის გრიპის სეზონი, ასე რომ დარწმუნდით, რომ თქვენ დარჩენის სუფთა, სარეცხი თქვენს ხელშია, და ჭამა ჯანსაღი ისე, რომ თქვენ, ძალიან, არ საწოლზე მიჯაჭვული. მაგრამ გარეშე ado, მოდით დავიწყოთ. დღეს, ჩვენ ვაპირებთ, რომ გაიგო შესახებ PHP პატარა bit-- როგორ PHP ეხება HTML, როგორ ეხება CSS, და ზოგიერთი ვებ პერსონალის თქვენ გააკეთა ბოლო დავალება. ჩვენ ვაპირებთ, რომ გაიგო ცოტა შესახებ SQL და როგორ შეიძლება მუშაობა მონაცემთა ბაზებთან, რომელიც საკმაოდ ძირითადი კომპონენტი P მითითებული 8- P კომპლექტი 7. P კომპლექტი 7. და მაშინ ჩვენ ვაპირებთ, რომ გაიგო ცოტა ცოტა იმაზე, თუ როგორ კონტროლერები მუშაობა და რატომ, რომ ფილოსოფია უკან რაღაც თანამედროვე ვებ გვერდების და სხვადასხვა დიზაინის. საკმაოდ ბევრი ბევრი სახის apps და პროგრამები თქვენ დაძრულიყო იყენებთ ამ მოდელს, კონტროლერი ფარგლებში, რომ თქვენ იქნება გამოყენებით P კომპლექტი 7, ასე რომ მე ვისაუბროთ ცოტა შესახებ, თუ რატომ გახდა პოპულარული, ამიტომ მნიშვნელოვანია, და ლამაზი. და მაშინ მე საბოლოოდ გადაადგილება რამდენიმე რჩევა შესახებ მოგვარება P კომპლექტი 7. და თუ ჩვენ გვაქვს დრო დარჩა ბოლოს, ჩვენ შეგვიძლია რეალურად დაკავდით მუშაობა, რომ ერთად. ასე რომ, PHP. ფაქტია, რომ თქვენ შეიძლება არ შეამჩნია, ამას თქვენ ნამდვილად არ უნდა dive შევიდა it-- მაგრამ P კომპლექტი 6 გვქონდა PHP კოდი, რომელიც ხდებოდა. და რადგან PHP არის C-like ენის, PHP, განსხვავებით HTML და CSS, არის პროგრამირების ენა, ხოლო HTML და CSS სტატიკური. ისინი markup ენაზე საქმე სტილი და ვიზუალური განლაგება. PHP არის რეალური გარიგება. PHP აქვს მარყუჟების, მას აქვს conditions-- ყველა, რომ პერსონალი, რომელიც არის fun შესახებ C. მას აქვს რამდენიმე რამ, რომ ცოტა ცოტა უკეთესია, ვიდრე C, რომელიც ჩვენ დავინახავთ, მაგრამ მე ვფიქრობ, ყველაზე იოლი გზა გაიგო შესახებ PHP არის უბრალოდ ჩაყვინთვის. ამიტომ, მე ვაპირებ წასვლა უფლება შევიდა IDE ამ ეტაპზე. პირველი, რაც ჩვენ ვაპირებთ რომ რეალურად გამოიყურება ცოტა ზოგიერთი PHP კოდი, რომელიც იყო P კომპლექტი 6. ასე რომ, ისე, რომ ჩვენ გააკეთოს, რომ ადრე, ისე, რომ ჩვენ გაშვებული სერვერზე ელექტრო იყო, რომ ჩვენ უნდა type-- ან გამოიყენოთ თქვენი განხორციელება ან პერსონალის განხორციელების საქართველოს server.c შესვლის დირექტორია და გაშვებული server.c ან არ არგუმენტი ასე რომ მხოლოდ უწოდებენ ადგილობრივი მასპინძელი, რაც, ალბათ, უმეტესად time-- და მერე კვების ეს დირექტორიაში ერთად რომელიც უნდა გამოვიყენოთ, როგორც მისი ძირეული სადაც ნახვა გვინდა უნდა აწარმოებს, ძირითადად. ამ კვირაში P მითითებული 7, დიდი, როგორც ჩვენი კოდი server.c არის, არიან ადამიანები, რომლებიც უკვე დაწერილი ეს ჯარიმა რამ ზე CS50 რომ ცოტა უფრო ფუნქციონალური, სერვერზე პროგრამა, რომელიც შეუძლია საქმე ცოტა მეტი საქართველოს intricacies, რომ ჩვენ იხილეთ ორივე P კომპლექტი 7 და P მითითებული 8. და ისე, რომ თქვენ დავიწყოთ სერვერზე არის მხოლოდ აკრეფით, "apache50". და სანამ არაფერს, თქვენ გვინდა დავრწმუნდეთ, რომ Apache 50 არ არის უკვე გაშვებული, რადგან ეს არის ჩემი მანქანა, რომელიც მე შესამოწმებლად იგი. და თქვენ რომ დარეკვით apache50. შეაჩერე, და თქვენ დაინახავთ, რომ ეს შეჩერების სერვერზე, თუ გადავხედავთ იქ ბოლოში ტერმინალის ფანჯარაში. და მაშინ უბრალოდ უნდა დაიწყოს, ჩვენ ვაპირებ მოვუწოდო, "apache50 დაიწყოს." და მაშინ ჩვენ ვაპირებთ შესანახი დირექტორია. ახლა, რადგან ჩვენ გვინდა გამოიყურებოდეს ზოგიერთი P კომპლექტი 6 კოდი , რომ ჩვენ განხორციელდა, მე რეალურად გადაწერა ცოტა P კომპლექტი 6 კოდი შევიდა საკუთარი საქაღალდეში, რომელიც შეგიძლიათ ნახოთ მარცხენა არსებობს. ეს ე.წ. "SECTION8" ყველა ასოებით იმიტომ, რომ მე უბრალოდ ასე აღელვებს უნდა იყოს ცოცხალი streamed დღეს. ასე რომ, თუ ჩვენ აწარმოებს, ეს უნდა ყველა მუშაობა საკმაოდ ეფექტურად. ის ამბობს, OK, ჩვენი საიტი არის ხელმისაწვდომია მისამართი IDE, ძირითადად, რაც თქვენ გამოყენებით ზუსტად ისე, როგორც ეს იყო P მითითებული -7 ბლოკის P კომპლექტი 6. ყველა ჩემი ინდექსების ერთი მაჩვენებელი დღეს. ასე რომ, ჩვენ შეგვიძლია წავიდეთ, რომ მისამართი, თუ თქვენ გახსოვთ, მხოლოდ დაჭერით ეს პატარა ღილაკს ზედა მარჯვენა. და თქვენ გავიხსენოთ ეს კოდი, რომელიც მოხდა, როდესაც თქვენ შევიდა hello.php. და რა კოდი მიზნად ისახავს ამის არის, როდესაც თქვენ აკრეფილი სახელი აქ თუ ამბობენ, სემ იმიტომ, რომ ჩემი name-- და მე დააწკაპუნეთ Say Hello, როდესაც წავედით შემდეგი გვერდი, ეს სახელი უნდა იყოს ნაჩვენები. რომ ვთქვა, "Hello, სემ" ან "Hello", რასაც თქვენი სახელი შევიდა, მიუხედავად იმისა, წავედით სრულიად ახალი ვებ-გვერდზე. და ეს არის ერთგვარი რამ რომ PHP შეუძლია თქვენთვის. PHP შეუძლია გაიაროს მონაცემები ორ ვებ გვერდებზე. ეს არის სრულიად განსხვავებული გვერდზე. დაინახავთ სათაურია "Hello" აქ. სინამდვილეში, მათ აქვთ ამავე სახელწოდების, მაგრამ მე გპირდებით, რომ ისინი სხვადასხვა ვებ გვერდები თუ ჩვენ შევხედოთ წყარო. და თქვენ ვერ გაივლის მონაცემები, რომ ის შევიდა ამ ველში, თქვენ წარმოადგინოს მას შემდეგ გვერდი, რომელიც მიმდინარეობს მოუწოდა up, და შემდეგ, რომ მონაცემები შეუძლია იყოს იქ მისი დღევანდელი ფორმით. ახლა ჩვენ არ განხორციელდა ამ თავს, რომელიც არის ის, რაც ჩვენ ვაპირებთ, რომ ახლავე სახის მისაღებად არომატი როგორ PHP მუშაობს, მაგრამ ძირითადი იდეა არის ის, რომ PHP-- შეგიძლიათ ერთგვარი ვფიქრობ, რომ როგორც ფუნქცია. რაღაც რომ PHP მოგცემთ არ არის მას შეუძლია მიიღოს პარამეტრები რომ თქვენ შეყვანის HTML გვერდი გამოყენების მეშვეობით PHP და ფორმები, და მას შეუძლია გაიაროს იმ პარამეტრების შემდეგი გვერდი რომ იტვირთება up. ამ შემთხვევაში, ჩვენ დატვირთვის ეს გვერდზე "მოიკითხე" ღილაკს. მაგრამ ახლა, მე რეალურად ამოღებულია ზოგიერთი რომ კოდი ამ hello.php, რომელიც აწარმოებს რომელიც რეალურად ჩვენებისას "hello, მსოფლიოში "ან" hello, სემ "ან "Hello", რაც არ იყო მხოლოდ შეყვანა. ასე რომ, ახლა, ჩვენ ვაპირებთ, რომ, ძირითადად. ჩვენ ვაპირებთ, რომ ხელახლა და ასევე, ზოგიერთი უფრო ფუნქციონალური, ამის გაკეთება ცოტა მეტი მას, ვნახოთ რა PHP არის ნამდვილად შეუძლია. ასე რომ, პირველ რიგში, მოდით ვისაუბროთ ეს ფაილი, hello.php. ასე რომ, თუ ჩვენ მიუახლოვდით პატარა bit-- და ახლა მე ვარ ერთგვარი ცდილობს გადახვევა ყველა გზა around-- იქ ჩვენ წავიდეთ. თქვენ ნახავთ, რომ ეს ე.წ. hello.php, მაგრამ სინტაქსის იგი გამოიყურება როგორც HTML ფაილი. ეს იმიტომ, რომ ფაქტობრივი PHP ამ ფაილის ყველაფერი მოხდა შორის ამ კითხვის ნიშნის-caret ბლოკები. ყველაფერი აქ ითვლება PHP კოდი. და თქვენ შეამჩნევთ, რომ როდესაც მე კომენტარი, დაინახავთ ნაცნობი ორი ნაბიჯია დახრილ ხაზებს. და თუ თქვენ გავიხსენოთ, რომ HTML, თუ მე აკრიფოთ კომენტარი ეს გამოიყურება რაღაც დაახლოება ეს, რომელიც კომენტარი HTML. ასე რომ, რეალურად ყველაფერი შორის ეს ორი კუთხე ფრჩხილებში არის PHP კოდი, რომელიც ასახულია ის ფაქტი, რომ ამ პატარა კომენტარის სიმბოლო გადაიქცა კომენტარი. ასე რომ, ყოველ ჯერზე წერთ PHP კოდი, მაშინაც კი, თუ არ არის HTML კოდი გარეთ, ის ყოველთვის იქნება ჩასმული ამ კუთხური ფრჩხილები კითხვის ნიშნები. თქვენ შეგიძლიათ ერთგვარი ვფიქრობ it-- როგორ ყველა კოდი, რომელიც გაიქცა თქვენი C პროგრამებს იყო ჩასმული int ძირითადი ბათილად, Curly გაუწიოს, ბოლოს Curly გაუწიოს განცხადებაში. და დაინახავთ curly აფრთხილებს in PHP, მაგრამ ეს არის ერთგვარი როგორც ძირითადი მეთოდი PHP. ახლა, როგორ გავაკეთოთ არაფერი PHP? ახლა, PHP პროგრამირების ენის, რომელიც ძალიან C-, როგორიცაა, მაგრამ ეს მუშაობს ინტერნეტში. ასე რომ, ერთი რამ, რომ თქვენ immediately-- ერთი პირველი რამ, რომ თქვენ ნამდვილად გააკეთა C იყო თუ არა დაბეჭდილი პერსონალის, არა? ასე რომ, C გავაკეთეთ, რომ ერთად printf ფუნქცია. ჩვენ მივეცით მას სიმებიანი, ალბათ ახალი ხაზი, და მაშინ ჩვენ წყდება ეს მძიმით. ასე რომ, ისე, რომ ჩვენ ვაპირებთ გავაკეთოთ, რომ ამ PHP-- იმიტომ, რომ ეს არ არის საკმაოდ printf. ეს ცოტა განსხვავებული სინტაქსით. ისე, რომ ჩვენ ბეჭდვა რამ out in PHP არის ჩვენ ვამბობთ, "ეხო Hello" ან "ეხმიანება" ნებისმიერი სიტყვა. და რომ აქვს ეფექტი აკეთებს printf სიმებიანი, "Hello". და დასძენს ახალი ხაზი, რომ ეს. მოდით ახლა მიიღოს sure-- მე დააშორებს ერთხელ პატარა bit-- მოდით დავრწმუნდეთ, რომ რომ კოდი მუშაობა იმიტომ, რომ იქ შეიძლება ძალიან კარგად იყოს bug ამ კოდი რომ ჩვენ გვექნება დაძლევის. ასე რომ სერვერზე უკვე არის გაშვებული. ასე რომ, თუ ჩვენ გადახვევა უკან ქვემოთ ბოლოში, yup, სერვერზე კვლავ მიმდინარეობს. ასე რომ, თუ ჩვენ მხოლოდ დაკრავენ ეს ცოტა უფლება აქ welcome-- ჩვენ უნდა მივიღო დიდი. ჩვენ ჯერ კიდევ გვაქვს ნაცნობი "მოიკითხე" დიალოგი, მაგრამ როდესაც მე აკრიფოთ "hi", ჩვენ დავინახავთ, რომ ტექსტი "Hello" მართლაც იბეჭდება, რომელიც ზუსტად ისე, როგორც ჩვენ ველოდით, რადგან echo PHP, ისევე, როგორც printf განცხადებაში. ასე რომ თავში კოდი, როგორ P კომპლექტი 6 გააკეთა განაწილების კოდი თქვენ უზრუნველყოფილი ისე, რომ PHP გვინდა გამომავალი რამ, რომ თქვენ აკრეფილი წლის წინა ეკრანზე? და ერთგვარი შეამოწმოს რატომ ხდება, ჩვენ ვაპირებ წასვლას index.html, რომელიც არის ორიგინალური ფაილი, ფაილი, რომელიც აჩვენებს up ამ ეკრანზე ერთად "მოიკითხე" ღილაკს. თქვენ შეამჩნევთ, რომ იქ ყველა კლასიკური რამ ჩვენ მოვიდა მოველით HTML ასეთი ეს ყველაფერი, ეს tags ერთვის კუთხე ფრჩხილებში, როგორც PHP მაგრამ გარეშე კითხვის ნიშნები, რაც იმაზე მიუთითებს, განსაკუთრებული რამ HTML. ჩვენ გვყავს სათაური, რომელიც არის "Hello". და თქვენ შეამჩნევთ, რომ, როგორც ჩვენ ვნახეთ, სათაური "Hello" ორივე შემთხვევაში. მოდით შეცვალოს ეს ერთი "ამბობენ" მხოლოდ ასე შეიძლება გამოიყოს თავს, სადაც ჩვენ ვართ. მაგრამ ჩვენ მივიღეთ ორგანო. და მაშინ საინტერესო ცოტა, ცოტა რომ გვიჩვენებს up HTML, არის ეს ფორმა ელემენტს. ასე რომ, ჩვენ მივიღეთ ფორმით. და ეს არის მთავარი. ეს არის, თუ როგორ ჩვენ ვმუშაობთ PHP- ში. აქცია პარამეტრი ფორმა ამბობს, რომ hello.php არის ის, რაც ჩვენ ვაპირებთ, რომ გაგზავნის ღირებულებების ეს ფორმა. ეს არის სადაც ჩვენ ავლით პარამეტრების, ასე ვთქვათ. თქვენ შეამჩნევთ, კიდევ ერთი რამ აქ ის არის, რომ მეთოდი "კიდევ". არსებობს ორი ძირითადი მეთოდები, რომელიც გამოყენებით PHP გაიარონ მონაცემები შორის websites-- ვებ გვერდები, rather-- ამ დავალებას. და იმ მეთოდებს, რომლებიც "მიიღოს" და "პოსტი". არსებობს დახვეწილი განსხვავებები GET და POST რომ ჩვენ შეღწევას ჩვენ იქნება "" შევიდა, თუ გნებავთ. მაგრამ ყველა განცდა მიზნით, მიიღონ და გამოქვეყნება ორივე მხოლოდ გზები, რომ თქვენ გაივლის პარამეტრების ოდნავ განსხვავებული სიკვდილით დასჯის. ახლა, ჩვენ ვაპირებთ გამოვიყენოთ მიიღოს იმიტომ, რომ მიიღეთ იყო რა იყო გამოყენებული, თავდაპირველად ამ PHP ფაილი P კომპლექტი 6. და რეალურად, თუ ჩვენ წავიდეთ და გამოიყურება სანამ ჩვენ რედაქტირებული არაფერი, მე ვაპირებ ვთქვა, hi რომელთა მიზანია რა გქვია? აუდიტორია: Elliot. SAM LEVATICH: Oh, gosh. მე არ ვიცი, როგორ უნდა სიტყვიერად, რომ. იქნებ სიტყვიერად, რომ ჩემთვის? აუდიტორია: E-L-L-I-O-T. SAM LEVATICH: I-O-T? აუდიტორია: Yeah. SAM LEVATICH: Perfect. OK. ვფიქრობ მე ვიცი, როგორ უნდა სიტყვიერად, რომ. ვწუხვარ ამის გამო. მაგრამ თუ ჩვენ ვამბობთ, "Say Hello", ეს არ არის ის არ აპირებს გამოჩნდება ეკრანზე ჯერ იმიტომ, რომ ჩვენ შეცვლილია კოდი ცოტა. მაგრამ, თუ ჩვენ "მოიკითხე" - OK, ასე რომ "Hello" აქ არის. მაგრამ თუ ჩვენ უფრო შევხედოთ URL თავად, ჩვენ დავინახავთ, რომ ეს დამთავრდა, ერთად hello.php? name = Elliot. ასე რომ, ეს არის გზა კომუნიკაციის მომდევნო ვებ გვერდზე პარამეტრებით, რომ ჩვენ უკვე გავიდა. ჩვენ ვთქვით, name = Elliot. და რომ, საბოლოო ჯამში, თუ როგორ P კომპლექტი 6 ხელმისაწვდომი ცვლადი, რომ ჩვენ გავიდა ფორმით. და ეს არის ის, რომ თავისებური მისაღებად მოთხოვნა. ოჯახის თხოვნით, რაც პარამეტრები ცნობილია, რომ URL ვებგვერდზე. და თქვენ გავიხსენოთ, ძალიან, P კომპლექტი 6, რომ თქვენ დაწერა ფუნქცია რომ შეეხო იმ ფაქტს, რომ ამ შეკითხვაზე string შეიძლება არსებობდეს შემდეგ ფაილი. აქ შეიძლება იყოს კითხვის ნიშნის მოჰყვა მიერ ძირითადად ნებისმიერი რაოდენობის სიმბოლოებს. და სწორედ ის, თუ რა ხდება აქ. და მიზეზი თქვენ უნდა გარჩევის, რომ თქვენს განხორციელების server.c in P კომპლექტი 6 ასე რომ თქვენ ვერ გეტყვით PHP კოდი, რომელიც ასახელებს = Elliot. თქვენ საჭირო შეძლებს გარჩევის, რომ იმ URL ისე, რომ PHP ფაილი კითხვა იცოდა, რა იყო საქმე. ასე რომ, იმედია ეს აძლევს მოტივაცია server.c ახლა, რომ ჩვენ მოძრავი გარეთ C შევიდა PHP. მოდით რეალურად ფოკუსირება წვდომის რამ გაიარა მისაღებად მოთხოვნა ახლა ამ ეტაპზე. მე ვაპირებ გადარჩენა ეს. ჩვენ არ შევცვლით. როგორც ჩანს, ჩვენ მივიღეთ ველში. ჩვენ შექმნის გარკვეული თვისებები, როგორც ჩვენ შეგვიძლია გავაკეთოთ HTML. ეს არის მარტივი რამ. ჩვენ არ გვჭირდება ეს. მაგრამ ჩვენ მივიღეთ autocomplete off, რომელიც ძირითადად says-- თქვენ იცით, როდესაც თქვენ აკრიფოთ რამ შევიდა ვებ, ზოგჯერ ის ცდილობს შეავსოთ, რომ თქვენ. ასე რომ, ეს ლამაზი რამ. ჩვენ გვინდა, რომ ჩართოთ იგი ამ მიზნით. ეს იყო CS50 გადაწყვეტილება. ასე რომ, ჩვენ შეგიძლიათ წაშალოთ, რომ, თუ გვინდოდა. ავტოფოკუსი უბრალოდ ჩხირები კურსორი სახით უფლება დასაწყისში. ისევ და ისევ, არ არის ძალიან მნიშვნელოვანი. მაგრამ name = "სახელი" - ეს არის პატარა სახიფათო, რადგან მისი სახელი და სახელი. მაგრამ ჩვენ შეგვიძლია შეიცვალა ეს რაღაც. და სინამდვილეში, ეს არის ის, რასაც ჩვენ გავაკეთებთ ახლავე. ჩვენ ვიტყვით, "პირი", რომელიც არის ერთგვარი მოსწონს სახელი თუ პირი განისაზღვრება მათი სახელი. ასე რომ, მოდით დახურვა, განაახლონ up ჩვენს საიტზე მას შემდეგ, რაც ჩვენს სერვერზე კვლავ მიმდინარეობს Apache 50, და ჩვენ ვიტყვით, hello, აქ Elliot ერთხელ. რატომ არა? Hello. და თუ ჩვენ აქ, ჩვენ დავინახავთ, მაშინ ნაცვლად name = Elliot, იგი აცხადებს, რომ პირი = Elliot. და ეს არის პირდაპირი შედეგი იმისა, რომ ჩვენ უბრალოდ შეიცვალა სახელი = "პირი". ასე რომ, შეყვანის ელემენტს HTML ფორმა, სახელი სფეროში არის იდენტიფიკატორი პარამეტრი, რომელიც მიმდინარეობს გავიდა. ეს იგივეა, რომ, თუ თქვენ შექმნის ფუნქცია "რჩეულებში", რომელსაც ორ რიცხვებით და განაცხადა int და int ბ. ეს იქნება სახელის, და თუ თქვენ სურდა კიდევ ერთი ფორმა, რომელიც ჩვენ შეგვიძლია ამის გაკეთება მხოლოდ გადაწერა და pasting, მაშინ გვექნებოდა სახელი ბ. ახლა ჩვენ გვაქვს ორი პარამეტრები რომ მიმდინარეობს გაიარა მისაღებად მომდევნო website-- შემდეგი ვებ გვერდზე, hello.php. და ჩვენ ვხედავთ რომ კიდევ ერთხელ, თუ ჩვენ გვინდა. ეს არის ყველაზე იოლი გზა გაუმკლავდეთ ვებ კოდი IDE, ძირითადად. თქვენ დაიწყოს სერვერზე, მას გაშვებული და შემდეგ ყოველ დროს, თქვენ გარკვეული ცვლილებები, უბრალოდ ახლოს რომ ფაილი უბრალოდ უნდა იყოს უსაფრთხო. პრესინგი უკან ღილაკს არის პატარა სახიფათო იმიტომ, რომ ეს შეიძლება ჩატვირთვა ადრე მობილური, არ არის ყველაზე მხრიდან ერთი. და მაშინ უბრალოდ დააჭირეთ ღილაკზე, pop უფლება up-- oh, და ახლა არსებობს ორი ფორმა. ასე რომ, თუ ჩვენ აკრიფოთ ერთი რამ ყოველ one-- "jason hirshhorn, რომ" instance-- ჩვენ მიესალმები. ჩვენ ეძებოთ ჩვენი პარამეტრებს. როგორც ჩანს, ჩვენ მივიღეთ, რადგან მოსალოდნელია, = jason და b = hirshhorn, რომელიც წარმოადგენს ორი პარამეტრები რომელიც ჩვენ გადავეცით ამ ფუნქციას. ახლა მოდით რეალურად მისაღებად ახორციელებს, რომ ფუნქციონირება, რომ ჩვენ ჰქონდა P კომპლექტი 6. ასე რომ, ახლა ჩვენ უბრალოდ გაიმეორა hello. და ეს არ არის ძალიან სასარგებლო. ჩვენ გვინდა, რომ ეხმიანება ზოგიერთი ცვლადის რომელიც მიღებულ იქნა ჩვენთვის. და ჩვენ ვიცით, სახელი ამ ცვლადი. ჩვენ გვყავს და ჩვენ ბ. ასე რომ, ჩვენ შეიძლება აირჩიოს ეხმიანება არც ერთი. მაგრამ როგორ უნდა თქვათ ეს? ისე, არსებობს გარკვეული გლობალური ცვლადები PHP. და მე ვაპირებ დაწერა მათ კომენტარი აქ. ორი ყველაზე მნიშვნელოვანი პირობა მისაღებად და გამოაქვეყნოთ ჩვენი მიზნებისთვის ახლავე. ეს არის კოლექტორები ან, ტექნიკურად, ლექსიკონები სადაც ჩვენი ცვლადები, რომ ჩვენ გავლის შემდეგ ვებ გვერდზე ცოცხალი. ჩვენ მალე ვნახავთ, როგორ უნდა გამოიყენოთ ისინი. სხვა მოკლე შენიშვნა შესახებ PHP კოდი და ზოგიერთი სპეციფიკა it-- C, განაცხადოს ცვლადი ან გამოიყენოთ ცვლადები, თქვენ პირველ რიგში უნდა განაცხადოს მათ. და, რაც თქვენ უნდა გავაკეთოთ, როდესაც თქვენ განაცხადა, მათ შორის იყო, რომ int ან char ბ. თქვენ უნდა განაცხადოს სახის ეს ცვლადები ადრე შექმნა ისინი. PHP-- თქვენ არ უნდა გავაკეთოთ, რომ არც ერთი. PHP არ ითხოვენ ტიპის ცვლადი. და ისე, რომ თქვენ შექმნა ცვლადი საკმაოდ ვიდრე ამბობდა int, char, სიმებიანი რომელიც მართლაც char *, რადგან ჩვენ ვიცით, ვიდრე აკეთებს ყველა რომ, რადგან ყველაფერი არის იგივე ტიპის, typeless, ჩვენ შეგვიძლია მხოლოდ გამოიყენოთ ერთი გმირი, რომელიც არის დოლარის ნიშანი. და დაინახავთ, რომ ის უკვე popping up, პატარა autocomplete რამ. და ეს რომ _GET და _POST არის ორი ვარიანტი, რომ მაქვს ხელმისაწვდომი ჩემთვის. ზოგიერთი სხვა რამ სხვა გლობალური ცვლადები PHP რომ თქვენ უნდა გამოყენებით მეტი რა თქმა უნდა, P კომპლექტი 7. ახლა ჩვენ ვაპირებთ ფოკუსირება GET და POST. მაგრამ ეს არის სასარგებლო ის, რომ IDE აკეთებს სადაც ერთხელ თქვენ აკრეფილი რომ დოლარის ნიშანი, ეს დავიწყებთ შევსების გლობალური ცვლადები ან ცვლადი თქვენ უკვე განსაზღვრულია. ასე რომ, თუ თქვენ სურდა განსაზღვროს ცვლადში "string" შეიძლება მხოლოდ მითითებული ეს ტოლია "hi". და ეს, ძირითადად, იმდენად მარტივია, რომ. და მაშინ ჩვენ შეგვიძლია გავაკეთოთ რაღაც "echo $ string". და IDE უნდა სროლა რამდენიმე შეცდომები, თუ მე ვაკეთებ რამე არასწორია, ასე რომ, იმედი მაქვს ყველაფერი. მაგრამ შეცდომები ყოველთვის არ წარმოიქმნება. სხვა სახიფათო რამ შესახებ PHP არის, რომ ეს არ არის შედგენილი. ასე რომ, C პროგრამებს, თქვენ ყველაფერს გააკეთებს ყოველდღიური of--, ძირითადად, თქვენ გახდის რედაქტირების თქვენი კოდი, ნეტავ გადარჩენა მას, და მაშინ რათა ის, სადაც make იყო ნაბიჯი, რომელიც ეწოდება შემდგენელი, clang, რათა თქვენი კოდი, ეს ტექსტი შეიტანოს, შევიდა შესრულებადი. PHP არის C-, როგორიცაა, მაგრამ შესრულებული on the fly თქვენს ბრაუზერში. ასე რომ არ არსებობს გზა ვიცი. ჩადება იქნებოდა იმისათვის, რომ იმ სასარგებლო შეცდომები, არა? ეს იქნება, როგორიც, თქვენ არ განაცხადოს ეს ცვლადი სანამ სცადა მისი გამოყენება. თქვენ ეს ყველაფერი ცუდი stuff-- segfault, segfault, რომ ყველა სახის გართობა ჯერ რომ მოვიდა ერთად მიიღოს. PHP არის ორმაგი edged ხმალი იმიტომ, რომ თქვენ არ მიიღოს იმ შეცდომებს, მაგრამ ეს იმას ნიშნავს, რომ თქვენ არ იცით, მართლაც, რა არის არასწორი თქვენი პროგრამა თუ უბრალოდ გაუშვით და ის არ მუშაობს. მაგრამ debugger უნდა აღვნიშნო, ზოგიერთი იმედია სასარგებლო ცოტა რამ სინტაქსურად, რომ თქვენ შეგიძლიათ დაფიქსირება. ასე რომ, ახლა თუ ჩვენ მეტი, რომელთა მიზანია: ამბობენ, მოდით დახუროს, რომ. განაახლონ. და ჩვენ უკან აქ. ამიტომ, ჩვენ მივიღეთ ცვლადი და ცვლადი ბ. და ეს არ არის საბოლოოდ აქვს. ჩვენ მოვუწოდებთ მათ თ და გ არა კონკრეტული მიზეზი. ჩვენ მიესალმები. ახლა გამოიყურება ჩვენი string "hi" მართლაც ბეჭდვა. ჩვენ შევქმენით ცვლადში "string", ვაყენებთ მას ტოლი "hi". გაითვალისწინეთ, რომ ჩვენ არ უნდა გავაკეთოთ malloc ან ხასიათი მასივი. PHP, რადგან ცვლადების არიან typeless, სიმებიანი არის იგივე როგორც char ამისთვის ყველა განცდა. ეს შეიძლება იყოს "hi". ეს შეიძლება იყოს მხოლოდ ხასიათი k. ეს შეიძლება იყოს ნომერი 1. და ეს არ აინტერესებს. PHP არ აინტერესებს ტიპის ცვლადი. ან, ეს იმას ზრუნვა. იგი ზრუნავს, როდესაც თქვენ ცდილობენ და რამ მას, მაგრამ ეს არ მაინტერესებს დეკლარაციის ნაბიჯი. და ისევე, როგორც თქვენ შეგიძლიათ C, თქვენ შეგიძლიათ აცხადებენ, strings დასტის მოსწონს ეს მიუხედავად იმისა, რომ განაცხადა, "დასტის" არის პატარა ცოტა პოტენციური გახლდათ, როდესაც ჩვენ ვსაუბრობთ PHP. მაგრამ ჩვენ არ უნდა ფიქრი, რომ. ასე რომ, ჩვენ ჩვენი სიმებიანი "hi", და ჩვენ echo სიმებიანი. ასე რომ, ახლა ჩვენ განვიხილეთ ცვლადები. ასე რომ, ახლა ჩვენ უნდა ვისაუბროთ მისაღებად და პოსტი და შეასრულოს საბოლოო რამ, რომ საჭიროა ნამდვილად მიიღოს ამ უკან რომ ფუნქციონალური P კომპლექტი 6. ასე რომ, ახლა ჩვენ ექო სიმებიანი, მაგრამ ჩვენ არ აქვს ამ ცვლადების მიიღონ და გამოქვეყნება. და რადგან ჩვენ გამოყენებით მეთოდი მისაღებად, ის როგორც ჩანს, ბუნებრივია, რომ ჩვენი ცვლადი, ჩვენ გვაინტერესებს, როგორც და ბ, განთავსებული იქნება მასივი ან ლექსიკონი ტექნიკურად მისაღებად. ასე რომ, თუ ჩვენ შეიქმნა მისაღებად მოსწონს ეს თქვენი groups-- მე დაპრესილი შევა და ეს არ მინდა it-- მაგრამ აქ ჩვენ გვაქვს მისაღებად. ასე რომ მიიღოს უკვე არსებობს. ასე რომ, ჩვენ უკვე შეგვიძლია დავიწყოთ ხელმისაწვდომობის ზოგიერთი ელემენტების მისაღებად. თუ ჩვენ არ მიიღოს, ეს სინტაქსი კოლექტორები წელს PHP ძალიან C-like. ჩვენ გვაქვს ჩვენი ორი კვადრატულ ფრჩხილებში. ასე რომ, თუ ჩვენ ვამბობთ, მიიღონ ნორმალური მასივი, ჩვენ ვერ შედიხართ რომ zeroth ინდექსი, პირველი ინდექსი. PHP არის ნულოვანი ინდექსი. შეიძლება ითქვას, ნულოვანი, ერთი, two-- პერსონალის მოსწონს ეს. და მე ვამბობ, რომ მიიღოს ტექნიკურად ლექსიკონი. ასე რომ, რა PHP აკეთებს ქვეშ hood, რომელიც ცოტა გავალამაზოთ, ვიდრე C, ეს არის უკვე გაძლევს ზოგიერთი ლექსიკონი ფუნქციონირება, რომელიც მართლაც hash მაგიდები, ან ცდილობს, სავარაუდოდ. ან, ტექნიკურად შეიძლება ცდილობენ ასევე. მაგრამ PHP ახორციელებს hash მაგიდა, რომელიც აყალიბებს ეფექტური ლექსიკონი. ასე რომ, ჩვენ ვიცით, სახელი ჩვენი ცვლადი, არა? ეს მიმდინარეობს გავიდა შეკითხვის სიმებიანი მიერ PHP. ჩვენ გვყავს = h და b = g სად და ბ სახელები ცვლადები. ასე რომ, ისე, რომ ჩვენ შეუძლია ღირებულება, რომელიც შეესაბამება გასაღები ჩვენი ლექსიკონი არის მხოლოდ იმით _GET_GET ["ა"]. ახლა ჩვენ გვაქვს _GET ["ა"]. და თუ ჩვენ მხოლოდ შეცვლის შიგნით ჩვენი ექო, თუ ჩვენ echo _GET_GET ["ა"] - და ჩვენ დავინახავთ, თუ debugger ისვრის ნებისმიერი შეცდომები შესახებ ამას ჩვენ გადარჩენა, რომ და დახურვა გარეთ. გახსნის. ასე რომ, ჩვენ უბრალოდ აკეთებს მარჯვენა ახლა, ისე b უნდა არ აქვს. "მისი" და "მას", - "hum". "მისი" და "hum". ხმები კარგი. და ეს დაბეჭდილი "მისი", რომელიც არის შეშლილი. მაგრამ სწორედ ის, რაც ხდებოდა P კომპლექტი 6. ძირითადად, რა P კომპლექტი 6 იყო აკეთებს echo hello, name--, სადაც მას ჰქონდა ცვლადის სახელი და ეს მხოლოდ გთხოვთ აკრიფოთ ცოტა ტექსტი. იყო ასევე ზოგიერთი დამატებითი კოდი, სადაც მასში თუ განცხადებებს, რომელიც ჩვენ შეგვიძლია გავაკეთოთ ახლა. ჩვენ შეგვიძლია ვთქვათ, თუ არსებობს, რომელიც არის ფუნქციონალური ფარგლებში PHP, _GET ერთად ხაზგასმა, "სახელი" - რომელიც ძირითადად ამბობდა, "თუ სახელი უკვე შევსებული" იმიტომ, რომ ჩვენ შეგვეძლო უბრალოდ დააწკაპებთ ღილაკს წარმოადგინოს ფორმა გარეშე აკრეფით არაფერი შევიდა ამ სფეროში. ჩვენ გადაიტანოთ, რომ ჩვენი მეგობრული Curly braces. ჩვენ შეგვიძლია სხვაგან განცხადებაში. და ეს ყველაფერი ფარგლებში PHP კუთხე bracket, კითხვის ნიშნის კუთხე bracket, თუ გნებავთ. და ახლა ჩვენ დავინახავთ, თუ ეს მუშაობს. მე შენარჩუნება ელოდება მას გამართვის და crap out მე, ძირითადად, მაგრამ ეს ჯერ კიდევ არ არის. შესაძლოა, ეს ახლა იმიტომ, რომ მე ისაუბრა. Yup. ეს მოხდა, ფაქტობრივად. ასე რომ, არაფერი გვიჩვენებს up. ეს იმიტომ, რომ რაღაც არასწორია რომ დავწერე PHP კოდი. და ვთქვი გამართვის არის სახიფათო, რადგან PHP, ჩვენ არ კომპილირდება წინასწარ და შემდგენელი არ ყოფილა, აქ არის, სადაც თქვენი შეცდომები. მაგრამ რა შეგვიძლია გავაკეთოთ is-- ხალხს ახსოვს, როგორ შევხედოთ სხვადასხვა ქსელში მოითხოვს, რომ PHP-- და რომ საიტები გაუგზავნე? [? Malin?] ეს იმ ლექცია ერთხელ ან ორჯერ. თქვენ გახსოვთ, სადაც ჩვენ მივდივართ, რათა იპოვოს სხვადასხვა დავალიანება და 200 OKs, ყველა ამ კოდები, რომლებიც იგზავნება მეშვეობით HTTP ვებ გვერდი ვებ გვერდი? ვინმეს გახსოვთ სადაც ჩვენ მივდივართ ამის გაკეთება? აუდიტორია: Page წყარო. SAM LEVATICH: Page წყარო. ზუსტად. თუ წასვლა გვერდის წყაროს სრულყოფილი. ასე რომ, გვერდი წყარო გაიყვანს ინსპექტორი. და მე გამოყენებით Safari. ბევრი თქვენგანი ალბათ გამოყენებით Chrome ან Firefox. მაგრამ რადგან თქვენ ნებისმიერი თანამედროვე ბრაუზერი და მოგერიდებათ მიყევით ერთად თუ გინდათ. შეგიძლიათ აკრიფოთ ეს კოდი და შევჩერდეთ შიგნით P კომპლექტი 6 კატალოგი გარკვეული მსგავსი ნივთები. hello.php არის ის, რაც ჩვენ ამჟამად მუშაობს მიბაძავენ. ასე რომ, არსებობს სხვადასხვა ჩანართი. ჩვენ შეგვიძლია შევხედოთ ყველა რესურსი. ჩვენ ვხედავთ კოდი. ასე რომ, როგორც ჩანს, ეს არ მიიღეთ ბოლო ორგანო ბოლომდე. გაირკვა შეცდომა PHP და ეს შეწყვიტა დატვირთვის მთელი ვებ-გვერდზე. ჩვენ კი არ აქვს ბოლომდე ტეგი HTML ან არაფერი. და თუ ჩვენ შევხედოთ ქსელის, ჩვენ შეგვიძლია ვხედავ, რომ ჩვენ როგორც თხოვნით. ეს არის დომენში. ეს არის მისამართი. ეს დოკუმენტი. ჩვენ გამოყენებით GET მეთოდით. და ეს არის წითელი. ან, ეს იყო წითელი, როდესაც მე არ შერჩევით. როგორ შემიძლია unselect ეს? ისე, ეს იყო წითელი. მიადევნე თვალი ამოცნობა. არსებობს ეს. ახლა ის წითელი. ასე რომ, ეს წითელი, რაც იმას ნიშნავს, ეს ვერ მოხერხდა, რაც ცუდია. ასე რომ, მოდით, შევხედოთ, თუ რატომ ვერ. ასე რომ, ყველა, რომ გვერდი წყარო შეუძლია ძირითადად გითხრათ თქვენი რამ არ მუშაობს, რომელიც ჩვენ უკვე ვხედავთ. ასე რომ იდეალურად არ იქნება უფრო სასარგებლო ინსტრუმენტი. და არსებობს ბრაუზერის გაგრძელება რომელიც საშუალებას გაძლევთ გამართვის PHP, მაგრამ ჩვენ არ ვაპირებთ უნდა წერა ტონა PHP, ასე რომ, ეს, ალბათ, მხოლოდ საუკეთესო გაეცნონ თქვენს კოდი ყურადღებით და უბრალოდ დარწმუნდით, რომ ის არ აკეთებს არაფერი. მოდით ვნახოთ, თუ ეს ფორმატიც თუ განაცხადი, სადაც პრობლემა. მინდა ჩატვირთვა, რომ უკან აქ. Hello, hi. ასე რომ პრობლემა არ არსებობს. ასე რომ, სწორი სინტაქსი PHP, PHP აპირებს უნდა იყოს C-, როგორც, რომ თქვენ ნახავთ მარყუჟების. თქვენ ნახავთ თუ განცხადებებს. თქვენ ნახავთ ყველა ამ მეგობრებს რომ თქვენ გაეცნოს მეტი რა თქმა უნდა, ამ CS50 სემესტრში. მაგრამ საუკეთესო გზა უნდა გაერკვნენ, თუ როგორ უნდა რაღაც PHP არის Google ეს ან შევხედოთ ზოგიერთი მაგალითები PHP კოდი იმიტომ, რომ თქვენ იცით, რომ ფუნქცია. თქვენ იცით, რა შეგიძლიათ ამის პროგრამა. თქვენ შეგიძლიათ loop. თქვენ შეგიძლიათ loop როგორც ბევრჯერ, როგორც თქვენ გსურთ. თქვენ შეგიძლიათ loop ყველა სახის სხვადასხვა გზები. თქვენ შეგიძლიათ შექმნათ ფუნქციები. თქვენ შეგიძლიათ შექმნათ ფუნქციები, რომელიც მოვუწოდებთ სხვა ფუნქციები, ფუნქციები რომ მოვუწოდებთ თავს. და თქვენ უნდა სახელები ამ ცნებები. თქვენ მოხვდით უკან, მარყუჟების, იმ შემთხვევაში, თუ სხვა სახის კონტროლის ნაკადების. ასე რომ, Google არის თქვენი საუკეთესო მეგობარი. მაშინაც კი, ამბობენ, "PHP, თუ განაცხადი "და იქ იქნება ტონა პოსტები პასუხი, რომ სხვა ადამიანები რომლებიც მქონდა მსგავსი კითხვები, რომ თქვენ, რომლებიც მხოლოდ დაწყებული გარეთ PHP და აინტერესებს, სინტაქსის რამ. იმის გამო, რომ ჩვენ გვაქვს ფუფუნება, რომ შეუძლია შევხედოთ კოდი P კომპლექტი 6, ჩვენ რეალურად გაიყვანოს ეს და ვხედავ, რომ OK, აქ არის რაღაც საინტერესო. ასე რომ, ეს არის ის, რაც რეალურად ჩანდა P კომპლექტი 6. ასე რომ, თუ ჩვენ წავიდეთ ამ გზით, ჩვენ ვხედავთ, რომ ჩვენ რამდენჯერმე ამ პატარა PHP მსგავსი კითხვის ნიშნის ბიტი. და არ არსებობს Curly braces. არსებობს colons. და არსებობს curly braces PHP, მაგრამ ეს არის ფორმატი და გზას აკეთებს PHP, რომ კარგად მუშაობს HTML რადგან როგორც დაინახავთ, ჩვენ დახურვის off ამ PHP ბიტი elses და IFS და ყველა that-- და შემდეგ ჩვენ interspersing HTML შიგნით მათ ხოლო ჯერ კიდევ შემდეგ კონტროლის ნაკადის მიერ დადგენილი PHP. ასე რომ მე უბრალოდ აპირებს სწრაფი გავლა ამ იმიტომ, რომ ეს არის ძალიან ბევრი ერთი და იგივე ცნებები, რომ ვაკეთებდით ადრე. ჩვენ მივიღეთ თუ არა ცარიელი, ფრჩხილებში, _GET_GET ["სახელი"]. ეს არის ყველა ერთი და იგივე ნივთები. ჩვენ გამოყენებით _GET ლექსიკონი, რომელიც PHP აგზავნის თხოვნის საფუძველზე ფორმები, იმიტომ, რომ ეს არის პარამეტრების ქმედება, და მეთოდი მისაღებად. და მაშინ, რომ დამთავრდა, რომ. მსხვილი ნაწლავის არის signifier უბრალოდ ეს იმ შემთხვევაში, თუ, თუ განაცხადი აფასებს ჭეშმარიტი. ეს იგივეა, Curly გაუწიოს. და სინამდვილეში, ეს არის Curly გაუწიოს სხვა ენებზე, როგორიცაა Python, რომელიც თქვენ შეიძლება ექმნებათ თუ უბრალოდ გავაკეთოთ, რომ თქვენი საბოლოო პროექტი. და მაშინ ეს ხაზი, hello. შემდეგ ჩვენ მივიღეთ ეს უცნაური რამ. ჩვენ მივიღეთ უფრო ფრჩხილებში. არ არის HTTP იქ და PHP, ბოდიში. მაგრამ არსებობს თანაბარი ნიშანი. და მაშინ ჩვენ გვაქვს ფუნქცია, htmlspecialchars (_GEThtmlspecialchars (_GET ["სახელი"]). ეს არის ერთგვარი მოსწონს მეტი წინასწარი ვერსია ეხმიანება. როგორიც ჩვენ ეხმიანება, როგორც გზა ბეჭდვა რამ out in PHP. ეს არის ფუნქცია, რომელიც არის განსაზღვრულია PHP, რომ იმუშავებს კიდევ რამდენიმე nasty გმირები და byte ღირებულებები რომ თქვენ ვერ გაივლის მას. ის ყოველთვის უსაფრთხო გამოიყენოს ეს. მაგრამ ეხო გავაკეთებთ სამუშაო მხოლოდ ჯარიმა, თუ ჩვენ არ ვართ საქმე არაფერი ძალიან ძალიან. ასე რომ, ეს აქვს იგივე ეფექტი ძირითადად, ამ პერსონალის შორის კითხვა ნიშნები ფასდება PHP. htmlspecialchars ბრუნდება ლამაზი HTML ნაბეჭდი ღირებულება _GET_GET ["სახელი"], ანუ რაც ჩვენ აკრეფილი სახით. და მაშინ ყველაფერს მიესალმები, მძიმე სივრცეში, და მაშინ. რომ მთელი რამ შორის კუთხე ფრჩხილებში შეიცვლება, რაც არ უნდა htmlspecialchars აყენებს. ასე რომ, ძირითადად, მსგავსი ის, რასაც ჩვენ ვაკეთებთ. და ჩვენ გვაქვს სხვა ცნობები, რომ hello მსოფლიოში, რომელსაც აქვს აზრი. ახლა მოდით დავუბრუნდეთ კოდი და ვნახოთ, ზუსტად oh. მე ვთქვი, არსებობს, რომელიც არ არის , რაც გვინდოდა ამის გაკეთება. ჩვენ გვინდოდა, რომ ვთქვა, არ ცარიელი. ასე რომ, ეს უნდა იმუშაოს პატარა ცოტა უკეთესი, არ არის ცარიელი _GET_GET ["სახელი"]. და რომ Curly გაუწიოს სიას, რომელიც Curly გაუწიოს. ჩვენ მივიღეთ ჩვენი curly აფრთხილებს აქ. echo მიესალმები _GET ["სახელი"]. მოდით ვნახოთ, თუ ეს მუშაობს ცოტა უკეთესი. ჩვენ ჯერ კიდევ გაშვებული ჩვენს სერვერზე. გამარჯობა ჯეისონ. გამარჯობა ჯეისონ. და იგი მუშაობდა ამ დროს. და ისე, რომ კიდევ ერთი მტკიცებულება რომ თქვენ შეიძლება მართლაც გამოყენება Curly braces რომ თქვენ ვიცი და სიყვარული PHP კოდი HTML. PHP კოდი, იმ პირობით, რომ თქვენ pset 6-- pset 6-- უზრუნველყოფს კიდევ ერთი გზა აკეთებს, რომ იგივე რამ. ასე რომ, ახლა ჩვენ გვაქვს ძალა. ჩვენ გვაქვს ფუნქცია განახორციელოს PHP კოდი, რომელიც ჩვენ ვნახეთ pset 6 თავს, ძირითადად. სანამ მე გადაადგილება, რასაც ზოგიერთი კითხვა, რომელიც თქვენ ამ ეტაპზე? დიახ [INAUDIBLE]. აუდიტორია: ასე რომ ამ ვერსიას pset6, როდესაც თქვენ აწარმოებს, იქ სივრცეში. და მე ვხედავ, სადაც სივრცე შემდეგ მძიმით. [INAUDIBLE] დაწყება ღია bracket. თქვენ როგორ ითვალისწინებდეს ფართი გზა თქვენ წერდა საკუთარი კოდები? დინამიკები: ეს არის კარგი კითხვაა. და მოდით გაერკვნენ, რომ. ასე რომ, კარგი კითხვა და ერთი, რომ მე არ განიხილავს. მაგრამ მოდით ერთად. ასე რომ, პირველ რიგში, რა მე ვაკეთებ echo არის, როდესაც ჩვენ მხოლოდ ეხმიანება hello, ეს შედეგები hello. თუ ჩვენ echo ახლა ეს კიდევ ცალკე ხაზი, მოდით, შევხედოთ რა მოხდება. ასე რომ, ჩვენ დააჭირეთ ამ. ჩვენ გვაქვს რომ, hi ჯეისონ. ასე რომ კიდევ ერთხელ, ჩვენ არ გვაქვს ამ სივრცეში. და ეს იმიტომ, რომ, PHP, როდესაც ჩვენ ექო, არ აქვს მნიშვნელობა რამდენი spaces-- nope, არ V-- არ აქვს მნიშვნელობა, რამდენი ფართები ჩვენ დააყენა აქ თუ ჩვენ ახლა ვტვირთავ, რომ კიდევ ერთხელ, hi ჯეისონ. ჰო, ვხედავ, რომ ყველა იმ ფართები მიიღო შეჭამეს. და აი, ექო ფუნქცია აქვს. ასე რომ, იზრუნოს სივრცეში, და ეს არის ერთ-ერთი მიზეზი თუ რატომ არ იყენებენ echo და თქვენ იყენებთ htmlspecialchars ნაცვლად. მე ვარ ცნობისმოყვარე, თუ რა მოხდება თუ ეს გავაკეთეთ სადაც ჩვენ თანდართული სივრცეში სიმებიანი. მე პატიოსნად არ ვიცი რა მოხდება მაშინ, როდესაც მე ამის გაკეთება. ასე რომ, ერთი გზა. ეს არის ერთ-ერთი გზა იზრუნოს იგი. თუ თქვენ გადაიტანოთ ფართი სიმებიანი, მაშინ სივრცე იქნება გამომავალი ლამაზად ეხმიანება. უსაფრთხო, რაც უნდა გააკეთოთ უნდა გავაკეთოთ htmlspecialchars. რომ ყოველთვის უსაფრთხო ფსონს. მაგრამ ახლა ჩვენ გზა უნდა გააკეთოს იგი ეხმიანება საჭიროების შემთხვევაში. და მსგავსი გზა, ჩვენ შეგვიძლია echo ახალ ხაზებს, ყველა სახის პერსონალის თქვენ იცნობს აკეთებს PHP. ვინმეს, რა არის რაიმე უფრო კითხვები, რომელიც სხვა ადამიანებს აქვთ ამ ეტაპზე PHP? თუ ადამიანი გამოჩნდა ცოტა გვიან, მოხარული ვარ, რომ დარჩენა ცოტა და ვისაუბროთ ზოგიერთ დასაწყისში. და ის ასევე ყველა livestreamed, და საარქივო, რომელიც არის შეშლილი. ყოველ შემთხვევაში, ასე რომ, ახლა მოდით გავაკეთოთ ზოგიერთი უფრო მოწინავე პერსონალის PHP. და ერთ-ერთი პირველი რამ, რომ თქვენ გაეცნენ დო იყო ამისთვის მარყუჟების. და PHP აქვს უფრო ძლიერი loop მოუწოდა foreach loop. და როგორც ჩანს, ამას თითოეული ცარიელი როგორც ცარიელი, curly ფრჩხილებში, რამე. ასე რომ, ეს არის ძირითადად სტენოგრამის. იხილეთ, ამისთვის loop, როგორც სინტაქსური მშენებლობა შეიმუშავეს C და ასამბლეის ენის და რამ მინდა. შეიმუშავეს C, კერძოდ, როგორც სტენოგრამის ბევრი ტიპის მარყუჟების, რომ ხალხი ვხედავ. მსგავსად, როცა წერდა მარყუჟის, არსებობს ხშირად იყო ინიციალიზაციისას ნაბიჯი შესრულებული უფლება დასაწყისში, მდგომარეობა, სადაც loop იქნებოდა შეჩერება და რომ ის ფუნქცია ეს მხოლოდ ხოლო მარყუჟის, ან ის, რომ მაშინ, როდესაც ზუსტად მხოლოდ ის, რომ feature-- და შემდეგ incrementation ნაბიჯი ბოლოს. ასე რომ, ნეტავ ხშირად თავს წერა კოდი, როგორც შემდეგ. მე ვაპირებ წაშლას ზოგიერთი ამ. მაგრამ თუ ჩვენ iterating მეშვეობით სიმბოლოების მასივი, მაგალითად, როგორც ჩვენ მიიღო მასივი სიმბოლო. უკაცრავად, რათა დაიბრუნოს C. მე ვიცი, ეგონა, თქვენ გაკეთდა. მაგრამ ეს მხოლოდ იმ მიზნით, სწავლის PHP, მე გპირდებით. ასე რომ, თუ თქვენ გაქვთ char ქუჩაზე სიგრძე 8, და მოდით ამბობენ, რომ ეს ამბობს Hellooo ერთად გადმოკიდული null. დიდი, ასე რომ ჩვენი სიმებიანი. და მაშინ ჩვენ გვქონდა ამისთვის loop. ჩვენ გვყავს int i = 0. და ჩვენ გვინდა გასვლა, როდესაც ქ მე უდრის არ არის ტოლი null, იმიტომ, რომ ჩვენ გასვლა, როდესაც იგი შეადგენს null. და მაშინ ჩვენ i ++ ყოველ წერტილი ამისთვის loop. თავისსავე ქუჩაზე მე. ასე რომ ძირითადი ფორმულა, ჩვენ გვქონდა ამ მასივი, რომ ჩვენ სურდა მკურნალობა, როგორც ცალკეული ელემენტები. მაგრამ ჩვენ უნდა გავაკეთოთ არის ჩვენ გვქონდა ძირითადად შექმნათ ცალკე რიცხვი ცვლადი, რომ იმედი ყოველ ჩვენ გაიარა loop. და მაშინ ჩვენ უნდა მაშინ მოვუწოდებთ strstr [i], როდესაც ის, რაც ჩვენ ნამდვილად სურდა ამის გაკეთება მხოლოდ წასვლა ხასიათი ხასიათი, არა? ჩვენ არ გვინდა, რომ იყოს რიცხვი და შემდეგ გამოიყენოთ, რომ მთელი წვდომის თითოეული ხასიათი ინდივიდუალურად. ჩვენ ნამდვილად გვინდა, ხასიათი ხასიათი. ასე რომ, თითოეული ჭკვიანურად ითვლის, რომ ჩვენთვის. თუ ჩვენ გვაქვს მასივი, რომელიც ჩვენ შეგვიძლია განვაცხადოთ, PHP, როგორც just-- თუ ჩვენ გვაქვს ცვლადი მოუწოდა, მოდით, მას მასივი. სასწაულები არ ფერთა, ეს ისევე, როგორც ნებისმიერი სხვა ცვლადი. ეს მხოლოდ მასივი. და ჩვენ გვაქვს პატარა [INAUDIBLE] 1, 2, 3, მხოლოდ ერთგვარი initialized მასივი. ეს OK, მას არ მოსწონს ჩემი foreach. მაგრამ თუ ჩვენ არ foreach-- რეალურად მე აკრეფილი, რომ ცოტა არასწორია. არსებობს ორი გზა, რომ გავაკეთოთ foreach loop. აქ არის სინტაქსი და როგორც სინტაქსის. ჩვენ ვაპირებთ, რომ სინტაქსი, პირველ რიგში, არა როგორც. ეს არის ჩემი შეცდომა. ასე foreach num მასივი, ექო num. და PHP უყვიროდა მე რატომღაც. ეს დასკვნა მოულოდნელი წელს რაღაც, რომელიც ცოტა შეწუხება. მაგრამ ჩვენ გაერკვნენ რატომ არის ამ მომენტში. ასე რომ, არ მინდა, რომ. მოდით ცდილობენ გამოყენებით, როგორც. ეს ურჩევნია როგორც სინტაქსის ჩანს. მოდით გავაკეთოთ foreach მასივი როგორც num. ასე რომ, მცირე განმარტება რა მოხდა არის როგორც სინტაქსი ამბობდა ასევე, პირველ რიგში, მოდით შევხედოთ რა ამ ბეჭდავს out. ასე რომ, ჩვენ გახსენით ჩვენი IDE. ჩვენ აქ. ჩვენ ვამბობთ, Hello ჯეისონ. ეს მოხდა 123, რომელიც იყო შინაარსი მასივი, რომ ჩვენ შევქმენით up დაბრუნება. ასე რომ, diving შევიდა ამ foreach loop, ჩვენ ცვლადში მასივი რომელიც არის მასივი სამი ნომრები. და მაშინ ჩვენ ვაკეთებთ foreach მასივი, როგორც num, ექო num. და ეს უფრო ინტუიციური ვიდრე ამისთვის lop. ჩვენ ვამბობთ, მკურნალობის თითოეული რამ მასივი, როგორც num, მინდა მომეცი num. და ეს ზუსტად ის, რასაც ის აკეთებს. PHP გათვლით, როცა ამბობენ, რომ foreach მასივი, და თქვენ საქმე მასივი, რა თქვენ აპირებს სურთ iterate არის გმირები, რომ მასივი, არის ints, რომ მასივი, არის ელემენტები, რომ მასივი. და ეს გაქირავების თქვენ შესანახად იმ ცვლადების როგორც num, და შემდეგ უბრალოდ გამომავალი num დაუყოვნებლივ, ვიდრე ამბობდა, მაქვს ცვლადში მე, და მაშინ მე მინდა გამომავალი strstr [i]. და ისე, რომ საშუალებას გვაძლევს გავაკეთოთ მაგარი რამ. როგორც ძირითადად ჩვენ არ უნდა შევქმნათ ეს ცვლადები, როგორიც მე და ამის ყველა ამ incrementation პერსონალის ბოლოს. PHP ზრუნავს ყველა რომ თქვენ. ასე რომ, ახლა მოდით ვისაუბროთ foreach როგორც ეს ეხება ჩვენი _GET ლექსიკონი. ასე რომ, ჩვენ განვიხილოთ ეს სწრაფად. ასე რომ, ჩვენ გვაქვს ჩვენი _GET მასივი. ჩვენ გვაქვს ეს ცვლადი. და ეს რაღაც პერსონალის იგი. ახლა, ჩვენ მხოლოდ ერთი ცვლადი გავიდა ის, რაც არის სახელი. მაგრამ თუ ჩვენ დააჭირეთ Enter, ახლა ჩვენ შეიძლება ჰქონდეს ორი ცვლადი. ჩვენ შეგვიძლია სახელი და ასაკი, მაგალითად, თუ ჩვენ გვინდა, ასაკის და სახელი პირი, funnily საკმარისი. ასე რომ, ახლა _GET აპირებს იყოს ლექსიკონი ორი ელემენტები, ორი გასაღები ღირებულება წყვილი. და პირველი key-- მე ვაპირებ წერენ ამ ერთი up ფორუმში ძალიან. ჩვენ გვაქვს ჩვენი ლექსიკონი არის _GET. სამწუხაროდ, ეს არის პატარა რთული ვხედავ. მაგრამ შიგნით ჩვენი ლექსიკონი ჩვენ ასახელებს, რომელიც იქნება რაღაც რომ ჩვენ მოცემული. და ჩვენ გვაქვს ასაკობრივი, რომელიც ასევე იქნება ის, რომ ჩვენ მოცემული. და ეს არის მთლიანად ჩვენი ლექსიკონი. ასე რომ, ის მივიღე ორი ელემენტები. და იმიტომ, რომ foreach მარყუჟების ჭკვიანი, ჩვენ შეიძლება ვიფიქროთ, და სწორად ალბათ ფიქრობთ, რომ foreach შეგიძლიათ iterate მეშვეობით ლექსიკონი, დაბეჭდვისას მოცემული მნიშვნელობები სახელი და ასაკი. მოდით რეალურად ამის გაკეთება მხოლოდ, რომ. მოდით მშენებლობა foreach loop. და ჩვენ ვაპირებთ, რომ ამის გაკეთება _GET როგორც. და ჩვენ ვაპირებთ, რომ ამის შემდეგ. მოდით ვნახოთ, რა მოხდება, თუ ჩვენ აკრიფოთ უბრალოდ სიტყვა, და მერე ამბობენ echo სიტყვა. ჩვენ ასევე ვაპირებთ echo ახალი ხაზი უბრალოდ, რათა ის პატარა ნათელი, რა ხდება. ასე რომ, ვნახოთ. ეს არ მაძლევს ნებისმიერი შეცდომები. და ჩვენ დახურვა. ჩვენს ვებგვერდზე, თქვენ უნდა აკეთებს ბევრი რომ მეტი კურსი pset7. ამიტომ ჩვენ ვამბობთ, ჩემი სახელი არის სემ. ჩემი ასაკის 45. ეს არ არის. მაგრამ იგი ბეჭდავს out, როგორც მოსალოდნელი იყო, სემ 45. ასე რომ, თქვენ შეამჩნევთ, რომ რა foreach loop did-- აქ, მოდით დავუბრუნდეთ რომ ამიტომ მდე წლის board-- მივიღებთ _GET, როგორც სიტყვა. და ოთხი რამ _GET. მაგრამ ეს მხოლოდ დაბეჭდილი ორი რამ. foreach, როგორც მისი დაზვერვის თვითმმართველობის, ვივარაუდოთ, რომ ის, რაც ჩვენ ნამდვილად სურდა იყო ღირებულებები, გასაღებები. მაგრამ არ არის გზა, რომელიც ჩვენ შეგვიძლია ბეჭდვა გარეთ გასაღებები ასევე, თუ გვინდოდა. თუ გვინდოდა, რომ ასევე ვიცი, რა ამ ცვლადების დაიბარეს, არსებობს გზა, რომ ჩვენ შეუძლია ამ ისევე. და გზა ერთგვარი გავაკეთოთ, რომ, ასე რომ, შეიძლება ითქვას, საშუალებას ნამდვილად გაყოფილი, რომ ეს გასაღები ღირებულება წყვილი. მოდით ვნახოთ, რა ხდება ახლა. ასე რომ, ჩვენ გვაქვს გასაღები. ჩვენ აქვს მნიშვნელობა. ჩვენ გვაქვს კიდევ ერთი ახალი ხაზი readability. და ვნახოთ, რა მოხდება როდესაც ჩვენ ეს ახლა. მე არ ვიცი რამდენი წლის ჯეისონი. Jason 15. ასე რომ, ჩვენ გვაქვს სახელი Jason, 15 წლის ასაკში. ასე რომ, ჩვენ შევძელით წვდომის გასაღები და ღირებულება წყვილი ამ ლექსიკონი მხოლოდ იმით, როგორც გასაღები რაოდენობა მნიშვნელობა. და ეს foreach სინტაქსური შაქარი ცოტა, რომელიც საშუალებას აძლევს თქვენ შედიხართ რამ ლექსიკონი. ასე რომ, იმედია ამ სახის ხაზს უსვამს ძალა foreach loop. თქვენ საკმაოდ ბევრი სახიფათოა ყველაფერი, რაც, როგორც ჩანს, iterable, მსგავსი არაფერი რომ მრავლობითი ელემენტები, როგორიცაა მასივი, მოსწონს dictionary-- იმ ორი ძირითადი რამ, თქვენ უნდა მუშაობა როგორც ცხოვრება და pset 7. ასე რომ თქვენ შეგიძლიათ გადააგდოთ, რომ პერსონალი მას, და ეს იქნება გაერკვნენ რა გსურთ შუაშია. ეს თქვენ იტყვით, მე ვაპირებ, რომ მიიღოთ ესე მონაცემები, რომ მიღებულ იქნა ჩემთვის. და ეს არის რაღაც, რომ თქვენ იქნება გამოყენებით ბევრი pset 7. მე ვაპირებ სწრაფი გადახვევა ქვემოთ მხოლოდ ვხედავთ, სადაც მე ვარ. ხალხი გაქვთ შეკითხვები ამ ეტაპზე? კითხვებზე ყველა? დიახ? აუდიტორია: ასე რომ გასაღები და ღირებულება, თქვენ შეიძლება დაასახელოს ის სხვა რამეზე და ეს მაინც მუშაობს? დინამიკები: Oops. Wow, მე მთლიანად წაშალა მთელი ხაზი. დიდი მუშაობა. ასე რომ, ა. გასაღები და მნიშვნელობა მხოლოდ კონვენციას. ეს სასარგებლოა. თქვენ მიიღებს გარკვეული დიზაინი რაოდენობა, შესაძლოა, რამდენიმე სტილის რაოდენობა აკეთებს, რომ, რადგან ეს ნამდვილად თანაგრძნობას განზრახვა. მაგრამ ჩვენ ვამბობთ და yarp. აუდიტორია: თქვენ არ უნდა შეიცვალოს რამე HTML ფაილი რათა ასახოს, რომ? დინამიკები: არა ყველა. აუდიტორია: და ეს მხოლოდ იცის, რომ იმის გამო, რომ უდრის დიდი ვიდრე დინამიკები: დიახ. აუდიტორია: --that მაჩვენებელი, რომ that's-- დინამიკები: დიახ. ეს არის foreach სინტაქსი, მაგრამ არა. აუდიტორია: არ არსებობს ტიპის. ასე რომ, რა მოხდება, თუ მინდოდა ასაკი უნდა იყოს მხოლოდ ნომერი? არის გზა ამის გაკეთება? დინამიკები: არსებობს გზები, რათა შეამოწმოს, თუ ცვლადები შეესაბამება გარკვეული ტიპის. ასე რომ, PHP სთხოვს ცოტა მეტი თქვენ იმიტომ, რომ არ არსებობს სახის. გარკვეულწილად ეს სთხოვს ნაკლები. გარკვეულწილად ეს სთხოვს მეტი. იმიტომ, რომ თუ თქვენ გაქვთ მხოლოდ რაღაც ცვლადი, თქვენ არ ვიცი, რა ტიპის ეს არის. მაგრამ თუ თქვენ ხართ ჭკვიანი ცვლადები რომ თქვენ მივანიჭოთ ტიპის და დარწმუნდით რომ ფუნქციები, მხოლოდ დაბრუნდება თუ არა მინდა ფუნქციების მხოლოდ დაბრუნების ერთი ტიპის მნიშვნელობა, ასე რომ რომ თქვენ შეგიძლიათ ძირითადად ველით, რომ ცვლადი დაბრუნდება ფუნქცია იქნება ტიპის რომ ვფიქრობ, ეს იქნება, ძირითადად. თუმცა, არსებობს გარკვეული მეთოდები მიერ, რომელიც შეგიძლიათ ნახოთ. მე არ მახსოვს, მათ off ზევით ჩემი უფროსი. მე ველოდები, რომ აქციოს ლურჯი. isint? isstr? არსებობს მეთოდები ჩაშენებული PHP, რომელსაც შეუძლია შეამოწმეთ ტიპის ცვლადები თქვენთვის. მაგრამ თუ თქვენ დაავალოს ცვლადები smartly, თქვენ არ უნდა უნდა გავაკეთოთ, რომ ძალიან ბევრი pset 7. მაგრამ იმ მეთოდებს, არ არსებობს. და აი, იმ ენაზე თავად. და მე არ მახსოვს ზუსტი სინტაქსი. ჩვენ შეიძლება კიდევ გამოიყურება ის. მაგრამ დრო არის არსი. აქვს თუ არა ვინმეს აქვს სხვა კითხვები? დიახ. აუდიტორია: მე მაქვს კიდევ ერთი. ასე რომ, თქვენ ახსენეთ GET მეთოდით, მაგრამ თქვენ არ უხსენებია POST მეთოდით. ნუთუ ჩვენ დაბრუნებას, რომ? დინამიკები: დიახ, ჩვენ ბრუნდება, რომ. ეს არის ზუსტად ის, რასაც ვეძებდი ჩემი ტელეფონი, რომელიც ახლა დაეცა ეძინა, მაგრამ მე იპოვით მას. უბრალოდ მიღების დარწმუნებული ვარ, ჩვენ მოხვდა ყველა PHP აღნიშნავს. Yep, არ არსებობს გამართვის ვერსია. დიახ, ჩვენ გვაქვს რამდენიმე რამ, რომ ჩვენ გვინდა, რომ ახლა, ამ ეტაპზე. ასე რომ, ვსაუბრობთ POST, რომელიც თქვენ ახსენეთ, ერთადერთი განსხვავება შორის GET და POST არის რომ გახსოვთ, როდესაც ჩვენ ჩანდა ამ URL და ვნახეთ, oh, სახელი უტოლდება და ასაკის შეადგენს yarp მართლები არიან URL იქ ჩვენთვის. POST არის ცოტა უფრო საიდუმლო მისი მიღება ინფორმაცია. ასე რომ, თუ თქვენ არ გსურთ შესახებ უნდა იცოდეს, მაგალითად, თქვენ არ მინდა სახელი და პაროლის პირი შესული უნდა აისახოს URL, რომელიც გონივრული რამ არ გვინდა URL, იმიტომ, რომ ვიღაცას შეუძლია მისი დანახვა. თუ ისინი ბმული ვინმე გვერდი, თქვენ არ მინდა მათი URL შელესილი იქ, იმიტომ, რომ ეს საშუალებას მისცემს ხალხს უნდა შეხვიდე უბრალოდ ერთად pasting ერთი URL ნაცვლად რეალურად შევსების ფორმა. POST არის ცოტა მეტი საიდუმლო. და ერთადერთი რამ, რომ ჩვენ უნდა შეიცვალოს არიან ამ მეთოდით, ცვლილება საწყისი მისაღებად პოსტი. და შემდეგ შიგნით HTTP, ნაცვლად წვდომის მასივი _GET, ჩვენ ვაპირებთ, რათა შეამოწმონ მასივი _POST. და ჩვენ შეამჩნევთ, რომ, თუ ჩვენ გახსნა ამ უკან დაბრუნება, ჯეისონ ნელა უარს ასაკში. ასახელებს Jason, ასაკი 14. იგივე პერსონალის pops up. მაგრამ ჩვენ წასვლა URL და იმ ცვლადების არ არსებობს. და ისე, რომ POST passes-- ასე მახსოვს როგორ უნდა შევხედოთ წყარო გვერდზე. ჩვენ წასვლა ქსელში. ჩვენ ამოცნობა. ეს არის კიდევ ერთი რამ, რომ POST მოგცემთ გაფრთხილებების. თქვენ ალბათ არ უნახავს ყუთი, ტექსტი ყუთი, როგორც ეს თქვენს ბრაუზერში. დარწმუნებული ხართ, რომ გსურთ გაგზავნის ფორმა ერთხელ? POST არის რა გაგზავნის ამ ფორმით. იმის გამო, რომ ძირითადად, თუ თქვენ გაგზავნილი საკრედიტო ბარათის ინფორმაცია ვინმეს, რომ ის არ აპირებს გამოჩნდება URL. ეს იქნება POST მოთხოვნით. ასე რომ, როდესაც თქვენ განაახლეთ გვერდი, ის ხელმეორედ, რომ ჩანაწერის მოთხოვნა. ასე რომ, ახლა ჩვენ გვინდა გაგზავნას შექმნას ისევ იმიტომ, რომ ის არ აპირებს შექმნათ ნებისმიერი დუბლიკატი შესყიდვები. და ჩვენ შეამჩნევთ, რომ აქ, მეთოდი ჩვენ გამოყენებით არის POST. და ეს მართლაც გადასცეს ბაიტი. მას გადაეცემა 401 მათგანი. პროგრამა საკმაოდ პატარა. მაგრამ იქ არსად, რომ ჩვენ ვხედავთ ღირებულებების, რომლებიც გავიდა. ვებ გვერდები თავად ხედავთ, მაგრამ ჩვენ, მომხმარებლებს არ ნახოს, თუ თქვენ ჰაკერი. თუ თქვენ კარგი ჰაკერი, შეგიძლიათ გამოიყურება. თუ თქვენ იცით ძირითადი ფორმატი HTML, ღირებულებების გახდის თავად ცნობილი გვერდებზე. თქვენ უნდა ნახოს. ღირებულებები იქნება იქ, ისინი უბრალოდ ცოტა ნაკლებად თვალსაჩინო თქვენთვის დაშვება, ძირითადად. გვაქვს რაიმე უფრო კითხვები GET, POST ადრე, რასაც ჩვენ ვაპირებთ გავაკეთოთ შემდეგი რეალურად შევხედოთ ზოგიერთი კოდი რომ თქვენ აძლევდა pset 7, ვისაუბროთ როგორ იგი იყენებს ზოგიერთი ცნებები, და ვისაუბროთ რამ, რომ თქვენ აპირებთ უნდა გავაკეთოთ ცოტა pset 7. ნებისმიერი უფრო მეტი შეკითხვა მანამდე? მეტი შეკითხვები თქვენ ბიჭები? შესანიშნავი. ყველა უფლება, მოდით შევხედოთ ცოტა pset 7, ეჭვი არ მეპარება, რაც თქვენ ყველა ყველაზე აღელვებს. ვგულისხმობ, ეს არის ის, რაც დავით გადის ცოტა. მაგრამ ჩვენ გვაქვს სამი დირექტორიები დაბრუნება, ისევე როგორც კონფიგურაციის ფაილი. ეს არის ის, მონაცემთა ბაზა, რომელიც ჩვენ ვისაუბროთ დაახლოებით ხუთი წუთის განმავლობაში. მოიცავს, თქვენ არასდროს არ უნდა უნდა გამოიყურებოდეს ამ დირექტორია თუ არ გვინდა, მაგრამ ეს ლამაზი ვიცი, რომ არსებობს ყველა სახის დამხმარე. დამხმარე ჰგავს სასარგებლო ფუნქციები. და მაშინ ჩვენ გვაქვს config, რომელიც ადგენს რაღაცები. არსებობს გარკვეული ფუნქციების, რომ CS50 აქვს წერია, რომ არის დამხმარე და config. და ზოგიერთი PHP, რომ უკვე ითიშება ფაილი გავაკეთებ ბევრი უფრო სახის საქართველოს obtuse ფეხი მუშაობა თქვენთვის. Like თუ ჩვენ წასვლას საჯარო login.php, რაც გვიჩვენებს up უფლება, როდესაც თქვენ წასვლას pset 7. ჩვენ დავინახავთ, რომ იქ ეს მოითხოვს განცხადებაში. და რომ ერთგვარი მოსწონს მკვეთრი მოიცავს, hashtag მოიცავს თუ თქვენ საქართველოს ახალი თაობა. მაგრამ ეს, ძირითადად, ამბობს, რომ მე უნდა ხელმისაწვდომობის ყველა ფუნქციების config.php. თქვენ შეიძლება მოითხოვოს ყველა სახის სხვა რამ. config რეალურად მოითხოვს დამხმარე. ასე რომ, როცა მოითხოვს config, თქვენ ასევე მათ შორის, ან მოითხოვს დამხმარე ისევე. ასე რომ გაძლევთ ხელმისაწვდომობის ყველა მაგარი ფუნქციები რომ ჩვენ ვაპირებთ გამოვიყენოთ, რამ მინდა გაწევა. მე რეალურად აპირებს განმუხტვის ქვემოთ ცოტა. ასე ფუნქცია მაშინ ჩვენ აპირებს გავლა სანამ ჩვენ გადაადგილება SQL პატარა ცოტა არის login.php ფუნქცია, უბრალოდ რადგან იგი იყენებს ზოგიერთი თემები რომ ჩვენ უბრალოდ ვისაუბრეთ PHP. ხედავთ, პირველ რიგში, არის თუ $ _server. ეს არის კიდევ ერთი გლობალური ცვლადი, რომ თქვენ ვაპირებთ იყოს საქმე. ეს იგივეა, _GET და _POST, მაგრამ რა სერვერი შეიცავს: ეს მოგცემთ ვიცი, თუ მოთხოვნის მეთოდი იყო GET და POST. როგორც ადრე, რას ვაკეთებდით მხოლოდ ჩვენს კოდი, რომ ჩვენ წერდა, ჩვენ უბრალოდ შეცვლის მას უნდა მიიღოს და POST დამოკიდებულია რა HTML აქვს. მაგრამ არსებობს გვერდებზე, რომელიც შეიძლება იყოს შემოწმდა ორივე ტიპის მოითხოვს. და თქვენ უნდა გააკეთოთ სხვადასხვა რამ დამოკიდებულია ტიპის მოთხოვნით, ისევე შესვლა აკეთებს. ასე, რომ თქვენ შეგიძლიათ ნახოთ, რომ მოთხოვნა მეთოდი მეშვეობით წვდომის გასაღებები, გამოყენებით გასაღები და მიღების ღირებულება რაღაც ლექსიკონი _Server. ასე რომ კიდევ ერთი გლობალური ცვლადი როგორიც _GET და _POST. თუ ეს მთავარი, ჩვენ გვინდა, რომ გაუწიოს შესვლის ფორმა. მიეცით არის ფუნქცია, რომელიც ძირითადად მხოლოდ აყენებს up შესაბამისი HTML და გადის ის გარკვეული პარამეტრების. ეს სათაური პარამეტრი, რომელიც არის გამოიყენება ჩვენებისას, უცნაური საკმარისი, ტიტული გვერდი კითხვაზე, რამ აქ, ამბობენ, ან მიესალმები ჩვენი წინა მაგალითი. ახლა ჩვენ გვაქვს განსხვავებული რამ. სხვაგან, თუ ეს პოსტი, ჩვენ დაკავდით სხვა პერსონალი. ჩვენ გამოყენებით, ცარიელი მეთოდი. ის არ არსებობს, ეს ცარიელი. და ჩვენ ვნახეთ ადრე, PHP აქვს სამართლიანი ოდენობით აშენებული მეთოდები, რომ დავით will-- თუ არსებობს არის მეთოდები სასარგებლო, ისინი alerted რომ თქვენ ამ გავლა, რომ დავით აძლევს დასაწყისში მიმოხილვა, და ასევე Zamyla გამოსადეგი ბიტი. ის უკან ყველას. ჩვენ შეგვიძლია ყველა გაიხარებს. ბოდიშს არის მართებულად დაასახელა ფუნქცია რომ უბრალოდ ძირითადად ბეჭდავს რამდენიმე შეცდომა შეტყობინებები იმიტომ, რომ CS50 ძალიან თავაზიანი. და ახლა, ეს არის სახიფათო ცოტა იმიტომ, რომ ამ სადაც ჩვენ querying მონაცემთა ბაზა. ახლა ჩვენ არ ისაუბრა ბაზაში. და ჩვენ ვაპირებთ, რომ მომდევნო ხუთი წუთის ან ასე, მაქსიმუმ. მაგრამ ეს არის ფუნქცია რომ CS50 დაწერილი მიიღოთ მაგიდა ძირითადად მონაცემთა ბაზაში ჩვენ ვმუშაობთ pset 7. მე ნამდვილად ცუდი, რომ ჩემს ნულოვანი ინდექსირებას დღეს. მაგრამ დიახ, ეს არის 7. ასე შეკითხვის ის დაბრუნებას აპირებს მასივი, ძირითადად, არის გასაღები bit. და იმიტომ, რომ ეს ყველაფერი არ აქვს ფერთა, ასე რომ რიგები არის მასივი მასივები. იმიტომ, რომ როდესაც ჩვენ ფიქრი მაგიდა, რასაც ჩვენ ვაპირებთ, რომ არის, როგორც თქვენ შეიტყო psets როგორც თამაში 15 მაინც სადაც თქვენ უნდა გამოიყენოთ ორმაგი მასივი, ჩვენ ძირითადად აქვს მასივი სხვა კოლექტორები აკეთებს მაგიდასთან. და თქვენ მოხვდით რიგები და სვეტები. და მაშინ შეუძლიათ მათ, როგორც [0] [1], თქვენ [0] [1]. ძირითადი პერსონალის იგრძნობა. ასე რომ, რასაც ჩვენ ვაკეთებთ აქ ამ ფუნქციას, ჩვენ ითხოვს მონაცემთა ბაზა იმ შემთხვევაში, თუ შესახებ, რომ ცდილობს შესვლაზე, რომელიც იქნება იგზავნება POST მეთოდით. ჩვენ დავინახავთ, ჩვენ ვიღებთ სახელი ეხლა _POST. ისინი არ გაიგზავნა, შესახებ ან თქვენ, გამოგიგზავნით მნიშვნელობა მეშვეობით ფორმით POST რადგან ეს სახელი და პაროლი, პერსონალი. ჩვენ შემოწმების სახელი იმისათვის, რომ ნახოთ, ეს მაგიდაზე? იმის გამო, რომ, თუ მომხმარებელი არ არის ხე , მაშინ მათი სახელი უნდა იყოს შენახული მაგიდასთან წევრებს, რომ არსებობს ეს საიტი. ასე რომ, ძირითადად, თუ შესახებ მონაცემთა ბაზაში, შეკითხვის დაბრუნებას აპირებს რომ ზედიზედ, რომელიც არის მასივი. მაგრამ სახიფათო ნაწილი არის ის, რომ თუ კი, თუ ორმაგი მასივი არის მხოლოდ ერთი ზედიზედ, მაშინაც კი, თუ ეს არის ერთი რიგის მასივი როგორც თქვენ მოხვდით basically-- თუ თქვენ მოხვდით ზომა მასივი რომ მორიგ მასივი, თქვენ ნამდვილად საქმე ერთი სვეტი. მაგრამ ეს ჯერ კიდევ მკურნალობა როგორიცაა ორმაგი მასივი. და ეს არის, სადაც ეს შეიძლება ზოგჯერ სახიფათო, რადგან ჩვენ მივიღეთ რიგები აქ. ჩვენი ცვლადი არის რიგები. და მაშინ ჩვენ ქმნის ახალი ცვლადში row და განსაზღვრავს ის ტოლია პირველი რიგის რიგები. და თქვენ შეამჩნევთ, რომ კომენტარის დამატება ამბობს, რომ ეს არის პირველი და ერთადერთი ზედიზედ. ასე რომ, ეს არის სახიფათო ნაწილი, სადაც ახლა ფუნქციები შეიძლება დაუბრუნდნენ კოლექტორები ძალიან ადვილად. იქ არ mallocs. თქვენ ვერ ვხედავ mallocs. ასე, რომ თქვენ ვერ ვხედავ seg ხარვეზებით. მაგრამ ფუნქციები იქნება ავლით გარშემო კოლექტორები და მონაცემთა ჯგუფებში. და თქვენ უნდა იყოს ფრთხილი რა ზუსტად ფუნქციები დაბრუნდება. და მაშინაც კი, თუ ეს არის ერთ-ერთი სვეტი, როგორც ეს, შეკითხვის კვლავ დაბრუნებას აპირებს ორმაგი მასივი. ასე რომ, დაშვება, რომ column-- ან თქვენ შეიძლება ვიფიქროთ, რომ ეს ყველაფერი, როგორც ინვერსიული მას შემდეგ, რაც ჩვენ ვსაუბრობთ რიგები. მაგრამ შედიხართ, რომ ზედიზედ, თქვენ არ შეგიძლიათ უბრალოდ აცხადებენ, რიგები. მიუხედავად იმისა, რომ ეს არის ერთ ზედიზედ, თქვენ უნდა არ rowsrows [0] ერთგვარი აღმოფხვრას ეს გარე ცოტა მასივი და აქვს მხოლოდ თქვენი ერთი მწკრივი. ნუ ზოგიერთი სხვა რამ. არსებობს ფუნქცია მოუწოდა password_verify რომ ამოწმებს დაგავიწყდათ, რომ იყო განთავსებული. და შემდეგ ჩვენ ვხედავთ კიდევ ერთი გლობალური ცვლადი აქ, _SESSION. ძირითადად იდ არის, თუ როგორ შევინარჩუნოთ სიმღერა საქართველოს თუ ვინმე ახაზზე არიან თუ არა. ასე რომ, ახლა ერთად login.php, ჩვენ ხე მომხმარებელი. ამიტომ, რაც ჩვენ გვსურს რომ არის ჩვენ გვინდა ამბობენ, რომ იდ ტოლია row id, რომელიც მხოლოდ აზრი, რადგან თითოეული რიგის ექნება სხვადასხვა id ნომერი ნაწილი მაგიდასთან. ჩვენ შეღწევას SQL in a მეორე, ასე რომ, თუ რომელიმე ამ როგორც ჩანს, ცოტა მოსწონს blah, მაშინ ყველა უნდა გაირკვეს. მაგრამ ჩვენ ვაპირებთ, რომ მითითებული id ტოლია სათანადო რამ, ხე მომხმარებელი. ბოდიშს თუ რამე მიდის არასწორი. და ეს არის შემოსვლა მიზნით ცხოვრება, როგორც პროფესორი Malan ვიტყოდი. ასე რომ, login.php. და ბევრი PHP კოდი წერთ pset 7, ისინი უნდა იყოს ცოტა. ნუ დაგავიწყდებათ chmod უნდა სათანადო უფლებები. იქნება ცოტა შესახებ რომ დასაწყისში სპეც. მაგრამ PHP, რომ თქვენ წერილობით იქნება აკეთებს პერსონალი, რომ მსგავსი. თქვენ იქნება წვდომის ზოგიერთი რამ, რომ გეძლევათ თქვენ გლობალური ცვლადები PHP რომ საქმე მიმდინარე შესული მომხმარებელი, არსებობს თუ არა ყოფილიყო თხოვნიდან ეს გვერდი, სხვადასხვა რამ, როგორიცაა, რომ. და ეს იქნება პოტენციურად iterating მეშვეობით რიგები ამ რამ. სხვადასხვა ფუნქცია, შეკითხვაზე ამჯამად დაბრუნდეს ამ ორმაგი მასივი. და თუ არსებობს უფრო ვიდრე ერთი რიგები მას, თუ არ are-- დიახ, თუ არსებობს ერთზე მეტი რიგები მას, მაშინ ეს იქნება მაგიდაზე. და თქვენ გსურთ iterate მეშვეობით რიგები ამ მასივი foreach loop, რომ ჩვენ აღწერილი. ასე რომ, თუ foreach ორმაგი მასივი, რა იქნება word-- აქ, მე რეალურად დაწერა. დავწერ სწრაფი აქ. თუ ჩვენ გვაქვს foreach რიგები როგორც row, რა ტიპის ზედიზედ? ვინმეს იცით? შენ ეს? ასე რომ, რიგები არის ორმაგი მასივი. ასე რომ, რა foreach აპირებს დავასკვნათ რომ ჩვენ გვინდა ამ ორმაგი მასივი თუ ჩვენ iterating მას? ჩვენ შეგვიძლია, ძირითადად, ვივარაუდოთ, რომ ის აპირებს იყოს ელემენტები, ან სტრიქონების, ან სვეტების, ძირითადად. ასე რომ, რიგები და სვეტები ჩვენ შეიძლება მკურნალობა, როგორც იგივე. ძირითადად, რა foreach loop აპირებს უნდა გავაკეთოთ, არის ის დაბრუნებას აპირებს რიგები. რიგის აპირებს იყოს ტიპის ზედიზედ, ხოლო რიგები არის ორმაგი მასივი. ასე რომ, თუ თქვენ foreach ორმაგი მასივი, ის არ ვაპირებ iterate ერთზე მეტი დონის ღრმა. რომელიც ძირითადად იმის თქმა, თუ არსებობს რვა საკნები ამ მაგიდასთან 1,2, 3, 4, 5, 6, 7, 8- foreach loop არ არის აპირებს გავლა თითოეულ ამ საკნებში. რა foreach loop გააკეთებს იყო იგი გაივლის ამ row, გადმოგცეთ ეს მთელი რიგი. და მაშინ ის გავლა, რომ ზედიზედ. ასე რომ, ეს მხოლოდ iterates ერთ დონეზე ღრმა. თუ თქვენ დაამატოთ წყობილი foreach მარყუჟის, მაშინ თქვენ შეიძლება მკურნალობა თითოეული რიგის დაბრუნდა რიგები, თქვენ foreach ზედიზედ ელემენტს, მოდით ვთქვათ. და მაშინ შეიძლება გავიმეოროთ ელემენტს. ასე რომ, მოკლე პატარა გასაახლებლად, თუ როგორ თქვენ შეიძლება გამოყენებით foreach მარყუჟების კონტექსტში შეკითხვაზე. არსებობს რაიმე კითხვები PHP? არაფერი ყველა, სანამ ჩვენ გადაადგილება ვსაუბრობთ SQL და დაცინვა მონაცემთა ბაზაში? თავს ვგრძნობ კარგად? თავს ვგრძნობ კარგად. ყველა უფლება. მოდით გადაადგილება უკან PowerPoint, რომელიც თქვენ ალბათ მენატრება. SQL, yay. ადამიანები, რომლებიც ჩემს განყოფილებაში, როგორც წესი, ვიცი, რომ ქვესათაურები of ფორმა ყოველთვის მხოლოდ პირველი სიტყვა ვფიქრობ, რომ მატჩი ალგორითმი რომ აკრონიმი. ეს არ არის ალგორითმი. ასე რომ, SQL მონაცემთა ბაზაში. ეს არის ენა, რომელიც მუშაობს ბაზაში. და ყველა მონაცემთა ბაზის არის მაგიდები, მინიმუმ გზა რომ SQL წარმოადგენს მათ. კიდევ ერთი გზა, რომ ვიფიქროთ, მონაცემთა ბაზების მონაცემთა ბაზის კომპლექტი გასაღებები და ღირებულებები ძირითადად. თქვენ შეგიძლიათ ვიფიქროთ მონაცემთა ბაზის ლექსიკონი და ასევე, როგორც მაგიდასთან. ძირითადად ეს არის გზა გაერთიანდნენ სხვადასხვა მონაცემების სხვა მონაცემები, ხშირად რიგები და სვეტები. და ეს არის გზა რომ არის SQL საუკეთესოდ მუშაობს. ასე რომ, ეს არის ერთი მაგალითი მაგიდასთან. მაქვს რამდენიმე მაგალითი ადამიანი ჩემს განყოფილებაში, რომელიც მე არ მაქვს დრო, რომ შეიცვალოს. მაგრამ ჩვენ მივიღეთ რამ, როგორიცაა ID, სახელი, ზესახელმწიფო, და მშობლიურ ქალაქში. მე არ ვიცი, სადაც ყველას არის ეხლა ჩემს განყოფილებაში, ამიტომ მე უბრალოდ აპირებს ვივარაუდოთ, ყველას ნიუ-იორკის ქალაქი იმიტომ მაქვს მაღალი სტატისტიკური ალბათობა იმისა, რომ სწორი. SQL ავტომატურად ზრუნვა ID სვეტი თქვენთვის. თუ თქვენ ჩადეთ ახალი row შევიდა SQL მონაცემთა ბაზაში, ეს ნამატი, რომ ID ნომერი და მხოლოდ ძირითადად გამყარებაში მოსწონს ხუთ სახელები, ზესახელმწიფო, მშობლიურ, ვინც გადატანა ბოლომდე რომ მაგიდასთან. ასე რომ, ID სვეტი თქვენ არასოდეს არ უნდა ფიქრი. მაგრამ, როგორც იმ შემთხვევაში, საქართველოს login.php, როდესაც ჩვენ იღებდნენ სხდომაზე ID მაგიდასთან და უბრალოდ გამოყენებით ID, ID არის გზა ცალსახად იდენტიფიკაცია ელემენტს მონაცემთა ბაზაში. ასე რომ, თუ ჩვენ გვქონდა ორი Sams, ორივე რომელიც ისწავლება CS50, და ორივე, რომელიც იყო Milwaukee, იმ იქნებოდა ჯერ კიდევ აქვს მკაფიო ID ნომრები და ამით მკაფიო კონტექსტში მაგიდასთან. ასე რომ, ეს არის ის, რაც SQL საქმე ერთად, მუშაობის უკან ბოლოს. ახლა ეს არის ოთხი ბრძანებები ის, რომ თქვენ უნდა ვიმუშაოთ SQL. და მე ესროლა მათ ყველა up ერთი slide. მაგრამ ჩვენ ვაპირებთ გავლა მათ ყველა ინდივიდუალურად. პირველი ბრძანება UPDATE, რომელიც აკეთებს იმას, რასაც შეიძლება ველოდოთ. ამბობენ, რომ თქვენ გაქვთ გარკვეული მონაცემები მაგიდა, რომელიც მოძველებულია. Like თუ თქვენ შენახვა სიმღერა ხალხის სახელები და ასაკის, თუ ვინმე არის ასაკი იზრდება, მაშინ თქვენ აპირებს მინდა წასვლა და განახლება მხოლოდ, რომ პირის ასაკის. მაგალითისთვის, რომელიც მუშაობს ჩვენი პირველი მაგიდასთან არ ინერვიულოთ შესახებ წერილობით ყველა ეს ბრძანებები, ამავე დროს. მაგრამ თუ თქვენ მოხვდით განახლება ქვემოთ, რომ კარგი იქნება ამ მხრივ, იმიტომ, რომ ჩვენ ვაპირებთ დაბრუნდეს მაგიდასთან. ასე რომ, თუ ჩვენ დავუბრუნდებით მაგიდა, მოდით ვთქვათ, რომ რაღაც მოხდა იქ იყო მიწისძვრა და ბრალი ხაზი, რომელიც გაყოფილი პირდაპირ ნიუ-იორკის ქუჩებში. და გვინდოდა, რომ განახლება ყველას რომელიც ცხოვრობდა ნიუ იორკში. ისინი ყველანი უნდა გადავიდეს პენსილვანია. ეს არ არის მშობლიურ. ისინი ყველანი უნდა გადავიდეს New Haven. იქ ჩვენ წავიდეთ. ასე რომ ყველას ნიუ იორკში გადადის New Haven. და ისე, რომ ის, რაც არის რედაქტირება სამი რიგები ამ მაგიდასთან. მაგრამ SQL, შეგიძლიათ გააკეთოთ რომ მხოლოდ ერთი განაცხადი. ასე რომ, ჩვენ დაბრუნდეს განახლება. მიადევნე თვალი სწრაფი წაშლას ამ ფორუმში კიდევ ერთხელ. როდესაც ჩვენ ვსაუბრობთ განახლება, არსებობს რამდენიმე ნაწილად სინტაქსი არის გასაღები. ისე, ყველა სინტაქსი არის გასაღები. მაგრამ პერსონალის მწვანე ნებაყოფლობითია. თეთრი საჭირო, ისევე როგორც წინასწარ სახელები. და ცისფერი რამ, რომ განსხვავდება მაგიდაზე. ასე რომ, რა ხდება ფერი სქემა აქ, იქ. ასე რომ, თუ გვინდა განახლება მხოლოდ იმ სტრიქონების იმ ხალხს, ვინც ნიუ-იორკში ცხოვრობენ, ასე რომ, რასაც ჩვენ გავაკეთებთ, თუ ჩვენ ვთქვით, UPDATE? ასე რომ, მაგიდა, სადაც ჩვენ დააყენა სახელი ჩვენს მაგიდასთან. მოდით უბრალოდ, ვამბობთ სახელი ჩვენი მაგიდა მაგიდა ერთი. ასე რომ ჩვენ გვინდა განახლების მაგიდა ერთი. და ჩვენ გვინდა set-- რა გვინდა შექმნას? ისე ჩვენ გვინდა ვთქვათ, ასე column-- PHP ეპყრობა რიგები უნიკალური იდენტიფიკატორები. და მაშინ სვეტები სხვადასხვა სფეროში იმ ელემენტების მონაცემთა ბაზაში. ამიტომ პირველ ელემენტს მონაცემთა ბაზის აქვს სახელი სემ, ზესახელმწიფო CS50, და მშობლიურ ქალაქ Milwaukee. ასე რომ, თუ ჩვენ ვთქვით, მითითებული, მოდით შევხედოთ პარამეტრების ერთხელ, რომ ნაკრები იღებს. ჩვენ გვყავს სვეტი შეადგენს მნიშვნელობა. ამიტომ, ჩვენ გვინდა, რომ ზოგიერთი column-- რომელიც მახსოვს არის field-- ჩვენ გვინდა, რომ სფეროში ტოლი რაღაც ახალი. ასე რომ, თუ ჩვენ უბრალოდ თქვა განახლება ცხრილი 1, მითითებული სახელი ტოლია Elliot. მივიღოთ ადამიანები ახალი სექცია ამ. მაგრამ თუ ჩვენ უბრალოდ გააკეთა განახლება და მაგიდა 1 მითითებული სახელი ტოლია Elliot, რა მაგიდა ჰგავს ამის შემდეგ? ხალხი აქვს რაიმე იდეა? ჰო. აუდიტორია: ყველაფერი, რომ ზედიზედ გახდება Elliot. დინამიკები: ყველაფერი, რაც ზედიზედ? აუდიტორია: პირველ რიგში. დინამიკები: პირველ რიგში? რატომ პირველი რიგის? მე არ ვგულისხმობ აირჩიოთ თქვენ. აუდიტორია: იქნებ ყველაფერი მთელ მაგიდაზე? დინამიკები: ყველაფერი მთელი მაგიდა, დიახ. და რომ ის, სწორედ იმიტომ, რომ მე იყო მხოლოდ ეხმარება თქვენ out ცოტა იქ იმიტომ, რომ ჩვენ გამოტოვებული სურვილისამებრ სადაც პუნქტი. თუ თქვენ არ გაქვთ WHERE პუნქტი, რაც ამ ბრძანება გავაკეთებ არის ეს ვიმუშავებთ ყველა ერთი რიგის მაგიდასთან. ყველას სახელი გახდეს Elliott, ძირითადად, რომელიც Elliot ძალიან ბედნიერი. ან Yanni, ერთი ორი. მაგრამ ყველას სახელი შეიცვლება. ასე რომ გზა ვიყენებთ სადაც clause-- და ეს ეხება ყველა Wheres რომ თითოეული ეს სხვადასხვა რამ. ასე რომ, თქვენ შეამჩნევთ, რომ SET აქვს სვეტი თანაბრად. და ასე აკეთებს WHERE. მაგრამ ეს არის სხვადასხვა სახის განცხადებები. ასე რომ, სვეტი შეადგენს მნიშვნელობა ამ SET არის დავალება. ისევე, როგორც ჩვენ ვამბობთ, ჩვენ გვინდა მითითებული სახელი ტოლია Elliot. მაგრამ სადაც მუხლებს, ეს არის თანასწორობის განცხადებები. ასე რომ, ვთქვათ, მხოლოდ სურდა შეცვლა პირის სახელი Elliot თუ მისი სახელი იყო Ryan, ასე ვთქვათ. ასე რომ, როდესაც ჩვენ ვამბობთ, WHERE სახელი შეადგენს Ryan, რომ წარმატებით მხოლოდ ცვლილება name--, რომ ის მხოლოდ სახელის შეცვლის სფეროში რიგები სადაც სახელი სფეროში ტოლია რაიან. ასე რომ, თუ ჩვენ გვქონდა მრავალი ადამიანი სახელად რაიან, ყველა მათი სახელები შეიცვლებოდა Elliot. ეს არის მსგავსი მაგალითი საქართველოს თუ ბრალია ხაზი ყოფს ნიუ-იორკში და ყველას აქვს გადავა New Haven, გზა, ჩვენ შეგვიძლია გავაკეთოთ, რომ ერთი განაცხადი არის UPDATE table1 SET მშობლიურ = New Haven სადაც მშობლიურ ტოლია ნიუ იორკში. ეს არის ძალა განახლება განცხადებაში. ჩვენ შეგვიძლია აირჩიოთ ნებისმიერი რაოდენობის რიგები მეშვეობით ჭეშმარიტი განცხადებები შესახებ სფეროებში, იმ რიგები. ჩვენ არ შეგვიძლია ვთქვათ განახლების table1 კომპლექტი სახელი = Elliot სადაც row = 1, გარდა იმისა, რომ ჩვენ შეგვიძლია, თუ ვიტყვით ID = 1. ასე რომ, ჩვენ ვაპირებთ, რომ იყოს მუშაობის თანასწორობა სფეროებში, თანასწორობის სვეტები. მაგრამ მისი გამოყენება ID ველი გზა აირჩიეთ ინდივიდუალური რიგები კერძოდ, იმის გამო, რომ ID სფეროში უნიკალური იდენტიფიკატორი SQL მონაცემთა ბაზაში. ასე რომ, როგორც განახლება ზედიზედ ერთი ID უდრის 1. განახლება ზედიზედ ორი, უბრალოდ შეიცვალოს, რომ ნომერი. მაგრამ ძალა WHERE განცხადება, რომ ჩვენ შეგიძლიათ განაახლოთ რამ რის საფუძველზე მათი მიმდინარე ფასეულობების გარკვეული რამ. დიახ Elliot? აუდიტორია: და რა, თუ გსურთ, რომელთა მიზანია: კიდევ ერთხელ, ეს უკვე სხვა საკითხია. მაგრამ ჩემი პირველი კითხვა იყო, სად არის ეს ასე? სად ვარ მე განახლებაზე ეს? არის თუ არა ეს არის PHP კოდი? დინამიკები: სად თქვენ განახლება, დიახ. ჩვენ ვაპირებთ, რომ გაიგო შესახებ, სადაც ყველა ამ ხდება ერთგვარი ერთხელ ჩვენ წავიდეთ მთელი ბრძანებები. მაგრამ ის, რაც თქვენ უნდა ვიცი, ახლა ძირითადად რომ თქვენი SQL მონაცემთა ბაზაში არსებობს, როგორც რაღაც ხელმისაწვდომი იყოს შეკითხვის ფუნქცია, რომელიც CS50 განსაზღვრავს. ასე რომ, თუ თქვენ იყენებთ შეკითხვის ფუნქცია, თქვენ შეგიძლიათ თქვათ ამ მაგიდასთან. ასე, რომ თქვენ იქნება გაგზავნის ამ ბრძანებები თქვენი მაგიდაზე PHP ფაილები მეშვეობით შეკითხვის ფუნქცია. თქვენ ასევე შეგიძლიათ ითამაშოთ გარშემო თქვენი მაგიდა პირდაპირ. და ეს არის საუკეთესო გზა შეამოწმოთ ამ სახის ბრძანებები. და ჩვენ გავლა რამდენად უნდა გავაკეთოთ, რომ უბრალოდ ცოტა. ასე რომ, UPDATE ბრძანება. და დანარჩენი ბრძანებები ვაპირებთ, რომ ერთგვარი ანალოგიური, მუშაობს მსგავსი რამ. კულტურა INTO ალბათ ყველაზე განსხვავებული UPDATE. მე ვაპირებ დატოვოს, რომ იქ უბრალოდ ცოტა და მუშაობის მეტი აქ. ასე რომ, INSERT INTO, დაინახავთ მაგიდა იგივეა. გსურთ INSERT INTO. კაპიტალიზაცია, SQL საქმეზე გულგრილობაა. ასე, რომ თქვენ არ უნდა ესარგებლა ამ საკითხზე. მიერ კონვენციის სიტყვა თეთრი კაპიტალიზაცია. მაგრამ მე ასევე ფერადი კოდირებული მათ. ერთადერთი მიზეზი, რომ თქვენ კაპიტალიზაცია იმ, როდესაც თქვენ აკრეფით მათ უბრალოდ ხაზი გავუსვა რომ ეს არის მუდმივები. და ასე რომ თქვენ შეგიძლიათ შეხედოთ კაპიტალიზაცია და ის ფაქტი, რომ მე ფერადი მათ განსხვავებულად. ამიტომ, ჩვენ მივიღეთ INSERT INTO, მოდით გავაკეთოთ table1 ერთხელ. ეს არის ყველა ერთ ხაზს. მე უბრალოდ ჰყოფს იგი მიერ სხვადასხვა განცხადებებს. ასე რომ არ აღელვებს ის ფაქტი, რომ table1 გახადა გადატანა მეორე ხაზი. ასე რომ ჩვენ გვინდა INSERT INTO table1 გარკვეული ღირებულებები. თქვენ შეამჩნევთ სურვილისამებრ ცოტა, რაც მე კიდევ მეორე. ამიტომ, ჩვენ მივიღეთ ფასეულობები. ასე ვთქვათ, ჩვენ გვინდა, რომ დაამატოთ Andi ჩვენს მაგიდასთან, რადგან ჩვენ მენატრება Andi. Andi არის ავადმყოფი. მოდით დავამატოთ Andi ჩვენს მაგიდასთან. გახსოვდეთ, რომ პირადობის მოწმობის ნომერი განახლება ავტომატურად. ასე რომ, მხოლოდ სფეროებში ჩვენ უნდა ფიქრი არის სახელი, ზესახელმწიფო, და მშობლიურ ქალაქში. ასე რომ, ისე, რომ ჩვენ გავაკეთოთ, რომ, ეძებს ჩვენი სინტაქსი, არის, რომ ჩვენ მივიღე ფრჩხილებში, მძიმით გამოყოფილი მნიშვნელობები, რომელთაგან თითოეული არის ღირებულება. ასე რომ, თუ გვინდოდა ჩადეთ Andi ჩვენი მაგიდა, ყველა ჩვენ უნდა გავაკეთოთ არის სწორი Andi. რა არის Andi ზესახელმწიფოს, ხალხი Andi განყოფილებაში? მან მინდა ფრენა, და მინდა სიჩქარე, ან რამე. რა ჩვენ უკვე გვაქვს იქ? ჩვენ გვაქვს CS50, ფრენის, სიჩქარე და ძალა. აუდიტორია: დრო მოგზაურობა. დინამიკები: დრო მგზავრობის, საოცარი. ამიტომ, ჩვენ მივიღეთ Andi, დრო მოგზაურობა და ცხოვრობს. ეს არის კარგი კითხვა. ნიუ-იორკში, თუ ვინმე იცის. ყველას from New York არის გაკვეთილი მიიღოს დაშორებით დღეს. ასე რომ, ეს მოსაზრება ჩადეთ, როგორც მეხუთე, ერთად ზესახელმწიფოს დრო მოგზაურობა და მშობლიურ ქალაქ ნიუ-იორკში. მაგრამ არასავალდებულო ველი ძირითადად გზა განსაზღვროს ზუსტად რაც სვეტები გსურთ ჩადეთ რამ. ისე, რომ ჩვენ ვაკეთებთ ახლა, Andi, დროში მოგზაურობა, ნიუ-იორკში, ხდება ზუსტი მიზნით ჩვენი მაგიდასთან სახელი, ზესახელმწიფო, მშობლიურ ქალაქში. და თუ არ უნდოდა, რომ რაღაც, გარდა ამისა, მინდა ვთქვა, თქვენ არ იცით, ვინმეს ზესახელმწიფო, როგორიცაა, თუ როგორ, მე არ ვიცი Andi ს ზესახელმწიფო დასაწყისში. ასე რომ, ყველა ვიცოდი იყო მისი ასახელებს და თავის მშობლიურ. რა შეიძლება არ არის შემეძლო გავაკეთოთ მე წაშლას ეს სწრაფია. მე მინდა, რომ მხოლოდ განახლება სვეტები. ეს არის სადაც სურვილისამებრ სვეტი სია აამოქმედებს. მე მხოლოდ მინდა, რომ განაახლოს სახელი და მშობლიურ ქალაქში. და მერე იტყვის ფასეულობები. მე ყველაფერს გავაკეთებ Andi და ნიუ-იორკში. თუ მე გამოტოვებული სია სვეტები და უბრალოდ გაკეთდეს ეს ორი რამ, სადაც იქნებოდა ნიუ იორკში წავიდა? რომელი სვეტი რომ New York ქალაქი უკვე განთავსებული? ხალხი აქვს რაიმე იდეა? ზესახელმწიფო, ზუსტად. ასე რომ, ეს იქნება უბრალოდ მიზნით. და კიდევ ის აღწევს ბოლომდე სია, ეს უბრალოდ შეწყვიტოს შევსების რამ. და ღირებულებებს, რომ ის ყველაფერს გამყარებაში ყველა სვეტის იქნება მხოლოდ NULL. ასე რომ, რადგან ჩვენ მითითებული სახელი და მშობლიურ, ჩვენ ვაპირებთ, რომ ID 5, ასახელებს Andi, ზესახელმწიფო NULL. ასე რომ ზესახელმწიფო არის uninitialized ღირებულება. თქვენ აუცილებლად არ მიიღოს იგივე Valgrind შეცდომები, თუ თქვენ ცდილობენ და წვდომის იგი. ყველაფერი კარგად იქნება ლამაზად zeroed გარეთ, რადგან არის NULL მნიშვნელობა in SQL. ეს არის მუდმივი. და მერე მშობლიურ იქნება ნიუ იორკში. ასე რომ, INSERT INTO ბრძანება. სანამ ჩვენ გადასვლა, იქ კიდევ ორი ​​ბრძანებები. ხალხი გაქვთ რაიმე შეკითხვები UPDATE, დაახლოებით INSERT INTO, დაახლოებით SQL ზოგადად სანამ ჩვენ გადასვლა გადატანა ჩვენი საბოლოო ბიტი? ადამიანი თავს კარგად გრძნობს, დიდი. მიყვარს ეს. ასე რომ, მოდით ვისაუბროთ SELECT. გამგზავრება ditch განახლების მეტი აქ. და SELECT იქნება ძალიან ჰგავს. მიზანი SELECT, SELECT მიზანი ცხოვრებაში მოგცეთ რამოდენიმე სვეტები რომ დააკმაყოფილოს გარკვეული პირობები. და როდესაც ვამბობ, დააკმაყოფილა გარკვეულ პირობებში, თქვენი აზრით შეიძლება დაუყოვნებლივ დაბრუნდეს, რომ სადაც პუნქტი რომ მოვიდა UPDATE. და რომ პუნქტი ზუსტად იქ SELECT. თუ ჩვენ არ დააყენა WHERE პუნქტი და ვამბობთ SELECT სახელი, hometown-- ჩაწერეთ, რომ ცოტა wrong-- სახელი, მშობლიურ FROM table1. თუ ჩვენ უბრალოდ, ვამბობთ, რომ, რა SELECT აპირებს მოგვცეს არის ის, აპირებს მოგვცეს ორმაგი მაგიდა, საკმაოდ. ორმაგი მასივი, თუ ჩვენ ფიქრი in PHP გრძნობს. მაგრამ ეს მხოლოდ აპირებს მოგვცეს ორმაგი მასივი ორი columns-- სახელი, და მშობლიურ ქალაქში. და ეს იქნება იგნორირება ID. და ეს იქნება იგნორირება ზესახელმწიფო. და ეს უბრალოდ გვაძლევს ყველა ერთ გრაფაში, რომ მაგიდასთან. ასე რომ, თუ ჩვენ მხოლოდ ჩასმული Andi, ჩვენ გვექნება Andi. და გვექნება ორიგინალური ოთხი. თუ ისინი უკვე განახლებული, რომ იქნება აისახება, et cetera, და სხვა. ასე რომ, ეს იმიტომ, რომ ჩვენ არ გამოიყენოთ WHERE პუნქტი. მაგრამ ჩვენ შეგვიძლია გამოვიყენოთ ეს ზუსტად ანალოგიურად, ვიყენებდით UPDATE. თუ ჩვენ მხოლოდ გვინდა მაგიდასთან სახელები და სუპერ ძალაუფლება ადამიანი ცხოვრობს ნიუ-იორკში, ჩვენ შეუძლია შეასრულოს განცხადება როგორც SELECT სახელი, superpower-- მე უბრალოდ აპირებს დატოვოს that-- FROM table1 WHERE მშობლიურ = ნიუ იორკში. ასე რომ, ეს მიდის აჩვენებს, რომ თქვენ შეგიძლიათ მიიღეთ სრულიად განსხვავებული სვეტები, და შემდეგ დააყენა სვეტები, რომ თქვენ არ კი დავუბრუნდეთ WHERE პუნქტი. ჩვენ კი არ გვინდა, რომ მშობლიურ ყველას. მაგრამ ჩვენ გვინდა, რომ სახელი და ზესახელმწიფო ხალხი რომლის მშობლიურ ნიუ-იორკში. ასე რომ, ის, რომ ჩვენ შეგიძლიათ გააკეთოთ WHERE მუხლი ჩვენ შეგვიძლია გავუმკლავდეთ სვეტები რომ ჩვენ არ მინდა აუცილებლად უკან. იმავე გზით განახლება, ჩვენ შეგვიძლია გავუმკლავდეთ სვეტები, რომ ჩვენ არ ემთხვეოდეს გსურთ განახლება. ჩვენ შეუძლია განაახლოს ქალაქში ყველას ვინ არის სახელი არის სემ, მაგალითად. ჩვენ შეგიძლიათ განაახლოთ ქალაქ ყველას, ვისაც ID ნომერი 2. ასე რომ, მხოლოდ განაახლებს ქალაქის მეორე რიგის სადაც ჩვენ არ უნდა გაუმკლავდეთ აუცილებელია საერთო კითხვა. და წაშლა, როგორც თქვენ მინდა ველით, DELETE FROM table1. და მაშინ ჩვენ მივიღეთ კიდევ ერთი სადაც პუნქტი. ასე რომ, ჩვენ შეგვიძლია ვთქვათ, სადაც ID = 1. წაშალე პირველ რიგში. წაშლა და ყოველთვის წაშლა ზედიზედ, ან წაიშლება გარკვეული რაოდენობის რიგები. DELETE FROM table WHERE მშობლიურ = ნიუ იორკში წაშლის ყველას ნიუ იორკში. ეს არის ის, იყო თუ არა უეცრად ტრაგიკული ჭირი და თქვენ უბრალოდ მინდოდა წაშლა ყველას მაგიდასთან, რომელიც ცხოვრობდა ერთ ქალაქში რომ მოხვდა ჭირი. შეიძლება ისინი დაისვენეთ მშვიდობა. ეს არის ოთხი SQL ბრძანებები რომ თქვენ უნდა გამოვიყენოთ. თქვენ კი არ უნდა გამოვიყენოთ. მაგრამ ეს არის ოთხი რომ CS50 იმედოვნებს, რომ თქვენ უნდა იყოს კომფორტული შესვლის ორივე ვიქტორინა 1 და pset7 და pset8. არსებობს მხოლოდ ის, რომ კვლავ მაგიდასთან. ამ ერთი, როი ზესახელმწიფოს აქვს განახლდა ლაზერულ სხივების, რომელიც არის მაგალითად მე არ გამოიყენოს. მე არ ვიცი, რომელიც ერთი როი ურჩევნია, მაგრამ ძალა. როი აქვს ზესახელმწიფოს ძალა. Katherine არ მიიღოს იგი დღეს. ეს სამწუხაროა. მაგრამ მას აქვს სუპერ სიჩქარე. კარგად რომ იყო PHP. სანამ ჩვენ ვსაუბრობთ MVC, აკეთებს ვინმეს აქვს კითხვები PHP? ახლა SQL, ან PHP თუ მოულოდნელად ამუშავება შეკითხვას, PHP? შესანიშნავი. ყველა უფლება, ჩვენ ყველა მითითებული შემდეგ. ასე რომ, საუბარი ცოტა შესახებ მოდელის კონტროლერები მოდით დავუბრუნდეთ ზოგიერთი საქართველოს პერსონალის pset7. ასე რომ, რა მოდელი კალენდარი კონტროლერი is-- მე არ ვარ ვაპირებ გადარჩენა ჩემი ცვლილებები უნდა შეხვიდე იმიტომ, რომ მე სრულიად დაკლული იგი. მაგრამ, ძირითადად, ჩვენ გვაქვს ორი ცალკე რამ ხდება. ჩვენ გვყავს საჯარო კატალოგი, რომელიც შეიცავს კოდი, რომელიც აპირებს შესრულდება და ვებ-გვერდები, იქნება ეწვია. ჩვენ ასევე გვაქვს ამ ნახვა დირექტორია. და შეხედულებები შეიცავს შაბლონები. ეს არის, თუ რა ფუნქცია გამოიტანოს ჩვენ ვნახეთ გაწევა ფუნქცია bunch of PHP კოდი რომ CS50 უკვე დაწერილი თქვენთვის, რომ იღებს გარკვეულ პარამეტრებს. რა, რომ კოდი აკეთებს არის ის შესვლის რაოდენობა, რომლებიც კომპლექტი მოსწონს prewritten HTML კოდი, და ეს ჩასმა ღირებულებები გარკვეულ ადგილებში. ეს არის, თუ როგორ, როდესაც თქვენ წასვლას CS50 ფინანსთა, იგივე header არის ყველა გვერდზე. იგივე ძირი არის ყველა გვერდზე. ეს იმიტომ, რომ გზა რომ გაუწიოს სამუშაოები იგი ყველაფერს ავტომატურად პატჩი რომ ზედა და მაყურებელს, რომელიც შეგიძლიათ ამ ნახვა. ჩვენ, ფაქტობრივად, შეგიძლიათ შეხვიდეთ header და გამოიყურება, ეს HTML ფაილი ხელმძღვანელი. ეს რაღაც stylesheets. თქვენ არ უნდა შევხედოთ CSS ამისთვის pset7 თუ არ გვინდა. მაგრამ თქვენ შეგიძლიათ შეცვალოთ მათ თუ გსურთ, რათა თქვენი ფინანსთა გამოიყურებოდეს ცოტა განსხვავებული. ეს რაღაც PHP in სათაურის ცოტა დაინახოს თუ არსებობს სხვადასხვა სათაური ეს უნდა დააყენოს ამ header. მაგრამ მხოლოდ ზოგიერთი სხვა სკრიპტები, და ბმულები, და სხვა ნივთები. უფროსი დამთავრდა, სხეულის იწყება და oops, ჩვენ გვაქვს ეს უცნაური პატარა ბოლოს ცოტა. და იქ div, ისევე, როგორც უფორმო სახის ელემენტი რომ აქვს იდეა შუა. და მაშინ, როდესაც ჩვენ ვხედავთ, ძირი, ჩვენ ბოლომდე div. ჩვენ გვყავს ბოლოში, რომელიც არის სადაც ძირი ტექსტი. ბოლოს div, ბოლოს სხეულის, ბოლოს HTML. ასე რომ, რა გაწევა არის აკეთებს გაწევა არის ერთგვარი საქართველოს ბებკი up სათაურის, სხვადასხვა PHP ფაილი, რომელიც შეიცავს ფაქტობრივი რამ, რომ თქვენ ნახოთ, ისევე, როგორც თქვენი მაგიდა აქციების იმ შემთხვევაში, თუ ყიდვის ან გაყიდვის აქციების. და მაშინ ყველაფერს დაამატოთ ძირი. და მოდელი კალენდარი კონტროლერი იდეა არის ის, რომ ჩვენ გვინდა გამოვყოთ, თუ როგორ რამ გამოიყურება კოდი. ეს ჩვენ გვინდა, რომ გამოყოფა frontend და backend, სადაც frontend არის პერსონალი, მომხმარებლის ხედავს, ლამაზი visuals-- HTML, CSS, რამ, როგორიცაა, სურათები, და სხვა. და backend არის PHP. ეს არის კოდი რომ წერთ. ეს არის სადაც კოდი, რომელიც აკეთებს ფაქტობრივი ოპერაციებში. ეს არის, როდესაც თქვენ დასძინა საფონდო თქვენს მაგიდასთან, როდესაც თქვენ ყიდულობენ და გაყიდვის, რომ ხერხდება. და ჩვენ შეგვიძლია, როგორც თქვენ ნახეთ, ჩათვლით PHP პირდაპირ HTML. ასე რომ, ჩვენ შეიძლება არ კეთდება ეს დავალება უბრალოდ ჰქონდა HTML ფაილი თითოეული გვერდი, ისევე შესვლა. და მერე, რომ გვერდზე, უბრალოდ ჰქონდა უზარმაზარი ბლოკი PHP კოდი, მათ შორის ყველა კოდი, რომელიც რომ გვერდზე სპეციალურად დასჭირდებოდა. და მაშინ ჩვენ შეგვეძლო გავაკეთეთ, რომ პორტფელი. ჩვენ შეგვეძლო გავაკეთეთ ყველა შევიძენ და გაყიდვის ფარგლებში ინდივიდუალურ გვერდს. იმის გამო, რომ ჩვენ გაწევის ცალ-ცალკე, საიდანაც ჩვენ წერილობით ხერხდება კოდი, ჩვენ შეგვიძლია ადვილად შეცვლის თუ როგორ გამოიყურება გარეშე იცვლება თითოეული ფაილი. ჩვენ გავაკეთოთ რამ, როგორიცაა უბრალოდ დაამატოთ ახალი div ბოლოში of-- გამარჯობა მე შეცვლილია ძირი. შეგიძლიათ უბრალოდ პერსონალის იგრძნობა. მაგრამ ასევე, თქვენ შეგიძლიათ შეცვალოთ მთელი ვიზუალური განლაგება გარეშე გავლენას ახდენს რა არის მიმდინარეობს ხერხდება. თქვენ შეგიძლიათ შეცვალოთ მთელი ხერხდება და მაინც იგი გამოიყურებოდეს ისევე, როგორც ეს ადრე. ეს არის იდეა, მოდელი კალენდარი კონტროლერი. და ეს რეალურად თავსმოხვეული პარადიგმა ზოგიერთ პროგრამირების ენების დაგვჭირდება გამოიყენოს საბოლოო პროექტები. თუ თქვენ iOS განვითარება, მათ აქვთ ნახვა, რაც ხედავთ iPhone, და მაშინ ხერხდება, რადგან, როგორც ცალკე ამბავია. თქვენ შეგიძლიათ ვიფიქროთ ცოტა. არსებობს ბევრი binaries in კომპიუტერული მეცნიერება, რომელიც არის სასაცილო, იმიტომ, რომ ყველაფერი არის ორობითი. მე არ აპირებს, რომ. ეს იყო pun გაუთვალისწინებელი. დიახ, pun განკუთვნილი. მაგრამ, როგორც თ ფაილი და გ ფაილი, არსებობს ბევრი ჰყოფს რამ, რომ ჩვენ შეიძლება არ უნდა. ასე რომ, ჩვენ შეგვიძლია მხოლოდ შეცვალონ თ ფაილი, ან ვინმეს შეგიძლიათ უბრალოდ ვხედავ თ ფაილი და ვიცი ზუსტად ფუნქციები, რომლებიც გ ფაილი გარეშე აუცილებლად იცის მათი განხორციელება. ეს იდეა ჰყოფს კომპონენტები რომ დამოკიდებული ერთმანეთთან მაგრამ შეიძლება ერთგვარი წვდომის ერთმანეთს სხვადასხვა არხები, მიღება ცვლადები, მხოლოდ მოიცავს განცხადებები, რამ როგორც, რომ, ამ პრინციპის ეხმარება შექმნას პროგრამები რომ შეიძლება უფრო ადვილად რედაქტირებული მრავალი ადამიანი, შეიძლება უფრო ადვილად შეიცვალოს ან განახლდა დიდი მასშტაბის, და უფრო ადვილად გამართვის ბევრი გზები. მართლაც სწრაფი, მაქვს რამდენიმე რჩევა pset7, რომელიც მე, რათა სრულ ეკრანზე, ასე რომ თქვენ არ უბრალოდ ეძებს the-- წვერი წვერი tippee. არ არის, რომ ბევრი რჩევა. მაგრამ მე ვთქვი, PHP ძნელია გამართვის. ორადგილიანი და სამადგილიანი შეამოწმეთ იგი. თუ თქვენი კოდი, უბრალოდ არ არის აჩვენებს up გვერდზე, ეს, ალბათ, PHP შეცდომა, ბოდიში. თქვენ არასოდეს არ უნდა შევხედოთ CSS, თუ არ სურთ. მაგრამ ერთხელ თქვენ დასრულდა, ეს შეიძლება იყოს ლამაზი პატარა fun რამ უბრალოდ წავიდეს და სასადილო ერთად CSS პარამეტრებს. CSS და HTML არიან მაგალითად მოდელი კონტროლერი სტილი რამ ძალიან, არა? თქვენ შეიძლება სტილის tags შიგნით HTML ელემენტები. მაგრამ თუ ერთგვარი აუთსორსინგი მათ CSS, ისინი უფრო ადვილად შეცვალონ და სპექტაკლი გარშემო, და არ fun. მკურნალობა CS50 დამხმარე ფუნქციები, როგორც შავი ყუთები. თქვენ არ უნდა იცოდეთ ზუსტად რა გაწევა აკეთებს, მაგრამ მჯერა, რომ ეს ყოველთვის ამის უფლება რამ დამოკიდებულია იმაზე, თუ გაივლის, რამ მოსწონს ეს. და მე გირჩევთ თვალს დავითის walkthrough, გადის ყველა პერსონალის, არა მხოლოდ todos, მაგრამ ნამდვილად შეიძლება მკურნალობა ეს, როგორც შავი ყუთები. არ წასვლას ეს ფუნქციები ეძებს შეცდომებს. და მივესალმო დაბრუნების ჩვენი overlord Zamyla. შესანიშნავი. არსებობს რაიმე საბოლოო კითხვებს ადრე ჩვენ ერთგვარი ახსნას, იმ დღეს? ვარ მე მაინც ცხოვრობს? შესანიშნავი. Hi livestream ადამიანი. შესანიშნავი. არსებობს აღარ კითხვები? არ არის? და მაშინ მე ვფიქრობ, რომ ჩვენ კარგი წასვლა დღეს. მე გამყარებაში გარშემო ცოტა შემდეგ თუ ხალხს კითხვები ისინი შეგეშინდეთ ვთხოვო ნაკადი. მაგრამ სხვაგვარად, აქვს კარგი დღე.