[Powered by Google Translate] [Walkthrough პრობლემა უცნობია 7] [Zamyla Chan] [ჰარვარდის უნივერსიტეტის] [ეს არის CS50] [CS50.TV] გამარჯობა ყველას და მივესალმებით, რომ Walkthrough 7, CS50 ფინანსთა. ახლა ჩვენ ოფიციალურად გაკეთდეს ყველა psets წელს CS50, და ჩვენ უბრალოდ დარჩა კიდევ ერთი რომელიც იქნება გართობა განხორციელების საქართველოს ნახვა, სადაც მომხმარებლებს შეუძლიათ შეხვიდეთ CS50 ფინანსთა და იყიდოს და გაყიდოს აქციები. დღეს, ჩვენ ვაპირებთ რამდენიმე იარაღები ჩვენს ხელთ არსებული. ჩვენ ვაპირებთ ვისაუბრებთ მიცემის უფლებები. როდესაც თქვენ გაქვთ ვებ საქაღალდეში, თქვენ აპირებს გვინდა საშუალებას მომხმარებლებს შეასრულოს გარკვეული ფაილები არამედ მხოლოდ წაიკითხა სხვა პირობა, ამიტომ ჩვენ შევისწავლით ნებართვების და როგორ შეიძლება მითითებული იმ. მაშინ ჩვენ ვაპირებთ შეესწავლათ PHP, HTML, და SQL კოდი. პირველი, ნებართვები. როდესაც თქვენ ტერმინალზე გარკვეული დირექტორია, მაშინ რა გსურთ გააკეთოთ გსურთ აწარმოებს chmod ბრძანება. რაც მოჰყვა ან ასოები ნომრები შესაბამისი რასაც თქვენ ძირითადად გვინდა, რომ მსოფლიომ დაინახოს, თქვენ თავს ვხედავ და ა.შ. მაგალითად, როდესაც თქვენ გაქვთ საქაღალდე, მაშინ მინდა რომ დასტა იყოს შესრულებადი ყველას, რომ ხედავს იგი, ასე რომ თქვენ ყველაფერს გააკეთებს არის, რომ თქვენ შეიძლება აწარმოებს ბრძანება chmod + x და მაშინ მიუთითეთ თქვენი საქაღალდეში. როდესაც თქვენ გაქვთ ფაილი როგორიცაა CSS ფაილი ან ფაილები - მოსწონს JPEGs და bitmaps, რამ, როგორიცაა, რომ, თუ რაიმე JavaScript კოდი - გსურთ, რომ იყოს იკითხება ყველას, ასეა, მაშინ რას აკეთებთ არის შეგიძლიათ WildCard - რაც ვარსკვლავი - to ძირითადად მიუთითებს CSS საქაღალდე - ყველაფერი რომ ფოლდერი -  მე ვაპირებ ვთქვა, რომ იქნება იკითხება ყველას. With უფლებები, როდესაც ჩვენ ვიყენებთ წერილების, ჩვენ ასევე შეგიძლიათ ნომრები ნაცვლად. ასე რომ, თქვენ ხედავთ, რომ საბოლოო ჯამში, როდესაც გსურთ რაიმე იყოს შესრულებადი - რომ წარმოდგენილია ხმების 1 - რაღაც უნდა იყოს იკითხება არის ნომერი 4 და შემდეგ - ჩაწერადი არის რიცხვი 2 - და ა.შ. არსებითად, როდესაც გსურთ მოიცავს იმ, მაშინ დაამატოთ ისინი. თუ გსურთ რაიმე იყოს იკითხება, ჩაწერადი და შესრულებადი, მაშინ იქნებოდა დაამატოთ up 4, 2 და 1 და ეს საშუალებას მისცემს თქვენ 7, მაშინ როდესაც თქვენ გაქვთ საქაღალდე გსურთ რომ იყოს შესრულებადი ყველას - ასევე იკითხება და ჩაწერადი - მაშინ თქვენ გააკეთებთ, რომ 7, ​​1, 1. ეს იქნება 7 თქვენთვის, შემდეგ 1 სხვა ადამიანები. როდესაც თქვენ გაქვთ Spec, ეს კიდე რეალურად მიუთითოს, თუ რომელი ფოლდერები და ფაილი, რომელიც უნდა chmod-ed კონკრეტულად. მაგალითად, როდესაც თქვენ ფოლდერები - ეს ის 7-1-1 - როდესაც თქვენ სურათებით, ან HTML, CSS, JavaScript, მაშინ ის ვაპირებთ იყოს 6, 0, 4 - ან 6, 4, 4 - და მერე PHP ფაილები იქნება 6, 0, 0. იდეა უკან რომ არის, რომ მომხმარებლებს არ უნდა რეალურად ნახოთ თქვენი PHP კოდი, მაგრამ ნახოს გამომუშავება. მშვენიერია მოძრავი შევიდა PHP. უბრალოდ, მაშინ, როცა გნებავთ PHP ფაილი, ფაილის სუფიქსი არის. Php. თქვენ ასევე შეგიძლიათ ავურიოთ ერთად HTML PHP კოდი. თუ თქვენ გაქვთ HTML ფაილი, მაგალითად, მაშინ დაურთოს იგი მარცხენა კუთხე, კითხვის ნიშნის, php - განათავსოთ თქვენი PHP კოდი - და მერე დახურვა, რომ მეორე კითხვის ნიშნის და უფლება კუთხე. ცვლადები PHP-ში ბევრი ადვილია გაუმკლავდეთ ვიდრე ცვლადები in C. ნებისმიერი ცვლადი მხოლოდ იწყება დოლარის ნიშანი წინაშე, და ისინი სუსტად აკრეფილი. ეს იმას ნიშნავს, რომ თქვენ არ გჭირდებათ ფიქრი შექმნის რაღაც ტოლია სიმებიანი ან რიცხვი. შეგიძლიათ უბრალოდ აღნიშნავენ, რომ ეს ჩემი სახელით ცვლადი და მაშინ ეს არის მისი ღირებულება, ასე რომ იქნება უფრო ადვილად გაუმკლავდეთ არსებობს. მეორე ის არის, რომ PHP საშუალებას გაძლევთ გამოიყენოთ ასოციაციური მასივები. შეგიძლიათ უბრალოდ განსაზღვრავს მასივი მოსწონს თქვენ დო იმით, დოლარის ნიშანი-მიუთითეთ თქვენი მასივი-თანასწორები, და შემდეგ კვადრატულ ფრჩხილებში აქვს ძირითადად მხოლოდ სიაში ღირებულებებს ყველა ელემენტების მასივი. მაგრამ, PHP, რასაც თქვენ ასევე შეგიძლიათ გააკეთოთ დააკონკრეტა ძირითადად - ეს სახის მოსწონს ქეშირების ფუნქცია. თქვენ შეგიძლიათ მიუთითოთ ინდექსი - თუ რას აპირებს ეძახით - და შემდეგ, რაც შეესაბამება ღირებულება. თუ თქვენ ნამდვილად კორიდორი = 1, b = 2, c = 3, მაშინ თქვენი მასივი საათზე ინდექსი მისცემდა თქვენ 1. ეს pset იქნება თბილი თქვენ რაიმე PHP in მონაკვეთზე კითხვები, და მაშინ ჩვენ ჩაყვინთვის შევიდა CS50 ფინანსთა. ჩვენ გვყავს რამდენიმე - გვაქვს გარკვეული ფუნქციონალური, ძირითადად, განახორციელოს ამ ნახვა. ჩვენ გვინდა, რომ საშუალებას მომხმარებლებს დაარეგისტრირონ საიტი ჩვენი სახელი და პაროლი. ჩვენ გვინდა, რომ დაუშვებს მათ ეძებოთ ციტირებით, და მაშინ ჩვენ ამობეჭდოთ სახელით რომ ციტირებით ისევე როგორც მიმდინარე ფასი, რომ დროს. ჩვენ გვინდა, რომ საშუალებას იძლევა, რომ ნახოთ პორტფელის ყველა იზიარებს, რომ მათ შეიძინეს დღემდე. ჩვენ ასევე გვინდა დაუშვებს მათ აქციების შესაძენად, აგრეთვე გაყიდონ. და მაშინ საბოლოოდ, ჩვენ გვინდა დაუშვებს მათ ვხედავ ისტორია ყველა გარიგებების, რომ ახალმა მთავრობამ. მაშინ, საბოლოოდ, მას შემდეგ, რაც თქვენ განხორციელებული ყველაფრისა, მაშინ თქვენ თავისუფლად განახორციელონ ერთი დამატებითი ვერსიის. ჩვენ წასვლას იმ. იმ შეიძლება იყოს რომელიც საშუალებას მომხმარებლებს მიიღონ დამატებითი ფულადი მიერ დეპოზიტზე დამატებითი ფულადი, ან თქვენ ვერ დავუშვებთ, რომ შეცვალოს მათი დაგავიწყდათ, ან რამე მაგდაგვარს, ელ მათ მიღებიდან როდესაც ისინი იყიდოთ ან გაყიდოთ საფონდო. არსებობს შეზღუდული სიაში მახასიათებლები, რომ თქვენ შეიძლება განახორციელოს თავის, ასე რომ ბოლო ერთი არსებობს. რადგან ეს არის ნახვა, თქვენ ბიჭები ასევე აქვს ბევრი თავისუფლება საშუალებას Customize იგი. ჩვენ ამას ვაკეთებთ უზრუნველყოფს ზოგიერთი CSS კოდი, მაგრამ თქვენ ნამდვილად თავისუფლად tweak ის, რათა ის გამოიყურება გავალამაზოთ, მაგრამ უდევს ეს ძირითადი ფუნქციონალური ამიტომ ყოველთვის ეხება Spec, რას რეალურად უნდა შეიცავდეს არსებობს. შემდეგ Spec, ჩვენ ვაპირებთ იყოს გამოყენებით ელექტრო ასევე სერვერზე. ეს იქნება ჩვენი ჰოსტინგის ნახვა ჩვენთვის, თავის ადგილობრივ სერვერზე. თუ აღნიშნულ მითითებებს და unzip pset 7 განაწილების კოდი თქვენი ვირტუალური მასპინძელი / ადგილობრივი მასპინძელი საქაღალდეში,  მაშინ შეგიძლიათ უბრალოდ მოინახულებს http://localhost/ in Google Chrome in ელექტრო მოწყობილობების, და მაშინ მიეწვდინა კოდი, სადაც თქვენ წერილობითი pset 7. Pset 7 მოდის bunch განაწილების კოდი, და იმედია we've - მეშვეობით ყველა psets ადრე - მიჩვეული გვაძლევს კითხულობს მეშვეობით განაწილების კოდი, გაგება, თუ რა ფუნქციები უკვე განახორციელა და როგორ შეიძლება რომ ისარგებლოთ იმ და სხვა ფუნქციებს, რომ ჩვენ ვაპირებთ იყოს ახორციელებს. ამ შემთხვევაში, ჩვენ გვაქვს 3 საქაღალდეები. ჩვენ გვყავს HTML საქაღალდეში, მოიცავს საქაღალდეში და თარგები საქაღალდეში. ის, რასაც ჩვენ ვაპირებთ იყოს აკეთებს ამ pset არის სახის ჰყოფს აზროვნების - პროგრამირების აზროვნების - საქართველოს PHP კოდი, რომელიც რეალურ ვიზუალური ასპექტი. ჩვენ გვაქვს ერთი PHP ფაილი, რომელიც იყენებს ყველა იმ აზროვნების, ნათქვამია მონაცემთა ბაზაში, ბეჭდავს out რამ, აქვს თუ განცხადებები - რამ, როგორიცაა, რომ - და შემდეგ რომ ყველაფერს გაივლის მონაცემები ჩვენს შაბლონის - ან template.php ფაილი. რა, რომ ყველაფერს გააკეთებს წაკითხვის მონაცემები და მაშინ ამობეჭდოთ. ჩვენ შეგვიძლია მკურნალობა თარგები როგორც "მუნჯი" რომ ჩვენ ნამდვილად არ გვინდა, რომ უნდა აკეთებს ბევრი სამუშაოა გაანგარიშების რამ. ჩვენ გვინდა ჩვენი კონტროლერები გაგვაჩნია. ცოტა რომ - მოდით შევხედოთ ზოგიერთი განაწილების კოდი. აქ ჩვენ გვაქვს ჩვენი index.html ფაილი და ეს საკმაოდ ცარიელი. არსებითად, თუ რას აკეთებს - ნათქვამია, ისევე, მე ვაპირებ მოითხოვს configuration.php ფაილი. ჩვენ ვერ ვხედავთ, რომ უფლება არსებობს, მაგრამ ძირითადად მოუწოდებენ configuration.php ფაილი, და შესრულებაში, რომ. შემდეგ ეს იმას, რომ ის აპირებს გაუწიოს პორტფელში. ვიზუალიზაცია ფუნქცია, ასე რომ როდესაც ჩვენ წელს კონტროლერი, ჩვენ მოვუწოდებთ Render, ჩვენ მივცემ ეს ფაილი და შემდეგ მონაცემები, რომ ჩვენ გადადის, ისე, რომ იგი ყველაფერს ზარები portfolio.php--სახის კორიდორი, რომ მონაცემები, ასე რომ პორტფელის შეგიძლიათ გაუმკლავდეთ რომ. და ახლა, აქ, ჩვენ გვაქვს ჩვენი login.php ფორმით.  ეს არის კონტროლერი რომ ძირითადად ზრუნავს ხე შემოსული აქ, ის ამოწმებს, თუ ფორმით იყო წარმოდგენილი ამ ფაილზე და ეხება Validating წარდგენის. ჩვენ შევისწავლით ამ ბოდიში ფუნქცია. როდესაც ჩვენ გვინდა ამობეჭდოთ შეცდომა, ჩვენ ვიყენებთ ბოდიშს და რომელიც გადამისამართება მომხმარებელს კონკრეტული გვერდი რომელიც ამობეჭდოთ კონკრეტული შეცდომა რომ ჩვენ მიუთითოს. გაგრძელებით, ის შეკითხვის მონაცემთა ბაზა - we'll შეღწევას უფრო მოგვიანებით. მაშინ თქვენ დაინახავთ, რომ ქვევით აქ თუ ფორმა არ იყო წარდგენილი, მაშინ უწევს ფორმით. ეს იმას ნიშნავს, რომ ღებულობენ login_form.php, მოდით შევხედოთ, რომ. Login.php ფაქტიურად, სადაც ჩვენ ვხედავთ HTML ეწევიან ფაქტიურ ვიზუალური ასპექტი. აქ input ჭდის მომხმარებლის სახელი, შეყვანის მიზნით დაგავიწყდათ, ასევე submit ღილაკს. სწორედ პრაქტიკულად სადაც ვიზუალური ასპექტი და HTML ფორმა აპირებს გაიმართება. აქ ნათქვამია, რომ ეს იქნება მიერ წარდგენილი გარკვეული მეთოდი, რომელსაც ეწოდება პოსტი. ჩვენ შეღწევას განსხვავებები მეთოდები - პოსტი წინააღმდეგ კიდევ, არსებობს ასევე რაღაც მოუწოდა დააყენა - ჩვენ შეღწევას იმ მეთოდებს შემდეგ, არამედ ინტერესი ამ pset, მინდა უაღრესად გირჩევთ გამოიყენოთ პოსტი. ჩვენ ვიცით, რომ ძირითადად ერთხელ ეს ფორმა არის წარმოდგენილი - საწყისი login_form.php-- მაშინ წავა აქცია - login.php-- ძირითადად გაივლის ყველა იმ პარამეტრების იმ ფორმებს შევიდა login.php. შედეგები რომ ფორმა მათ შეიცავს ამ პოსტის ასოციაციურ მასივში. ინდექსების სხვადასხვა ელემენტების პოსტი მასივი არის ზუსტად ის, რაც თქვენს მიერ მითითებული აქ. თქვენ ამბობთ, რომ სახელი ამ შეყვანის არის სახელი. სახელი ამ ერთი პაროლი. ანალოგიურად, ხედავთ ნიკი როგორც მაჩვენებელი ასოციაციურ მასივში არსებობს. თუ ჩვენ წასვლა შედის საქაღალდეში, ჩვენ გვაქვს ამ ფუნქციების ფაილი რომელიც იქნება ძალიან სასარგებლო. ყველა ეს ფუნქციები რეალიზებულია თქვენთვის. თქვენ არ გჭირდებათ კონკრეტულად განხორციელდეს ყველა ამ თავს, მაგრამ ისინი აპირებენ საკმაოდ სასარგებლო. ჩვენ ბოდიშს, რომელიც როგორც ვთქვი, ძირითადად ამობეჭდოთ შეცდომა თქვენთვის კონკრეტულ გვერდზე - apology.php. მაშინ ჩვენ გვაქვს ნაგავსაყრელი ასე რომ, თუ თქვენ უბრალოდ მოვუწოდებ ნაგავსაყრელი და შემდეგ გაივლის წელს ცვლადი, მაშინ მოუტანს თქვენ გვერდზე, რომელიც ცარიელია, რომ ცვლადი თქვენთვის. მაშინ ჩვენ გამოსვლის, რომელიც ძირითადად დასრულდება გარკვეული მომხმარებლის სხდომაზე. საძიებელი იქნება სასარგებლო. მას შემდეგ, რაც ჩვენ საქმე გვაქვს შეთავაზებები და აქციების, ჩვენ ვაპირებთ შეძლებენ - და ეს არსებითად რეალურ დროში. ჩვენ უნდა ვიცოდეთ რა იმ საფონდო ღირებულებები, ამიტომ ჩვენ გვაქვს საძიებელი ფუნქცია, რომელიც ეხება Yahoo-ს დოკუმენტაცია აქციების. ერთხელ თქვენ ეძებოთ ერთგვარი სიმბოლოა საფონდო, დაუბრუნდება თქვენ საფონდო სიმბოლო ასევე სახელი და მიმდინარე ფასი, რომ საფონდო. სწორედ lookup ფუნქცია. მაშინ ჩვენ საქმე გვაქვს MySQL, ამიტომ ჩვენ ვაპირებთ იყოს სურვილს შეასრულოს გარკვეული queries ჩვენს SQL მონაცემთა ბაზაში. ჩვენ გვყავს შეკითხვის გაუმკლავდეს - მდე სახის რეზიუმე ზოგიერთი რომ. ჩვენ ვაპირებთ იყოს ავლით მთელ string ჩვენი SQL query - და ყველა ცვლადები, რომ წავიდეს ეს - და რა ეს იმას რეალურად შეასრულოს, რომ ჩვენთვის. იმის მაგივრად რომ დაწერა ეს ყველაფერი გარეთ ყოველ ჯერზე, რომ თქვენ გსურთ შეკითხვის - მიერ მიღების ყველა შედეგებს, რომ შეკითხვის - მაშინ შეგიძლიათ უბრალოდ მოვუწოდებ შეკითხვის ფუნქცია, და ეს კიდე დაბრუნდება თქვენ - დამოკიდებულია თუ რას იყენებს თქვენს შეკითხვაზე - ალბათ გრაფაში ყველა შედეგი, რომელიც ემთხვევა მოთხოვნის, ან მსგავსი. უფრო მოგვიანებით, თუმცა. და ბოლოს, ჩვენ გვაქვს გადამისამართება რომელიც, როგორც სახელი ვარაუდობს, გადამისამართებების თქვენ სხვადასხვა გვერდზე. და მაშინ ჩვენ გვაქვს სივრციდან, რომელსაც ჩვენ ვაპირებთ იყოს მოუწოდებდა რამდენჯერმე. როდესაც თქვენ კონტროლერი, რეკავთ გაწევა შევიდა თარგის გვერდზე და მაშინ კორიდორი ღირებულებებს რომ თარგი შემდეგ გაუმკლავდეთ. ამ ფასეულობების ალბათ იქნება საქმე გაცნობის გამომავალი რომ გსურთ უნდა იყოს ნაჩვენები თქვენი თარგი გვერდზე. Okay. ეს ის ფუნქციები, და არსებობს კიდევ ბევრი ამ განაწილების კოდი. მე მოგიწოდებთ თქვენ გავლა და შესწავლას თავს. ასევე, სპეც ალბათ ფეხით თქვენ მეშვეობით ზოგიერთი სხვა ელემენტების განაწილების კოდი. აქ არის მოკლე ფუნქციების ნაპოვნი functions.php. Okay. პირველი ამოცანაა, საშუალებას მომხმარებლებს დარეგისტრირდეთ ნახვა. სწორედ ახლა არის შესვლის ფორმა on ნახვა, და თქვენ უზრუნველყოფილი რამდენიმე მომხმარებლების პაროლები. თქვენ შეგიძლიათ გამოიყენოთ ის სახელისა და რეგისტრაციას, მაგრამ გსურთ ხალხს საკუთარი სახელისა და დაამატოთ თავს ნახვა. განლაგება რეგისტრაციის საკმაოდ მსგავსი შესვლის ფორმა, გარდა ნიკი არ არის ადრე არსებული, და მომხმარებლის ასევე სჭირდება უზრუნველყოს ახალი პაროლი და მაშინ, როგორც წესი, ჩვენ გვაქვს პაროლის დამოწმება. ერთხელ მომხმარებლის საშუალებებით ყველა ამ ინფორმაციის, ჩვენ გვინდა დაამატოთ ისინი ჩვენს ბაზაში მომხმარებლებს. ჩვენ ვაპირებთ აქვს მონაცემთა ბაზა - SQL მონაცემთა ბაზაში - რომ ჩვენ ვაპირებთ მითითება. ამ ბაზაში, გვექნება მაგიდასთან ყველა მომხმარებლებს შემცველი მათი სახელი, მათი პაროლი და ასევე რამდენად ნაღდი აქვთ. რეგისტრაცია, ჩვენ გვინდა დაუშვებს მათ შემოსვლა ამ ინფორმაციას. ჩვენ გვინდა, რომ არიან ფორმით. ჩვენ გვინდა დავრწმუნდეთ, რომ მათი დაგავიწყდათ - რომ ისინი შევიდნენ ერთ, ხოლო შემდეგ ასევე, რომ პაროლები ემთხვევა, როდესაც ისინი შეიყვანოთ იგი ორჯერ. შემდეგ ყველა რომ კეთდება - თუ ვთქვათ, რომ იმ შეცდომების მოწმდება - მაშინ ჩვენ გვინდა დაამატოთ იმ წევრებს ჩვენს მონაცემთა ბაზაში. და ბოლოს, ერთხელ თქვენ დარეგისტრირებული, ეს საკმაოდ მოსახერხებელია, თუ თქვენ არ გჭირდებათ, შედით ერთხელ ერთხელ თქვენ დარეგისტრირებული, ამიტომ ჩვენ ვაპირებთ, რომ შეხვიდეთ მათ უნდა ნახვა, თუ ისინი რეგისტრირებული წარმატებით. პირველი ამოცანაა არიან ფორმით, და ეს არის რეალურად იქნება - ეს მთელი რეგისტრაციის პროცესი იქნება მოდელირებული საკმაოდ მჭიდროდ შემდეგ შესვლა გარდა ნაცვლად login.php თქვენ ალბათ register.php. ნაცვლად login_form.php--რომელიც თარგი - თქვენ არ რეგისტრაცია ფორმით. თქვენ გსურთ დაამატოთ კიდევ ერთი საველე - პაროლის დადასტურება სფეროში - ნაცვლად მხოლოდ ერთი სახელი და ერთი პაროლი. შემდეგი, ჩვენ გვინდა შევამოწმოთ თუ არა პაროლები ემთხვევა ან ცარიელი. ჩვენ გვყავს კონტროლერი - register.php--რომელიც აპირებს იზრუნოს აკეთებს ამ ჩეკებით. როდესაც ფორმით წარედგინება მეშვეობით პოსტი მეთოდი, მაშინ ყველა იმ ცვლადების შეიცავს პოსტი მასივი. თქვენ გვინდა დავრწმუნდეთ, რომ პოსტი მასივი ღირებულება ინდექსი დაგავიწყდათ სიას დადასტურება ელემენტს. თქვენ გვინდა დავრწმუნდეთ, რომ ისინი არ არიან ცარიელი, და თქვენ გვინდა დავრწმუნდეთ, რომ ისინი იგივე. ერთი მოხერხებული რამ შესახებ PHP არის, რომ ჩვენ არ უნდა გამოვიყენოთ სიმებიანი შედარების უქმნით. ჩვენ შეგვიძლია გამოვიყენოთ შეადგენს-უტოლდება ოპერატორი  რათა შეამოწმოს თუ არა სტრიქონები ტოლია ერთმანეთს. ამისთვის შეცდომის გამოტანას, თქვენ გსურთ ბოდიშს. ბოდიშს, თქვენ უბრალოდ დარეკეთ ფუნქცია  და შემდეგ მიუთითე გაცნობის გაგზავნა, რომ გსურთ გამომუშავება. მაშინ მინდა რომ დაამატოთ მომხმარებელს მონაცემთა ბაზაში. დღემდე, ყველა ჩვენ ვაკეთებთ მხოლოდ საქმე ადგილობრივად შედეგების ფორმით. ახლა ჩვენ ნამდვილად გინდათ დაამატოთ ისინი ჩვენს ბაზაში. ამისათვის ჩვენ პირველ გვინდა დავრწმუნდეთ, რომ სახელი არ არის ცარიელი. გვესმის, რომ on ნახვა, შეგიძლიათ არ აქვს მრავალჯერადი მომხმარებლებს იგივე სახელი, ასე რომ თქვენ გვინდა დავრწმუნდეთ, რომ როდესაც თქვენ ჩადეთ რამე თქვენს მონაცემთა ბაზაში - ჩადეთ ახალი ხარ - მერე შენ არ მიიღოთ შორის კოლიზიის ადრე არსებული ნიკი და ნიკი, რომ მომხმარებელი ცდილობს წარმოადგინოს. ამისათვის კიდევ თქვენ შეასრულოს შეკითხვის - ჩასმა გარკვეული მომხმარებლის თავიანთი სახელით და საწყის ოდენობას ფულადი - ერთხელ რეკავთ, რომ ფრაზა, მაშინ mySQL რეალურად დაბრუნებას ცრუ თუ იგი არ. სტრუქტურა მომხმარებლებს არის ისეთი, რომ სახელი არის უნიკალური ღირებულება, ასე რომ თქვენ შეგიძლიათ არ აქვს ერთზე მეტი. როდესაც თქვენ ცდილობენ და ჩადეთ ახალი row ერთად ნიკი რომ უკვე არსებობს, რომ დაბრუნებას აპირებს ცრუ - როგორც ლოგიკური მნიშვნელობა false. სახიფათო რამ აქ არის ის, რომ თქვენ გსურთ შეამოწმოთ, თუ შედეგი არის შედეგი თქვენს შეკითხვაზე. თუ ეს ვერ მოხერხდა, მაშინ თქვენ გსურთ შეამოწმოთ ერთად TRIPLE-უტოლდება ოპერატორს. რომ რეალურად აპირებს შეამოწმოს არის თუ არა უკმარისობა ან არ, ამასთან, რაღაც მარტივი შეადგენს-უდრის, ეს იქნება ნამდვილი თუ ზედიზედ ცარიელი იყო. შედეგად მარცხი თუ შეჯახება შორის სახელისა არის ფაქტობრივი ცრუ ღირებულებით. აი, როგორ უნდა რომ INSERT INTO მონაცემთა ბაზაში. აქ არის შეკითხვის რომ თქვენ აწარმოებს მკაცრად in SQL. ერთი რამ არის, რომ თქვენ შეგიძლიათ რეალურად წასვლა ნახვა, რომ ახერხებს თქვენი SQL მონაცემთა ბაზაში და ითამაშოს გარშემო იქ შესვლის ხელით ან ღირებულებები ან რიგები. იგი დაბეჭდავს რა SQL გამომუშავება. თქვენ ასევე შეგიძლიათ აწარმოებს SQL ბრძანებები ფარგლებში თქვენს მონაცემთა ბაზაში  და მერე ვნახოთ, რა სინტაქსი შეიძლება იყოს, და შემდეგ თარგმნოს რომ შევიდა შეკითხვის ფუნქცია რომ გვაქვს pset 7, რაც იქნება ძალიან ჰგავს queries რომ თქვენ რეალურად აწარმოებს. თუ მინდოდა ჩადეთ ახალი row ჩემს მომხმარებლებს მაგიდა, მაშინ მინდა დააკონკრეტა INSERT INTO მომხმარებლებს, რომელიც სახელს ჩემი მაგიდა. მაშინ მინდა დააკონკრეტა მწკრივები. მერე გაუწევს ღირებულებებს ერთად ჩემი პაროლი. პაროლები ჩვენს მომხმარებლებს მაგიდასთან არ ინახება როგორც მხოლოდ სიმებიანი. ისინი ინახება როგორც დაშიფრული ვერსია, ასე რომ თქვენ გსურთ აწარმოებს ფუნქცია საძვალე მხოლოდ რეალურად დაგავიწყდათ, და რომ მოგცემთ სწორი ტიპის შენახვისა და მომხმარებლებს მასივი. Running ეს ხელს ჩადეთ ახალი row თქვენს მომხმარებლებს მაგიდასთან. გამკლავება შეკითხვის ფუნქცია, მანამდე C გამოვიყენეთ პროცენტს ნიშნად placeholder. ანალოგიურად, იგივე კონცეფცია placeholder ვრცელდება აქ. With ფრაზა, თქვენს მიერ მითითებული მთელი ფრაზა, გარდა როდესაც თქვენ საქმე ცვლადები, როგორც თქვენი წვლილი შეკითხვის, მაშინ ნაცვლად რეალურად აყენებს მათ შიგნით - მოეწონა, როცა ჩვენ გვქონდა printf განცხადებებს C. ჩვენ მისთვის სიმებიანი და შემდეგ აქვს placeholder არსებობს, და შემდეგ ყოველი მძიმე, მიუთითოს, თუ რომელი ცვლადი გვქონდა. აქ, ჩვენ ვაპირებთ გამოვიყენოთ კითხვის ნიშნის ნიშნად ჩვენი placeholder და შემდეგ გაივლის თითოეულ ცვლადი, შესაბამისად, იმისათვის, რომ placeholders - სადაც ცვლადები უნდა წავიდეს. ასე რომ აქ, პირველი კითხვის ნიშნის იქნება შეცვალა ფაქტობრივი ნიკი მაშინ მეორე კითხვის ნიშნის მიერ დაგავიწყდათ. მაშინ საბოლოოდ, ერთხელ თქვენ დარეგისტრირებულ მათ და დასძინა, მათ მონაცემთა ბაზაში, მაშინ თქვენ გსურთ სისტემიდან მათი ნახვა. ჩვენ გვყავს სახის სუპერ გლობალური ცვლადში სხდომაზე. სხდომა იღებს გარკვეულ id, და რომ id შეესაბამება მომხმარებლის რომ გაკეთებული ხართ შემოსული რა თქვენ ჩვენ უნდა მოვძებნოთ რაც მათი მომხმარებლის ID არის და შემდეგ მითითებული, რომ იდ როგორც კონკრეტულ მომხმარებლის id. ფუნქცია, რომ თქვენ გინდათ გამოიყენოთ აქ არის SQL ბრძანება რომ დაიბრუნებს ბოლო ჩასმული ნომერი თქვენი მაგიდასთან. მაშინ რიგები იქნება მოვუწოდებთ - it'll მოვუწოდებთ id - it'll მივანიჭოთ სახელი ნომერზე რომ ის დააბრუნებს. ეს კიდე მოვუწოდებთ რომ id. ახლა ჩვენ დავამთავრე რეგისტრაცია, და ჩვენ შეგვიძლია გადაადგილება ციტატას. Quote საშუალება ეძლევა შეყვანის სახელით გარკვეული მარაგის, და მაშინ გვექნება დაბრუნების თვისებებს, რომ საფონდო. რა თქვენ გსურთ აქ აქვს კონტროლერი და ზოგიერთი თარგები. ამ შემთხვევაში, ჩვენ ვაპირებთ აქვს კონტროლერი რომელიც აპირებს ყველა აზროვნების ჩვენთვის. იგი აპირებს გამოიყურებოდეს up სიმბოლო და შემდეგ კორიდორი ფასეულობები თარგები რომელიც ამობეჭდოთ. ჩვენ ვაპირებთ აქვს 2 თარგები აქ. ჩვენ ვაპირებთ აქვს 1 თარგი, რომელიც უზრუნველყოფს ფორმა, რომელშიც მომხმარებლებს აპირებენ შეყვანის სახელით საფონდო - სახელით წილი. მაშინ ჩვენ ასევე ვაპირებთ მინდა კიდევ ერთი თარგი რომელიც აჩვენებს იმ ღირებულებებს. შეგიძლიათ შეესწავლათ შესვლა ამისთვის მაგალითი თუ როგორ იქნებოდა ფორმა, რომელიც იღებს შეყვანის, გარდა, ჩვენ მხოლოდ გვსურს 1 სფეროში. ჩვენ არ გვინდა სახელი და პაროლი სფეროში. ჩვენ გვსურს მხოლოდ 1 ველში, რომელიც საშუალებას აძლევს მომხმარებელს input სახელით გარკვეული მარაგის. მაშინ გსურთ გაგზავნას რომ მონაცემები - ერთხელ თქვენ არ ჩანდა, რომ საფონდო - to quote_form.php. Lookup დაბრუნდება სიმბოლო საფონდო, სახელი, და ფასი. ეს არის შეზღუდული შეიცავს ასოციაციურ მასივში. დააკვირდით up lookup ფუნქციის შიგნით functions.php დამატებითი ინფორმაციისათვის დაბრუნების შესახებ სახის იმ. მშვენიერია ასე რომ მაშინ საბოლოოდ, თქვენ გინდათ რომ გამოაჩინოთ საფონდო ინფორმაციას. თქვენ გვინდა ალბათ არიან - you'll გინდათ შესვლა იმ ცვლადების. მას შემდეგ რაც ფასის ცვლადი - ასევე სახელი და სიმბოლო - მაშინ თქვენ გინდათ რომ გამოაჩინოთ იმ თქვენს თარგი გვერდზე. რომ თარგის გვერდზე შეიძლება ეწოდოს show_quote.php ან რამე. შენი quote.php გვერდზე იქნებოდა გაწევა შოუ ციტირებით და შემდეგ გაივლის ყველა იმ ღირებულებებს. მაშინ თქვენს PHP გვერდზე, თქვენ ნამდვილად ბეჭდვა იმ ღირებულებების HTML ასპექტი გვერდზე. თქვენ უბრალოდ გამოიყენოთ ბეჭდვითი ფუნქცია და კორიდორი ფასი. 2 გზა არსებოსბს - თქვენ შეგიძლიათ concatenate იგი dot ოპერატორი, ან გამოიყენოთ placeholder. მომხმარებლებს საბოლოოდ ვაპირებთ იყოს ყიდვის და გაყიდვის აქციების. ჩვენ გვინდა, რომ მათ გარკვეული გზა ხედავს ყველა აქციების, რომ გაკეთებული აქვს. ჩვენ ვაპირებთ, რომ მოვუწოდო, რომ მათი პორტფელის. პორტფოლიო იქნებოდა, სავარაუდოდ, თითოეული მომხმარებელი, მოიცავდეს bunch of რიგების ჩამონათვალია გაცნობის წილი, რომ მათ აქვთ და შემდეგ რამდენი იმ აქვთ. ჩვენი არსებული მაგიდა - ახლავე გვაქვს მომხმარებლებს მაგიდასთან ჩვენს ბაზაში. რომელიც შეიცავს მომხმარებლის სახელი ასევე მათი სახელით და რამდენად ნაღდი აქვთ. იქ არ არის რეალური გზა შენახვა ყველა მათი აქციების ფარგლებში, რომ. ეს იმას არ ნიშნავს, რომ ჩვენ ჩადეთ ახალი სვეტების ყველა საფონდო. ეს იქნება ძალიან, ძალიან დიდი ხნის row იმიტომ რომ ჩვენ გვაქვს უსასრულო რაოდენობა საქართველოს ტიპის აქციების რომ მათ შეეძლოთ. ასე რომ, ნაცვლად, რაც ჩვენ გავაკეთებთ არის იმავე მონაცემთა ბაზაში, გვექნება მომხმარებლებს მაგიდასთან, მაგრამ შემდეგ ჩვენ ასევე გვაქვს პორტფელის მაგიდასთან. პორტფელის მაგიდასთან იქნება აუცილებლად უკავშირდება მომხმარებლებს მაგიდა, არამედ პორტფელი მაგიდაზე სტრუქტურა ექნება საფონდო ინფორმაციით, რამდენი აქციების საფონდო რომ მომხმარებელს აქვს, ისევე როგორც მომხმარებლის კონკრეტულ ნომერი. თქვენ გაქვთ მომხმარებლებს მაგიდასთან, რომელსაც აქვს id ასევე სახელი, hash - რაც დაგავიწყდათ, დაშიფრული პაროლი - და შემდეგ თანხის ნაღდი აქვთ. ნომერი იქნება უკავშირდება id ნომრის პორტფელის. პორტფელის დიდი სიამოვნებით აქვს სიმბოლო საფონდო ასევე აქციები - პუნქტების აქციების რომ საფონდო რომ მომხმარებელს აქვს. ამ პორტფელის მაგიდასთან თქვენ ექნება ძირითადად ყველა აქციების გააჩნდა ყველა მომხმარებლებს თქვენს საიტზე. მოგვიანებით, დაზუსტება მხოლოდ გარკვეული მომხმარებლის აქციები - მხოლოდ მათი პორტფელის - თქვენ ამას ვიღებ ფასეულობათა თქვენი პორტფელის მაგიდა ისეთი, რომ ნომერი არის სპეციფიკური რომ მომხმარებელს. როდესაც თქვენ არიან პორტფელი, თქვენ გსურთ ანგარიშს თითოეული აქციათა მომხმარებლის პორტფელის. თქვენ გსურთ ანგარიშს რაოდენობის აქციები და მიმდინარე ღირებულება იმ აქციების. რომ მიმდინარე ღირებულება იმ აქციების არ არის შენახული პორტფელის მაგიდა იმიტომ, რომ იქნება განახლება - მინიმუმ - ყოველ დღე Yahoo. მისაღებად, რომ ინფორმაციას, ვერ მითითებას, რომ თქვენი SQL შეკითხვა. რა ფუნქცია უზრუნველყოფს, რომ ჩვენთვის? რა ფუნქცია მიიღებს ფასი? სწორედ lookup, ისე გამოყენებით lookup კონკრეტულ სიმბოლო მოგცემთ უამრავ ინფორმაციას. ეს მოგცემთ 3 ცალი ინფორმაციას - სახელი, სიმბოლო, ისევე როგორც ფასი. ერთხელ თქვენ საძიებელი ერთგვარი სიმბოლოა, მაშინ შეგიძლიათ მიიღოთ ფასი, და შემდეგ შეგიძლიათ გამოიყენოთ ფასი უნდა აისახოს თქვენი პორტფელის. პორტფელის ასევე უნდა ცარიელია მომხმარებლის მიმდინარე ფულადი ბალანსი. ამ სფეროში ინახება განმავლობაში თქვენი მომხმარებლებს მაგიდასთან. ასე რომ მაშინ დამახსოვრების როგორ ჩვენ ძირითადად მქონე - ჩვენ განსხვავებული ტიპის PHP ფაილი. ჩვენ ვაპირებთ აქვს კონტროლერი რომელიც ძირითადად ყველაფერს აკეთებს აზროვნების თქვენთვის. და მაშინ ჩვენ გვაქვს თარგი რომელშიც თარგი ეხება outputting მონაცემები. თქვენ უნდა ვიფიქროთ, თუ რა ცვლადები კონტროლერი უნდა მიიღოს სისტემაში თუ ჩვენ საქმე გვაქვს პორტფელის რომელიც შედეგები ყველა სახელი, სიმბოლო, და წილი ნომერი, ასევე მიმდინარე ფასი საფონდო, მაშინ თქვენ გსურთ იპოვოთ გარკვეული გზა ძირითადად გავლით in - შეგიძლიათ კორიდორი მასივი ღირებულებებს, რომელიც ემთხვევა, რომ. მოდით წასვლას მაგალითია, თუ როგორ შეიძლება გამოითხოვოს ყველა აქციების საკუთრებაში არსებული კონკრეტული მომხმარებლის. ეს არ არის საქმე - გაუკეთებია - ის ფასად საფონდო. რა ამ ყველაფერს გააკეთებს არის აწარმოებს შეკითხვა. იგი მიიღებენ სიმბოლო ისევე როგორც აქციები - მე მოუწოდებდა ამ მაგიდასთან, მაგრამ ამ შემთხვევაში რას უნდა იყოს? რა სახელით მაგიდა, რომ ჩვენ საქმე გვაქვს, რომელსაც აქვს სიმბოლო და აქციების კონკრეტული ხარ? ეს არც მომხმარებლებს ან პორტფელის. პორტფოლიო. რა ამ ყველაფერს გააკეთებს არის შეკითხვის პორტფელის სიმბოლიკა და აქციების კონკრეტული მომხმარებლის. აქ, მე ვამბობ, (SELECT სიმბოლო, აქციები tbl - მაგრამ ნაცვლად მაგიდასთან, თქვენ აპირებს შეცვალოს, რომ პორტფელის. "სად არის ძირითადად ჩემი მდგომარეობა. მე ვამბობ, მე მხოლოდ გვინდა იმ ასოციაციურ კოლექტორები, რომელიც შეესაბამება  ამ შემდეგ მდგომარეობა - პირადობის შეადგენს.  მაშინ მე აყენებს placeholder იქ და მერე იდ. რა ამ ყველაფერს გააკეთებს არის ამბობენ თითოეული მწკრივი წელს რიგები. ეს არის სუფთა გზა ნაცვლად რეალურად მქონე შექმნას ამისთვის loop რომ iterates მეტი ყველა მაჩვენებლებით, მაშინ PHP შეგიძლიათ for-თითოეული მარყუჟის. თუ თქვენ გაქვთ მოცემული მასივი, მაშინ შეიძლება ითქვას, მე ვაპირებ მოვუწოდო ყველა თანმიმდევრული ელემენტს - მე ვაპირებ მოვუწოდო ყველა ელემენტს ეს სახელი. ასე რომ, ყოველი ერთი ამ ელემენტების, მე ვაპირებ მოვუწოდო მათ ამ, მაშინ მე შემიძლია ამის გაკეთება. ამ თითოეული, თქვენ გაქვთ რიგები როგორც თქვენი ფაქტობრივი მასივი, და თითოეული მწკრივი თქვენ ვაპირებ მოვუწოდო row. ყოველ ჯერზე მას ახორციელებს ორგანოს, იგი წავა და ის იქნება რიგის განახლება მომდევნო ელემენტს რიგები. ახლა თვალსაზრისით ყიდვის აქციების, რაც ჩვენ გვსურს რომ არის კიდევ საფონდო რომ მომხმარებლის სურს შეიძინოს და წილი, რომ მომხმარებლის სურს იყიდოს, შემდეგ კი - თუ უნდათ - დავამატებთ, რომ საფონდო მათი პორტფელის. ცხადია, თუ ისინი ყიდულობენ რაღაც, მაშინ რომ აპირებს შეამციროს ფულადი თანხა აქვთ, ისე, რომ აპირებს შეამციროს მათი ფულადი. ჩვენ ვაპირებთ იყოს საქმე განახლებაზე პორტფელის ასევე მომხმარებლებს მაგიდა, რომელიც შეიცავს ნაღდი. მაგრამ პირველი, თქვენ უნდა მიიღოს ფაქტობრივი საფონდო და წილი, რომ მომხმარებლის სურს. ამისათვის დაგჭირდებათ HTML ფორმა, რომელიც ითხოვენ სიმბოლო საფონდო რომ გსურთ შეიძინოთ ასევე რიგი აქციების. მაშინ თქვენ გსურთ დაამატოთ. თქვენ უნდა აირჩიოთ გარკვეული ღირებულებები. ჩვენ გავიარეთ ეს ცოტა უკვე, მაგრამ როდესაც თქვენ ცდილობთ მიიღოს გარკვეული რიგების - ვიღებ გარკვეული რიგების საწყისი SQL მაგიდა, ეს არის შემდეგი სინტაქსის. თქვენ არ აირჩიოთ და თუ თქვენს მიერ მითითებული ვარსკვლავი, რომ ყველაფერს ძირითადად დაბრუნებას მთელი, მთელი მწკრივი თქვენთვის. მერე ისევ, თქვენ გაქვთ მდგომარეობა, სადაც, და შემდეგ თქვენს მიერ მითითებული - მე მხოლოდ მინდა ნიკი უნდა იყოს ტოლი გვერდის-ში, ასე იგი მხოლოდ ვიღებ row მომხმარებლების რომ შეესაბამება გვერდის-in. როდესაც მომხმარებელი სურს დაამატოთ წილი პორტფელში, თქვენ უნდა შეამოწმოთ რამდენიმე შეცდომები. თქვენ გვინდა დავრწმუნდეთ, რომ მომხმარებელს შეუძლია რეალურად გვაქვს საფონდო, ასე რომ თქვენ გსურთ შეამოწმოთ მათი ფულადი. მანამდე, ჩვენ გამოყენებული ვარსკვლავი ვიღებ მთელი მწკრივი საწყისი SQL მაგიდასთან. მაგრამ აქ, შეგვიძლია რეალურად მხოლოდ დააკონკრეტა, რომ მე მხოლოდ მინდა 1 ღირებულება - მე მხოლოდ მინდა ნაღდი. ასე რომ აქ, ეს იქნებოდა დაბრუნების ფულადი თანხა მომხმარებელი ნომერი 1. თუ მომხმარებლის უკვე შეიძინა გარკვეული მარაგის მაგრამ შემდეგ ყიდულობს უფრო, რომ საფონდო, მაშინ თქვენს პორტფელის - თქვენ არ გსურთ ცალკე ხაზი, მეორე რიგის რომ შეიცავს, რომ ახალი გარიგება. თქვენ ნამდვილად გინდათ განაახლოთ თანხა. ყველა რომ იცვლება ნამდვილად არის წილი, რომ მომხმარებლის ფლობს. თუ იყენებთ INSERT INTO შეკითხვის - ასე უბრალოდ ჩადეთ თქვენი პორტფელის ყველა ამ ღირებულებებს - მომხმარებლის ნომერი ისევე როგორც სიმბოლო საფონდო რომ ისინი ყიდულობენ და აქციების, მაშინ თქვენ ასევე მინდა დააკონკრეტა, ასევე, თუ გადაეყარონ დუბლიკატი გასაღები - ამ შემთხვევაში, დუბლიკატის გასაღები არის არა მხოლოდ მომხმარებლის id არამედ საფონდო სიმბოლო - იმიტომ, რომ თქვენ შეუძლია, - ჩვენი შენობა არის, რომ თქვენ შეგიძლიათ მხოლოდ 1 row  რაც შეესაბამება 1 კონკრეტული სიმბოლო. ასე რომ, მე დუბლიკატი გასაღები - თუ გადაეყარონ შეჯახების იქ - თქვენ მხოლოდ აპირებს განაახლოს აქციების მისი ახალი მნიშვნელობით. აქციების შეადგენს რასაც ჩვენ გვქონდა ადრე პლუს რაოდენობის აქციების რომ მომხმარებელს ყიდულობენ. ახლა, როდესაც ჩვენ ახლდება პორტფელის მაგიდა, ჩვენ გვინდა, რომ განაახლოს მომხმარებლის ნაღდი. სწორედ იმ მომხმარებლებს მაგიდასთან, ამიტომ ჩვენ ვაპირებთ იყოს subtracting გარკვეული თანხის ნაღდი ანგარიშსწორებით. სავარაუდოდ, ეს იქნება ფულადი შეადგენს ფულადი მინუს - და შემდეგ გარკვეული თანხა. განახლებისთვის ნაღდი, თქვენ ამას - თუ მინდოდა წართმევას ფულის გვერდის-ში, მაშინ მინდა აწარმოებს ამ შეკითხვის - 'Update წევრებს' და შემდეგ მითითებული ფულადი სვეტი, რათა ფულადი - მინდა ამოიღონ 9,999 დოლარი მხოლოდ იმ შემთხვევაში, თუ ნიკი უდრის გვერდის-in. მაგრამ, ამ შემთხვევაში, ჩვენ არ გვინდა, რომ სხვაობა 9,999 კონკრეტულად. ჩვენ გვინდა დააკონკრეტა, ასევე, გვინდა, რომ სხვაობა მიმდინარე ფასი საფონდო გამრავლებული რაოდენობის აქციების რომ ისინი ყიდულობენ. ახლა ჩვენ საშუალება მისცა ყველა იმ აქციების, რომ მათ აქვთ, ასევე შეიძინოთ უფრო აქციების. ჩვენ ასევე ადრე საშუალება მისცა ეძებოთ მიმდინარე ფასი საფონდო. აქ ჩვენ გვინდა დაუშვებს მათ გაყიდონ. პირველი გვინდა არიან ძირითადად - ჩვენ გვინდა დაუშვებს მათ ვხედავთ ყველა აქციების, რომ მათ აქვთ, ამიტომ აქ ჩვენ გვინდა არიან ყველა რიგები საწყისი პორტფელი. თუ ისინი გაყიდოს გარკვეული მარაგის, მაშინ ჩვენ ვაპირებთ ვივარაუდოთ, რომ მათ სურთ გაყიდოს ყოველივე ეს. ისინი არა მხოლოდ ყიდის 50% მათი აქციების, ისინი აპირებენ გაყიდვას 100% იგი. ჩვენ შეგვიძლია ვშლით მთელი მწკრივი საწყისი პორტფელი. ჩვენ შეგიძლიათ წაშალოთ მოცემულ მომხმარებლის აქციების ერთგვარი სიმბოლოა. არსებობს სინტაქსი რომ. მაშინ ჩვენ გვინდა განაახლოთ ნაღდი. ჩვენ ვაპირებთ იყოს დასძინა წელს ფულადი ტოლი წილი ისინი ყიდიან მრავლდება მიმდინარე ფასი საფონდო - არ ფასი, რომლის დროსაც ისინი იყიდა, არამედ ფასი, რომლის დროსაც ისინი - მიმდინარე ფასი, როდესაც ისინი ყიდიან მას. To მითითებას მიმდინარე ფასი საფონდო, თქვენ გინდათ გამოიყენოთ lookup, რომელიც მოგცემთ ფასი საფონდო მიმდინარე დრო. ახლა ჩვენ დარჩა ისტორიაში, რომელიც გსურთ დაუშვებს მომხმარებლის შენარჩუნება ტრეკზე ყველა მათი გარიგებების - სურს, რომ როდესაც მათ გაყიდული რაღაც, როდესაც მათ შეიძინეს საფონდო. ჩვენ გვინდა დააკონკრეტა დროს მათ ეს გააკეთეს, რომ ისევე, როგორც რამდენი იყიდეს და რა საფონდო იყო. გვაქვს ნებისმიერი მიმდინარე, არსებული სტრუქტურა, რომელიც განსაზღვრავს, რომ? ასევე, ჩვენ არ პორტფელის რომელიც აჩვენებს ნომერი აქციების, რომ მომხმარებელს აქვს მოცემული წილი. მაგრამ ჩვენ სტრუქტურირებას პორტფელის გზით, რომ განახლებები როდესაც ვყიდულობთ მრავალჯერადი, ხოლო ისტორია უნდა - თუ ყიდვა Apple, 10 აქციების, და შემდეგ მოგვიანებით გაყიდვა 5, მაშინ სურს დაინახოს იმ ცალკე ცალკე ქმედებები, ცალკე რიგები. ვინაიდან, რომ სამოქმედო ვიზუალიზაციისთვის, რომ ჩვენი პორტფელის მაგიდა დიდი სიამოვნებით იყოს განახლება კონკრეტულ ზედიზედ  ამიტომ ჩვენ ალბათ აპირებს მინდა კიდევ ერთი მაგიდა. ჩვენს ბაზაში, ჩვენ გვაქვს ჩვენი მომხმარებლებს მაგიდასთან, ჩვენ გვაქვს ჩვენი პორტფელის მაგიდა, და ახლა ჩვენ, ალბათ გვინდა ისტორია მაგიდასთან. რომ ისტორიის მაგიდა შეიძლება ტრეკზე მიმდინარე თარიღი, ასევე განსაკუთრებული საფონდო სიმბოლო, ისევე, როგორც რამდენი აქციები, და მაშინ რა სამოქმედო ეს - თუ იძენენ იმ აქციების თუ თქვენ გაყიდვის მათ. გამკლავება თარიღი, არსებობს რამდენიმე გზა, რომ თქვენ შეგიძლიათ ამის გაკეთება. PHP აქვს გზა შენახვის ტრეკზე თარიღი, რომელიც შეგიძლიათ ეძებოთ თავს. In SQL ასევე შეგიძლიათ გამოიყენოთ ახლა ან მიმდინარე დროის ნიშნულს. სწორედ თქვენზეა. უბრალოდ, დარწმუნდით, რომ ყოველ ჯერზე მომხმარებლის ყიდულობს ან ყიდის, თქვენ უნდა განაახლოთ მათი ფულადი წელს მომხმარებლებს მაგიდასთან, თქვენ უნდა განაახლოთ მწკრივების პორტფელების მაგიდა, მაშინ თქვენ ასევე განახლებას ისტორია, ასე რომ იქნება 3 ცალკე SQL queries რომ თქვენ უნდა მოუწოდებდა იქ. ჩვენ გვყავს bunch ფუნქციონალობას არის. მხოლოდ რამდენიმე შეგახსენებთ, რომ თქვენს index ფაილი, თქვენ გსურთ დაუკავშირონ მინიმუმ თქვენი - მაგრამ თქვენ გსურთ დაუშვებს მომხმარებელს ლინკი buy.php გვერდზე. რომ აპირებს დაუშვებს მომხმარებლის - buy.php არის კონტროლერი, ასე რომ აპირებს ან გამოგიგზავნით to - რომ აპირებს გამოგიგზავნით რომ ფორმა, რომელიც საშუალებას გვაძლევს ვნახოთ რამ up. ჩვენ გვყავს ისტორია. ჩვენ სესიიდან გამოსვლისათვის, მიღების ციტირებით და შემდეგ ყიდის. ეს ის მინიმალური რა გსურთ ნახოთ. თვალსაზრისით პორტფელი, პორტფელის რეალურად ნაჩვენები ინდექსი გვერდზე. თუ ჩვენ წასვლა ინდექსი, აქ ჩვენ ვხედავთ, რომ უწევს portfolio.php და შეჭრა ასოციაციურ მასივში - ძირითადად სათაური შეადგენს პორტფელის. ასე რომ, ეს არის კონტროლერი. თუ ჩვენ წასვლა თარგი of portfolio.php, მაშინ ყველა მას არის - მონიტორები ძირითადად სურათს, რომელიც ამბობს, OH, საიტი მზადების პროცესშია. მოგვიანებით, კიდევ თქვენ კორიდორი - you'll იყოს გადადის ძირითადად უფრო კონკრეტული ინფორმაცია. ნაცვლად მხოლოდ სათაური, თქვენ ალბათ გადადის რამ. მას შემდეგ რაც ამ ფასეულობების, მაშინ portfolio.php შეგიძლიათ გაუმკლავდეთ ამ ფასეულობების და ბეჭდვა მათ ნებისმიერ სახის მიზნით. ერთხელ თქვენ განხორციელებული ყველა იმ, თქვენ ასევე უნდა განახორციელონ 1 მეტი ფუნქცია. ეს შეიძლება იყოს საშუალებითაც მომხმარებელს შეცვალოს მათი დაგავიწყდათ, აღადგინოთ მათი დაგავიწყდათ თუ ისინი მივიწყებული ეს - ისე დაგავიწყდათ გადატვირთვის, მაშინ თქვენ ალბათ ასევე მინდა შეცვალონ რეგისტრაცია ისე, რომ მათ საშუალებას აძლევს მიუთითოთ ელ, ასე რომ, თუ ისინი დაივიწყონ დაგავიწყდათ, მაშინ მათ შეუძლიათ მიიღონ რომ. მათ შეუძლიათ ალბათ შევა მათი სახელი და შემდეგ ელ გადაეგზავნება მათ ბმით შეძლებთ აღადგინოთ მათი პაროლი. შეგიძლიათ რაიმე, რომელიც საშუალებას აძლევს მომხმარებლებს მისაღებად ქვითრები ყოველ ჯერზე ისინი იყიდოთ ან გაყიდოთ რამე, და მაშინ საბოლოოდ, საშუალებას იძლევა დაამატოთ ფულადი მათი ნახვა. უბრალოდ წასვლა დააბრუნებდა კონცეფცია კონტროლერები და თარგები ცოტა. თქვენ რაღაც - ასე თქვენ კონტროლერი აქ. სწორედ ახლა ჩვენ შევხედავთ login.php მაგალითად. როდესაც გვაქვს კონტროლერი, ძირითადად ის აპირებს 2 შემთხვევა. როდესაც გვაქვს კონტროლერები, ჩვენ ამ ნაჭერი რომ ჩვენ ასევე სახის საქმე როდესაც გვაქვს ფორმები ისევე. კონტროლერი იქნება ძირითადად ცალკე აქვს ქმედებები - ერთი თუ ფორმით უკვე წარმოდგენილი, შემდეგ კი ორი თუ მომხმარებლის უახლოვდება, რომ გვერდზე პირველად და ჯერ კიდევ შეყვანის რომ ფორმით. მე ვაპირებ გადადით ამ შემთხვევაში პირველი ადრე აპირებს მდე პირველი შემთხვევა მქონე ფორმით შემოსული აქ ამბობენ, თუ ფორმით იქნა წარმოდგენილი მეთოდი პოსტ - არ ინერვიულოთ შესახებ, რომ ცოტა. არ ინერვიულოთ შესახებ, რომ ძალიან ბევრი, მაგრამ გვესმის, რომ ძირითადად ამ ფუნქციის ეხება თუ არა ფორმა წარედგინა თუ არა. ეს მდგომარეობა არის ჭეშმარიტი თუ მომხმარებელს უკვე წარმოდგენილი ფორმით. თუ არა, მაშინ ჩვენ ვაპირებთ მინდა მოვუწოდო Render login_form.php და შემდეგ გაივლის ტიტული. ეს სათაური უბრალოდ ძირითადად აპირებს გამოჩნდება header. რა ეს იმას ძირითადად ამბობს, okay - კარგად, თუ მომხმარებლის ღებულობენ login.php და არ რეალურად შესული სისტემაში, მაშინ მინდა გააგზავნოთ გვერდზე რომ აქვს, რომ ფორმა რაც მათ საშუალებას აძლევს შეტანის სახელი და პაროლი. მერე წასვლა login_form, და შემდეგ რომ აქვს ფაქტობრივი ფორმით. მაშინ, ერთხელ მომხმარებლის წარუდგენს, რომ ფორმა, ისინი აპირებენ წარუდგენს login.php ერთად მეთოდი პოსტი. მაშინ მე რეალურად აპირებს ამ მონაკვეთზე ჩემი თუ სხვას-loop. მაშინ ის აქ რომ აქ საქმე გვაქვს ღირებულებები შევიდა ფორმით. ეს აქ, რომ აქ საქმე გვაქვს იმ. მაშინ კიდევ თქვენ გაუმკლავდეთ ამ ფასეულობების - თუ თქვენ საქმე - ამბობენ ჩვენ საქმე გვაქვს quote.php გვერდზე სადაც ვინმე შეყვანის საფონდო რომ მათ სურთ ეძებოთ, ხოლო შემდეგ ვხედავთ, რომ ჩვენების - რომ სახის ანალოგიური აქ. აქ შესვლის ფორმა - you'd ალბათ ციტირებით ფორმა - მაგრამ შემდეგ კიდევ მომხმარებლის ფაქტობრივად განაცხადა, რომ ინფორმაცია, მაშინ თქვენ გვინდა კონტროლერი უნდა გაიაროს შევიდა სხვა თარგის რომ გამოჩნდება, რომ რეალურ ინფორმაციას. ასე რომ მაშინ სწორი გარშემო აქ, მაშინ თქვენ ალბათ - გარშემო ბოლოს თქვენი მდგომარეობა აქ - თუ მეთოდი შეადგენს პოსტ - მაშინ თქვენ ალბათ მინდა გაწევა სხვა გვერდი - შოუ ციტირებით - რომელიც აგზავნის თქვენ რომ გვერდზე - show_quote.php-- და შემდეგ ამ ფაილის მითითებას იმ ღირებულებებს. ამჯამად რომ აზრი? ჩვენ გვყავს კონტროლერი რომ ძირითადად ეხება 2 შემთხვევა - თუ არა თქვენ შევიდა ფორმით არიან თუ არა. თუ არ შევიდა ფორმა, მაშინ გადამისამართება გაძლევთ, რომ ფორმა, რომელიც შემდეგ დააყენა თქვენ თავში რომ გვერდზე. მაშინ, როდესაც ინფორმაცია კონტროლერი, რომ სხეულის იმუშავებს, რომ ინფორმაცია საჭიროების - ან ეძებს up ღირებულებების საფონდო, და მერე კიდევ ის ჩანდა up იმ ღირებულებებს და გააჩნია ისინი ლამაზად ფორმატირებული მასივი, შემდეგ შეიძლება გაიაროს, რომ მასივი შევიდა თარგის გვერდზე  რომ ეხება outputting ამ ინფორმაციას. ისევ, რადგან, მაგრამ ეს იქნება გართობა. ჩვენ გარეთ C ასე ჩვენ არ შემოიფარგლება ASCII და რომ ტერმინალში გამომუშავება, ასე არ fun ამ. შეგიძლიათ გააკეთოთ, როგორც ვიზუალური, როგორც გსურთ. შეგიძლიათ საშუალებას მომხმარებლებს შეყვანის მილიონობით დოლარი დროს, ან ზღუდავს მათ და მართლაც ნიშნავს და მათ მხოლოდ შესვლის 1 penny დროს ან რამე მაგდაგვარს. აუცილებლად დარწმუნებული არ fun ამ. PHP კოდი ოდნავ მარტივი, რომ ეს ცოტა უფრო ადვილად განვსაზღვრავთ თქვენი pseudocode შევიდა ფაქტობრივი განხორციელება. ასე რომ, ნამდვილად არ fun ამ რადგან ეს არის რეალურად ჩვენი ბოლო piece in CS50. ამასთან, ეს იყო Walkthrough 7. ერთხელ თქვენ დასრულდა თვალს walkthrough და დასრულდა თქვენი pset, მაშინ ეს იყო ასევე psets, და ახლა ჩვენ მისი საბოლოო პროდუქტი - შემდეგ მივიღებთ მეშვეობით Quiz 1. მაშინ იმედია შეგიძლიათ გამოიყენოთ ხელსაწყოების, რომ თქვენ ვისწავლეთ psets - არა მხოლოდ სინტაქსი, მაგრამ უფრო აბსტრაქტული ცნება თუ როგორ გამოვიყვანოთ გარკვეული - მინდა, მინდა ამის გაკეთება და შემდეგ რეალურად განხორციელების რომ. სასწავლო როგორ გამოავლენ მეშვეობით სინტაქსი და განაწილების კოდი. საკითხავი სხვა ადამიანების კოდი, შემდეგ კი წერით რომ იყენებს ადრე არსებული ფუნქციები. ასე რომ, წარმატებებს გისურვებთ ბოლო pset. უკვე სიამოვნება გამოიწვიოს walkthroughs. იმედი მაქვს, ისინი დაეხმარა თქვენთვის. ეს იყო Walkthroughs და მადლობას მოგახსენებთ. [CS50.TV]