1 00:00:00,000 --> 00:00:05,720 2 00:00:05,720 --> 00:00:07,620 >> DOUG LLOYD: ასე, რომ ჩვენს ვიდეო PHP სინტაქსი, 3 00:00:07,620 --> 00:00:10,480 ჩვენ ვისაუბრეთ ბევრი შესახებ, თუ როგორ PHP შეიძლება გამოყენებულ იქნას ბრძანებათა ზოლს 4 00:00:10,480 --> 00:00:13,620 პროგრამების გასაშვებად ისე, რომ ჩვენ საკმაოდ იცნობს C. 5 00:00:13,620 --> 00:00:15,370 მაგრამ, როგორც მე ასევე აღნიშნა, ამ ვიდეოში, PHP 6 00:00:15,370 --> 00:00:19,572 თავდაპირველად შემუშავებული განახორციელოს ვებ პროგრამირების, ვებ. 7 00:00:19,572 --> 00:00:21,780 ასე რომ, ამ ვიდეო ჩვენ აპირებს ვისაუბროთ, თუ როგორ 8 00:00:21,780 --> 00:00:23,890 გამოყენება PHP ვებ განვითარების კონტექსტში. 9 00:00:23,890 --> 00:00:26,360 >> ჩვენ ვიცით, უკვე, ეხლა ჩვენი ვიდეო HTML, 10 00:00:26,360 --> 00:00:29,820 რომ საიტებზე შენდება გარეთ კომპლექტი HTML tags 11 00:00:29,820 --> 00:00:32,850 რომ სემანტიკურად განსაზღვროს სტრუქტურა ვებ გვერდზე. 12 00:00:32,850 --> 00:00:35,910 მაგრამ საიტებზე, რომლებიც აშენდა სუფთა HTML 13 00:00:35,910 --> 00:00:39,510 განიცდიან ძალიან, ძალიან სერიოზული შეზღუდვა. 14 00:00:39,510 --> 00:00:42,690 >> და ასახავს ამ შეზღუდვა, განვიხილოთ შემდეგ. 15 00:00:42,690 --> 00:00:45,665 ასე რომ, ახლა მე მინდა ავაშენოთ ვებ გვერდი ყოველთვის, როცა შესახებ ვიზიტების ის, 16 00:00:45,665 --> 00:00:49,760 ეს მაძლევს მიმდინარე დრო კემბრიჯში, Mass., 17 00:00:49,760 --> 00:00:52,620 აჩვენებს, რომ ეს უკანასკნელი წუთი. 18 00:00:52,620 --> 00:00:57,910 თუ მე ვაკეთებდი ამ წუთას, შეიძლება ითქვას, რაღაც მსგავსი. 19 00:00:57,910 --> 00:01:01,330 მიმდინარე დრო Cambridge-- ასე მაქვს HTML tags, ხელმძღვანელი tags, სათაური tags, 20 00:01:01,330 --> 00:01:04,610 სხეულის tags-- მიმდინარე დრო კემბრიჯის არის 14:08, 21 00:01:04,610 --> 00:01:06,690 ბეჭდვის სამხედრო დრო. 22 00:01:06,690 --> 00:01:11,390 >> რა მოხდება, თუ ეს არის 2:09 PM, 14:09? 23 00:01:11,390 --> 00:01:16,470 ისე ჯერჯერობით, HTML, მაქვს წავიდეს და შეცვალოს იგი 14:09. 24 00:01:16,470 --> 00:01:19,390 და მაშინ ერთი წუთის შემდეგ კი, უნდა შეიცვალოს კიდევ ერთხელ. 25 00:01:19,390 --> 00:01:22,132 და მაშინ ერთი წუთის შემდეგ კი, უნდა შეიცვალოს კიდევ ერთხელ. 26 00:01:22,132 --> 00:01:24,590 და თქვენ წარმოიდგინეთ, რომ ალბათ, ყველაზე უარესი სამუშაო ოდესმე. 27 00:01:24,590 --> 00:01:29,420 თქვენ სუპერვიზორს ვებ გვერდზე, და ყოველ წუთს, 24 საათის განმავლობაში, 28 00:01:29,420 --> 00:01:35,970 თქვენ უნდა განაახლოთ მიმდინარე დროს ხელით გახსნის time.html და შეცვლის 29 00:01:35,970 --> 00:01:41,750 მხოლოდ ის, რომ snippet კოდი რომ ვთქვათ, მიმდინარე დრო საათი და წუთი. 30 00:01:41,750 --> 00:01:45,850 ეს, ალბათ, არ არის ძალიან კარგი გამოყენება, ჩვენი რესურსების, 31 00:01:45,850 --> 00:01:48,880 როგორც ადამიანის და გამოთვლითი. 32 00:01:48,880 --> 00:01:51,297 >> საიტები, რომლებიც ყველა HTML სრულიად სტატიკური. 33 00:01:51,297 --> 00:01:53,630 ერთადერთი გზა შეგიძლიათ განაახლოთ შინაარსი, ჩვენ უბრალოდ ჩანს, 34 00:01:53,630 --> 00:01:56,339 არის ხელით გახსნა იმ წყარო ფაილი, შეცვალონ მათ, და მათი შენახვა. 35 00:01:56,339 --> 00:01:58,088 და მაშინ, როდესაც მომხმარებელი ამხნევებს გვერდზე, 36 00:01:58,088 --> 00:02:01,080 ან სტუმრობს გვერდზე პირველი დროს, მათ მიიღებთ უახლესი მობილურისთვის. 37 00:02:01,080 --> 00:02:03,970 მაგრამ მხოლოდ იმიტომ, რომ ჩვენ ხელით დამონტაჟებული იგი. 38 00:02:03,970 --> 00:02:07,980 >> თუ ჩვენ დავიწყებთ აურიეთ ზოგიერთი PHP იქ, ჩვენი კოდი შეგიძლიათ მიიღოთ ბევრი უფრო მოქნილი. 39 00:02:07,980 --> 00:02:11,940 და ჩვენ შეგვიძლია აქვს გზა ჩვენი გვერდები იყოს დინამიური, ან განაახლოთ თავს, 40 00:02:11,940 --> 00:02:15,360 გარეშე მოითხოვს ჩვენი ცუდი საიტის წინა მაგალითად 41 00:02:15,360 --> 00:02:16,662 უნდა იყოს ხელით განახლება რამ. 42 00:02:16,662 --> 00:02:17,870 მათ შეუძლიათ ამის გაკეთება ავტომატურად. 43 00:02:17,870 --> 00:02:19,130 ჩვენ არ უნდა ჩაერიოს. 44 00:02:19,130 --> 00:02:20,410 ჩვენ შეგვიძლია მივიღოთ ძილის. 45 00:02:20,410 --> 00:02:24,850 რაც ალბათ კარგია, თუ თქვენ აკეთებთ ბევრი ვებ პროგრამირების. 46 00:02:24,850 --> 00:02:28,360 >> ასე რომ, CS50 IDE, ჩვენ აწარმოებს ვებ სერვერზე მოუწოდა Apache. 47 00:02:28,360 --> 00:02:35,250 ეს არის ძალიან ხშირად გამოიყენება, ღია სერვერზე სისტემა. 48 00:02:35,250 --> 00:02:37,320 ეს სისტემა სიმძლავრე ინტერპრეტაცია 49 00:02:37,320 --> 00:02:41,260 PHP, რომელიც იქნება სასარგებლო, თუ გსურთ რაიმე PHP პროგრამირების. 50 00:02:41,260 --> 00:02:45,230 >> და CS50 IDE, ჩვენ გვაქვს ბრძანება იმისათვის, რომ ეს ძალიან ადვილია ამის გაკეთება, 51 00:02:45,230 --> 00:02:47,280 apache50 დაიწყება. 52 00:02:47,280 --> 00:02:49,445 და მაშინ, რომ ხაზი გზა, ირიბის, სლეში 53 00:02:49,445 --> 00:02:53,350 რეჟ, რომ უბრალოდ ძალიან გავრცელებული გზა მითითებით, თუ რა თქვენ აქ მითითებული 54 00:02:53,350 --> 00:02:56,510 არის გზა, კონკრეტული დირექტორია, რომ თქვენ 55 00:02:56,510 --> 00:03:00,800 გვინდა, რომ იყოს root საიტი, ან root გვერდი, 56 00:03:00,800 --> 00:03:05,430 ან საქაღალდეში, რომელიც თქვენს სერვერზე დაიწყება შეამოწმოს ფაილი და ემსახურება 57 00:03:05,430 --> 00:03:07,850 მათ კლიენტებს, რომლებიც მოითხოვენ. 58 00:03:07,850 --> 00:03:12,110 მოდით პოპ მეტი CS50 IDE, უბრალოდ გაჩვენებთ, მართლაც სწრაფი, როგორ მუშაობს. 59 00:03:12,110 --> 00:03:30,930 60 00:03:30,930 --> 00:03:36,240 >> ასე რომ, აქ CS50 IDE, მე ვარ დირექტორია მოუწოდა კვირა Zero Nine. 61 00:03:36,240 --> 00:03:38,890 და მე two-- მაქვს გაფორმებული აქვს LS ბრძანება მხოლოდ 62 00:03:38,890 --> 00:03:41,910 ზემოთ გაჩვენებთ, რომ მე მაქვს ორი დირექტორიები აქ, PHP, 63 00:03:41,910 --> 00:03:46,410 რომელიც არის კომპლექტი ფაილი რომ მე გამოიყენება რომ PHP სინტაქსი ვიდეო და შემდეგ PHP-ვებგვერდი, 64 00:03:46,410 --> 00:03:49,380 რომელიც არის კომპლექტი ფაილი, რომელიც მე მინდა გამოვიყენო ამ ვიდეო. 65 00:03:49,380 --> 00:03:53,480 >> და მე მინდა, რომ დაიწყოს ვებ სერვერზე მაგალითად 66 00:03:53,480 --> 00:03:59,089 ერთად შინაარსი PHP ვებ დირექტორია როგორც ფაილი ემსახურება up. 67 00:03:59,089 --> 00:04:00,130 რა ვარ მე აპირებს? 68 00:04:00,130 --> 00:04:05,710 მე ვაპირებ აკრიფოთ apache50 სივრცეში დაიწყოს, სივრცე PHP, dash ვებ. 69 00:04:05,710 --> 00:04:08,100 სწორედ გეზი დირექტორია სადაც მე გაკეთებული ვარ. 70 00:04:08,100 --> 00:04:09,127 მერე მოხვდა შეიტანეთ. 71 00:04:09,127 --> 00:04:10,960 ის აპირებს გააკეთოს ცოტა პერსონალის აქ. 72 00:04:10,960 --> 00:04:14,030 და მაშინ ის ვთქვათ, Apache წარმატებულად დაიწყო. 73 00:04:14,030 --> 00:04:20,689 თქვენი საიტი არის შესაძლებელი at-- და მაშინ იქ URL საიტი. 74 00:04:20,689 --> 00:04:21,730 რა ვარ მე აპირებს? 75 00:04:21,730 --> 00:04:26,234 მე ვაპირებ სწრაფად კოპირება ამ. 76 00:04:26,234 --> 00:04:28,900 და მე ვაპირებ გახსნას up-- და მე დააშორებს ცოტა აქ 77 00:04:28,900 --> 00:04:31,570 მე ვაპირებ გახსენით ახალი tab in Chrome. 78 00:04:31,570 --> 00:04:34,320 და მე ვაპირებ, რომ URL. 79 00:04:34,320 --> 00:04:35,299 >> მე ვაპირებ დააჭიროთ. 80 00:04:35,299 --> 00:04:36,090 ის აპირებს ჩატვირთვა. 81 00:04:36,090 --> 00:04:37,510 და მე დააშორებს ერთხელ. 82 00:04:37,510 --> 00:04:41,350 და ჩვენ ვხედავთ აქ არის შინაარსი ჩემი PHP ვებ დირექტორია. 83 00:04:41,350 --> 00:04:45,290 >> ასე რომ, ახლა რა არის ძირითადად ხდება აქ არის, ჩემი ინსტანციის CS50 IDE 84 00:04:45,290 --> 00:04:49,620 ემსახურება ეს ფაილი ყველას, ვინც ითხოვს. 85 00:04:49,620 --> 00:04:51,620 და მეტი კურსი ამ ვიდეო, ჩვენ დასალაგებლად 86 00:04:51,620 --> 00:04:55,400 შევხედოთ რამოდენიმე ეს სხვადასხვა ფაილი კონტექსტში. 87 00:04:55,400 --> 00:04:57,614 >> შესამოწმებლად, რომ თქვენი Apache სერვერზე მუშაობს, 88 00:04:57,614 --> 00:04:59,780 რომელიც ზოგადად აპირებს უნდა იყოს საქმე CS50 IDE, 89 00:04:59,780 --> 00:05:02,696 მაგრამ თუ ეს უფრო ზოგადად, და თქვენ დაიწყოს მშენებლობის თქვენი საკუთარი ვებ 90 00:05:02,696 --> 00:05:04,990 სერვერები, იქ ნამდვილად საერთო ერთგვარი ანალოგი, 91 00:05:04,990 --> 00:05:08,500 "Hello World", რომელიც, როგორც წესი, გამოიყენება PHP ვებ განვითარების. 92 00:05:08,500 --> 00:05:12,855 რომელი გაქვთ ფაილი შედგება მხოლოდ ამ code-- 93 00:05:12,855 --> 00:05:18,247 არის PHP delimiter მითითებული PHP ინფორმაცია, ფრჩხილებში, მძიმით შორის. 94 00:05:18,247 --> 00:05:20,580 რომელიც ძირითადად სპეციალური PHP ფუნქცია რომ გიჩვენებთ 95 00:05:20,580 --> 00:05:23,970 რა ვერსია PHP თქვენ გაშვებული. 96 00:05:23,970 --> 00:05:26,850 >> ასე რომ, CS50 IDE, მაქვს რომ ფაილი ხელმისაწვდომია მხოლოდ 97 00:05:26,850 --> 00:05:28,680 რათა ნახოთ თუ რა ეს გამოიყურება ასე. 98 00:05:28,680 --> 00:05:32,860 ასე რომ, ვეძებ ჩემი ინდექსი ჩემი PHP მაგალითად. 99 00:05:32,860 --> 00:05:35,870 ჩემი Apache მაგალითად გაშვებული შინაარსი PHP-Web. 100 00:05:35,870 --> 00:05:39,290 და მე მაქვს ფაილი აქ მოუწოდა info.php. 101 00:05:39,290 --> 00:05:41,164 >> მე ვაპირებ დააჭირეთ მას, დააშორებს. 102 00:05:41,164 --> 00:05:43,080 ეს არის ის, რაც თქვენ ვაპირებთ იმისათვის, რომ ნახოთ, საკმაოდ ბევრი. 103 00:05:43,080 --> 00:05:45,729 ეს არის მხოლოდ მეუბნებოდა, რომ ჩემი Apache სერვერი მუშაობს. 104 00:05:45,729 --> 00:05:48,270 და ეს არის, როგორც ჩანს, მობილური PHP, რომ მე გაშვებული. 105 00:05:48,270 --> 00:05:51,590 ეს არის ჩემი ანალოგი "Hello World". 106 00:05:51,590 --> 00:05:53,070 >> ასე რომ, მე ვიცი, რამ ფუნქციონირებს. 107 00:05:53,070 --> 00:05:54,150 ასე რომ, ჩვენ კარგი წასვლა. 108 00:05:54,150 --> 00:05:55,730 ჩვენ შეგიძლიათ გააგრძელოთ აქ. 109 00:05:55,730 --> 00:05:57,790 >> მოდით დავუბრუნდეთ, რომ დროის მაგალითად ჩვენ 110 00:05:57,790 --> 00:06:01,950 ვსაუბრობთ ჩვენი ცუდი webmaster ვისაც ჰქონდა განაახლოთ გვერდზე მუდმივად. 111 00:06:01,950 --> 00:06:05,020 ეს შეიძლება იყოს სარემონტო, როგორ მე განახორციელოს რამ 112 00:06:05,020 --> 00:06:08,080 ისე, რომ webmaster არ უნდა შეინახოთ განახლება დროს. 113 00:06:08,080 --> 00:06:10,270 ეს იქნებოდა მხოლოდ ერთგვარი მოხდება ავტომატურად. 114 00:06:10,270 --> 00:06:13,710 >> ქვემოთ ქვემოთ, HTML, ეს საკმაოდ მსგავსია, ერთი გამონაკლისი. 115 00:06:13,710 --> 00:06:16,720 მაგრამ აქ მაქვს რაღაც PHP ზედა. 116 00:06:16,720 --> 00:06:19,940 მე, როგორც ჩანს, უწოდა ფუნქცია date_default_timezone_set. 117 00:06:19,940 --> 00:06:22,106 >> და ჩვენ არ ვსაუბრობთ ყველა ამ ფუნქციების CS50, 118 00:06:22,106 --> 00:06:24,670 იმიტომ, რომ PHP აქვს, ალბათ, ათიათასობით. 119 00:06:24,670 --> 00:06:27,540 ეს შეიძლება ცოტა გაზვიადება, მაგრამ ეს არ უნდა იყოს. 120 00:06:27,540 --> 00:06:29,490 მას აქვს ბევრი ფუნქციები აშენდა. 121 00:06:29,490 --> 00:06:33,290 ასე რომ, ეს არის ფუნქცია, როგორც ჩანს, ადგენს ჩემი დროის ზონაში, როგორც აშშ / აღმოსავლეთ, 122 00:06:33,290 --> 00:06:36,320 რომელიც დროის ზონაში, რომ მე ვარ ამჟამად მიღების ამ ვიდეო. 123 00:06:36,320 --> 00:06:38,430 >> მაშინ მე ზარი ფუნქცია მოუწოდა, თარიღი. 124 00:06:38,430 --> 00:06:43,850 და, როგორც ჩანს, მე შენახვის მისი რაღაც მოუწოდა, დრო. 125 00:06:43,850 --> 00:06:45,320 ასე რომ, რა ხდება აქ? 126 00:06:45,320 --> 00:06:48,040 >> ისე, ძირითადად რა არის ხდება, მე მიღების ზარი 127 00:06:48,040 --> 00:06:51,650 ზოგიერთ სერვერზე, რომ აპირებს მითხარით, რა დროს გაკეთებული. 128 00:06:51,650 --> 00:06:56,150 და მე კონვერტაცია ის ფორმატში საათი, წუთი, წამი. 129 00:06:56,150 --> 00:07:00,540 და მიზეზი ის დედაქალაქში H არის ეს აპირებს მომეცი 24 საათიანი დრო, არა 12 130 00:07:00,540 --> 00:07:02,362 საათიანი დრო, რომელიც იქნება ამას თ. 131 00:07:02,362 --> 00:07:04,570 და მე უბრალოდ შენახვა, რომ ცვლადში, დრო. 132 00:07:04,570 --> 00:07:07,028 ასე რომ, მეორე ხაზი PHP იქ, ზარი ფუნქცია, 133 00:07:07,028 --> 00:07:09,037 დღემდე, მხოლოდ მისაღებად რამდენიმე სტრიქონი, რომელიც 134 00:07:09,037 --> 00:07:12,120 აპირებს მომეცი თარიღი და დრო, და რამოდენიმე სხვა ინფორმაცია. 135 00:07:12,120 --> 00:07:16,480 და პირველი არგუმენტი არსებობს, რომ მისი, მხოლოდ მოპოვების მნიშვნელოვანი ნაწილი 136 00:07:16,480 --> 00:07:20,614 რომ მე აინტერესებს ამ მაგალითად, რომელიც არის საათი, წუთი, და მეორე. 137 00:07:20,614 --> 00:07:22,030 ასე რომ, ყველა, რომ ხდება. 138 00:07:22,030 --> 00:07:23,562 ასე რომ, მე შესანახად, რომ ცვლადი $ დროს. 139 00:07:23,562 --> 00:07:25,270 და მერე ქვემოთ ძალიან ბოლოში, მე 140 00:07:25,270 --> 00:07:28,980 აქვს, რომ სტენოგრამის დაბეჭდვისას მიმდინარე დრო. 141 00:07:28,980 --> 00:07:32,050 ასე რომ, მე უბრალოდ აპირებს ბეჭდვა რა მიმდინარე დრო. 142 00:07:32,050 --> 00:07:37,220 >> მოდით შევხედოთ ამ CS50 IDE და ვნახოთ, როგორ ჩვენ ახლა 143 00:07:37,220 --> 00:07:40,002 გადარჩენის, რომ webmaster ბევრი უბედურება. 144 00:07:40,002 --> 00:07:42,570 ყველა უფლება, აქ ვარ ისევ უკან root დირექტორია 145 00:07:42,570 --> 00:07:45,040 ჩემი Apache მაგალითად. 146 00:07:45,040 --> 00:07:51,585 და მე მაქვს ფაილი აქ მოუწოდა time.php. 147 00:07:51,585 --> 00:07:53,559 მე უბრალოდ აპირებს დააჭირეთ რომ. 148 00:07:53,559 --> 00:07:55,850 და მე გადახვევა, რადგან ჩვენ მიახლოება საკმაოდ შორს. 149 00:07:55,850 --> 00:07:57,257 მიმდინარე დრო 14:20:34. 150 00:07:57,257 --> 00:07:59,090 ასე რომ, მე ვაკეთებ საათის განმავლობაში, წუთი, და წამში. 151 00:07:59,090 --> 00:08:01,910 და შემიძლია ამოცნობა გვერდი და მიიღოს ახალი დრო. 152 00:08:01,910 --> 00:08:02,420 --41. 153 00:08:02,420 --> 00:08:07,240 მე ვაპირებ, რომ ამოცნობა გვერდზე და მიიღეთ ახალი დრო, 44, 46, 47. 154 00:08:07,240 --> 00:08:10,490 >> ასე რომ, მე ვარ აშკარად არ შეცვლის არაფერს თავს. 155 00:08:10,490 --> 00:08:11,720 მე აქ გამაგრილებელი გვერდზე. 156 00:08:11,720 --> 00:08:13,711 ასე რომ, მე არ შეიძლება იყოს იქ რედაქტირების იგი. 157 00:08:13,711 --> 00:08:15,710 და მე გპირდებით, მე არ გაქვთ რაიმე კონფედერატების 158 00:08:15,710 --> 00:08:18,230 რომლებიც რედაქტირების ფაილი ჩემი სახელით მხარეს. 159 00:08:18,230 --> 00:08:21,260 >> მე უბრალოდ გამოყენებით, რომ PHP ფუნქცია, დრო, გენერირება დრო ჩემთვის 160 00:08:21,260 --> 00:08:22,340 ავტომატურად. 161 00:08:22,340 --> 00:08:24,800 ასე რომ, მაშინაც კი, თუ მე ეძინა, და ჩემი სერვერზე გაშვებული, 162 00:08:24,800 --> 00:08:28,884 მომხმარებელი, რომელიც ჩამოდის, რომ გვერდზე ჯერ კიდევ აპირებს მიიღოს ზუსტად მიმდინარე დრო. 163 00:08:28,884 --> 00:08:29,800 ასე რომ, საკმაოდ კარგი. 164 00:08:29,800 --> 00:08:33,609 მე მივიღე ჩემი საიტი უფრო დინამიური არა ძალიან ბევრი PHP კოდი. 165 00:08:33,609 --> 00:08:36,650 ეს იყო მხოლოდ ორი ხაზი კოდი და შემდეგ ცოტა ბეჭდვითი განცხადებაში. 166 00:08:36,650 --> 00:08:38,441 და უკვე მაქვს ბევრად უფრო დინამიური საიტი 167 00:08:38,441 --> 00:08:42,750 ვიდრე, რომ პირველი მაგალითი ჩვენ ვნახეთ დასაწყისში ვიდეო. 168 00:08:42,750 --> 00:08:46,660 >> ასე რომ, გავიხსენოთ, ვიდეო PHP სინტაქსი რომ როდესაც PHP ინტერპრეტატორი გადის 169 00:08:46,660 --> 00:08:50,000 ჩვენი პროგრამა, იგი უგულებელყოფს ყველაფერი ეს არ არის შიგნით PHP delimiters, 170 00:08:50,000 --> 00:08:51,500 spitting ის. 171 00:08:51,500 --> 00:08:54,410 რომ მაგალითად, რა რამ რომ ეს იყო იფურთხება, იყო HTML. 172 00:08:54,410 --> 00:08:58,080 ეს კი იმას ნიშნავს, რომ მე შეიძლება ახლა ენაცვლება HTML და PHP ერთად. 173 00:08:58,080 --> 00:09:01,920 იმის გამო, რომ თარჯიმნის იქნება მხოლოდ იგნორირება HTML და ფაქტიურად დაბეჭდვა. 174 00:09:01,920 --> 00:09:04,140 რაც კარგია, არა? 175 00:09:04,140 --> 00:09:06,100 >> იმის გამო, რომ, სავარაუდოდ, ბოლოს დღეს, 176 00:09:06,100 --> 00:09:08,360 მინდა ჩემი საიტი აშენდეს HTML. 177 00:09:08,360 --> 00:09:12,880 ასე რომ, ნებისმიერ ბრაუზერში შეიძლება ინტერპრეტაცია ის, ან გვესმის HTML გვერდზე 178 00:09:12,880 --> 00:09:17,270 და შესწირე ის, როგორც ის, რომ ჩვენ შეიძლება რეალურად ესმის როგორც ადამიანები. 179 00:09:17,270 --> 00:09:19,430 და მე შემიძლია მხოლოდ გამოიყენოთ PHP ნაწილებისა ჩემი საიტი 180 00:09:19,430 --> 00:09:23,390 მოითხოვს დინამიკას, რომელიც მოითხოვს me აქვს რამ, რომ განახლება მუდმივად. 181 00:09:23,390 --> 00:09:26,630 სტატიკური ინფორმაცია შეიძლება იგივე რჩება. 182 00:09:26,630 --> 00:09:27,540 >> OK, ასე რომ ჯარიმა. 183 00:09:27,540 --> 00:09:28,540 მაგრამ რატომ უნდა გავაკეთო ეს? 184 00:09:28,540 --> 00:09:30,400 რატომ მე აურიეთ HTML და PHP? 185 00:09:30,400 --> 00:09:33,850 მე ვერ უბრალოდ ამობეჭდოთ ყველა HTML გამოყენებით PHP ბეჭდვის ფუნქცია. 186 00:09:33,850 --> 00:09:35,870 რატომ არ აკეთებს ამას? 187 00:09:35,870 --> 00:09:37,100 დაფიქრდით მეორე. 188 00:09:37,100 --> 00:09:41,220 >> ამიტომ, როდესაც მე შეიძლება მხოლოდ ბეჭდვა out-- მე შეეძლო ხაზი PHP, რომ უბრალოდ, ვამბობთ, 189 00:09:41,220 --> 00:09:43,841 ბეჭდვითი HTML tag, ბეჭდვითი ხელმძღვანელი. 190 00:09:43,841 --> 00:09:44,840 რატომ არ აკეთებს ამას? 191 00:09:44,840 --> 00:09:48,230 რატომ შერევას PHP და HTML? 192 00:09:48,230 --> 00:09:50,080 >> ისე, თუ თქვენ ფიქრობთ ამის შესახებ მეორე. 193 00:09:50,080 --> 00:09:52,824 PHP, თარჯიმანი აქვს ინტერპრეტაცია თუ რას ხედავს. 194 00:09:52,824 --> 00:09:54,990 ასე რომ, ეს აპირებს შეასრულოს ხაზი კოდი. 195 00:09:54,990 --> 00:09:56,450 ამობეჭდვა HTML. 196 00:09:56,450 --> 00:09:57,700 ამობეჭდვა ღია ხელმძღვანელი tag. 197 00:09:57,700 --> 00:09:58,969 ამობეჭდვა ღია ტიტული აქვს. 198 00:09:58,969 --> 00:10:00,760 ის აპირებს უნდა შეასრულოს და ინტერპრეტაცია 199 00:10:00,760 --> 00:10:02,671 რომ ყოველი შემდგომი ნაბიჯით. 200 00:10:02,671 --> 00:10:04,670 რატომ არ მისცეს თარჯიმანი მხოლოდ სიპრიალის მეტი 201 00:10:04,670 --> 00:10:06,878 რამ ეს არ მესმის და ამას ავტომატურად? 202 00:10:06,878 --> 00:10:11,365 ის აპირებს გადარჩენა ჩემთვის ბევრი დრო ავურიოთ ჩემი HTML და ჩემი PHP ერთად. 203 00:10:11,365 --> 00:10:16,220 >> და ისე, რომ, თუ რატომ არ უბრალოდ ღია PHP delimiter 204 00:10:16,220 --> 00:10:19,450 და შემდეგ უბრალოდ ამობეჭდოთ მთელი შინაარსი ჩვენი გვერდი, როგორც ერთ-ერთი გიგანტური PHP 205 00:10:19,450 --> 00:10:24,330 მოვუწოდებთ ფუნქცია, ბეჭდვა, და შემდეგ ახლოს PHP delimiter და ჩვენ გავაკეთეთ. 206 00:10:24,330 --> 00:10:27,620 ასე რომ, რატომ ჩვენ ავურიოთ მათ ერთად. 207 00:10:27,620 --> 00:10:32,345 >> ჯერჯერობით, ჩვენ არ მინახავს ძალიან ბევრი განსხვავება ზოგადი PHP სინტაქსი. 208 00:10:32,345 --> 00:10:33,720 ეს იყო საკმაოდ მარტივია. 209 00:10:33,720 --> 00:10:35,553 ჩვენ უკვე მინახავს კითხვის ნიშნის, თანაბარი. 210 00:10:35,553 --> 00:10:39,012 ჩვენ ვნახეთ რამდენიმე ახალი ფუნქცია მოუწოდებს, მაგრამ არაფერი ნამდვილად ლამაზი ხდება. 211 00:10:39,012 --> 00:10:40,720 მოდით იქნებ რამ პატარა fancier. 212 00:10:40,720 --> 00:10:44,360 რა მოხდება, თუ ჩვენ გვინდა გავლა ინფორმაცია შორის სხვადასხვა PHP ფაილები, 213 00:10:44,360 --> 00:10:47,280 ასე რომ, შესაძლოა, მომხმარებელს შეუძლია წარუდგინოს ინფორმაცია ჩემთვის. 214 00:10:47,280 --> 00:10:50,230 და მერე შეიძლება რაღაც ეს კიდევ ერთი გვერდი. 215 00:10:50,230 --> 00:10:52,990 >> ასე რომ, PHP მხარდაჭერა რაღაც მოუწოდა Super Global 216 00:10:52,990 --> 00:10:55,297 ცვლადები, რომელიც ჟღერს საკმაოდ გასაოცარია. 217 00:10:55,297 --> 00:10:57,130 ისინი მართლაც მხოლოდ გიგანტური ასოციაციური მასივების 218 00:10:57,130 --> 00:10:59,900 რომ დაეხმაროს განახორციელოს ეს ფუნქციონალური მიღება 219 00:10:59,900 --> 00:11:05,010 შორის ინფორმაციის PHP ფაილი, რომელიც არსებული ჩვენს სერვერზე. 220 00:11:05,010 --> 00:11:07,760 >> პირველი ეს სუპერ globals ეწოდება $ _GET. 221 00:11:07,760 --> 00:11:10,140 და ეს, ალბათ, მარტივი გასაგებია. 222 00:11:10,140 --> 00:11:12,430 რა ხდება $ _GET? 223 00:11:12,430 --> 00:11:16,240 ისე, ძირითადად, მომხმარებელი ვაპირებ აკრიფოთ დამატებითი ინფორმაცია 224 00:11:16,240 --> 00:11:18,390 ბოლოს ჩვენი მისამართები. 225 00:11:18,390 --> 00:11:21,460 და რასაც ისინი აკრიფოთ, ვთქვათ, ის ფორმატირებული კონკრეტული გზა 226 00:11:21,460 --> 00:11:25,830 მოუწოდა შეკითხვის სიმებიანი, რომელიც მხოლოდ კომპლექტი გასაღები ღირებულება წყვილი გამოყოფილი 227 00:11:25,830 --> 00:11:27,810 მიერ ampersands. 228 00:11:27,810 --> 00:11:32,362 ისინი გასაღები ღირებულება წყვილი იქნება შენახული $ _GET ასოციაციურ მასივში. 229 00:11:32,362 --> 00:11:34,070 და ჩვენი ვიდეო PHP სინტაქსი, ჩვენ ვიცით, 230 00:11:34,070 --> 00:11:40,080 როგორ უნდა იმუშაოს ასოციაციური მასივების უკვე. 231 00:11:40,080 --> 00:11:44,090 ასე რომ, აქ არის მაგალითი ზოგიერთი PHP, სადაც შესაძლოა, მე 232 00:11:44,090 --> 00:11:50,180 მოპოვების ყველა გასაღები ღირებულება წყვილი რომ მომხმარებელს მიეწოდება URL. 233 00:11:50,180 --> 00:11:51,970 ასე რომ, მე მაქვს ჩემი Open PHP delimiter. 234 00:11:51,970 --> 00:11:53,410 მაქვს foreach loop. 235 00:11:53,410 --> 00:11:57,410 მე iterating მასშტაბით Super Global Array მოუწოდა $ _GET. 236 00:11:57,410 --> 00:12:00,160 >> და მე მინდა, რომ შეუძლია მიმართოს ორივე გასაღები და მნიშვნელობა. 237 00:12:00,160 --> 00:12:02,410 და მე უბრალოდ ბეჭდვა მათ გარეთ, ყოველი ერთი, როგორც ჩანს, 238 00:12:02,410 --> 00:12:03,780 საკუთარი პუნქტი აქვს აქ. 239 00:12:03,780 --> 00:12:07,620 მე დაბეჭდვისას გარკვეული HTML და interpolating ღირებულებების 240 00:12:07,620 --> 00:12:12,900 ძირითადი და ღირებულება შევიდა, რომ განცხადებაში. 241 00:12:12,900 --> 00:12:16,980 >> მოდით შევხედოთ, თუ როგორ ეს რომ რეალურად მუშაობა ჩვენი IDE. 242 00:12:16,980 --> 00:12:18,980 და, შესაძლოა, ეს ხელს შეუწყობს ცხადყოფს, ცოტა 243 00:12:18,980 --> 00:12:21,880 რა GET რეალურად აკეთებს. 244 00:12:21,880 --> 00:12:23,610 ამიტომ დავბრუნდი აქ ჩემს ვებ root. 245 00:12:23,610 --> 00:12:25,318 და მე მიუახლოვდით ცოტა გაჩვენებთ 246 00:12:25,318 --> 00:12:28,620 რომ მაქვს ფაილი მოუწოდა, get1.php. 247 00:12:28,620 --> 00:12:31,830 >> მოდით დააჭირეთ get1.php. 248 00:12:31,830 --> 00:12:36,600 და მე არ ხედავს რაიმე შინაარსი. 249 00:12:36,600 --> 00:12:38,390 ეს არის უცნაური, არა? 250 00:12:38,390 --> 00:12:39,740 ისე, ნამდვილად არ რეალურად. 251 00:12:39,740 --> 00:12:42,030 იმიტომ, რომ მე არ მიაწოდოს არაფერი URL. 252 00:12:42,030 --> 00:12:46,270 მე ვაპირებ get1.php, მაგრამ მე არ მიაწოდოს ნებისმიერ გასაღები ღირებულება წყვილი 253 00:12:46,270 --> 00:12:47,450 როგორც ნაწილი ჩემი შეკითხვის სიმებიანი. 254 00:12:47,450 --> 00:12:50,510 მოდით დავამატოთ შეკითხვის სიმებიანი და ვნახოთ რა ეს ფაილი შეუძლია გააკეთოს. 255 00:12:50,510 --> 00:12:53,040 >> დასაწყისისთვის შეკითხვის სიმებიანი თქვენ მხოლოდ ჩაწერეთ კითხვის ნიშნის. 256 00:12:53,040 --> 00:13:00,820 მაშინ იქნებ მე ვიტყვი name = Doug & year = 2015. 257 00:13:00,820 --> 00:13:02,914 და მაშინ მე დააჭიროთ. 258 00:13:02,914 --> 00:13:04,080 ახლა შეამჩნია, რა ხდება. 259 00:13:04,080 --> 00:13:05,480 მე მაინც get1.php. 260 00:13:05,480 --> 00:13:08,445 მაგრამ ახლა მე მიეწოდება გასაღები ღირებულება წყვილი, და მე 261 00:13:08,445 --> 00:13:14,940 ბეჭდვის მათ საკუთარი paragraph-- სახელი, Doug-- წელს, 2015 წელს. 262 00:13:14,940 --> 00:13:17,970 სწორედ კოდი ჩვენ უბრალოდ დაინახა on the slide მომენტში წინ. 263 00:13:17,970 --> 00:13:22,290 >> და თუ მინდა იქნებ დაამატოთ სხვა გასაღები ღირებულება წყვილი, და კლასის = CS50. 264 00:13:22,290 --> 00:13:25,325 265 00:13:25,325 --> 00:13:27,580 ახლა მე მაქვს კიდევ ერთი ძირითადი ღირებულება წყვილი, რომელიც იბეჭდება out 266 00:13:27,580 --> 00:13:30,025 როდესაც მე დავუბრუნდეთ URL ერთხელ. 267 00:13:30,025 --> 00:13:31,900 ახლა, შესაძლოა, ეს არ არის ფორმატირებული საშინლად კარგად. 268 00:13:31,900 --> 00:13:33,660 ასე რომ, მე კიდევ ერთი ვერსია get.php. 269 00:13:33,660 --> 00:13:36,350 ეს get2.php. 270 00:13:36,350 --> 00:13:39,070 >> განსხვავება ამ ერთი მაქვს CSS ფაილი, 271 00:13:39,070 --> 00:13:41,690 და ეს ფორმატების რამ ცოტა უფრო ლამაზად ჩემთვის. 272 00:13:41,690 --> 00:13:43,940 ეს ალბათ არ არის ყველაზე ლამაზი CSS მსოფლიოში. 273 00:13:43,940 --> 00:13:45,650 მაგრამ ეს მხოლოდ ერთი გზა ვაკეთებთ. 274 00:13:45,650 --> 00:13:52,840 ასე რომ, მე მაინც მიიღოთ დაშვება ჩემს ცვლადები გამოყენებით $ _GET. 275 00:13:52,840 --> 00:13:56,610 და ამ შემთხვევაში, მე უბრალოდ სახის მიღების CSS ცოტა უფრო ლამაზი. 276 00:13:56,610 --> 00:13:58,360 და თუ ჩვენ პოპ მეტი ჩემი IDE მეორე, 277 00:13:58,360 --> 00:14:06,870 მე გაჩვენებთ ჩემი PHP ვებ დირექტორია აქ, get2.php. 278 00:14:06,870 --> 00:14:10,010 ჩვენ გასახსნელად, ზოგიერთი HTML აქ. 279 00:14:10,010 --> 00:14:13,220 როგორც ჩანს მე აკავშირებს ამ CSS ფაილი იყო საუბარი. 280 00:14:13,220 --> 00:14:14,570 მე გახსნას მაგიდაზე აქვს. 281 00:14:14,570 --> 00:14:15,970 და მერე აქ არის ჩემი foreach loop. 282 00:14:15,970 --> 00:14:18,450 >> აქ ის არის, რომ ის, რაც მე აჩვენა slide ადრე. 283 00:14:18,450 --> 00:14:21,007 ერთადერთი განსხვავება ის არის, რომ მე გვაქვს ეს გასაღები და მნიშვნელობა CSS 284 00:14:21,007 --> 00:14:22,340 სტილის რომ მე გამოყენებით მას. 285 00:14:22,340 --> 00:14:25,622 მაგრამ ეს ყველაფერი, მე ვაკეთებ, არის მე iterating მასშტაბით $ _GET მისაღებად ყველა 286 00:14:25,622 --> 00:14:26,580 ერთი გასაღები ღირებულება წყვილი. 287 00:14:26,580 --> 00:14:28,890 >> და მე დაბეჭდვის მათ, როგორც მაგიდასთან. 288 00:14:28,890 --> 00:14:33,230 და, როგორც ჩანს, მე გაფორმებით გასაღებები ერთი გზა, რომელზეც 00:14:40,057 ასე რომ, როგორც ჩანს, რომ მიმართავს ზოგიერთი კლასის selector ჩემი CSS ფაილი GET.CSS. 290 00:14:40,057 --> 00:14:42,890 და, როგორც ჩანს, მე დაბეჭდვისას ჩემი ღირებულებები სრულიად განსხვავებული გზა. 291 00:14:42,890 --> 00:14:45,530 რომელიც საკმაოდ ბევრი რაც ჩვენ ვნახეთ, აქ, სადაც 292 00:14:45,530 --> 00:14:47,710 ჩვენი ღირებულებები დაიბეჭდა ერთად ლურჯ ფონზე, 293 00:14:47,710 --> 00:14:49,969 და ჩვენი გასაღებები დაიბეჭდა ყვითელი ფონზე. 294 00:14:49,969 --> 00:14:52,010 ასე რომ, როგორ მე მისაღებად იმ სხვადასხვა სტილის. 295 00:14:52,010 --> 00:14:54,054 იმის გამო, რომ მე გამოყენებით სხვადასხვა CSS კლასი. 296 00:14:54,054 --> 00:14:55,470 მაგრამ, რომ საკმაოდ ბევრი მას GET. 297 00:14:55,470 --> 00:14:58,380 ისევე, როგორც მე უბრალოდ მოპოვების ინფორმაცია. 298 00:14:58,380 --> 00:15:01,000 და ამ შემთხვევაში, მე მხოლოდ დაბეჭდვის მას ეკრანზე. 299 00:15:01,000 --> 00:15:04,310 მე მისაღებად მას გარეთ URL, და რომ ის, რაც GET ჩვენთვის აკეთებს. 300 00:15:04,310 --> 00:15:06,470 >> ხედავთ შესაძლებელია პრობლემა იმისა? 301 00:15:06,470 --> 00:15:11,720 რატომ ჩვენ, შესაძლოა, არ გსურთ გამოიყენოთ $ _GET? 302 00:15:11,720 --> 00:15:15,440 რა მოხდება, თუ, იქნებ, მე მიღების ამ შეკითხვაზე? 303 00:15:15,440 --> 00:15:18,000 --to get3.php, რომელიც მე არ აქვს ჩემს IDE. 304 00:15:18,000 --> 00:15:19,640 ეს არის უბრალოდ ჰიპოთეტური ფაილი. 305 00:15:19,640 --> 00:15:22,187 მაგრამ შეამჩნია, რომ, როგორც ჩანს, ჩაბარების ჩემი პაროლი. 306 00:15:22,187 --> 00:15:23,770 და შესაძლოა დაგავიწყდათ უხერხულია. 307 00:15:23,770 --> 00:15:28,070 ან იქნებ მე არ მინდა, ხალხს იცით, რა ჩემი პაროლი, მარჯვნივ. 308 00:15:28,070 --> 00:15:33,140 >> თუ მე გავლით მას though-- თუ მე გამოყენებით იმ $ _GET მეთოდი, რა ხდება 309 00:15:33,140 --> 00:15:34,970 რომ იქნება URL. 310 00:15:34,970 --> 00:15:39,890 ასე რომ, გარკვეული მუქარის შესახებ შეიძლება ნახოს, რასაც მე ვაკეთებ. 311 00:15:39,890 --> 00:15:42,040 მე შეიძლება გავლით მათ გასაცვლელად. 312 00:15:42,040 --> 00:15:43,310 ან იქნებ ის კი არ არის მუქარის შესახებ. 313 00:15:43,310 --> 00:15:45,790 იქნებ ეს მხოლოდ თქვენი მეგობარი, რომელიც დგას თქვენი მხრის. 314 00:15:45,790 --> 00:15:47,650 და ახლა მათ იციან დაგავიწყდათ თქვენი Facebook ანგარიშის. 315 00:15:47,650 --> 00:15:49,483 >> და, შესაძლოა, ისინი არ არაფერი მას. 316 00:15:49,483 --> 00:15:53,749 მაგრამ, თუ თქვენი პაროლი იყვნენ წარმოდგენილი გავლით $ _GET Facebook, 317 00:15:53,749 --> 00:15:55,290 ახლა მათ იციან თქვენი Facebook დაგავიწყდათ. 318 00:15:55,290 --> 00:15:59,000 იმიტომ, რომ ეს უფლება იქ URL როდესაც თქვენ გაკეთდეს წარდგენის ინფორმაცია. 319 00:15:59,000 --> 00:16:01,887 >> ასე რომ, ალბათ, რომ ეს არ არის საუკეთესო გზა უნდა გაიაროს გასაცვლელად. 320 00:16:01,887 --> 00:16:04,470 ეს არის კარგი გზა უნდა გაიაროს ინფორმაცია რომ ჩვენ არ განსაკუთრებით 321 00:16:04,470 --> 00:16:05,886 აინტერესებს, როგორც ძალიან მგრძნობიარე. 322 00:16:05,886 --> 00:16:09,347 იმის გამო, რომ GET საკმაოდ სწრაფად, შედარებით სხვა სუპერ globals 323 00:16:09,347 --> 00:16:10,430 ჩვენ ვაპირებთ ვისაუბროთ. 324 00:16:10,430 --> 00:16:13,330 მაგრამ შესაძლოა არა საუკეთესო საშუალებაა გასაცვლელად. 325 00:16:13,330 --> 00:16:15,990 >> იმისათვის, რომ ჩვენ დაგვჭირდება გამოიყენოთ რაღაც მოუწოდა $ _POST, 326 00:16:15,990 --> 00:16:18,560 რომელიც არის კიდევ ერთი სუპერ გლობალური ცვლადი. 327 00:16:18,560 --> 00:16:20,750 ეს არის კიდევ ერთი ასოციაციურ მასივში. 328 00:16:20,750 --> 00:16:23,240 ასე რომ, ეს მუშაობს საკმაოდ ბევრი ზუსტად ისევე, როგორც GET. 329 00:16:23,240 --> 00:16:26,850 გარდა, ნაცვლად მოპოვების ინფორმაცია URL, 330 00:16:26,850 --> 00:16:29,870 ეს იმას რაღაც მეშვეობით HTTP სათაურებში. 331 00:16:29,870 --> 00:16:32,080 ასე რომ გავიხსენოთ, ჩვენი ვიდეო HTTP, ჩვენ ვისაუბრეთ 332 00:16:32,080 --> 00:16:34,850 იმაზე, თუ როგორ ბრაუზერები, სერვერები, და კლიენტებს კომუნიკაცია. 333 00:16:34,850 --> 00:16:38,070 და ინფორმაციის გავიდა უკან და მეოთხე HTTP სათაურებში. 334 00:16:38,070 --> 00:16:43,330 >> ერთად $ _POST, ინფორმაცია, როგორც წესი, იგზავნება იმ HTTP სათაურებში. 335 00:16:43,330 --> 00:16:49,770 და ჩვენ ყველაზე ხშირად ვხედავ $ _POST კონტექსტში წარდგენის HTML ფორმები. 336 00:16:49,770 --> 00:16:52,390 თქვენ შეგიძლიათ კვლავ გამოიყენოთ HTML ფორმები წარუდგინოს რამ მისაღებად. 337 00:16:52,390 --> 00:16:56,120 მაგრამ ისინი, როგორც წესი, გამოიყენება კონტექსტში POST. 338 00:16:56,120 --> 00:17:00,280 >> ასე რომ, აქ არის მაგალითი იმისა, HTML ფორმით. 339 00:17:00,280 --> 00:17:06,750 ახლა ჩვენ ვნახეთ ეს ადრე, მაგრამ ჩვენ არ გვაქვს არ მინახავს ამ ნაწილში, action = "Post.php". 340 00:17:06,750 --> 00:17:10,756 ასე რომ, როდესაც ჩვენ ვისაუბრეთ ფორმები კონტექსტში HTML, მე მქონდა ღილაკს. 341 00:17:10,756 --> 00:17:13,630 და თუ გავიხსენებთ, მე დაწკაპეთ გაგზავნა და შემდეგ გვერდზე მხოლოდ განახლება, 342 00:17:13,630 --> 00:17:14,660 არც არაფერი. 343 00:17:14,660 --> 00:17:18,250 >> ამ შემთხვევაში, მე წარდგენის რასაც მე აკრიფოთ ამ ფორმით, 344 00:17:18,250 --> 00:17:20,750 to PHP ფაილი მოუწოდა Post.php. 345 00:17:20,750 --> 00:17:25,810 და, როგორც ჩანს, გზა მე ვაკეთებ, რომ ამ ფორმით გამოყენებით POST მეთოდით. 346 00:17:25,810 --> 00:17:29,040 ასე რომ ყველა ინფორმაცია რომ მე აკრიფოთ ამ ფორმით 347 00:17:29,040 --> 00:17:31,470 წარმოდგენილი იქნება მეშვეობით HTTP სათაურებში. 348 00:17:31,470 --> 00:17:36,440 >> ეს იქნება ხელმისაწვდომი Post.php, იმიტომ, რომ აქციის ჩემი სახით. 349 00:17:36,440 --> 00:17:39,811 ეს იქნება ხელმისაწვდომი აპირებს $ _POST. 350 00:17:39,811 --> 00:17:42,310 და, როგორც ჩანს, არ შემიძლია მიიღეთ ცალკეულ ელემენტს 351 00:17:42,310 --> 00:17:44,765 რომ ასოციაციურ მასივში არის ეს ატრიბუტი, 352 00:17:44,765 --> 00:17:48,130 სახელი ატრიბუტი ჩვენი შეყვანის tags. 353 00:17:48,130 --> 00:17:53,540 >> ასე რომ, როგორც ჩანს, შემიძლია ვთქვა, $ _POST მოედანზე ფრჩხილებში ასახელებს, რომ მიიღოთ რასაც შესახებ 354 00:17:53,540 --> 00:17:55,440 აკრეფილი პირველ სფეროში. 355 00:17:55,440 --> 00:18:01,030 და $ _POST დაგავიწყდათ, pw უფრო სწორად, მისაღებად რასაც მომხმარებლის აკრეფილი 356 00:18:01,030 --> 00:18:03,650 მეორე სფეროში. 357 00:18:03,650 --> 00:18:06,414 >> მოდით შევხედოთ ამ დასრულდა CS50 IDE. 358 00:18:06,414 --> 00:18:08,330 ასე რომ აქ ვართ, და მე მიუახლოვდით მეორე. 359 00:18:08,330 --> 00:18:12,380 და ჩვენ გვაქვს ფაილი სახელად post.html. 360 00:18:12,380 --> 00:18:13,690 მე დააწკაპუნეთ post.html. 361 00:18:13,690 --> 00:18:16,300 ძალიან ზევით აქ მაქვს ძალიან მარტივი ვებ ფორმით. 362 00:18:16,300 --> 00:18:18,750 ეს ფორმა ჩვენ ვნახეთ on the slide მეორე წინ. 363 00:18:18,750 --> 00:18:25,610 >> შემიძლია აკრიფოთ, Doug, და მე არ შემიძლია ჩაწერეთ ჩემი პაროლი, რომელსაც ჩვენ ყველა 364 00:18:25,610 --> 00:18:27,340 ვიცი, არის squadgoals. 365 00:18:27,340 --> 00:18:30,100 და მე მოხვდა წარუდგინოს. 366 00:18:30,100 --> 00:18:32,290 და როგორც ჩანს, რომ წარუდგენს Post.php. 367 00:18:32,290 --> 00:18:33,810 და მე აშკარად დაბეჭდვის რომ. 368 00:18:33,810 --> 00:18:36,490 ასე რომ, მე მოშორების ყველა უსაფრთხოების რომ POST მაძლევს მხოლოდ ბეჭდვა 369 00:18:36,490 --> 00:18:37,720 მომხმარებლის სახელი და პაროლი. 370 00:18:37,720 --> 00:18:38,960 >> მომხმარებლის სახელი Doug. 371 00:18:38,960 --> 00:18:40,810 მომხმარებლის პაროლი squadgoals. 372 00:18:40,810 --> 00:18:42,480 როგორ გავაკეთო ეს? 373 00:18:42,480 --> 00:18:44,800 ისე, პოპ მეტი IDE ერთხელ მეორე. 374 00:18:44,800 --> 00:18:51,340 ჩვენ გადახვევა ქვემოთ მიიღოს შევხედოთ Post.php, რომელიც იყო 375 00:18:51,340 --> 00:18:54,040 ქმედება, რომელიც მე უნდა წარმოადგინოს აქ. 376 00:18:54,040 --> 00:18:55,739 ეს იყო სამოქმედო ჩემი HTML ფორმა. 377 00:18:55,739 --> 00:18:56,780 და ეს ყველაფერი მე ვაკეთებ. 378 00:18:56,780 --> 00:19:01,370 მომხმარებლის სახელი, და მე ბეჭდვა შინაარსი $ _POST "სახელი". 379 00:19:01,370 --> 00:19:04,660 და შემდეგ მომხმარებლის პაროლი არის $ _POST "password". 380 00:19:04,660 --> 00:19:08,920 ასე რომ, მე იმის გათვალისწინებით, რომ ინფორმაცია წარდგენის HTML ფორმა. 381 00:19:08,920 --> 00:19:13,790 და მე შეგიძლიათ ამონაწერი ის გამოყენებით $ _POST იმიტომ, რომ მეთოდი მე გამოიყენება გადასცეს 382 00:19:13,790 --> 00:19:17,470 მონაცემები, რომ ფორმა იყო POST მეთოდით. 383 00:19:17,470 --> 00:19:20,640 >> ახლა ეს, ალბათ, არ ასე great-- მე ვაპირებ 384 00:19:20,640 --> 00:19:24,510 უნდა დაბრუნდეს მეორე ჩვენი ნაკრები აქ 385 00:19:24,510 --> 00:19:30,120 ეს, ალბათ, არ არის იმდენად დიდი, თუ მე ვარ წარდგენის ინფორმაცია POST, 386 00:19:30,120 --> 00:19:32,532 რომელიც თითქოს უფრო უსაფრთხო. 387 00:19:32,532 --> 00:19:34,740 ეს, ალბათ, არც ისე დიდი თუ მე ვაკეთებ და შემდეგ 388 00:19:34,740 --> 00:19:36,470 დაბეჭდვისას მომხმარებლის პაროლი. 389 00:19:36,470 --> 00:19:38,540 ეს უნდა იყოს უფრო უსაფრთხო. 390 00:19:38,540 --> 00:19:40,870 >> OK, მაგრამ ეს არ არის მთლად უსაფრთხო. 391 00:19:40,870 --> 00:19:42,910 ასე რომ, ამ პატარა snippet აქ მინდა 392 00:19:42,910 --> 00:19:46,410 უბრალოდ თქვენი ყურადღება გავამახვილო რამდენიმე მონაცემთა უსაფრთხოების საკითხებში, უბრალოდ რაღაც 393 00:19:46,410 --> 00:19:51,200 ვიფიქროთ, როგორც თქვენ მუშაობს ან გამოყენებით ინტერნეტში. 394 00:19:51,200 --> 00:19:53,890 ეს არის მხოლოდ რაღაც განიხილოს. 395 00:19:53,890 --> 00:19:57,980 >> მე ვუთხარი, რომ ინფორმაცია წარმოდგენილი HTTP სათაურებში 396 00:19:57,980 --> 00:19:59,724 როდესაც თქვენ იყენებთ POST მეთოდით. 397 00:19:59,724 --> 00:20:01,390 რაც იმას ნიშნავს, რომ ისინი მთლად უსაფრთხო. 398 00:20:01,390 --> 00:20:05,610 ისინი რთული მოძიების, ვიდრე გამოყენებით GET მეთოდით, სადაც 399 00:20:05,610 --> 00:20:06,882 უბრალოდ უფლება URL. 400 00:20:06,882 --> 00:20:08,340 მაგრამ მაინც გზა, რათა იპოვოს იგი. 401 00:20:08,340 --> 00:20:10,423 და მე მინდა, რომ ნახოთ თქვენ ისე, რომ თქვენ შესაძლოა, 402 00:20:10,423 --> 00:20:12,940 დაიწყოს ფიქრი როგორც თქვენ სამუშაო, ან 403 00:20:12,940 --> 00:20:14,560 ვებ და წარდგენის პაროლები, და იქნებ გამოყენებით 404 00:20:14,560 --> 00:20:16,518 იგივე პაროლი in a ბევრი სხვადასხვა ადგილებში. 405 00:20:16,518 --> 00:20:22,060 ვიცი, რომ არის ჯერ კიდევ საკმაოდ ადვილად გაირკვეს, ვიღაცის დაგავიწყდათ. 406 00:20:22,060 --> 00:20:25,190 >> ასე რომ, აქ, მე ვაპირებ წასვლა post2.html. 407 00:20:25,190 --> 00:20:28,850 და სხვაობა post2.html და post2.php არის საკმაოდ დახვეწილი. 408 00:20:28,850 --> 00:20:31,420 განსხვავება არის მხოლოდ რომ მე არ ამობეჭდოთ 409 00:20:31,420 --> 00:20:33,520 დაგავიწყდათ როცა წარმოადგინონ ფორმა. 410 00:20:33,520 --> 00:20:35,260 >> ამიტომ, მე ვაპირებ აკრიფოთ, Doug. 411 00:20:35,260 --> 00:20:38,365 და მე ვაპირებ აკრიფოთ წელს, squadgoals, მაშინაც კი, 412 00:20:38,365 --> 00:20:40,770 მიუხედავად იმისა, რომ ჩვენ ვიცით, რომ ის დაგავიწყდათ. 413 00:20:40,770 --> 00:20:42,540 სანამ მე წარუდგინოს შექმნას, თუმცა, მე ვაპირებ 414 00:20:42,540 --> 00:20:45,864 გახსნა up შემქმნელი ინსტრუმენტები, უბრალოდ აჩვენებს, თუ რა მოხდება აქ. 415 00:20:45,864 --> 00:20:47,530 ასე რომ, Chrome, მე უბრალოდ აპირებს მოხვდა F12. 416 00:20:47,530 --> 00:20:54,120 417 00:20:54,120 --> 00:20:57,230 და რომ აპირებს გახსნას ჩემი შემქმნელი ინსტრუმენტები მარჯვენა მხარეს. 418 00:20:57,230 --> 00:20:59,480 მე არ ფორმის არის. 419 00:20:59,480 --> 00:21:02,680 ახლა მე ვაპირებ მოხვდა წარუდგინოს ჩემი სახით. 420 00:21:02,680 --> 00:21:05,370 და როგორც ჩანს, მე მივიღე მოვუწოდებთ, ან მე თხოვნით 421 00:21:05,370 --> 00:21:07,620 რომ post2.php, რომელსაც აქვს აზრი. 422 00:21:07,620 --> 00:21:10,040 მე ვაპირებ დააჭირეთ რომ. 423 00:21:10,040 --> 00:21:13,802 >> მაშინ აქ, მე ვაპირებ დააჭირეთ ზედა. 424 00:21:13,802 --> 00:21:15,410 არსებობს უამრავი პერსონალის მიმდინარეობს აქ. 425 00:21:15,410 --> 00:21:21,310 მაგრამ თუ გადაფურცლეთ ქვემოთ ძალიან ბოლოში, გაფრთხილების უფლება იქ ჩემი კალენდარი 426 00:21:21,310 --> 00:21:25,180 დაბლოკა იგი დიდი second-- უფლება იქ ძალიან ქვედა კუთხეში, 427 00:21:25,180 --> 00:21:27,386 name-- Doug, pw-- squadgoals. 428 00:21:27,386 --> 00:21:30,010 ასე რომ, მიუხედავად იმისა, რომ მე გამოყენებით POST მეთოდი, რომელიც არის უფრო უსაფრთხო, 429 00:21:30,010 --> 00:21:33,570 უბრალოდ უნდა იცოდეს, რომ როდესაც თქვენ ამის გაკეთება, თქვენ ჯერ კიდევ გადამცემი ინფორმაცია 430 00:21:33,570 --> 00:21:34,430 მეშვეობით HTTP. 431 00:21:34,430 --> 00:21:36,770 და ის მაინც უნდა იყოს ნაპოვნია მიერ მოწინააღმდეგეს. 432 00:21:36,770 --> 00:21:39,270 ეს არის მხოლოდ ის, რომ ჩვენ ვაპირებთ უნდა გაუმკლავდეთ ნამდვილად. 433 00:21:39,270 --> 00:21:41,980 იქნებ არის გზები დაშიფვრა ჩვენი პაროლები სანამ ჩვენ მათ მეტი, 434 00:21:41,980 --> 00:21:44,410 რომელიც იქნება უკეთესი, რომელიც მე არ აკეთებს აქ. 435 00:21:44,410 --> 00:21:47,010 >> მაგრამ უბრალოდ უნდა იცოდეს, რომ POST მეთოდი აქვს შეზღუდვები ძალიან. 436 00:21:47,010 --> 00:21:49,801 ეს არის უკეთესი მიიღონ თვალსაზრისით, რომ დაუყოვნებლივ შესამჩნევი. 437 00:21:49,801 --> 00:21:51,280 მაგრამ ეს არ არის სრული სარემონტო. 438 00:21:51,280 --> 00:21:53,280 ასე რომ, აქ არის მაგალითი იმისა, სწრაფი სახლში exercise 439 00:21:53,280 --> 00:21:56,350 რომელიც შეგიძლიათ გამოიყენოთ, რომ რაღაც პრაქტიკაში მუშაობის PHP. 440 00:21:56,350 --> 00:21:58,300 შექმენით შემდეგ წყვილი ვებ გვერდებზე. 441 00:21:58,300 --> 00:22:00,960 პირველი უნდა იყოს მხოლოდ ძალიან მარტივია ჩამოყალიბდეს ერთ სფეროში და წარუდგინოს 442 00:22:00,960 --> 00:22:01,460 ღილაკს. 443 00:22:01,460 --> 00:22:04,070 ასე რომ, ძალიან ჰგავს იმას, რასაც ჩვენ უბრალოდ გააკეთა post.html. 444 00:22:04,070 --> 00:22:07,450 >> და მაშინ მეორე ფაილი თქვენ უნდა შექმნათ 445 00:22:07,450 --> 00:22:11,687 არის ფაილი, PHP ფაილი, რომელიც ელოდება შეყვანის მეშვეობით POST, 446 00:22:11,687 --> 00:22:14,770 და რის საფუძველზე შესახებ აკრეფილი, რომელიც თქვენ შეიძლება ვივარაუდოთ, იქნება მთელი რიცხვი. 447 00:22:14,770 --> 00:22:16,160 თქვენ არ გაქვთ რაიმე შეცდომა შემოწმება და სხვა. 448 00:22:16,160 --> 00:22:18,284 თქვენ შეიძლება ვივარაუდოთ შესახებ აკრიფოთ მთელი ღირებულება, 449 00:22:18,284 --> 00:22:22,230 ან რაღაც ინტერპრეტაციას PHP როგორც მთელი რიცხვი, შევიდა, რომ ფორმა. 450 00:22:22,230 --> 00:22:24,790 თქვენ უბრალოდ უნდა შევქმნათ n მიერ n გამრავლება მაგიდასთან. 451 00:22:24,790 --> 00:22:28,480 >> ასე რომ, თუ მომხმარებლის მიერ 10, ჩვენ გვინდა, რომ აქვს 10, 10 გამრავლება მაგიდასთან. 452 00:22:28,480 --> 00:22:31,832 თუ მომხმარებელს წარუდგენს 12, ჩვენ გვინდა 12 12 გამრავლება მაგიდასთან. 453 00:22:31,832 --> 00:22:33,790 უბრალოდ, ასე რომ თქვენ ხედავთ, რა ჩვენ მართვის აქ, 454 00:22:33,790 --> 00:22:36,040 ჩვენ შევხედოთ ეს ფაილი ჩემი IDE. 455 00:22:36,040 --> 00:22:38,080 >> ასე რომ, აქ IDE, მაქვს mult_form.html. 456 00:22:38,080 --> 00:22:41,370 457 00:22:41,370 --> 00:22:43,100 მე დაწკაპეთ იგი. 458 00:22:43,100 --> 00:22:46,020 ყველა მე მინდა, რომ წარმოადგინოს მნიშვნელობა. 459 00:22:46,020 --> 00:22:47,590 ტიპი 10, მოხვდა გაგზავნა. 460 00:22:47,590 --> 00:22:51,190 და როგორც ჩანს, mult_table.php, რომელიც ჩვენ ვხედავთ, ზედა არსებობს URL, 461 00:22:51,190 --> 00:22:53,970 მე შექმნის 10 10 გამრავლება მაგიდასთან. 462 00:22:53,970 --> 00:22:59,365 >> თუ მე აკრიფოთ 15 და მოხვდა წარადგინეთ, ახლა მე აქვს 15 15 გამრავლება მაგიდასთან. 463 00:22:59,365 --> 00:23:02,240 მე, რა თქმა უნდა, არ აპირებს აჩვენებს თქვენ შინაარსი mult_table.php, 464 00:23:02,240 --> 00:23:04,781 იმიტომ, რომ მიიღოს გართობა გამოსავალი ამ სახლში განხორციელება. 465 00:23:04,781 --> 00:23:07,480 მაგრამ ეს არის დიდი გზა მიიღოს გარკვეული პრაქტიკაში მუშაობის PHP მარყუჟების 466 00:23:07,480 --> 00:23:10,889 და POST, ძალიან მარტივია, იმედია სტრესი უფასო მაგალითად, 467 00:23:10,889 --> 00:23:12,180 ამის გაკეთება ცოტა პრაქტიკა. 468 00:23:12,180 --> 00:23:16,540 და მაქვს ცოტა CSS მიმდინარეობს აქ, რათა ჩემი ინდივიდუალური მაგიდა 469 00:23:16,540 --> 00:23:19,710 საკნებში მხოლოდ სახის პოპ მოჰყვა ცოტა და გამოიყურება ცოტა მეტი 470 00:23:19,710 --> 00:23:22,205 მოსწონს გამრავლება მაგიდა, განსხვავებით მხოლოდ ტექსტის მხოლოდ 471 00:23:22,205 --> 00:23:23,261 სახის სხდომაზე. 472 00:23:23,261 --> 00:23:26,260 ბოლო სუპერ გლობალური ჩვენ ვსაუბრობთ ამ ვიდეოში არის რაღაც მოუწოდა 473 00:23:26,260 --> 00:23:27,597 $ _SESSION. 474 00:23:27,597 --> 00:23:29,930 და, შესაძლოა, ეს არის რეალურად საუკეთესო მაგალითია ის, 475 00:23:29,930 --> 00:23:31,700 ჩვენ მივიჩნევთ, გლობალური. 476 00:23:31,700 --> 00:23:33,189 ეს არის კიდევ ერთი მასივი. 477 00:23:33,189 --> 00:23:34,480 ეს არის კიდევ ერთი ასოციაციურ მასივში. 478 00:23:34,480 --> 00:23:40,580 მაგრამ ეს არ არის ხელმისაწვდომი საშუალებით ყოველ PHP ფაილი, რომელიც არსებობს ჩვენს სისტემაში. 479 00:23:40,580 --> 00:23:43,410 >> ჩვენ არ უნდა წარადგინონ ინფორმაცია ერთ გვერდზე დროს 480 00:23:43,410 --> 00:23:45,400 როგორც ჩვენ ვაკეთებთ ერთად GET და POST. 481 00:23:45,400 --> 00:23:46,380 ის ყოველთვის არსებობს. 482 00:23:46,380 --> 00:23:50,040 ასე რომ, ეს არის დიდი გვერდი სადაც თქვენ ხართ, მაგალითად, 483 00:23:50,040 --> 00:23:53,120 და გსურთ თქვენი ინფორმაცია არსებობს გვერდზე გვერდი გვერდზე. 484 00:23:53,120 --> 00:23:58,180 >> შეგიძლიათ უბრალოდ დაიწყოს სხდომაზე და შემდეგ გამოყენება $ _SESSION გადარჩენა რამ, როგორიცაა 485 00:23:58,180 --> 00:24:02,320 მომხმარებლის სახელი ან მომხმარებლის ID ინფორმაცია და ასე შემდეგ. 486 00:24:02,320 --> 00:24:07,600 და რომ ინფორმაცია დარჩება $ _SESSION სანამ განადგურება სხდომაზე 487 00:24:07,600 --> 00:24:09,550 ცოტა მოგვიანებით. 488 00:24:09,550 --> 00:24:12,375 >> წერა დინამიური საიტები PHP ხდის მათ უკეთესი. 489 00:24:12,375 --> 00:24:14,250 შენი საიტები გახდა ძალიან დინამიური, და თქვენ არ 490 00:24:14,250 --> 00:24:17,670 უნდა გავაკეთოთ ძალიან ბევრი იმაზე მეტი, ვიდრე თქვენ სხვაგვარად არ კეთდება მხოლოდ 491 00:24:17,670 --> 00:24:18,920 აკეთებს ეს HTML. 492 00:24:18,920 --> 00:24:21,630 მაგრამ ეს მოითხოვს პრაქტიკა, ბევრი პრაქტიკა. 493 00:24:21,630 --> 00:24:26,897 >> თქვენ უკვე იცით, თუ როგორ უნდა ვიმუშაოთ C, და ასე jumping, PHP არის ძალიან სახიფათო. 494 00:24:26,897 --> 00:24:28,730 რა არის იქნებ ცოტა ცოტა სახიფათო მუშაობს 495 00:24:28,730 --> 00:24:33,180 ეს ახალი იდეა GET და POST, და შესაძლოა შერევით თქვენი HTML და PHP 496 00:24:33,180 --> 00:24:34,220 ერთად. 497 00:24:34,220 --> 00:24:37,570 მაგრამ ასევე უნდა იცოდეს, რომ ინტერნეტ არის დიდი საცავი ინფორმაცია. 498 00:24:37,570 --> 00:24:41,670 და PHP დოკუმენტაცია ხელმისაწვდომია ბევრგან, მაგრამ ალბათ ყველაზე 499 00:24:41,670 --> 00:24:43,354 კანონიკურად at php.net. 500 00:24:43,354 --> 00:24:45,520 და ნახავთ იქ, უამრავი განსხვავებული ფუნქციები, 501 00:24:45,520 --> 00:24:48,330 და გამოყენების შემთხვევაში და მაგალითები საფუძველზე მაგალითები, იმ მაგალითები. 502 00:24:48,330 --> 00:24:51,340 სად თუ გსურთ ცდილობენ და ფიგურა თუ როგორ უნდა გავაკეთოთ რაღაც, შანსები, 503 00:24:51,340 --> 00:24:52,964 ვინმეს ალბათ გაკეთდეს, სანამ. 504 00:24:52,964 --> 00:24:55,840 თქვენ შეგიძლიათ გამოიყენოთ ისინი როგორც შთაგონების განახორციელოს რასაც 505 00:24:55,840 --> 00:24:58,230 ეს თქვენ ცდილობს განახორციელოს ძალიან. 506 00:24:58,230 --> 00:24:59,230 >> მე Doug Lloyd. 507 00:24:59,230 --> 00:25:01,210 ეს არის CS50. 508 00:25:01,210 --> 00:25:02,608