1 00:00:00,000 --> 00:00:05,040 2 00:00:05,040 --> 00:00:08,440 >> SAM LEVATICH: Καλώς ήρθατε ενότητα για αυτή την εβδομάδα. 3 00:00:08,440 --> 00:00:10,040 Δεν είμαι Andi. 4 00:00:10,040 --> 00:00:14,590 Andi έχει πέσει άρρωστος για αυτή την ημέρα, και εγώ έχουν είδος που ονομάζεται στο τελευταίο λεπτό 5 00:00:14,590 --> 00:00:15,700 να αναλάβει. 6 00:00:15,700 --> 00:00:20,920 Είναι εποχή της γρίπης, ώστε να βεβαιωθείτε ότι έχετε μένουν καθαρά, πλένετε τα χέρια σας, 7 00:00:20,920 --> 00:00:24,800 και τρώει υγιεινά, έτσι ώστε μπορείτε, επίσης, δεν είναι κλινήρεις. 8 00:00:24,800 --> 00:00:26,870 >> Αλλά χωρίς περαιτέρω φασαρία, ας ξεκινήσουμε. 9 00:00:26,870 --> 00:00:29,970 Σήμερα, θα πάμε να μιλήσουμε για την PHP λίγο bit-- πώς 10 00:00:29,970 --> 00:00:33,900 PHP σχετίζεται με HTML, πώς σχετίζεται με CSS, και μερικά από τον ιστό 11 00:00:33,900 --> 00:00:36,100 πράγματα που έκανε στην τελευταία εκχώρηση. 12 00:00:36,100 --> 00:00:37,930 Εμείς πάμε να μιλήσουμε λίγο σχετικά με τον SQL 13 00:00:37,930 --> 00:00:41,360 και πώς μπορείτε να εργαστείτε με βάσεις δεδομένων, το οποίο είναι ένα πολύ βασικό στοιχείο του P 14 00:00:41,360 --> 00:00:43,650 που 8-- Ρ οριστεί 7. 15 00:00:43,650 --> 00:00:44,480 P που 7. 16 00:00:44,480 --> 00:00:48,400 >> Και μετά θα πάμε να μιλήσουμε λίγο bit για το πώς λειτουργούν οι ελεγκτές άποψη 17 00:00:48,400 --> 00:00:54,640 και γιατί αυτό είναι μια φιλοσοφία πίσω από μερικά σε σύγχρονες ιστοσελίδες και διαφορετικό σχεδιασμό. 18 00:00:54,640 --> 00:00:58,760 Λίγο πολύ πολλά είδη των εφαρμογών και τις εφαρμογές που μπορεί να μεταφέρει 19 00:00:58,760 --> 00:01:01,120 χρησιμοποιούν αυτό το μοντέλο, πλαισίου ελέγχου άποψη, 20 00:01:01,120 --> 00:01:02,890 ότι θα πρέπει να χρησιμοποιούν στο P που 7, γι 'αυτό θα 21 00:01:02,890 --> 00:01:05,220 μιλήσουμε λίγο σχετικά με το γιατί αυτό είναι να γίνει 22 00:01:05,220 --> 00:01:07,970 δημοφιλής, γιατί είναι σημαντικό και ωραίο. 23 00:01:07,970 --> 00:01:12,052 Και τότε εγώ θα επιτέλους να προχωρήσουμε σε μερικές συμβουλές για την αντιμετώπιση της P οριστεί 7. 24 00:01:12,052 --> 00:01:13,760 Και αν έχουμε χρόνο απομείνει στο τέλος, 25 00:01:13,760 --> 00:01:17,320 που μπορούμε να κάνουμε στην πραγματικότητα κάποια εργαστούμε μαζί για. 26 00:01:17,320 --> 00:01:20,380 >> Έτσι, PHP. 27 00:01:20,380 --> 00:01:23,790 Στην πραγματικότητα, μπορεί να έχετε παρατηρήσει this-- εσείς δεν πρέπει πραγματικά να βουτήξει it-- 28 00:01:23,790 --> 00:01:27,880 αλλά η P που είχε 6 κάποιο PHP κώδικα που συνέβαινε. 29 00:01:27,880 --> 00:01:34,710 Και επειδή η PHP είναι ένα C-όπως γλώσσα, PHP, σε αντίθεση με την HTML και CSS, 30 00:01:34,710 --> 00:01:39,030 είναι μια γλώσσα προγραμματισμού, λαμβάνοντας υπόψη ότι η HTML και CSS είναι στατικές. 31 00:01:39,030 --> 00:01:44,050 Είναι γλώσσες σήμανσης που ασχολούνται με το στυλ και την οπτική διάταξη. 32 00:01:44,050 --> 00:01:46,230 PHP είναι η πραγματική διαπραγμάτευση. 33 00:01:46,230 --> 00:01:51,590 >> Η PHP έχει βρόχους, έχει conditions-- όλα αυτά τα πράγματα που είναι διασκεδαστικό για C. 34 00:01:51,590 --> 00:01:56,190 Έχει μερικά πράγματα που είναι λίγο λίγο καλύτερα από ό, C, το οποίο θα δούμε, 35 00:01:56,190 --> 00:01:59,760 αλλά νομίζω ότι ο ευκολότερος τρόπος για να μιλήσει σχετικά με το PHP είναι απλά να βουτήξει μέσα. 36 00:01:59,760 --> 00:02:04,087 Έτσι, Πάω να πάει δεξιά στο IDE σε αυτό το σημείο. 37 00:02:04,087 --> 00:02:06,170 Το πρώτο πράγμα που θα πάμε να κάνουμε είναι να δούμε πραγματικά 38 00:02:06,170 --> 00:02:10,169 λίγο σε μερικά από τα PHP κώδικα που ήταν στο P που 6. 39 00:02:10,169 --> 00:02:13,600 Έτσι ο τρόπος που κάνουμε that-- πριν, με τον τρόπο που τρέχαμε 40 00:02:13,600 --> 00:02:18,550 ο διακομιστής για τη συσκευή ήταν ότι θα πρέπει να type-- 41 00:02:18,550 --> 00:02:21,750 είτε να χρησιμοποιήσετε την εφαρμογή σας ή την εφαρμογή του προσωπικού 42 00:02:21,750 --> 00:02:27,059 της server.c με τη μετάβαση στον τηλεφωνικό κατάλογο και τρέχει server.c είτε όχι 43 00:02:27,059 --> 00:02:30,100 arguments-- έτσι απλά να ζητήσει από το τοπικό κεντρικό υπολογιστή, το οποίο είναι αυτό που πιθανώς 44 00:02:30,100 --> 00:02:31,849 έκανε το μεγαλύτερο μέρος της time-- και στη συνέχεια σίτιση 45 00:02:31,849 --> 00:02:35,380 α directory-- με το οποίο θα χρησιμοποιηθεί ως ρίζα του 46 00:02:35,380 --> 00:02:38,310 όπου η ιστοσελίδα θα να τρέξει, ουσιαστικά. 47 00:02:38,310 --> 00:02:42,180 >> Αυτή την εβδομάδα για 7 P που, όπως μεγάλη όσο μας κώδικα για server.c 48 00:02:42,180 --> 00:02:47,580 είναι, υπάρχουν άνθρωποι που έχουν ήδη γραπτή αυτά τα ωραία πράγματα πάνω στο CS50 49 00:02:47,580 --> 00:02:49,630 ότι έχει λίγο περισσότερη λειτουργικότητα, 50 00:02:49,630 --> 00:02:52,920 ένα πρόγραμμα διακομιστή που είναι σε θέση που ασχολούνται με λίγο περισσότερη 51 00:02:52,920 --> 00:02:56,350 από τις περιπλοκές ότι θα δείτε τόσο P που 7 και Ρ ρυθμίσετε 8. 52 00:02:56,350 --> 00:03:01,410 Και ο τρόπος που θα ξεκινήσει η server είναι από πληκτρολογώντας απλά, "apache50." 53 00:03:01,410 --> 00:03:03,960 >> Και πριν κάνετε οτιδήποτε, θέλετε να είστε σίγουροι 54 00:03:03,960 --> 00:03:06,070 ότι ο Apache 50 δεν είναι εκτελείται ήδη, όπως είναι 55 00:03:06,070 --> 00:03:08,130 στη μηχανή μου, που έκανα για να το δοκιμάσετε. 56 00:03:08,130 --> 00:03:10,320 Και να το κάνεις αυτό με την κλήση apache50. 57 00:03:10,320 --> 00:03:14,070 Σταματήστε, και θα δείτε ότι είναι σταματώντας ο web server, αν μπορείτε να δείτε εκεί 58 00:03:14,070 --> 00:03:16,340 στο κάτω μέρος του παραθύρου τερματικού. 59 00:03:16,340 --> 00:03:21,090 Και στη συνέχεια απλά να ξεκινήσετε, είμαστε πρόκειται να καλέσει, "apache50 ξεκινήσει." 60 00:03:21,090 --> 00:03:23,150 Και μετά θα πάμε για να τροφοδοτήσει έναν κατάλογο. 61 00:03:23,150 --> 00:03:26,950 >> Τώρα, επειδή θέλουμε να δούμε σε μερικά από τα P που 6 κώδικα 62 00:03:26,950 --> 00:03:32,850 ότι είχε εφαρμόσει, εγώ πραγματικά αντιγράφονται λίγο το P 63 00:03:32,850 --> 00:03:37,090 που 6 κώδικα στο δικό μου φάκελο, το οποίο μπορείτε να δείτε στα αριστερά εκεί. 64 00:03:37,090 --> 00:03:40,170 Αυτό λέγεται "SECTION8" σε όλα τα γράμματα κεφαλαία 65 00:03:40,170 --> 00:03:44,510 επειδή είμαι ακριβώς έτσι συγκινημένος να είναι ζωντανά-μεταδοθεί σήμερα. 66 00:03:44,510 --> 00:03:47,330 >> Έτσι, αν τρέξουμε αυτό, θα έπρεπε όλα λειτουργούν πολύ αποτελεσματικά. 67 00:03:47,330 --> 00:03:52,350 Λέει, εντάξει, η ιστοσελίδα μας είναι τώρα που διατίθεται στην διεύθυνση του IDE, 68 00:03:52,350 --> 00:03:57,710 Βασικά, το οποίο είναι αυτό που χρησιμοποιείτε ακριβώς όπως ήταν στο P που 7-- P οριστεί 6. 69 00:03:57,710 --> 00:04:00,899 Όλα τα ευρετήρια μου είναι ένας δείκτης σήμερα. 70 00:04:00,899 --> 00:04:02,940 Έτσι, μπορούμε να πάμε με αυτό διεύθυνση, αν θα θυμάστε, 71 00:04:02,940 --> 00:04:05,710 με ένα απλό κλικ σε αυτό το μικρό κουμπί στην πάνω δεξιά. 72 00:04:05,710 --> 00:04:14,200 >> Και θα θυμάστε αυτόν τον κωδικό, το οποίο συνέβη όταν πήγε σε hello.php. 73 00:04:14,200 --> 00:04:18,000 Και ποιος είναι ο κωδικός έχει σχεδιαστεί για να κάνουμε είναι όταν έχετε πληκτρολογήσει ένα όνομα 74 00:04:18,000 --> 00:04:20,550 here-- αν λέτε Σαμ γιατί αυτό είναι name-- μου 75 00:04:20,550 --> 00:04:23,620 και κάνω κλικ πω ένα γεια, όταν πήγαμε στην επόμενη σελίδα, 76 00:04:23,620 --> 00:04:25,270 ότι το όνομα υποτίθεται ότι έπρεπε να εμφανίζεται. 77 00:04:25,270 --> 00:04:28,550 Θα έλεγα, "Γεια σου, Σαμ" ή "Γεια σας," ό, τι όνομα 78 00:04:28,550 --> 00:04:32,470 έχουν τεθεί σε αυτήν, ακόμη και αν πήγαμε σε μια εντελώς νέα ιστοσελίδα. 79 00:04:32,470 --> 00:04:36,610 >> Και αυτό είναι το είδος του πράγματος ότι η PHP μπορεί να κάνει για σας. 80 00:04:36,610 --> 00:04:42,840 PHP είναι σε θέση να περάσει τα δεδομένα ανάμεσα σε δύο ιστοσελίδες. 81 00:04:42,840 --> 00:04:44,390 Αυτή είναι μια εντελώς διαφορετική σελίδα. 82 00:04:44,390 --> 00:04:46,990 Θα δείτε ο τίτλος είναι "γεια" εδώ. 83 00:04:46,990 --> 00:04:49,080 Στην πραγματικότητα, έχουν το ίδιο τίτλο, αλλά εγώ 84 00:04:49,080 --> 00:04:52,560 υπόσχονται να είναι διαφορετικά web σελίδες, αν κοιτάξουμε την πηγή. 85 00:04:52,560 --> 00:04:55,890 Και μπορείτε να περάσετε τα δεδομένα που είναι Στο πεδίο αυτό εγγράφεται το κείμενο, 86 00:04:55,890 --> 00:04:59,830 να το υποβάλει στην προσεχή σελίδα που είναι να καταστεί απαιτητό, 87 00:04:59,830 --> 00:05:02,490 και στη συνέχεια ότι τα δεδομένα είναι σε θέση να να υπάρχει στην παρούσα του μορφή. 88 00:05:02,490 --> 00:05:04,810 >> Τώρα δεν έχουμε ακόμη εφαρμόσει Αυτό τους εαυτούς μας, η οποία 89 00:05:04,810 --> 00:05:08,710 είναι αυτό που πάμε να κάνουμε τώρα για να Ταξινόμηση να πάρετε μια γεύση για το πώς λειτουργεί η PHP, 90 00:05:08,710 --> 00:05:15,070 αλλά η βασική ιδέα είναι ότι μπορείτε να PHP-- είδος σκεφτείτε το σαν μια λειτουργία. 91 00:05:15,070 --> 00:05:18,570 Κάτι που PHP μπορεί να σας αφήσει δεν είναι αυτό μπορεί να δεχθεί παραμέτρους 92 00:05:18,570 --> 00:05:24,710 ότι η συμβολή σας σε μια σελίδα HTML με τη χρήση της PHP και τις μορφές, 93 00:05:24,710 --> 00:05:29,960 και μπορεί να περάσει αυτά που παραμέτρων στην επόμενη σελίδα που φορτώνει επάνω. 94 00:05:29,960 --> 00:05:35,110 >> Σε αυτή την περίπτωση, είμαστε φόρτωση μέχρι αυτό το σελίδα με το πλήκτρο "Υποδεχτείτε". 95 00:05:35,110 --> 00:05:38,960 Αλλά για τώρα, εγώ πραγματικά Διαγράφεται μέρος αυτής κώδικα 96 00:05:38,960 --> 00:05:44,850 στην hello.php που ήταν να τρέξει ότι ήταν πράγματι εμφανίζει το "γεια, 97 00:05:44,850 --> 00:05:49,680 κόσμος "ή" γεια, Sam "ή "Γεια σας," ό, τι ήταν ακριβώς εισόδου. 98 00:05:49,680 --> 00:05:53,620 Έτσι, για τώρα, είμαστε πρόκειται να το κάνουμε αυτό, βασικά. 99 00:05:53,620 --> 00:05:56,570 Εμείς πάμε για να αναδημιουργήσει αυτό και Επίσης, προσθέστε λίγο περισσότερη λειτουργικότητα, 100 00:05:56,570 --> 00:06:00,210 κάνει λίγο περισσότερο με αυτό, δείτε τι PHP είναι πραγματικά ικανή. 101 00:06:00,210 --> 00:06:04,870 >> Έτσι το πρώτο, ας μιλήσουμε για Αυτό το αρχείο, hello.php. 102 00:06:04,870 --> 00:06:07,440 Έτσι, αν εστιάσουμε στη συγκεκριμένη περιοχή λίγο bit-- και τώρα είμαι 103 00:06:07,440 --> 00:06:10,520 είδος προσπαθεί να μετακινηθείτε σε όλη ο τρόπος around-- εκεί πάμε. 104 00:06:10,520 --> 00:06:14,220 Θα δείτε αυτό λέγεται hello.php, αλλά η σύνταξη που 105 00:06:14,220 --> 00:06:16,880 μοιάζει με ένα αρχείο HTML. 106 00:06:16,880 --> 00:06:20,380 Αυτό συμβαίνει επειδή η πραγματική PHP σε αυτό το αρχείο 107 00:06:20,380 --> 00:06:25,220 Όλα αυτά κολλήσει μεταξύ αυτών ερώτηση μπλοκ σήμα-καρέ. 108 00:06:25,220 --> 00:06:28,610 Τα πάντα εδώ θεωρείται κώδικα PHP. 109 00:06:28,610 --> 00:06:32,040 >> Και θα παρατηρήσετε ότι όταν έκανα ένα σχόλιο, 110 00:06:32,040 --> 00:06:35,320 θα δείτε το γνώριμο δύο καθέτους. 111 00:06:35,320 --> 00:06:38,440 Και αν θα θυμηθούμε, σε HTML, αν πληκτρολογήσετε ένα σχόλιο, 112 00:06:38,440 --> 00:06:42,540 Μοιάζει κάπως πιο κοντά στο αυτό, το οποίο είναι ένα σχόλιο σε HTML. 113 00:06:42,540 --> 00:06:46,570 Έτσι, πραγματικά τα πάντα μεταξύ Αυτές οι δύο αγκύλες 114 00:06:46,570 --> 00:06:50,060 είναι τώρα PHP κώδικα, η οποία αντικατοπτρίζεται στο γεγονός 115 00:06:50,060 --> 00:06:53,270 ότι αυτό το μικρό σύμβολο σχόλιο έχει μετατραπεί σε ένα σχόλιο. 116 00:06:53,270 --> 00:06:58,420 >> Έτσι, κάθε φορά που γράφετε κώδικα PHP, ακόμη και αν δεν υπάρχει κώδικα HTML έξω από αυτήν, 117 00:06:58,420 --> 00:07:02,720 ότι πάντα θα είναι περικλείονται σε αγκύλες αυτές 118 00:07:02,720 --> 00:07:04,080 με ερωτηματικά. 119 00:07:04,080 --> 00:07:08,260 Μπορείτε να ταξινομήσετε των σκεφτούμε πώς όλα it-- του κώδικα που έτρεξε μέσα στα προγράμματά σας C 120 00:07:08,260 --> 00:07:13,950 ήταν κλεισμένο σε ένα int main, άκυρη, σγουρά στήριγμα, τέλος σγουρά δήλωση κηδεμόνα. 121 00:07:13,950 --> 00:07:17,100 Και θα δείτε άγκιστρα στο PHP, πάρα πολύ, αλλά αυτό είναι το είδος του 122 00:07:17,100 --> 00:07:20,490 όπως και η κύρια μέθοδος της PHP. 123 00:07:20,490 --> 00:07:25,630 >> Έτσι τώρα, πώς μπορούμε να κάνουμε τίποτα στην PHP; 124 00:07:25,630 --> 00:07:29,190 Τώρα, PHP είναι ένας προγραμματισμός γλώσσα που είναι πολύ C-όπως, 125 00:07:29,190 --> 00:07:30,970 αλλά λειτουργεί στο διαδίκτυο. 126 00:07:30,970 --> 00:07:33,270 Έτσι, ένα πράγμα που θα immediately-- ένα 127 00:07:33,270 --> 00:07:38,130 από τα πρώτα πράγματα που πραγματικά έκανε με Ο μπορείτε τυπωμένο πράγματα έξω, έτσι δεν είναι; 128 00:07:38,130 --> 00:07:42,290 Έτσι, σε C κάναμε ότι με μια συνάρτηση printf. 129 00:07:42,290 --> 00:07:46,430 Μας έδωσε μια σειρά, πιθανώς με μια νέα γραμμή, 130 00:07:46,430 --> 00:07:49,850 και στη συνέχεια θα τερματιστεί με ένα ερωτηματικό. 131 00:07:49,850 --> 00:07:53,790 >> Έτσι ο τρόπος που θα πάμε να το κάνουμε αυτό σε PHP-- επειδή δεν είναι αρκετά printf. 132 00:07:53,790 --> 00:07:55,940 Είναι λίγο διαφορετική σύνταξη. 133 00:07:55,940 --> 00:08:02,580 Ο τρόπος που γράφουμε τα πράγματα στην PHP είναι, ας πούμε, "echo hello" 134 00:08:02,580 --> 00:08:04,180 ή "echo" καμία λέξη. 135 00:08:04,180 --> 00:08:09,830 Και αυτό έχει ως αποτέλεσμα να κάνει printf με μια σειρά, "γεια". 136 00:08:09,830 --> 00:08:11,990 Και προσθέτει τη νέα γραμμή σε αυτό. 137 00:08:11,990 --> 00:08:16,000 >> Ας τώρα να sure-- Θα σμίκρυνση και πάλι λίγο bit-- 138 00:08:16,000 --> 00:08:18,250 ας σιγουρευτείτε ότι ότι ο κώδικας λειτουργεί 139 00:08:18,250 --> 00:08:21,030 διότι μπορεί να υπάρχουν πολύ κάλλιστα να είναι ένα bug σε αυτόν τον κώδικα 140 00:08:21,030 --> 00:08:22,880 ότι θα πρέπει να αντιμετωπίσουμε. 141 00:08:22,880 --> 00:08:25,860 Έτσι, ο διακομιστής εκτελείται ήδη. 142 00:08:25,860 --> 00:08:30,630 Έτσι, αν μετακινηθείτε προς τα πίσω προς τα κάτω, Yup, ο διακομιστής βρίσκεται ακόμη σε εξέλιξη. 143 00:08:30,630 --> 00:08:34,510 Έτσι, αν εμείς απλά πατήστε σε αυτό λίγο δεξιά here-- 144 00:08:34,510 --> 00:08:37,620 welcome-- θα πρέπει get-- μεγάλη. 145 00:08:37,620 --> 00:08:39,930 >> Εξακολουθούμε να έχουν το εξοικειωμένοι «Πες γεια" διάλογος, 146 00:08:39,930 --> 00:08:45,750 αλλά όταν πληκτρολογήσετε "γεια", θα δούμε ότι το κείμενο "Hello" ήταν πράγματι 147 00:08:45,750 --> 00:08:50,080 εκτυπωθεί, το οποίο είναι ακριβώς όπως περιμέναμε γιατί αντηχούν σε PHP 148 00:08:50,080 --> 00:08:53,190 είναι ακριβώς όπως μια δήλωση printf. 149 00:08:53,190 --> 00:09:01,410 Έτσι, πίσω στο κώδικα, πώς σε P που έκανε 6 Κώδικα Διαχείρισης του Δικτύου που παρέχονται 150 00:09:01,410 --> 00:09:05,920 καθιστούν έτσι ότι η PHP θα εξόδου το πράγμα που 151 00:09:05,920 --> 00:09:07,920 πληκτρολογηθεί στην προηγούμενη οθόνη; 152 00:09:07,920 --> 00:09:10,350 >> Και για να εξετάσει το είδος των γιατί συμβαίνει αυτό, είμαστε 153 00:09:10,350 --> 00:09:15,510 πρόκειται να μπω σε index.html, το οποίο είναι το αρχικό αρχείο, το αρχείο που 154 00:09:15,510 --> 00:09:18,710 εμφανίζεται σε αυτήν την οθόνη με το πλήκτρο "Υποδεχτείτε". 155 00:09:18,710 --> 00:09:20,950 Θα παρατηρήσετε ότι υπάρχει όλα τα κλασικά πράγματα 156 00:09:20,950 --> 00:09:26,910 έχουμε συνηθίσει να περιμένουμε από HTML, όπως αυτά τα πράγματα, αυτές οι εντολές της περικλείονται 157 00:09:26,910 --> 00:09:31,080 σε αγκύλες, όπως η PHP αλλά χωρίς τα ερωτηματικά, 158 00:09:31,080 --> 00:09:34,650 το οποίο δείχνει ένα ξεχωριστό πράγμα σε HTML. 159 00:09:34,650 --> 00:09:36,895 Έχουμε τίτλου, η οποία είναι "γεια". 160 00:09:36,895 --> 00:09:41,010 Και θα παρατηρήσετε ότι όπως είδαμε, ο τίτλος είναι "γεια" και στις δύο περιπτώσεις. 161 00:09:41,010 --> 00:09:43,260 Ας αλλάξουμε αυτό το ένα να "πει" μόνο έτσι θα 162 00:09:43,260 --> 00:09:48,170 μπορούν να διακρίνουν τους εαυτούς μας που βρισκόμαστε. 163 00:09:48,170 --> 00:09:49,600 >> Αλλά έχουμε ένα σώμα. 164 00:09:49,600 --> 00:09:52,690 Και τότε το ενδιαφέρον κομμάτι, το bit που εμφανίζεται στην HTML, 165 00:09:52,690 --> 00:09:54,530 Είναι αυτό το στοιχείο φόρμας. 166 00:09:54,530 --> 00:09:56,370 Και έτσι έχουμε μια φόρμα. 167 00:09:56,370 --> 00:09:58,330 Και αυτό είναι το κλειδί. 168 00:09:58,330 --> 00:10:00,530 Αυτό είναι το πώς δουλεύουμε με την PHP. 169 00:10:00,530 --> 00:10:05,790 Η παράμετρος δράση έντυπο λέει ότι hello.php 170 00:10:05,790 --> 00:10:09,310 είναι αυτό που πρόκειται να στείλει οι τιμές σε αυτή τη φόρμα για να. 171 00:10:09,310 --> 00:10:13,830 Αυτό είναι όπου είμαστε διέρχεται οι παράμετροι, να το πω έτσι. 172 00:10:13,830 --> 00:10:18,680 >> Θα παρατηρήσετε ένα άλλο πράγμα εδώ είναι ότι η μέθοδος είναι «πάρει». 173 00:10:18,680 --> 00:10:24,450 Υπάρχουν δύο κύριες μέθοδοι με τις οποίες θα 174 00:10:24,450 --> 00:10:28,750 να χρησιμοποιούν PHP για να περάσει τα δεδομένα μεταξύ websites-- ιστοσελίδες, 175 00:10:28,750 --> 00:10:30,500 rather-- σε αυτή την ανάθεση. 176 00:10:30,500 --> 00:10:34,070 Και αυτές οι μέθοδοι είναι «πάρει» και «μετά». 177 00:10:34,070 --> 00:10:37,010 Υπάρχουν κάποιες λεπτές διαφορές μεταξύ get και μετά 178 00:10:37,010 --> 00:10:40,520 ότι θα έχουμε εμείς into-- θα "πάρει" στην, αν θέλετε. 179 00:10:40,520 --> 00:10:44,030 >> Αλλά για όλες τις προθέσεις και σκοπούς, να πάρει και μετά 180 00:10:44,030 --> 00:10:47,120 είναι και οι δύο απλά τρόπους που θα περάσετε παραμέτρους 181 00:10:47,120 --> 00:10:49,500 με ελαφρώς διαφορετικές εκτελέσεις. 182 00:10:49,500 --> 00:10:53,500 Για τώρα, θα πάμε να χρησιμοποιήσετε πάρει, διότι πάρετε ήταν αυτό που χρησιμοποιήθηκε αρχικά 183 00:10:53,500 --> 00:10:57,340 στο αρχείο PHP της P που 6. 184 00:10:57,340 --> 00:11:00,850 Και στην πραγματικότητα, αν πάμε στο και να δούμε πριν έχουμε επεξεργαστεί οτιδήποτε άλλο, 185 00:11:00,850 --> 00:11:03,090 Πάω να πω ένα γεια to-- τι είναι το όνομά σου; 186 00:11:03,090 --> 00:11:03,812 >> Κοινό: Elliot. 187 00:11:03,812 --> 00:11:04,770 SAM LEVATICH: Ω, Θεέ. 188 00:11:04,770 --> 00:11:05,600 Δεν ξέρω πώς να διευκρινίσει ότι. 189 00:11:05,600 --> 00:11:06,766 Θα μπορούσατε να σημάνει αυτό για μένα; 190 00:11:06,766 --> 00:11:08,710 Κοινό: Ε-Ε-Ε-Ι-Ο-Τ. 191 00:11:08,710 --> 00:11:09,720 >> SAM LEVATICH: Ι-Ο-Τ; 192 00:11:09,720 --> 00:11:10,440 >> Κοινό: Ναι. 193 00:11:10,440 --> 00:11:10,960 >> SAM LEVATICH: Τέλεια. 194 00:11:10,960 --> 00:11:11,210 ΕΝΤΆΞΕΙ. 195 00:11:11,210 --> 00:11:12,751 Υποθέτω ότι δεν ήξερα πώς να σημάνει αυτό. 196 00:11:12,751 --> 00:11:13,510 Συγνώμη γι αυτό. 197 00:11:13,510 --> 00:11:16,560 Αλλά αν πούμε "Υποδεχτείτε,« δεν είναι δεν πρόκειται να εμφανιστεί στην οθόνη 198 00:11:16,560 --> 00:11:18,476 αλλά επειδή εμείς τροποποιημένο ο κώδικας λίγο. 199 00:11:18,476 --> 00:11:21,290 Αλλά αν δεν το κάνουμε "Υποδεχτείτε" - Εντάξει, έτσι ώστε «γεια» είναι εδώ. 200 00:11:21,290 --> 00:11:24,137 Αλλά αν πάρουμε μια πιο προσεκτική εξετάσουμε την ίδια διεύθυνση URL, 201 00:11:24,137 --> 00:11:26,220 θα δούμε ότι τελειώνει με hello.php; όνομα = Elliot. 202 00:11:26,220 --> 00:11:30,980 203 00:11:30,980 --> 00:11:37,180 >> Έτσι, αυτό είναι ένας τρόπος επικοινωνία με την επόμενη ιστοσελίδα 204 00:11:37,180 --> 00:11:39,240 οι παράμετροι που έχουμε περάσει. 205 00:11:39,240 --> 00:11:40,870 Είπαμε name = Elliot. 206 00:11:40,870 --> 00:11:46,290 Και αυτό είναι τελικά το πώς P που 6 προσεγγιστεί η μεταβλητή που περάσαμε στο 207 00:11:46,290 --> 00:11:47,520 μέσω της φόρμας. 208 00:11:47,520 --> 00:11:51,470 Και αυτό είναι κάτι που είναι χαρακτηριστική μια αίτηση GET. 209 00:11:51,470 --> 00:11:57,480 Μια αίτηση GET κάνει τις παραμέτρους γνωστή στο URL της ιστοσελίδας. 210 00:11:57,480 --> 00:12:01,190 >> Και θα θυμάστε, επίσης, στο P ορίζεται ότι 6 211 00:12:01,190 --> 00:12:04,450 Έπρεπε να γράψω μια συνάρτηση ότι ασχολήθηκε με το γεγονός 212 00:12:04,450 --> 00:12:09,700 ότι αυτή η συμβολοσειρά ερωτήματος θα μπορούσε να υπάρξει μετά από ένα αρχείο. 213 00:12:09,700 --> 00:12:14,684 Θα μπορούσε να υπάρξει ένα ερωτηματικό που ακολουθείται με βάση οποιοδήποτε αριθμό χαρακτήρων. 214 00:12:14,684 --> 00:12:16,350 Και αυτό είναι ακριβώς ό, τι συμβαίνει εδώ. 215 00:12:16,350 --> 00:12:21,280 Και ο λόγος που έπρεπε να αναλύσει ότι στην εφαρμογή σας server.c σε P 216 00:12:21,280 --> 00:12:27,570 6 που είναι τόσο ότι θα μπορούσατε να πείτε ο κώδικας PHP που name = Elliot. 217 00:12:27,570 --> 00:12:30,460 Θα έπρεπε να είναι σε θέση να αναλύσει ότι από το URL 218 00:12:30,460 --> 00:12:35,900 έτσι ώστε το αρχείο PHP εν λόγω ήξερε τι ήταν αυτό που εξετάζουμε. 219 00:12:35,900 --> 00:12:39,350 >> Έτσι, ελπίζουμε ότι αυτό δίνει το κίνητρο για να server.c 220 00:12:39,350 --> 00:12:43,900 Τώρα που είμαστε κινείται έξω από C σε PHP. 221 00:12:43,900 --> 00:12:48,240 Ας εστιάσουμε στην πραγματικότητα σχετικά με την πρόσβαση του τα πράγματα πέρασαν μέσα από μια αίτηση GET τώρα 222 00:12:48,240 --> 00:12:48,880 σε αυτό το σημείο. 223 00:12:48,880 --> 00:12:50,157 Πάω να σώσει αυτό. 224 00:12:50,157 --> 00:12:51,240 Δεν αλλάζει τίποτα. 225 00:12:51,240 --> 00:12:56,080 Μοιάζει έχουμε ένα πεδίο εισαγωγής. 226 00:12:56,080 --> 00:12:58,550 >> Είμαστε καθορισμό κάποιων ιδιοτήτων, όπως μπορούμε να κάνουμε μια HTML. 227 00:12:58,550 --> 00:12:59,550 Αυτά είναι απλά πράγματα. 228 00:12:59,550 --> 00:13:00,580 Δεν χρειαζόμαστε αυτά. 229 00:13:00,580 --> 00:13:03,750 Αλλά έχουμε αυτόματης συμπλήρωσης μακριά, η οποία ουσιαστικά says-- ξέρετε, 230 00:13:03,750 --> 00:13:05,710 όταν πληκτρολογείτε τα πράγματα στο διαδίκτυο, μερικές φορές 231 00:13:05,710 --> 00:13:07,355 προσπαθεί να καλύψει αυτό για σας. 232 00:13:07,355 --> 00:13:08,230 Γι 'αυτό είναι ένα ωραίο πράγμα. 233 00:13:08,230 --> 00:13:11,700 Θέλουμε να το απενεργοποιήσετε για το σκοπό αυτό. 234 00:13:11,700 --> 00:13:13,970 Αυτή ήταν μια απόφαση CS50. 235 00:13:13,970 --> 00:13:15,640 Έτσι, μπορούμε να διαγράψουμε ότι αν θέλαμε. 236 00:13:15,640 --> 00:13:19,510 >> Autofocus κολλά ακριβώς τον κέρσορα στη σωστή μορφή στην αρχή. 237 00:13:19,510 --> 00:13:21,060 Και πάλι, δεν είναι πολύ σημαντικό. 238 00:13:21,060 --> 00:13:26,220 >> Αλλά name = "name" - είναι μια μικρή δύσκολο γιατί το όνομά του και το όνομα. 239 00:13:26,220 --> 00:13:28,730 Αλλά θα μπορούσαμε να έχουμε αλλάξει Αυτό το κάτι άλλο. 240 00:13:28,730 --> 00:13:30,563 Και στην πραγματικότητα, αυτό είναι τι θα κάνουμε τώρα. 241 00:13:30,563 --> 00:13:34,830 Θα πούμε «πρόσωπο», η οποία Είναι περίπου όπως το όνομα 242 00:13:34,830 --> 00:13:36,790 εάν ένα πρόσωπο που ορίζεται από το όνομά τους. 243 00:13:36,790 --> 00:13:41,480 >> Ας κλείσουμε αυτό, επαναλάβει την ιστοσελίδα μας 244 00:13:41,480 --> 00:13:46,110 δεδομένου ότι ο διακομιστής μας εξακολουθεί να λειτουργεί Apache 50, και θα πω, γεια σου, εδώ είναι 245 00:13:46,110 --> 00:13:47,200 Elliot και πάλι. 246 00:13:47,200 --> 00:13:48,460 Γιατί όχι? 247 00:13:48,460 --> 00:13:49,220 Χαίρετε. 248 00:13:49,220 --> 00:13:52,880 Και αν πάμε μέχρι εδώ, θα δούμε τότε αντί για το όνομά = Elliot, 249 00:13:52,880 --> 00:13:55,200 λέει άτομο = Elliot. 250 00:13:55,200 --> 00:14:00,060 Και αυτό είναι ένα άμεσο αποτέλεσμα του γεγονότος ότι αλλάξαμε μόλις name = "πρόσωπο". 251 00:14:00,060 --> 00:14:06,840 >> Έτσι, σε ένα στοιχείο εισόδου του μια μορφή HTML, το όνομα τομέα 252 00:14:06,840 --> 00:14:10,590 είναι το αναγνωριστικό για το παράμετρος που είναι να περάσει. 253 00:14:10,590 --> 00:14:14,250 Είναι σαν να δημιουργείτε μια λειτουργία "προσθήκη" που πραγματοποιήθηκε σε δύο ακέραιους αριθμούς 254 00:14:14,250 --> 00:14:16,670 και είπατε int a και b int. 255 00:14:16,670 --> 00:14:22,680 Αυτό θα ήταν ένα όνομα, και αν θα ήθελε μια άλλη μορφή, η οποία 256 00:14:22,680 --> 00:14:27,800 μπορούμε να κάνουμε απλά με αντιγραφή και επικόλληση, τότε θα έχουμε το όνομα β. 257 00:14:27,800 --> 00:14:31,030 >> Έτσι τώρα θα έχουμε δύο παραμέτρους που είναι να περάσει από 258 00:14:31,030 --> 00:14:36,970 φτάσετε στο επόμενο website-- η επόμενη ιστοσελίδα, hello.php. 259 00:14:36,970 --> 00:14:39,770 Και μπορούμε πραγματικά να δείτε ότι και πάλι, αν θέλουμε. 260 00:14:39,770 --> 00:14:44,830 Αυτός είναι ο ευκολότερος τρόπος για να ασχοληθεί με ο κωδικός διαδίκτυο στο IDE, βασικά. 261 00:14:44,830 --> 00:14:47,940 Μπορείτε να ξεκινήσετε το διακομιστή, να το πάρει τρέχει, και στη συνέχεια κάθε φορά που 262 00:14:47,940 --> 00:14:50,649 κάνει κάποιες αλλαγές, μόνο κοντά αυτό το αρχείο ακριβώς για να είναι ασφαλής. 263 00:14:50,649 --> 00:14:52,440 Πατώντας το πλήκτρο BACK είναι λίγο δύσκολο 264 00:14:52,440 --> 00:14:55,800 διότι μπορεί να φορτώσει μια παλαιότερη εκδοχή, δεν είναι το πιο ενημερωμένο μία. 265 00:14:55,800 --> 00:14:59,200 >> Και τότε απλά κάντε κλικ σας κουμπί ξανά, ποπ δεξιά up-- ω, 266 00:14:59,200 --> 00:15:00,510 και τώρα υπάρχουν δύο μορφές. 267 00:15:00,510 --> 00:15:10,440 Και έτσι αν γράψουμε ένα πράγμα σε κάθε ένα-- "Jason hirshhorn," για instance-- 268 00:15:10,440 --> 00:15:11,590 θα πω ένα γεια. 269 00:15:11,590 --> 00:15:12,840 Εμείς κοιτάζει παραμέτρους μας. 270 00:15:12,840 --> 00:15:18,910 Μοιάζει έχουμε, όπως αναμένεται, α = Jason και β = hirshhorn, 271 00:15:18,910 --> 00:15:23,760 το οποίο αντιπροσωπεύει το δύο παραμέτρους ότι περάσαμε σε αυτή τη λειτουργία. 272 00:15:23,760 --> 00:15:27,900 >> Έτσι τώρα ας πραγματικά να εφαρμογή του εν λόγω λειτουργικότητα που θα 273 00:15:27,900 --> 00:15:30,840 είχε οριστεί P 6. 274 00:15:30,840 --> 00:15:32,490 Έτσι τώρα είμαστε απλά επαναλαμβάνοντας γεια. 275 00:15:32,490 --> 00:15:34,310 Και αυτό δεν είναι πολύ χρήσιμο. 276 00:15:34,310 --> 00:15:38,530 Θέλουμε να επαναλάβω κάποια μεταβλητή ότι πέρασε σε εμάς. 277 00:15:38,530 --> 00:15:40,320 Και γνωρίζουμε το όνομα της μεταβλητής αυτής. 278 00:15:40,320 --> 00:15:41,770 Έχουμε μια και έχουμε b. 279 00:15:41,770 --> 00:15:43,500 Έτσι, θα μπορούσαμε να επιλέξουμε να επαναλάβω είτε ένα. 280 00:15:43,500 --> 00:15:45,470 >> Αλλά πώς θα αποκτήσετε πρόσβαση; 281 00:15:45,470 --> 00:15:48,820 Λοιπόν, υπάρχουν ορισμένες global μεταβλητές στην PHP. 282 00:15:48,820 --> 00:15:51,240 Και Πάω να γράψω τους στα σχόλια εδώ. 283 00:15:51,240 --> 00:15:59,910 Τα δύο πιο σημαντικά από αυτά είναι get και μετά για τους σκοπούς μας τώρα. 284 00:15:59,910 --> 00:16:05,350 Αυτές είναι οι συστοιχίες ή, τεχνικά, τα λεξικά 285 00:16:05,350 --> 00:16:10,540 όπου οι μεταβλητές μας που είμαστε πέρασμα στην επόμενη live web σελίδα. 286 00:16:10,540 --> 00:16:14,520 Και σύντομα θα δούμε πώς να τα χρησιμοποιούν. 287 00:16:14,520 --> 00:16:19,720 >> Μια άλλη σύντομη σημείωση σχετικά με κώδικα PHP και κάποιες ιδιαιτερότητες του it-- σε C, 288 00:16:19,720 --> 00:16:23,260 να δηλώσει μια μεταβλητή ή να χρησιμοποιούν μεταβλητές, 289 00:16:23,260 --> 00:16:24,570 θα έπρεπε πρώτα να τους δηλώσουν. 290 00:16:24,570 --> 00:16:30,860 Και τι θα έπρεπε να κάνετε όταν κήρυξε τους ήταν να πω μια int ή char b. 291 00:16:30,860 --> 00:16:35,630 Θα έπρεπε να δηλώσουν τα είδη αυτά μεταβλητές, πριν να τους δημιουργήσει. 292 00:16:35,630 --> 00:16:38,800 PHP-- δεν χρειάζεται να κάνει τίποτα από αυτά. 293 00:16:38,800 --> 00:16:42,522 PHP δεν ζητά ο τύπος της μεταβλητής. 294 00:16:42,522 --> 00:16:44,480 Και ο τρόπος που δημιουργήσετε ένα μάλλον variable-- 295 00:16:44,480 --> 00:16:49,930 από ό, τι λέει int, char, string-- το οποίο είναι πραγματικά char *, όπως know-- 296 00:16:49,930 --> 00:16:52,180 αντί να κάνει όλα ότι, επειδή τα πάντα 297 00:16:52,180 --> 00:16:54,620 είναι του ίδιου τύπου, typeless, μπορούμε μόνο 298 00:16:54,620 --> 00:16:59,210 χρησιμοποιήστε ένα χαρακτήρα, η οποία είναι το σύμβολο του δολαρίου. 299 00:16:59,210 --> 00:17:03,700 Και θα δείτε ότι είναι ήδη βρεθώ up, μικρά πράγματα αυτόματης συμπλήρωσης. 300 00:17:03,700 --> 00:17:11,380 Και λέει ότι _GET και _POST είναι δύο επιλογές που έχω στη διάθεσή μου 301 00:17:11,380 --> 00:17:11,900 σε μένα. 302 00:17:11,900 --> 00:17:16,430 Μερικά από αυτά τα άλλα πράγματα είναι άλλες καθολικές μεταβλητές στην PHP 303 00:17:16,430 --> 00:17:18,430 ότι θα πρέπει να χρησιμοποιείτε πάνω η πορεία του Ρ οριστεί 7. 304 00:17:18,430 --> 00:17:20,569 Για τώρα θα πάμε να επικεντρωθεί σε πάρει και μετά. 305 00:17:20,569 --> 00:17:22,910 Αλλά αυτό είναι μια χρήσιμη πράγμα που το κάνει IDE 306 00:17:22,910 --> 00:17:24,980 όπου μόλις έχετε πληκτρολογήσει σε αυτό το σύμβολο του δολαρίου, 307 00:17:24,980 --> 00:17:28,760 θα αρχίσουν τη συμπλήρωση καθολικές μεταβλητές ή μεταβλητές έχετε ήδη οριστεί. 308 00:17:28,760 --> 00:17:34,360 >> Έτσι, αν θέλετε να ορίσετε μια μεταβλητή που ονομάζεται "string" 309 00:17:34,360 --> 00:17:38,290 θα μπορούσατε απλά να το θέσει ίσο με ένα «γεια». 310 00:17:38,290 --> 00:17:40,100 Και είναι ουσιαστικά τόσο απλό. 311 00:17:40,100 --> 00:17:44,720 Και τότε θα μπορούσαμε να κάνουμε κάτι σαν "echo $ string." 312 00:17:44,720 --> 00:17:48,524 Ο IDE θα πρέπει να ρίχνουν μερικά σφάλματα, αν κάνω κάτι λάθος, 313 00:17:48,524 --> 00:17:50,190 οπότε ελπίζω πως μπορεί να κάνει τα πάντα σωστά. 314 00:17:50,190 --> 00:17:52,060 Αλλά σφάλματα πάντα θα προκύψουν. 315 00:17:52,060 --> 00:17:56,670 >> Ένα άλλο δύσκολο πράγμα για PHP είναι ότι δεν είναι καταρτίζονται. 316 00:17:56,670 --> 00:18:00,640 Έτσι, με προγράμματα C, θα κάνετε η καθημερινή ρουτίνα of-- βασικά, 317 00:18:00,640 --> 00:18:02,710 θα κάνει αλλαγές για να κωδικό σας, θέλετε να το αποθηκεύσετε, 318 00:18:02,710 --> 00:18:04,460 και στη συνέχεια θα καθιστούν, όπου κάνουν ήταν 319 00:18:04,460 --> 00:18:08,830 το βήμα που ονομάζεται compiler, κλαγγή, για να κάνουν τον κωδικό σας, αυτό το κείμενο 320 00:18:08,830 --> 00:18:10,570 αρχείο, σε ένα εκτελέσιμο. 321 00:18:10,570 --> 00:18:15,550 PHP είναι C-όπως, αλλά είναι εκτελεστεί σχετικά με την πετάξει από το web browser σας. 322 00:18:15,550 --> 00:18:17,640 Έτσι, δεν υπάρχει τρόπος να γνωρίζουμε. 323 00:18:17,640 --> 00:18:19,790 >> Βεβαιωθείτε θα ρίξει εκείνων χρήσιμες λάθη, σωστά; 324 00:18:19,790 --> 00:18:22,190 Θα ήθελα, θα σας δεν δήλωσε ότι είναι μεταβλητή 325 00:18:22,190 --> 00:18:23,320 πριν δοκιμάσετε να το χρησιμοποιήσετε. 326 00:18:23,320 --> 00:18:29,120 Έκανες όλο αυτό το κακό stuff-- segfault, segfault, όλα τα τέτοιου είδους διασκέδαση φορές 327 00:18:29,120 --> 00:18:31,000 ότι ήρθε με τη μάρκα. 328 00:18:31,000 --> 00:18:33,920 PHP είναι ένα δίκοπο μαχαίρι γιατί δεν θα πάρετε αυτά τα σφάλματα, 329 00:18:33,920 --> 00:18:37,770 αλλά αυτό σημαίνει επίσης ότι δεν θα γνωρίζετε πραγματικά τι είναι λάθος με το πρόγραμμά σας 330 00:18:37,770 --> 00:18:39,840 αν απλά τρέξτε το και δεν λειτουργεί. 331 00:18:39,840 --> 00:18:45,130 Αλλά το πρόγραμμα εντοπισμού σφαλμάτων πρέπει να επισημάνουμε μερικές χρήσιμες ελπίζουμε μικρά πράγματα 332 00:18:45,130 --> 00:18:47,950 συντακτικά ότι μπορείτε να διορθώσετε. 333 00:18:47,950 --> 00:18:52,850 >> Έτσι τώρα, αν πάει πάνω to-- λένε, ας κλείσουμε αυτό. 334 00:18:52,850 --> 00:18:54,522 Ξανανοίγω. 335 00:18:54,522 --> 00:18:55,480 Και είμαστε πίσω εδώ. 336 00:18:55,480 --> 00:18:57,210 Έτσι έχουμε μια μεταβλητή και μια μεταβλητή b. 337 00:18:57,210 --> 00:18:58,626 Και αυτά τελικά δεν θα έχει σημασία. 338 00:18:58,626 --> 00:19:01,850 Θα τους καλέσει h και g χωρίς ιδιαίτερο λόγο. 339 00:19:01,850 --> 00:19:03,120 >> Και λέμε γεια. 340 00:19:03,120 --> 00:19:07,480 Τώρα μοιάζει με κορδόνι μας "γεια" είναι πράγματι εκτύπωση. 341 00:19:07,480 --> 00:19:10,460 Δημιουργήσαμε μια μεταβλητή που ονομάζεται "χορδών", που είναι ίσο με ένα «γεια». 342 00:19:10,460 --> 00:19:15,520 Παρατηρήστε ότι δεν είχαμε να κάνουμε malloc ή να κάνει μια σειρά χαρακτήρων. 343 00:19:15,520 --> 00:19:19,110 >> Στην PHP, επειδή οι μεταβλητές είναι typeless, ένα string 344 00:19:19,110 --> 00:19:22,230 είναι το ίδιο με ένα char για όλες οι προθέσεις και τους σκοπούς. 345 00:19:22,230 --> 00:19:23,570 Αυτό θα μπορούσε να είναι "γεια". 346 00:19:23,570 --> 00:19:26,340 Αυτό θα μπορούσε να είναι ακριβώς το χαρακτήρα k. 347 00:19:26,340 --> 00:19:29,290 Αυτό μπορεί να είναι ένας αριθμός 1. 348 00:19:29,290 --> 00:19:30,300 Και δεν με νοιάζει. 349 00:19:30,300 --> 00:19:33,560 Η PHP δεν νοιάζονται για ο τύπος της μεταβλητής σας. 350 00:19:33,560 --> 00:19:34,390 Ή, νοιάζεται. 351 00:19:34,390 --> 00:19:36,240 Είναι νοιάζεται όταν προσπαθείτε και να κάνουμε τα πράγματα με αυτό, 352 00:19:36,240 --> 00:19:38,790 αλλά δεν με νοιάζει σε το βήμα δήλωση. 353 00:19:38,790 --> 00:19:46,960 >> Και ακριβώς όπως μπορείτε σε C, μπορείτε να δηλώνουν χορδές στη στοίβα όπως αυτό 354 00:19:46,960 --> 00:19:51,130 αν και λέγοντας «στοίβα» είναι μια μικρή κομμάτι μιας πιθανής ψευδεπίγραφος, όταν 355 00:19:51,130 --> 00:19:52,230 μιλάμε για την PHP. 356 00:19:52,230 --> 00:19:54,020 Αλλά δεν χρειάζεται να ανησυχείτε γι 'αυτό. 357 00:19:54,020 --> 00:19:55,936 Έτσι πήραμε εγχόρδων μας "γεια", και θα επαναλάβω εγχόρδων. 358 00:19:55,936 --> 00:19:58,880 Έτσι τώρα έχουμε συζητήσει μεταβλητές. 359 00:19:58,880 --> 00:20:06,060 Έτσι τώρα πρέπει να μιλήσουμε για get και δημοσιεύσετε και να εκτελέσει το τελευταίο πράγμα που είναι 360 00:20:06,060 --> 00:20:12,660 που απαιτούνται για να πάρει πραγματικά αυτό το back up με τη λειτουργικότητα του Ρ καθορίζεται 6. 361 00:20:12,660 --> 00:20:14,990 Έτσι τώρα είμαστε απηχώντας το string, αλλά εμείς 362 00:20:14,990 --> 00:20:17,080 έχουν αυτές οι μεταβλητές παίρνουν και μετά. 363 00:20:17,080 --> 00:20:19,430 Και επειδή είμαστε χρησιμοποιώντας η μέθοδος να πάρει, το 364 00:20:19,430 --> 00:20:24,810 φαίνεται φυσικό ότι οι μεταβλητές που μας μας ενδιαφέρει, τόσο α και β, 365 00:20:24,810 --> 00:20:29,870 θα βρίσκεται στη συστοιχία ή λεξικό, τεχνικά πάρει. 366 00:20:29,870 --> 00:20:33,510 >> Έτσι, αν έχουμε δημιουργήσει πάρει σαν αυτό με groups-- σας πίεσα να εισαγάγετε 367 00:20:33,510 --> 00:20:36,770 και δεν ήθελε it-- αλλά εδώ έχουμε πάρει. 368 00:20:36,770 --> 00:20:38,000 Και να πάρει έτσι υπάρχει ήδη. 369 00:20:38,000 --> 00:20:41,380 Έτσι, μπορούμε ήδη να αρχίσουν να έχουν πρόσβαση μερικά από τα στοιχεία του get. 370 00:20:41,380 --> 00:20:45,000 Αν το κάνουμε να πάρει, αυτή η σύνταξη για συστοιχίες στην PHP είναι πολύ C-όπως. 371 00:20:45,000 --> 00:20:47,900 Έχουμε δύο αγκύλες μας. 372 00:20:47,900 --> 00:20:53,440 >> Έτσι, αν λέμε να πάρετε σε ένα κανονικό συστοιχίας, θα μπορούσαν να έχουν πρόσβαση 373 00:20:53,440 --> 00:20:55,600 ο δείκτης μηδενικής, ο πρώτος δείκτης. 374 00:20:55,600 --> 00:20:56,840 PHP είναι μηδέν δείκτη. 375 00:20:56,840 --> 00:21:00,550 Θα μπορούσαμε να πούμε μηδέν, ένα, two-- πράγματα όπως αυτό. 376 00:21:00,550 --> 00:21:03,420 Και έχω πει ότι παίρνουν είναι τεχνικά ένα λεξικό. 377 00:21:03,420 --> 00:21:08,290 Έτσι, αυτό που κάνει η PHP είναι κάτω από την κουκούλα, το οποίο είναι λίγο καλύτερο από C, 378 00:21:08,290 --> 00:21:12,760 είναι ήδη σας δίνει κάποια λεξικό λειτουργικότητα, η οποία 379 00:21:12,760 --> 00:21:16,240 Είναι πραγματικά hash πίνακες, ή προσπαθεί να, υποτίθεται. 380 00:21:16,240 --> 00:21:19,360 Ή, από τεχνική άποψη θα μπορούσε να είναι μια δοκιμή, καθώς και. 381 00:21:19,360 --> 00:21:25,500 Αλλά η PHP υλοποιεί ένα πίνακα κατακερματισμού, το οποίο αποτελεί μια αποτελεσματική λεξικό. 382 00:21:25,500 --> 00:21:28,400 >> Και έτσι ξέρουμε το όνομα της μεταβλητής μας, σωστά; 383 00:21:28,400 --> 00:21:32,440 Είναι που πέρασε στο η συμβολοσειρά ερωτήματος από την PHP. 384 00:21:32,440 --> 00:21:37,290 Έχουμε Α = Η και b = g, όπου και β είναι τα ονόματα των μεταβλητών. 385 00:21:37,290 --> 00:21:41,580 Έτσι, ο τρόπος με τον οποίο μπορούμε να έχουμε πρόσβαση το τιμή που αντιστοιχεί στο κλειδί 386 00:21:41,580 --> 00:21:45,055 στο λεξικό μας είναι απλά λέγοντας _GET_GET ["a"]. 387 00:21:45,055 --> 00:21:48,170 388 00:21:48,170 --> 00:21:51,365 >> Έτσι τώρα έχουμε _GET ["a"]. 389 00:21:51,365 --> 00:21:56,930 Και αν εμείς απλά αντικαταστήστε μέσα ηχώ μας, αν θέλουμε echo _GET_GET ["a"] - 390 00:21:56,930 --> 00:22:02,410 και θα δούμε αν το πρόγραμμα εντοπισμού σφαλμάτων ρίχνει τυχόν λάθη σχετικά με this-- 391 00:22:02,410 --> 00:22:05,620 θα σώσουμε αυτό και να κλείσει αυτό έξω. 392 00:22:05,620 --> 00:22:07,130 Ανοίξτε το επάνω. 393 00:22:07,130 --> 00:22:10,390 Έτσι, είμαστε απλά κάνοντας δεξί τώρα, έτσι ώστε β δεν πρέπει να έχει σημασία. 394 00:22:10,390 --> 00:22:12,980 "της" και "τον" - "βουητό." "της" και "βουητό". 395 00:22:12,980 --> 00:22:14,810 Ακούγεται καλό. 396 00:22:14,810 --> 00:22:18,040 >> Και εκτυπώνεται "της," η οποία είναι τρελό. 397 00:22:18,040 --> 00:22:21,920 Αλλά αυτό είναι ακριβώς ό, τι συνέβαινε στο P που 6. 398 00:22:21,920 --> 00:22:27,240 Βασικά, αυτό που P 6 Ήταν doing-- echo hello, 399 00:22:27,240 --> 00:22:31,580 name-- όπου είχε μια όνομα της μεταβλητής και αυτό ακριβώς 400 00:22:31,580 --> 00:22:35,520 σας ζητά να πληκτρολογήσετε σε αυτό το κομμάτι του κειμένου. 401 00:22:35,520 --> 00:22:37,380 Υπήρξε επίσης κάποια Πρόσθετος κωδικός όπου 402 00:22:37,380 --> 00:22:40,550 περιλάμβανε δηλώσεις if, το οποίο μπορούμε να κάνουμε αυτή τη στιγμή. 403 00:22:40,550 --> 00:22:50,120 >> Μπορούμε να πούμε, αν υπάρχει, το οποίο είναι μια λειτουργία μέσα σε PHP, 404 00:22:50,120 --> 00:22:55,110 _GET Με το χαρακτήρα υπογράμμισης, "όνομα" - η οποία είναι βασικά λέγοντας, 405 00:22:55,110 --> 00:22:58,760 "εάν το όνομα έχει συμπληρωθεί" γιατί θα μπορούσαμε να είχαμε μόλις πάτησε το κουμπί 406 00:22:58,760 --> 00:23:02,580 να υποβάλει το έντυπο χωρίς πληκτρολογώντας τίποτα σε αυτόν τον τομέα. 407 00:23:02,580 --> 00:23:07,760 Και τυλίγουμε ότι σε μας φιλικό αγκύλες. 408 00:23:07,760 --> 00:23:09,175 Μπορούμε να έχουμε μια δήλωση αλλού. 409 00:23:09,175 --> 00:23:13,300 410 00:23:13,300 --> 00:23:18,820 Και αυτό είναι όλο εντός της γωνίας της PHP βραχίονα, ερωτηματικό, αγκύλη, 411 00:23:18,820 --> 00:23:20,040 αν θέλετε. 412 00:23:20,040 --> 00:23:21,750 >> Και τώρα θα δούμε αν αυτό λειτουργεί. 413 00:23:21,750 --> 00:23:26,300 Κρατάω περιμένοντας να debug και χάλια από πάνω μου, βασικά, 414 00:23:26,300 --> 00:23:28,410 αλλά δεν έχει ακόμη. 415 00:23:28,410 --> 00:23:30,830 Ίσως τώρα θα γιατί μίλησα. 416 00:23:30,830 --> 00:23:31,330 Ναι. 417 00:23:31,330 --> 00:23:32,510 Το έκανε, στην πραγματικότητα. 418 00:23:32,510 --> 00:23:34,610 Έτσι, τίποτα δεν δείχνει μέχρι. 419 00:23:34,610 --> 00:23:38,750 Αυτό συμβαίνει γιατί κάτι λάθος ότι έγραψα στον κώδικα PHP. 420 00:23:38,750 --> 00:23:42,844 Και ανέφερα το debugging Είναι δύσκολο γιατί σε PHP, μπορούμε 421 00:23:42,844 --> 00:23:45,260 δεν το υπολογίσουν εκ των προτέρων και ο compiler δεν αρέσει, 422 00:23:45,260 --> 00:23:46,710 Εδώ είναι όπου είναι τα λάθη σας. 423 00:23:46,710 --> 00:23:49,690 >> Αλλά τι μπορούμε να κάνουμε is-- κάνουν οι άνθρωποι θυμούνται 424 00:23:49,690 --> 00:23:57,010 πώς να δούμε το άλλο δίκτυο τα αιτήματα που PHP-- ή ότι οι δικτυακοί τόποι 425 00:23:57,010 --> 00:23:57,620 στέλνω? 426 00:23:57,620 --> 00:24:00,290 [? Malin?] Έκανε αυτό διάλεξη μία ή δύο φορές. 427 00:24:00,290 --> 00:24:05,830 Θυμάστε όταν πάμε να βρούμε τα διάφορα χρέη και τα 200 OKs, 428 00:24:05,830 --> 00:24:09,780 όλοι αυτοί οι κωδικοί που αποστέλλονται μέσω HTTP από την ιστοσελίδα σε ιστοσελίδα; 429 00:24:09,780 --> 00:24:12,514 Υπάρχει κάποιος που θυμάται όπου πάμε να το κάνουμε αυτό; 430 00:24:12,514 --> 00:24:13,787 >> Κοινό: Σελίδα Πηγή. 431 00:24:13,787 --> 00:24:14,870 SAM LEVATICH: Σελίδα πηγή. 432 00:24:14,870 --> 00:24:15,890 Ακριβώς. 433 00:24:15,890 --> 00:24:19,230 Αν πάτε στη σελίδα Source-- τέλεια. 434 00:24:19,230 --> 00:24:21,630 Έτσι Σελίδα Πηγή σηκώνει τον επιθεωρητή. 435 00:24:21,630 --> 00:24:23,140 >> Και είμαι χρησιμοποιώντας το Safari. 436 00:24:23,140 --> 00:24:25,790 Πολλοί από εσάς θα είναι πιθανώς να χρησιμοποιείτε Chrome ή το Firefox. 437 00:24:25,790 --> 00:24:27,750 Αλλά εφ 'όσον είστε σε κάθε σύγχρονο browser-- 438 00:24:27,750 --> 00:24:29,500 και να αισθάνονται ελεύθεροι να ακολουθήσουν μαζί, αν θέλετε. 439 00:24:29,500 --> 00:24:32,560 Μπορείτε να πληκτρολογήσετε έως και αυτόν τον κώδικα ή απλά κοιτάξτε στο εσωτερικό του συνόλου P 6 440 00:24:32,560 --> 00:24:35,820 κατάλογο για κάποια παρόμοια πράγματα. 441 00:24:35,820 --> 00:24:41,020 hello.php είναι ό, τι είμαστε επί του παρόντος εργάζεται για μίμηση. 442 00:24:41,020 --> 00:24:42,476 >> Έτσι, υπάρχει μια ποικιλία των καρτελών. 443 00:24:42,476 --> 00:24:43,850 Μπορούμε να δούμε όλους τους πόρους. 444 00:24:43,850 --> 00:24:45,810 Μπορούμε να δούμε τον πηγαίο κώδικα. 445 00:24:45,810 --> 00:24:49,900 Έτσι, μοιάζει να μην το έκανε ξεπεράσουμε το σώμα στο τέλος. 446 00:24:49,900 --> 00:24:54,890 Η Επιτροπή διαπίστωσε σφάλμα σε PHP και σταμάτησε τη φόρτωση της ολόκληρη την ιστοσελίδα. 447 00:24:54,890 --> 00:24:58,320 Δεν χρειάζεται καν να έχουν ένα τέλος ετικέτα για HTML ή οτιδήποτε. 448 00:24:58,320 --> 00:25:07,189 >> Και αν κοιτάξουμε το δίκτυο, μπορούμε βλέπουμε ότι είμαστε αποστέλλεται ένα αίτημα. 449 00:25:07,189 --> 00:25:07,980 Αυτή είναι η περιοχή. 450 00:25:07,980 --> 00:25:09,270 Αυτή είναι η διεύθυνση. 451 00:25:09,270 --> 00:25:10,070 Είναι ένα έγγραφο. 452 00:25:10,070 --> 00:25:14,310 Είμαστε χρησιμοποιώντας τη μέθοδο GET. 453 00:25:14,310 --> 00:25:15,760 >> Και είναι κόκκινο. 454 00:25:15,760 --> 00:25:19,030 Ή, ήταν κόκκινο όταν δεν είναι επιλογή. 455 00:25:19,030 --> 00:25:22,680 Πώς μπορώ να καταργήσετε την επιλογή; 456 00:25:22,680 --> 00:25:23,980 Λοιπόν, αυτό ήταν κόκκινο. 457 00:25:23,980 --> 00:25:25,201 Επιτρέψτε μου να ανανεώσετε. 458 00:25:25,201 --> 00:25:25,700 Εκεί είναι. 459 00:25:25,700 --> 00:25:26,640 Τώρα είναι κόκκινο. 460 00:25:26,640 --> 00:25:30,530 >> Έτσι είναι το κόκκινο, το οποίο σημαίνει απέτυχε, το οποίο είναι κακό. 461 00:25:30,530 --> 00:25:32,280 Ας εξετάσουμε γιατί απέτυχε. 462 00:25:32,280 --> 00:25:37,070 Έτσι, όλα ότι η πηγή μπορεί Σελίδα βασικά σας πω είναι το πράγμα σας 463 00:25:37,070 --> 00:25:38,720 δεν λειτούργησε, το οποίο μπορούμε ήδη να δούμε. 464 00:25:38,720 --> 00:25:42,100 Έτσι, στην ιδανική περίπτωση θα υπάρχει είναι ένα πιο χρήσιμο εργαλείο. 465 00:25:42,100 --> 00:25:45,710 Και υπάρχουν μερικές επεκτάσεις του προγράμματος περιήγησης που επιτρέπουν σε σας για να διορθώσετε PHP, 466 00:25:45,710 --> 00:25:50,490 αλλά εμείς δεν πρόκειται να να γράφει ένα τόνο της PHP, 467 00:25:50,490 --> 00:25:53,190 έτσι είναι πιθανώς ακριβώς καλύτερα να δούμε μέσα από τον κωδικό σας 468 00:25:53,190 --> 00:25:56,760 προσεκτικά και απλά βεβαιωθείτε ότι δεν κάνει τίποτα άλλο. 469 00:25:56,760 --> 00:26:03,876 >> Ας δούμε αν η μορφή αυτού του αν η δήλωση είναι πού είναι το πρόβλημα. 470 00:26:03,876 --> 00:26:07,420 Θέλω να φορτώσει ότι πίσω εδώ. 471 00:26:07,420 --> 00:26:09,830 Γεια γεια. 472 00:26:09,830 --> 00:26:11,350 Έτσι, υπάρχει ένα πρόβλημα εκεί. 473 00:26:11,350 --> 00:26:15,130 >> Έτσι, για την σωστή σύνταξη της PHP, η PHP θα 474 00:26:15,130 --> 00:26:17,369 να είναι C-όπως το ότι θα δείτε βρόχους. 475 00:26:17,369 --> 00:26:18,410 Θα δούμε αν καταστάσεων. 476 00:26:18,410 --> 00:26:20,920 Θα δείτε όλους αυτούς τους φίλους ότι έχετε εξοικειωθεί 477 00:26:20,920 --> 00:26:24,820 με την πάροδο του παρόντος CS50 εξαμήνου. 478 00:26:24,820 --> 00:26:29,960 Αλλά ο καλύτερος τρόπος για να καταλάβω πώς να κάνει κάτι στην PHP είναι να το Google 479 00:26:29,960 --> 00:26:33,170 ή να δούμε μερικά παραδείγματα κώδικα PHP γιατί ξέρετε τη λειτουργικότητα. 480 00:26:33,170 --> 00:26:35,080 >> Ξέρετε τι μπορείτε να κάνετε κάνει με το πρόγραμμα. 481 00:26:35,080 --> 00:26:35,976 Μπορείτε βρόχο. 482 00:26:35,976 --> 00:26:37,600 Μπορείτε βρόχο όσες φορές θέλετε. 483 00:26:37,600 --> 00:26:39,433 Μπορείτε βρόχος σε όλα τα είδη των διαφορετικών τρόπων. 484 00:26:39,433 --> 00:26:40,700 Μπορείτε να δημιουργήσετε λειτουργίες. 485 00:26:40,700 --> 00:26:43,241 Μπορείτε να δημιουργήσετε λειτουργίες που καλούν άλλες λειτουργίες, λειτουργίες 486 00:26:43,241 --> 00:26:44,150 που αυτοαποκαλούνται. 487 00:26:44,150 --> 00:26:45,733 Και έχετε ονόματα για αυτές τις έννοιες. 488 00:26:45,733 --> 00:26:49,860 Έχετε αναδρομή, βρόχους, εάν, άλλες ροές ελέγχου. 489 00:26:49,860 --> 00:26:51,300 Και έτσι το Google είναι ο καλύτερος φίλος σας. 490 00:26:51,300 --> 00:26:53,540 Ακόμη και λένε, "αν PHP Δήλωση "και θα υπάρξει 491 00:26:53,540 --> 00:26:57,740 να τους τόνους των θέσεων με απαντήσεις σε άλλους ανθρώπους 492 00:26:57,740 --> 00:27:02,090 που είχα παρόμοιες ερωτήσεις σας, που αρχίζουν ακριβώς με την PHP 493 00:27:02,090 --> 00:27:03,820 και είναι περίεργος για ένα πράγμα σύνταξη. 494 00:27:03,820 --> 00:27:08,480 >> Επειδή έχουμε την πολυτέλεια να είναι σε θέση να δούμε τον κώδικα στο σύνολο P 6, 495 00:27:08,480 --> 00:27:14,980 μπορούμε να το τραβήξει στην πραγματικότητα και να δείτε ότι Εντάξει, εδώ είναι κάτι ενδιαφέρον. 496 00:27:14,980 --> 00:27:18,070 Έτσι, αυτό είναι ό, τι είναι στην πραγματικότητα έμοιαζε P οριστεί 6. 497 00:27:18,070 --> 00:27:20,340 Έτσι, αν πάμε μέσα από αυτό, μπορούμε να δούμε ότι έχουμε 498 00:27:20,340 --> 00:27:27,150 πήρε πολλά από αυτά τα μικρά PHP-σαν τα κομμάτια ερωτηματικό. 499 00:27:27,150 --> 00:27:29,050 >> Και δεν υπάρχουν αγκύλες. 500 00:27:29,050 --> 00:27:30,250 Υπάρχουν παχύ έντερο. 501 00:27:30,250 --> 00:27:32,340 Και υπάρχουν σγουρά τιράντες σε PHP, αλλά αυτό 502 00:27:32,340 --> 00:27:38,700 είναι μια μορφή και ένας τρόπος για να γίνει PHP που λειτουργεί καλά με την HTML 503 00:27:38,700 --> 00:27:43,830 γιατί όπως θα δείτε, είμαστε κλείσιμο εκτός αυτών PHP bits-- την elses 504 00:27:43,830 --> 00:27:49,770 και το IFS και όλα that-- και, στη συνέχεια, είμαστε interspersing HTML στο εσωτερικό τους 505 00:27:49,770 --> 00:27:54,640 ενώ ακολουθούν ακόμα το ροή ελέγχου που καθορίζονται από την PHP. 506 00:27:54,640 --> 00:27:58,480 >> Έτσι, είμαι απλώς πρόκειται να γρήγορη βόλτα μέσα από αυτό 507 00:27:58,480 --> 00:28:01,740 γιατί είναι ένα μεγάλο μέρος της ίδιας έννοιες που κάναμε πριν. 508 00:28:01,740 --> 00:28:07,280 Έχουμε αν δεν είναι κενή, παρενθέσεις, _GET_GET ["όνομα"]. 509 00:28:07,280 --> 00:28:08,500 Αυτό είναι όλα τα ίδια πράγματα. 510 00:28:08,500 --> 00:28:15,430 Είμαστε χρησιμοποιώντας το λεξικό ότι _GET PHP στέλνει κατόπιν αιτήματος των μορφών, 511 00:28:15,430 --> 00:28:20,720 επειδή είναι οι παράμετροι του δράση, και η μέθοδος είναι να πάρετε. 512 00:28:20,720 --> 00:28:22,110 Και στη συνέχεια, ότι τελειώνει αυτό. 513 00:28:22,110 --> 00:28:27,420 Το παχύ έντερο είναι ένα σημαίνον να κάνει ακριβώς αυτό αν η δήλωση if είναι αληθής. 514 00:28:27,420 --> 00:28:29,490 Είναι σαν ένα σγουρά στήριγμα. 515 00:28:29,490 --> 00:28:33,320 Και στην πραγματικότητα, είναι μια σγουρά στήριγμα σε άλλες γλώσσες όπως Python, 516 00:28:33,320 --> 00:28:37,070 που μπορεί να συναντήσετε αν απλά το κάνουμε αυτό για το τελικό σχέδιο σας. 517 00:28:37,070 --> 00:28:40,170 >> Και τότε αυτή η γραμμή, γεια σου. 518 00:28:40,170 --> 00:28:41,510 Τότε έχουμε αυτό το περίεργο πράγμα. 519 00:28:41,510 --> 00:28:43,190 Έχουμε περισσότερα στηρίγματα. 520 00:28:43,190 --> 00:28:46,140 Δεν υπάρχει HTTP there-- ή PHP, συγγνώμη. 521 00:28:46,140 --> 00:28:47,250 Αλλά υπάρχει ένα σύμβολο ισότητας. 522 00:28:47,250 --> 00:28:50,625 Και τότε έχουμε μια λειτουργία, htmlspecialchars (_GEThtmlspecialchars (_GET ["name"]). 523 00:28:50,625 --> 00:28:54,440 524 00:28:54,440 --> 00:28:58,040 Αυτό είναι το είδος του σαν μια πιο προηγμένη έκδοση της ηχούς. 525 00:28:58,040 --> 00:29:01,450 Όπως είχαμε αντηχούν ως ένας τρόπος να εκτυπώσετε τα πράγματα στην PHP. 526 00:29:01,450 --> 00:29:03,890 Αυτή είναι μια λειτουργία που είναι ορίζεται σε PHP που 527 00:29:03,890 --> 00:29:08,160 θα ασχοληθεί με κάποια πιο δυσάρεστο χαρακτήρες και τις αξίες byte 528 00:29:08,160 --> 00:29:09,540 ότι θα μπορούσε να περάσει. 529 00:29:09,540 --> 00:29:11,070 Είναι πάντα ασφαλέστερο να χρησιμοποιήσετε αυτό. 530 00:29:11,070 --> 00:29:14,930 Αλλά echo θα κάνει τη δουλειά μια χαρά, αν δεν είμαστε 531 00:29:14,930 --> 00:29:17,620 που ασχολούνται με κάτι πολύ δυσάρεστο. 532 00:29:17,620 --> 00:29:20,340 >> Και έτσι αυτό έχει το ίδιο επίδραση της ουσιαστικά, 533 00:29:20,340 --> 00:29:26,360 αυτά τα πράγματα στο μεταξύ το θέμα σήματα αξιολογείται από την PHP. 534 00:29:26,360 --> 00:29:34,490 htmlspecialchars επιστρέφει ένα ωραίο HTML τυπωμένο αξία των _GET_GET ["name"], δηλαδή 535 00:29:34,490 --> 00:29:36,010 Ό, τι πληκτρολογείτε στη μορφή. 536 00:29:36,010 --> 00:29:40,025 Και τότε θα πω ένα γεια, κόμμα χώρο, και στη συνέχεια αυτό. 537 00:29:40,025 --> 00:29:42,910 Όλο αυτό το πράγμα μεταξύ οι αγκύλες 538 00:29:42,910 --> 00:29:47,390 θα αντικατασταθεί από οτιδήποτε άλλο htmlspecialchars βάζει έξω. 539 00:29:47,390 --> 00:29:49,390 Έτσι, αυτό είναι βασικά παρόμοια σε ό, τι κάνουμε. 540 00:29:49,390 --> 00:29:54,760 Και έχουμε μια δήλωση άλλος που είναι Γεια σας κόσμο, το οποίο έχει νόημα. 541 00:29:54,760 --> 00:29:58,070 Έτσι τώρα ας πάμε πίσω σε μας κώδικα και να δείτε exactly-- oh. 542 00:29:58,070 --> 00:30:02,200 Είπα υπάρχει, το οποίο δεν είναι ένα πράγμα που θέλαμε να κάνουμε. 543 00:30:02,200 --> 00:30:05,370 Θέλαμε να πούμε δεν είναι κενή. 544 00:30:05,370 --> 00:30:10,020 >> Και έτσι αυτό θα πρέπει να εργαστεί λίγο λίγο καλύτερα, δεν είναι άδειο _GET_GET ["name"]. 545 00:30:10,020 --> 00:30:12,710 Και αυτό σγουρά στήριγμα ταιριάζει με αυτό σγουρά στήριγμα. 546 00:30:12,710 --> 00:30:15,210 Έχουμε αγκύλες μας εδώ. 547 00:30:15,210 --> 00:30:17,790 echo hello _GET ["name"]. 548 00:30:17,790 --> 00:30:19,912 Ας δούμε αν αυτό λειτουργεί λίγο καλύτερα. 549 00:30:19,912 --> 00:30:21,350 Είμαστε ακόμη σε εξέλιξη server μας. 550 00:30:21,350 --> 00:30:23,910 Γεια σου Jason. 551 00:30:23,910 --> 00:30:24,780 Γεια σου Jason. 552 00:30:24,780 --> 00:30:25,810 Και αυτό λειτούργησε αυτή τη φορά. 553 00:30:25,810 --> 00:30:29,860 Και έτσι αυτό είναι μια απόδειξη ότι μπορείτε πράγματι 554 00:30:29,860 --> 00:30:35,180 χρησιμοποιήστε τα άγκιστρα που εσείς ξέρουμε και αγάπη στην PHP κώδικα σε μορφή HTML. 555 00:30:35,180 --> 00:30:41,100 Ο κώδικας PHP παρέχεται σε σας σε PSET 6-- το chipset 6-- 556 00:30:41,100 --> 00:30:44,760 παρέχει έναν άλλο τρόπο κάνει αυτό το ίδιο πράγμα. 557 00:30:44,760 --> 00:30:49,220 >> Έτσι τώρα έχουμε τη δύναμη. 558 00:30:49,220 --> 00:30:55,740 Έχουμε τη λειτουργικότητα για την εφαρμογή ο κώδικας PHP που είδαμε στο PSET 6 559 00:30:55,740 --> 00:30:57,390 από τον εαυτό μας, ουσιαστικά. 560 00:30:57,390 --> 00:31:01,350 Πριν προχωρήσουμε, τι είναι μερικά από τα ερωτήσεις που έχετε σε αυτό το σημείο; 561 00:31:01,350 --> 00:31:02,066 Ναι [δεν ακούγεται]. 562 00:31:02,066 --> 00:31:06,512 >> Κοινό: Έτσι όπως διατυπώνεται στον pset6, όταν το τρέξετε, υπάρχει ένα κενό. 563 00:31:06,512 --> 00:31:09,330 Και μπορώ να δω όπου ο χώρος είναι μετά το κόμμα. [Δεν ακούγεται] αρχή 564 00:31:09,330 --> 00:31:10,700 το ανοικτό στήριγμα. 565 00:31:10,700 --> 00:31:15,420 Πώς να ενσωματώσει το χώρο ο τρόπος που έγραψε τη δική σας κωδικούς; 566 00:31:15,420 --> 00:31:17,910 >> ΟΜΙΛΗΤΗΣ: Αυτή είναι μια καλή ερώτηση. 567 00:31:17,910 --> 00:31:21,650 Και έτσι ας καταλάβω. 568 00:31:21,650 --> 00:31:24,450 Έτσι, αυτό είναι μια πραγματικά καλή ερώτηση και ένα που δεν είχα εξετάσει. 569 00:31:24,450 --> 00:31:25,950 Αλλά ας το κάνουμε μαζί. 570 00:31:25,950 --> 00:31:30,280 >> Έτσι, πρώτα απ 'όλα, ό, τι Κάνω με ηχώ 571 00:31:30,280 --> 00:31:33,690 είναι όταν εμείς απλά echo Γεια σας, γεια σου εξόδους. 572 00:31:33,690 --> 00:31:41,310 Αν συνεχίσω τώρα αυτή να πάρει σε ένα ξεχωριστό γραμμή, ας εξετάσουμε τι συμβαίνει. 573 00:31:41,310 --> 00:31:43,740 Γι 'αυτό και κάντε κλικ στο κουμπί αυτό. 574 00:31:43,740 --> 00:31:45,220 Κρατάμε λέγοντας γεια Jason. 575 00:31:45,220 --> 00:31:48,690 Έτσι και πάλι, δεν έχουμε αυτό το χώρο. 576 00:31:48,690 --> 00:31:53,090 >> Και αυτό γιατί, σε PHP, όταν έχουμε ηχώ, 577 00:31:53,090 --> 00:31:55,820 δεν έχει σημασία πόσες spaces-- Όχι, δεν το V-- 578 00:31:55,820 --> 00:32:01,770 δεν έχει σημασία πόσες θέσεις θα θέσει σε here-- αν τώρα φορτώσει και πάλι ότι, 579 00:32:01,770 --> 00:32:03,010 Γεια σου Jason. 580 00:32:03,010 --> 00:32:05,770 Ναι, δείτε, όλα αυτά Απαγορεύεται πήρε τρώγονται. 581 00:32:05,770 --> 00:32:08,020 Και αυτό είναι κάτι που η ηχώ λειτουργία κάνει. 582 00:32:08,020 --> 00:32:11,110 >> Έτσι για να αναλάβει τη φροντίδα του ότι ο χώρος, και αυτό είναι 583 00:32:11,110 --> 00:32:14,960 ένας από τους λόγους γιατί δεν θέλετε να χρησιμοποιήσετε ηχώ 584 00:32:14,960 --> 00:32:18,200 και μπορείτε να χρησιμοποιήσετε htmlspecialchars αντ 'αυτού. 585 00:32:18,200 --> 00:32:22,140 Είμαι περίεργος τι θα συμβεί αν το κάναμε αυτό 586 00:32:22,140 --> 00:32:26,700 όπου έχουμε κλειστό χώρο σε μια σειρά. 587 00:32:26,700 --> 00:32:29,720 Δεν είμαι σίγουρος τι ειλικρινά θα συμβεί όταν το κάνω αυτό. 588 00:32:29,720 --> 00:32:30,790 >> Έτσι, αυτό είναι ένας τρόπος. 589 00:32:30,790 --> 00:32:32,210 Αυτός είναι ένας τρόπος για να ασχοληθούν με αυτό. 590 00:32:32,210 --> 00:32:34,840 Αν τυλίξετε το χώρο ένα string, τότε ο χώρος 591 00:32:34,840 --> 00:32:36,920 Θα είναι ωραία έξοδο από την ECHO. 592 00:32:36,920 --> 00:32:41,930 Το ασφαλέστερο πράγμα που πρέπει να κάνουμε είναι να να κάνει htmlspecialchars. 593 00:32:41,930 --> 00:32:43,800 Αυτό είναι πάντα το ασφαλές στοίχημα. 594 00:32:43,800 --> 00:32:47,050 Αλλά τώρα έχουμε έναν τρόπο να κάνουμε με ηχώ εάν είναι απαραίτητο. 595 00:32:47,050 --> 00:32:50,700 Και σε ένα παρόμοιο τρόπο, μπορούμε ηχώ νέες γραμμές, όλοι το είδος 596 00:32:50,700 --> 00:32:53,550 πράγματα είστε εξοικειωμένοι κάνει στην PHP. 597 00:32:53,550 --> 00:32:57,460 >> Οποιοσδήποτε άλλος, ποια είναι τα πλέον ερωτήσεις που οι άλλοι άνθρωποι έχουν 598 00:32:57,460 --> 00:33:01,090 σε αυτό το σημείο για την PHP; 599 00:33:01,090 --> 00:33:04,620 Αν οι άνθρωποι εμφανίστηκε λίγο αργά, Είμαι στην ευχάριστη θέση να μείνετε μετά από λίγο 600 00:33:04,620 --> 00:33:06,420 και να μιλήσουμε για μερικά από την αρχή. 601 00:33:06,420 --> 00:33:10,380 Και είναι, επίσης, όλα livestreamed, και αρχειοθετούνται, η οποία είναι τρελό. 602 00:33:10,380 --> 00:33:13,960 >> Τέλος πάντων, έτσι και τώρα ας κάνουμε μερικά πιο προχωρημένο πράγματα με την PHP. 603 00:33:13,960 --> 00:33:18,790 Και ένα από τα πρώτα πράγματα που εισήχθησαν στο C ήταν για βρόχους. 604 00:33:18,790 --> 00:33:24,060 Και η PHP έχει ένα πιο ισχυρό για βρόχος που ονομάζεται βρόχο foreach. 605 00:33:24,060 --> 00:33:37,940 Και μοιάζει this-- για κάθε κενή ως κενό, αγκύλες, κάνει το πράγμα. 606 00:33:37,940 --> 00:33:41,500 Έτσι, αυτό είναι βασικά μια συντομογραφία. 607 00:33:41,500 --> 00:33:45,380 >> Βλέπε, για το βρόχο ως συντακτική κατασκευή 608 00:33:45,380 --> 00:33:50,590 επινοήθηκε σε C και στη συναρμολόγηση τη γλώσσα και τα πράγματα αρέσει. 609 00:33:50,590 --> 00:33:56,300 Επινοηθεί C, ακριβώς, ως στενογραφίας για πολλά από τα είδη των βρόχων 610 00:33:56,300 --> 00:33:57,750 ότι οι άνθρωποι θα δουν. 611 00:33:57,750 --> 00:34:01,230 Όπως όταν έγραψε ένα βρόχο, εκεί ήταν συχνά ένα βήμα αρχικοποίησης 612 00:34:01,230 --> 00:34:04,700 εκτελούνται από την αρχή, ένα κατάσταση όπου ο βρόχος θα stop-- 613 00:34:04,700 --> 00:34:07,030 και αυτό είναι το χαρακτηριστικό γνώρισμα αυτό είναι μόνο σε ένα βρόχο while, 614 00:34:07,030 --> 00:34:10,040 ή ότι μια ενώ έχει ακριβώς ακριβώς αυτό feature-- και, στη συνέχεια, 615 00:34:10,040 --> 00:34:12,320 ένα βήμα αυξήσεως στο τέλος. 616 00:34:12,320 --> 00:34:16,489 Και έτσι θα βρείτε τον εαυτό σας συχνά τη σύνταξη κώδικα, όπως το παρακάτω. 617 00:34:16,489 --> 00:34:19,780 Πάω να διαγράψει μερικά από αυτό. 618 00:34:19,780 --> 00:34:23,850 >> Αλλά αν είμαστε επανάληψη μέσω χαρακτήρες σε μία συστοιχία, 619 00:34:23,850 --> 00:34:26,960 για παράδειγμα, όπως έχουμε πήρε μια σειρά από χαρακτήρες. 620 00:34:26,960 --> 00:34:29,400 Συγγνώμη για να φέρει πίσω C. ξέρω, νομίζατε ότι είχατε κάνει. 621 00:34:29,400 --> 00:34:31,900 Αλλά αυτό είναι μόνο για το σκοπό της μάθησης PHP, το υπόσχομαι. 622 00:34:31,900 --> 00:34:38,880 Έτσι, αν έχεις ένα char str μήκους 8, και ας 623 00:34:38,880 --> 00:34:46,760 λένε ότι λέει Hellooo με μηδενική υστερούντα. 624 00:34:46,760 --> 00:34:48,270 Μεγάλη, έτσι ώστε να είναι συμβολοσειρά μας. 625 00:34:48,270 --> 00:34:51,469 >> Και τότε είχαμε ένα για το βρόχο. 626 00:34:51,469 --> 00:34:53,730 Έχουμε int i ισούται με 0. 627 00:34:53,730 --> 00:34:57,960 628 00:34:57,960 --> 00:35:09,110 Και θέλουμε να βγείτε όταν str του εγώ δεν ισούται ίση με null, 629 00:35:09,110 --> 00:35:11,590 γιατί βγείτε όταν ισούται με μηδενική. 630 00:35:11,590 --> 00:35:19,170 Και τότε κάνουμε i ++ σε κάθε σημείο στο βρόχο for. 631 00:35:19,170 --> 00:35:30,480 Να κάνει κάτι με την οδό Ι. 632 00:35:30,480 --> 00:35:34,950 >> Έτσι, η βασική φόρμουλα ήταν, είχαμε αυτό το array ότι εμείς 633 00:35:34,950 --> 00:35:37,910 ήθελαν να αντιμετωπίζονται ως ξεχωριστά στοιχεία. 634 00:35:37,910 --> 00:35:45,170 Αλλά αυτό που έπρεπε να κάνουμε είναι να έπρεπε να βασικά δημιουργήσετε μια ξεχωριστή ακέραιο 635 00:35:45,170 --> 00:35:50,530 μεταβλητή που μετρούσε κάθε φορά που πήγαμε μέσα από το βρόχο. 636 00:35:50,530 --> 00:35:55,240 Και τότε θα πρέπει να καλέσετε στη συνέχεια, strstr [i], όταν αυτό που θέλαμε πραγματικά να κάνουμε 637 00:35:55,240 --> 00:35:57,280 Είναι απλά πηγαίνετε χαρακτήρα από τον χαρακτήρα, έτσι δεν είναι; 638 00:35:57,280 --> 00:36:00,185 Δεν θέλουμε να αυξήσετε ένα ακέραιος και στη συνέχεια να χρησιμοποιήσετε αυτό το ακέραιο 639 00:36:00,185 --> 00:36:02,780 να έχουν πρόσβαση σε κάθε χαρακτήρα ξεχωριστά. 640 00:36:02,780 --> 00:36:04,410 Θέλουμε πραγματικά χαρακτήρα προς χαρακτήρα. 641 00:36:04,410 --> 00:36:08,600 >> Και έτσι για κάθε έξυπνα υπολογίζει ότι για μας. 642 00:36:08,600 --> 00:36:11,875 Αν έχουμε μια σειρά, η οποία μπορούμε να δηλώσουμε στην PHP 643 00:36:11,875 --> 00:36:15,900 όπως just-- αν έχουμε μια μεταβλητή ονομάζεται, ας το ονομάσουμε σειρά. 644 00:36:15,900 --> 00:36:19,840 Τα θαύματα δεν δακτυλογράφησης, είναι ακριβώς όπως οποιαδήποτε άλλη μεταβλητή. 645 00:36:19,840 --> 00:36:20,730 Είναι απλά μια σειρά. 646 00:36:20,730 --> 00:36:26,890 Και έχουμε ένα μικρό [δεν ακούγεται] όπως 1, 2, 3, μόνο ένα είδος αρχικοποιημένη πίνακα. 647 00:36:26,890 --> 00:36:29,680 Είναι εντάξει, δεν αρέσει foreach μου. 648 00:36:29,680 --> 00:36:33,120 >> Αλλά αν το κάνουμε πραγματικότητα foreach-- Έχω πληκτρολογήσει ότι ένα μικρό λάθος. 649 00:36:33,120 --> 00:36:34,840 Υπάρχουν δύο τρόποι για να κάνετε έναν βρόχο foreach. 650 00:36:34,840 --> 00:36:37,400 Υπάρχει η σύνταξη μέσα και η ως σύνταξη. 651 00:36:37,400 --> 00:36:40,580 Και θα πάμε να κάνουμε στην πρώτη σύνταξη, όχι ως. 652 00:36:40,580 --> 00:36:41,780 Αυτό είναι το λάθος μου. 653 00:36:41,780 --> 00:36:53,785 >> Έτσι foreach num στη σειρά, ηχώ num. 654 00:36:53,785 --> 00:36:56,970 655 00:36:56,970 --> 00:36:59,500 Και PHP είναι φωνές μου για κάποιο λόγο. 656 00:36:59,500 --> 00:37:03,520 Είναι μια αναπάντεχη εύρεση σε σε κάτι, 657 00:37:03,520 --> 00:37:05,820 το οποίο είναι ένα μικρό κομμάτι της μια ενόχληση. 658 00:37:05,820 --> 00:37:09,105 Αλλά θα καταλάβω γιατί συμβαίνει αυτό σε μια στιγμή. 659 00:37:09,105 --> 00:37:11,960 660 00:37:11,960 --> 00:37:13,610 Έτσι, δεν αρέσει αυτό. 661 00:37:13,610 --> 00:37:15,040 Ας προσπαθήσουμε να χρησιμοποιήσουμε το ως. 662 00:37:15,040 --> 00:37:17,310 Προτιμά η σύνταξη είναι όπως φαίνεται. 663 00:37:17,310 --> 00:37:22,550 Ας κάνουμε foreach πίνακα ως αρ. 664 00:37:22,550 --> 00:37:24,520 >> Έτσι, μια μικρή επεξήγηση του τι ακριβώς συνέβη 665 00:37:24,520 --> 00:37:30,670 είναι η όσο το συντακτικό saying-- καλά πρώτα, Ας δούμε τι εκτυπώνει αυτό. 666 00:37:30,670 --> 00:37:32,260 Έτσι, ανοίγουμε IDE μας. 667 00:37:32,260 --> 00:37:33,110 Εμείς πάμε εδώ. 668 00:37:33,110 --> 00:37:35,845 Εμείς λέμε, Γεια σας Jason. 669 00:37:35,845 --> 00:37:41,390 Και το έκανε 123, το οποίο ήταν το περιεχόμενο του πίνακα που δημιουργήσαμε επάνω στην κορυφή. 670 00:37:41,390 --> 00:37:45,500 >> Έτσι, καταδύσεις σε αυτόν τον βρόχο foreach, έχουμε μια μεταβλητή που ονομάζεται συστοιχία 671 00:37:45,500 --> 00:37:47,470 η οποία είναι μια σειρά τριών αριθμών. 672 00:37:47,470 --> 00:37:52,120 Και τότε κάνουμε foreach πίνακα ως num, num ηχώ. 673 00:37:52,120 --> 00:37:54,990 Και αυτό είναι περισσότερο έξυπνο από ό, τι ένα για lop. 674 00:37:54,990 --> 00:38:02,380 Λέμε, αντιμετωπίζοντας κάθε μία από τα πράγματα στη σειρά, όπως num, 675 00:38:02,380 --> 00:38:05,180 Θέλω να μου δώσετε num. 676 00:38:05,180 --> 00:38:06,640 Και αυτό είναι ακριβώς τι κάνει. 677 00:38:06,640 --> 00:38:12,000 >> PHP υπολογίζει ότι όταν λέτε πίνακα foreach, 678 00:38:12,000 --> 00:38:16,080 και έχουμε να κάνουμε με μια σειρά, τι θα πάμε να θέλουν να μετακινηθείτε πάνω 679 00:38:16,080 --> 00:38:19,950 είναι οι χαρακτήρες στην εν λόγω διάταξη, είναι οι ints στην εν λόγω διάταξη, 680 00:38:19,950 --> 00:38:21,920 είναι τα στοιχεία στην εν λόγω συστοιχία. 681 00:38:21,920 --> 00:38:26,110 Και αυτό είναι που σας επιτρέπει να αποθηκεύσετε αυτές οι μεταβλητές ως num, 682 00:38:26,110 --> 00:38:29,360 και στη συνέχεια απλά εξόδου num αμέσως, αντί να λέμε, 683 00:38:29,360 --> 00:38:34,090 Έχω μια μεταβλητή που ονομάζεται i, και τότε θέλω να strstr εξόδου [i]. 684 00:38:34,090 --> 00:38:39,130 >> Και έτσι αυτό μας επιτρέπει να κάνουμε δροσερά πράγματα. 685 00:38:39,130 --> 00:38:43,330 Όπως και στην ουσία δεν έχουμε να δημιουργήσουμε Αυτές οι μεταβλητές όπως εγώ και να κάνει όλα 686 00:38:43,330 --> 00:38:45,090 αυτά τα πράγματα προσαύξησης στο τέλος. 687 00:38:45,090 --> 00:38:48,290 PHP φροντίζει όλα αυτά για εσάς. 688 00:38:48,290 --> 00:38:54,470 >> Έτσι τώρα ας μιλήσουμε για foreach ως εφαρμόζεται σε λεξικό _GET μας. 689 00:38:54,470 --> 00:38:57,170 Έτσι θα σχολιάσει αυτό έξω γρήγορα. 690 00:38:57,170 --> 00:39:02,030 Έτσι, έχουμε σειρά _GET μας. 691 00:39:02,030 --> 00:39:04,361 Έχουμε αυτήν τη μεταβλητή. 692 00:39:04,361 --> 00:39:05,610 Και πήρε κάποια πράγματα σε αυτό. 693 00:39:05,610 --> 00:39:10,275 >> Αυτή τη στιγμή, έχουμε μόνο μια μεταβλητή μεταβιβάζονται σε αυτό, το οποίο είναι το όνομα. 694 00:39:10,275 --> 00:39:13,420 Αλλά αν πατήσετε το Enter, τώρα μπορούμε να έχουμε δυο μεταβλητές. 695 00:39:13,420 --> 00:39:17,910 Μπορούμε να έχουμε το όνομα και την ηλικία, για παράδειγμα, αν θέλουμε να πάρει την ηλικία και, επίσης, 696 00:39:17,910 --> 00:39:20,960 το όνομα ενός προσώπου, αρκετά αστεία. 697 00:39:20,960 --> 00:39:25,690 >> Έτσι τώρα _GET πρόκειται να είναι μια λεξικό με δύο στοιχεία, 698 00:39:25,690 --> 00:39:27,980 με δύο ζεύγη κλειδιών αξία. 699 00:39:27,980 --> 00:39:33,490 Και το πρώτο key-- Πάω να γράψω αυτό το ένα επάνω στο ταμπλό πάρα πολύ. 700 00:39:33,490 --> 00:39:37,136 Έχουμε λεξικό μας είναι _GET. 701 00:39:37,136 --> 00:39:39,520 Συγγνώμη, αυτό είναι λίγο δύσκολο να δούμε. 702 00:39:39,520 --> 00:39:46,690 Αλλά μέσα λεξικό μας έχουμε όνομα, το οποίο πρόκειται να είναι κάτι 703 00:39:46,690 --> 00:39:47,680 ότι μας δίνεται. 704 00:39:47,680 --> 00:39:53,040 Και θα έχουμε την ηλικία, η οποία είναι επίσης πρόκειται να είναι κάτι που μας δίνεται. 705 00:39:53,040 --> 00:39:56,020 Και αυτό είναι το σύνολο του λεξικού μας. 706 00:39:56,020 --> 00:39:57,730 >> Έτσι πήρε τα δύο στοιχεία σε αυτό. 707 00:39:57,730 --> 00:40:01,310 Και έτσι επειδή foreach βρόχοι είναι έξυπνοι, μπορούμε 708 00:40:01,310 --> 00:40:04,900 μπορούσε κανείς να σκεφτεί, και σωστά Να σκεφτείτε ότι foreach 709 00:40:04,900 --> 00:40:08,080 μπορεί να επαναλάβει μέσω αυτού λεξικό, εκτύπωση 710 00:40:08,080 --> 00:40:10,850 οι τιμές που δίνονται από το όνομα και την ηλικία. 711 00:40:10,850 --> 00:40:14,510 >> Οπότε ας, στην πραγματικότητα κάνουν ακριβώς αυτό. 712 00:40:14,510 --> 00:40:17,520 Ας κατασκευάσουμε ένα βρόχο foreach. 713 00:40:17,520 --> 00:40:23,351 Και θα πάμε να κάνουμε για _GET ως. 714 00:40:23,351 --> 00:40:24,850 Και θα πάμε να κάνουμε το εξής. 715 00:40:24,850 --> 00:40:34,186 Ας δούμε λοιπόν τι θα συμβεί αν γράψουμε μόνο λέξη, και στη συνέχεια να πω ηχώ λέξη. 716 00:40:34,186 --> 00:40:40,540 Είμαστε, επίσης, πρόκειται να επαναλάβω μια νέα γραμμή απλά για να γίνει λίγο πιο σαφής, 717 00:40:40,540 --> 00:40:41,260 τι συμβαίνει. 718 00:40:41,260 --> 00:40:42,890 >> Ας δούμε λοιπόν. 719 00:40:42,890 --> 00:40:44,390 Δεν μου δίνει κάποια λάθη. 720 00:40:44,390 --> 00:40:46,810 Και θα κλείσει αυτό. 721 00:40:46,810 --> 00:40:51,020 Στην ιστοσελίδα μας, θα πάμε να κάνουμε πολλά από ότι κατά τη διάρκεια του pset7. 722 00:40:51,020 --> 00:40:53,890 Έτσι λέμε το όνομά μου είναι Σαμ. 723 00:40:53,890 --> 00:40:58,560 Η ηλικία μου είναι 45. 724 00:40:58,560 --> 00:41:01,060 Δεν είναι. 725 00:41:01,060 --> 00:41:05,640 Αλλά εκτυπώνει, όπως αναμενόταν, ο Σαμ 45. 726 00:41:05,640 --> 00:41:08,930 >> Και έτσι θα παρατηρήσετε ότι τι βρόχο foreach did-- εδώ, 727 00:41:08,930 --> 00:41:12,360 Ας πάμε πίσω στο ότι έτσι είναι στο χέρι σχετικά με την board-- έχουμε _GET ως λέξη. 728 00:41:12,360 --> 00:41:15,130 Και υπήρχαν τέσσερα πράγματα στη _GET. 729 00:41:15,130 --> 00:41:17,410 Αλλά μόνο εκτυπώνονται δύο πράγματα. 730 00:41:17,410 --> 00:41:21,290 foreach, είναι ευφυΐα εαυτό του, Υποτίθεται ότι αυτό που πραγματικά ήθελε 731 00:41:21,290 --> 00:41:24,100 ήταν οι τιμές, δεν τα πλήκτρα. 732 00:41:24,100 --> 00:41:27,800 >> Αλλά υπάρχει ένας τρόπος που θα μπορούσαμε να εκτυπώσετε από τα πλήκτρα, καθώς, αν θέλαμε να. 733 00:41:27,800 --> 00:41:30,810 Αν θέλαμε να γνωρίζουμε επίσης τι Οι μεταβλητές αυτές ονομάζονται, 734 00:41:30,810 --> 00:41:33,540 υπάρχει ένας τρόπος που θα πρόσβαση σε αυτό, καθώς και. 735 00:41:33,540 --> 00:41:36,840 Και ο τρόπος για να είδος το κάνουμε αυτό, ώστε να μπορούμε να πούμε, ας πραγματικά 736 00:41:36,840 --> 00:41:39,485 διαχωρισμός σε βασικά ζευγάρια αξίας. 737 00:41:39,485 --> 00:41:42,370 738 00:41:42,370 --> 00:41:47,580 Ας δούμε λοιπόν τι συμβαίνει τώρα. 739 00:41:47,580 --> 00:41:50,550 >> Έτσι, έχουμε το κλειδί. 740 00:41:50,550 --> 00:41:52,290 Έχουμε αξία. 741 00:41:52,290 --> 00:41:56,650 Έχουμε μια άλλη νέα γραμμή για λόγους αναγνωσιμότητας. 742 00:41:56,650 --> 00:42:00,540 Και ας δούμε τι θα συμβεί όταν το κάνουμε αυτό τώρα. 743 00:42:00,540 --> 00:42:04,950 744 00:42:04,950 --> 00:42:06,720 Δεν ξέρω πόσο χρονών είναι ο Jason. 745 00:42:06,720 --> 00:42:09,180 Ιάσονα 15. 746 00:42:09,180 --> 00:42:11,650 Έτσι, έχουμε το όνομα Jason, ηλικίας 15. 747 00:42:11,650 --> 00:42:15,830 Γι 'αυτό και ήταν σε θέση να αποκτήσετε πρόσβαση στο κλειδί και τα ζεύγη τιμής αυτής λεξικό 748 00:42:15,830 --> 00:42:18,590 λέγοντας απλά ως βασικά σημεία για την αξία. 749 00:42:18,590 --> 00:42:23,350 Και αυτό είναι μια συντακτική foreach λίγο ζάχαρη που επιτρέπει 750 00:42:23,350 --> 00:42:25,960 μπορείτε να αποκτήσετε πρόσβαση σε πράγματα στο λεξικό. 751 00:42:25,960 --> 00:42:31,190 >> Έτσι, ελπίζουμε ότι αυτό το είδος της τονίζει η δύναμη του βρόχου foreach. 752 00:42:31,190 --> 00:42:35,690 Μπορείτε λίγο πολύ να ρίξει κάτι που φαίνεται iterable, 753 00:42:35,690 --> 00:42:38,922 όπως οτιδήποτε έχει πολλαπλές στοιχεία, όπως μια σειρά, 754 00:42:38,922 --> 00:42:41,880 σαν ένα dictionary-- πρόκειται για δύο πρωτογενή πράγματα που θα πρέπει να εργάζονται με 755 00:42:41,880 --> 00:42:45,630 τόσο στη ζωή και το chipset 7. 756 00:42:45,630 --> 00:42:49,350 Έτσι, μπορείτε να ρίξει αυτό το πράγμα σε αυτό, και θα καταλάβω 757 00:42:49,350 --> 00:42:51,030 τι θέλετε να κάνετε με αυτό. 758 00:42:51,030 --> 00:42:54,250 Θα πω, εντάξει, είμαι πρόκειται να πάρει αυτά τα πράγματα από τα δεδομένα που 759 00:42:54,250 --> 00:42:55,680 πέρασε για μένα. 760 00:42:55,680 --> 00:43:02,470 Και αυτό είναι κάτι που είστε πρόκειται να χρησιμοποιεί πολλά σε PSET 7. 761 00:43:02,470 --> 00:43:08,550 >> Πάω για γρήγορη κύλιση κάτω ακριβώς για να δούμε πού είμαι στο. 762 00:43:08,550 --> 00:43:11,410 763 00:43:11,410 --> 00:43:13,070 Οι άνθρωποι έχουν ερωτήσεις σε αυτό το σημείο; 764 00:43:13,070 --> 00:43:13,778 Σε όλα τα ερωτήματα; 765 00:43:13,778 --> 00:43:14,400 Ναί? 766 00:43:14,400 --> 00:43:18,320 >> Κοινό: Έτσι, με το κλειδί και την αξία, θα μπορούσατε να το ονομάσετε οτιδήποτε άλλο 767 00:43:18,320 --> 00:43:20,507 και θα εξακολουθούν να εργάζονται; 768 00:43:20,507 --> 00:43:21,090 ΟΜΙΛΗΤΗΣ: Ωχ. 769 00:43:21,090 --> 00:43:22,820 Πω πω, έχω διαγράψει εντελώς το σύνολο της γραμμής. 770 00:43:22,820 --> 00:43:23,380 Καταπληκτική δουλειά. 771 00:43:23,380 --> 00:43:26,502 Έτσι, ένα, ένα. 772 00:43:26,502 --> 00:43:30,109 Κλειδί και η τιμή είναι απλά μια σύμβαση. 773 00:43:30,109 --> 00:43:30,650 Είναι χρήσιμο. 774 00:43:30,650 --> 00:43:34,010 Θα πάρετε κάποια σχεδιασμό σημεία, ίσως μερικά σημεία στυλ 775 00:43:34,010 --> 00:43:36,970 για να γίνει αυτό, διότι εκφράζει πραγματικά την πρόθεση. 776 00:43:36,970 --> 00:43:39,650 Αλλά λέμε και yarp. 777 00:43:39,650 --> 00:43:42,476 >> Κοινό: Δεν χρειάζεται να αλλάξει τίποτα στο αρχείο HTML 778 00:43:42,476 --> 00:43:43,607 προκειμένου να αντικατοπτρίζει το γεγονός ότι; 779 00:43:43,607 --> 00:43:44,440 ΟΜΙΛΗΤΗΣ: Καθόλου. 780 00:43:44,440 --> 00:43:47,260 Κοινό: Και αυτό ακριβώς γνωρίζει ότι λόγω της μεγαλύτερης ισούται than-- 781 00:43:47,260 --> 00:43:47,801 ΟΜΙΛΗΤΗΣ: Ναι. 782 00:43:47,801 --> 00:43:49,489 Κοινό: --that δείκτης που that's-- 783 00:43:49,489 --> 00:43:50,030 ΟΜΙΛΗΤΗΣ: Ναι. 784 00:43:50,030 --> 00:43:52,260 Αυτό είναι μια σύνταξη foreach, αλλά ναι. 785 00:43:52,260 --> 00:43:53,720 >> Κοινό: Δεν υπάρχουν είδη. 786 00:43:53,720 --> 00:43:57,230 Έτσι τι εάν θελήσατε ηλικίας είναι μόνο μια σειρά; 787 00:43:57,230 --> 00:43:59,510 Είναι ένας τρόπος για να το κάνουμε αυτό; 788 00:43:59,510 --> 00:44:04,550 >> ΟΜΙΛΗΤΗΣ: Υπάρχουν τρόποι για να ελέγξετε αν μεταβλητές να ανταποκρίνονται σε ορισμένα είδη. 789 00:44:04,550 --> 00:44:08,482 Έτσι PHP ζητά λίγο περισσότερο από σας γιατί δεν υπάρχουν οι τύποι του. 790 00:44:08,482 --> 00:44:09,440 Μερικοί τρόποι ζητά λιγότερο. 791 00:44:09,440 --> 00:44:11,070 Κατά κάποιο τρόπο ζητά περισσότερα. 792 00:44:11,070 --> 00:44:13,320 Διότι, αν έχετε μόνο κάτι σε μια μεταβλητή, 793 00:44:13,320 --> 00:44:14,960 δεν έχετε ιδέα τι είδους είναι. 794 00:44:14,960 --> 00:44:19,310 Αλλά εάν είστε έξυπνοι σχετικά με τις μεταβλητές η εκχώρηση των τύπων και να βεβαιωθείτε 795 00:44:19,310 --> 00:44:22,750 ότι οι λειτουργίες που return-- μόνο Θέλετε να λειτουργεί μόνο επιστροφή 796 00:44:22,750 --> 00:44:26,210 ένα είδος αξίας έτσι ότι μπορείτε βασικά 797 00:44:26,210 --> 00:44:31,090 Αναμένουμε ότι η μεταβλητή μπορείτε να πάρετε πίσω από μια συνάρτηση θα είναι του τύπου 798 00:44:31,090 --> 00:44:32,780 ότι νομίζετε ότι θα είναι, βασικά. 799 00:44:32,780 --> 00:44:36,550 >> Αλλά υπάρχουν μερικές μέθοδοι με το οποίο μπορείτε να ελέγξετε. 800 00:44:36,550 --> 00:44:39,801 Εγώ δεν τις θυμάμαι από την κορυφή του κεφαλιού μου. 801 00:44:39,801 --> 00:44:43,300 Είμαι σε αναμονή για να γίνει μπλε. 802 00:44:43,300 --> 00:44:45,560 isint; 803 00:44:45,560 --> 00:44:48,070 isstr; 804 00:44:48,070 --> 00:44:52,000 Υπάρχουν μέθοδοι χτισμένο σε PHP που μπορεί να 805 00:44:52,000 --> 00:44:54,440 ελέγξτε τον τύπο των μεταβλητών για εσάς. 806 00:44:54,440 --> 00:44:58,250 Αλλά αν ορίσετε μεταβλητές έξυπνα, δεν πρέπει να 807 00:44:58,250 --> 00:45:01,330 Πρέπει να το κάνουμε αυτό το πολύ σε 7 το chipset. 808 00:45:01,330 --> 00:45:02,780 Αλλά δεν υπάρχουν αυτές οι μέθοδοι. 809 00:45:02,780 --> 00:45:06,704 Και αυτό είναι κάτι που είναι στην ίδια τη γλώσσα. 810 00:45:06,704 --> 00:45:08,370 Και δεν θυμάμαι την ακριβή σύνταξη. 811 00:45:08,370 --> 00:45:09,930 Θα μπορούσαμε ακόμα και να κοιτάζω προς τα πάνω. 812 00:45:09,930 --> 00:45:11,974 Αλλά ο χρόνος είναι πολύτιμος. 813 00:45:11,974 --> 00:45:13,890 έχουν Μήπως κάποιος άλλος έχετε άλλες ερωτήσεις; 814 00:45:13,890 --> 00:45:14,660 Ναί. 815 00:45:14,660 --> 00:45:15,951 >> Κοινό: Έχω μόνο ένα περισσότερο. 816 00:45:15,951 --> 00:45:19,050 Έτσι, αναφέρατε τη μέθοδο GET, αλλά δεν αναφέρατε τη μέθοδο POST. 817 00:45:19,050 --> 00:45:20,500 Ερχόμαστε πίσω σε αυτό; 818 00:45:20,500 --> 00:45:21,540 >> ΟΜΙΛΗΤΗΣ: Ναι, θα το κάνουμε να έρχονται πίσω σε αυτό. 819 00:45:21,540 --> 00:45:24,840 Αυτό είναι ακριβώς αυτό που έψαχνα στο τηλέφωνό μου, η οποία τώρα αποκοιμήθηκε, 820 00:45:24,840 --> 00:45:26,960 αλλά εγώ θα το βρείτε. 821 00:45:26,960 --> 00:45:30,680 Απλά βεβαιωθείτε χτυπάμε όλα τα σημειώματα PHP. 822 00:45:30,680 --> 00:45:35,640 Ναι, δεν υπάρχει έκδοση εντοπισμού σφαλμάτων. 823 00:45:35,640 --> 00:45:41,940 Ναι, έχουμε μερικά περισσότερα πράγματα που θέλουμε να κάνουμε τώρα σε αυτό το σημείο. 824 00:45:41,940 --> 00:45:45,980 >> Έτσι μιλάμε για POST, που αναφέρατε, 825 00:45:45,980 --> 00:45:49,630 η μόνη διαφορά μεταξύ GET και POST είναι 826 00:45:49,630 --> 00:45:53,150 ότι θυμάμαι όταν κοιτάξαμε σε αυτή τη διεύθυνση URL και είδαμε, OH, 827 00:45:53,150 --> 00:45:58,270 ισούται με ένα όνομα και την ηλικία ισούται yarp ακριβώς στη διεύθυνση URL εκεί για εμάς. 828 00:45:58,270 --> 00:46:03,300 POST είναι λίγο πιο μυστικοπαθής με το πέρασμα της πληροφορίας. 829 00:46:03,300 --> 00:46:08,090 >> Έτσι, αν δεν θέλετε ένα χρήστη να γνωρίζουν, για παράδειγμα, 830 00:46:08,090 --> 00:46:11,160 δεν ήθελε το όνομα χρήστη και τον κωδικό πρόσβασης του ατόμου 831 00:46:11,160 --> 00:46:15,080 συνδεδεμένοι τη δεδομένη στιγμή να εμφανίζεται σε η διεύθυνση URL, το οποίο είναι ένα λογικό πράγμα 832 00:46:15,080 --> 00:46:17,770 Δεν θέλουν στο URL, επειδή κάποιος μπορεί να το δει. 833 00:46:17,770 --> 00:46:21,520 Αν συνδεθεί κάποιος σε μια σελίδα, μπορείτε Δεν θέλω URL τους μεθυσμένος εκεί, 834 00:46:21,520 --> 00:46:27,850 γιατί αυτό θα επιτρέψει στους ανθρώπους να συνδεθείτε ακριβώς με την επικόλληση μιας διεύθυνσης URL, αντί 835 00:46:27,850 --> 00:46:29,670 πράγματι τη συμπλήρωση μιας φόρμας. 836 00:46:29,670 --> 00:46:31,710 POST είναι λίγο πιο μυστικοπαθείς. 837 00:46:31,710 --> 00:46:34,150 >> Και τα μόνα πράγματα που θα πρέπει να αλλάξετε 838 00:46:34,150 --> 00:46:38,550 είναι αυτή η μέθοδος, η αλλαγή από πάρει για να δημοσιεύετε. 839 00:46:38,550 --> 00:46:42,367 Και στη συνέχεια στο εσωτερικό του HTTP, αντί πρόσβασης στο _GET σειρά, 840 00:46:42,367 --> 00:46:43,950 θα πάμε για να αποκτήσετε πρόσβαση στο _POST πίνακα. 841 00:46:43,950 --> 00:46:48,600 >> Και θα παρατηρήσετε ότι, αν ανοίγουμε αυτό πίσω πάλι, 842 00:46:48,600 --> 00:46:51,910 Jason μειώνεται αργά σε ηλικία. 843 00:46:51,910 --> 00:46:53,230 Ονομα Jason, ηλικίας 14. 844 00:46:53,230 --> 00:46:54,280 Το ίδιο υλικό αναδύεται. 845 00:46:54,280 --> 00:46:57,190 Αλλά πάμε στην διεύθυνση URL και αυτές οι μεταβλητές δεν είναι εκεί. 846 00:46:57,190 --> 00:47:00,540 >> Και ο τρόπος που POST passes-- ώστε να θυμάστε 847 00:47:00,540 --> 00:47:02,750 πώς να δούμε την πηγή μιας σελίδας. 848 00:47:02,750 --> 00:47:04,570 Εμείς πάμε με το δίκτυο. 849 00:47:04,570 --> 00:47:06,920 Εμείς ανανεώσετε. 850 00:47:06,920 --> 00:47:10,690 Και αυτό είναι ένα άλλο πράγμα που POST θα σας δώσει τις προειδοποιήσεις σχετικά. 851 00:47:10,690 --> 00:47:15,050 Μπορεί να έχετε δει ένα κουτί, ένα κείμενο κουτί σαν αυτό στο πρόγραμμά σας περιήγησης. 852 00:47:15,050 --> 00:47:18,170 Είστε σίγουροι ότι θέλετε να στείλουν ένα έντυπο και πάλι; 853 00:47:18,170 --> 00:47:21,170 POST είναι τι είναι η αποστολή των εντύπων αυτών. 854 00:47:21,170 --> 00:47:24,680 >> Γιατί ουσιαστικά αν στείλατε σας στοιχεία της πιστωτικής κάρτας σε κάποιον, 855 00:47:24,680 --> 00:47:26,350 ότι δεν πρόκειται να εμφανιστούν στο URL. 856 00:47:26,350 --> 00:47:28,180 Αυτό πρόκειται να είναι μια αίτηση POST. 857 00:47:28,180 --> 00:47:32,905 Έτσι, όταν ανανεώσετε τη σελίδα, αυτό είναι το αίτημα εκ νέου αποστολή των υστέρων. 858 00:47:32,905 --> 00:47:35,530 Έτσι, τώρα θέλουμε να στείλουμε το αποτελούν και πάλι, επειδή δεν πρόκειται 859 00:47:35,530 --> 00:47:37,340 να δημιουργήσει όλες τις διπλές αγορές. 860 00:47:37,340 --> 00:47:41,160 >> Και θα παρατηρήσετε ότι εδώ κάτω, η μέθοδος που χρησιμοποιούμε είναι POST. 861 00:47:41,160 --> 00:47:43,065 Και πράγματι μεταφέρει bytes. 862 00:47:43,065 --> 00:47:45,460 Μεταβίβασε 401 από αυτούς. 863 00:47:45,460 --> 00:47:47,190 Προγράμματος αρκετά μικρό. 864 00:47:47,190 --> 00:47:51,600 Αλλά υπάρχει πουθενά ότι μπορούμε να δούμε οι αξίες που μεταβιβάζονται. 865 00:47:51,600 --> 00:47:59,540 Οι ιστοσελίδες μπορούν να δουν τους εαυτούς τους, αλλά εμείς ως χρήστες δεν μπορούν να δουν, 866 00:47:59,540 --> 00:48:01,650 εκτός αν είστε ένας hacker. 867 00:48:01,650 --> 00:48:05,340 Αν είστε καλός hacker, μπορείτε να δείτε. 868 00:48:05,340 --> 00:48:09,360 >> Εάν γνωρίζετε τη βασική μορφή του HTML, 869 00:48:09,360 --> 00:48:11,790 οι τιμές θα καταστήσει αναγγέλθηκαν στις σελίδες. 870 00:48:11,790 --> 00:48:13,160 Θα μπορέσετε να δείτε. 871 00:48:13,160 --> 00:48:16,720 Οι τιμές θα είναι εκεί, είναι λίγο λιγότερο προφανής για σας 872 00:48:16,720 --> 00:48:19,522 να έχουν πρόσβαση, βασικά. 873 00:48:19,522 --> 00:48:23,620 >> Μήπως έχουμε πια ερωτήσεις σχετικά με GET, POST 874 00:48:23,620 --> 00:48:26,800 before-- τι θα πάμε να κάνουμε το επόμενο είναι στην πραγματικότητα μια ματιά σε μερικά από τον κώδικα 875 00:48:26,800 --> 00:48:30,837 ότι δίνετε σε PSET 7, μιλάμε για πώς χρησιμοποιεί μερικές από αυτές τις έννοιες, 876 00:48:30,837 --> 00:48:32,670 και να μιλήσουν για το πράγματα που θα έχετε την ευκαιρία 877 00:48:32,670 --> 00:48:35,090 για να έχετε να κάνετε λίγο στην PSET 7. 878 00:48:35,090 --> 00:48:36,760 Οποιεσδήποτε άλλες ερωτήσεις πριν από αυτό; 879 00:48:36,760 --> 00:48:38,047 Περισσότερες ερωτήσεις εσείς έχετε; 880 00:48:38,047 --> 00:48:41,250 881 00:48:41,250 --> 00:48:41,840 Εξαιρετική. 882 00:48:41,840 --> 00:48:45,370 >> Εντάξει, ας ρίξουμε μια ματιά λίγο στο PSET 7, 883 00:48:45,370 --> 00:48:49,530 Αναμφίβολα αυτό που είσαι όλα τα πιο ενθουσιασμένοι. 884 00:48:49,530 --> 00:48:52,126 885 00:48:52,126 --> 00:48:54,750 Θέλω να πω, αυτό είναι κάτι που David περνά μέσα από ένα μικρό κομμάτι. 886 00:48:54,750 --> 00:49:00,890 Αλλά θα έχουμε τρεις καταλόγους κατά τη κορυφή, καθώς και ένα αρχείο διαμόρφωσης. 887 00:49:00,890 --> 00:49:04,650 Αυτό είναι για τις βάσεις δεδομένων, η οποία θα μιλήσουμε για περίπου πέντε λεπτά. 888 00:49:04,650 --> 00:49:07,220 Περιλαμβάνει, δεν θα χρειαστεί ποτέ για να δούμε σε αυτόν τον κατάλογο 889 00:49:07,220 --> 00:49:12,480 αν δεν θέλετε να, αλλά είναι ωραίο να Γνωρίζω ότι υπάρχουν όλα τα είδη των βοηθών. 890 00:49:12,480 --> 00:49:14,210 Βοηθοί είναι σαν χρήσιμες λειτουργίες. 891 00:49:14,210 --> 00:49:18,120 Και τότε έχουμε config, το οποίο θέτει κάποια πράγματα επάνω. 892 00:49:18,120 --> 00:49:24,590 >> Υπάρχουν ορισμένες λειτουργίες που έχει CS50 γράψει ότι είναι αρωγός και config. 893 00:49:24,590 --> 00:49:27,250 Και μερικά από τα PHP που εξέρχεται ήδη στα αρχεία 894 00:49:27,250 --> 00:49:30,880 θα κάνει ένα μεγάλο μέρος της πιο Ταξινόμηση αμβλείες δουλειά πόδι για σας. 895 00:49:30,880 --> 00:49:35,250 Όπως και αν πάμε στη δημόσια login.php, η οποία είναι ό, τι 896 00:49:35,250 --> 00:49:38,350 εμφανίζεται σωστά όταν πηγαίνετε σε PSET 7. 897 00:49:38,350 --> 00:49:40,580 Θα δούμε ότι υπάρχει αυτό απαιτείται δήλωση. 898 00:49:40,580 --> 00:49:43,420 Και αυτό το είδος του σαν ένα απότομη περιλαμβάνουν, hashtag 899 00:49:43,420 --> 00:49:46,850 περιλαμβάνουν, αν είστε από μια νεότερη γενιά. 900 00:49:46,850 --> 00:49:49,740 Αλλά αυτό βασικά λέει ότι θα πρέπει να έχουν πρόσβαση 901 00:49:49,740 --> 00:49:52,260 σε όλες τις λειτουργίες στο αρχείο config.php. 902 00:49:52,260 --> 00:49:55,290 Και θα μπορούσατε να έχετε ένα απαιτήσει για όλα τα είδη των άλλων. 903 00:49:55,290 --> 00:49:59,670 >> config απαιτεί στην πραγματικότητα βοηθοί. 904 00:49:59,670 --> 00:50:02,490 Έτσι, κάθε φορά που χρειάζεστε config, είστε επίσης 905 00:50:02,490 --> 00:50:05,660 συμπεριλαμβανομένων ή απαιτώντας βοηθούς, καθώς και. 906 00:50:05,660 --> 00:50:09,590 Έτσι ώστε να σας δίνει πρόσβαση σε όλα τα δροσερό λειτουργίες που πρόκειται να χρησιμοποιήσετε, 907 00:50:09,590 --> 00:50:10,420 πράγματα, όπως να καταστήσει. 908 00:50:10,420 --> 00:50:13,490 Είμαι πραγματικά πρόκειται να διευκολύνει αυτό κάτω λίγο. 909 00:50:13,490 --> 00:50:16,280 Έτσι, η λειτουργία τότε είμαστε Θα περπατήσετε μέσα 910 00:50:16,280 --> 00:50:22,380 λίγο πριν περάσουμε στην SQL λίγο bit είναι η λειτουργία login.php, απλά 911 00:50:22,380 --> 00:50:26,586 επειδή χρησιμοποιεί μερικά από τα θέματα ότι μόλις μίλησα στην PHP. 912 00:50:26,586 --> 00:50:30,840 >> Βλέπετε το πρώτο πράγμα είναι αν το $ _SERVER. 913 00:50:30,840 --> 00:50:34,500 Αυτό είναι μια άλλη παγκόσμια μεταβλητή που θα πάμε να ασχολούνται με. 914 00:50:34,500 --> 00:50:38,460 Είναι σαν _GET και _POST, αλλά τι διακομιστής περιέχει είναι αυτό μπορεί να σας αφήσει 915 00:50:38,460 --> 00:50:42,730 ξέρω αν η μέθοδος αίτηση Ήταν ένα GET ή μια θέση. 916 00:50:42,730 --> 00:50:47,250 Όπως και στο παρελθόν αυτό που κάναμε είναι ακριβώς κώδικά μας που γράψαμε, 917 00:50:47,250 --> 00:50:51,880 είχαμε ακριβώς την αλλαγή να είναι GET και POST ανάλογα με το ποια είναι η HTML έχει. 918 00:50:51,880 --> 00:50:55,120 Αλλά υπάρχουν σελίδες που μπορεί να είναι προσεγγιστεί με δύο τύπους αιτήσεων. 919 00:50:55,120 --> 00:50:57,410 Και ίσως να θέλετε να κάνετε διαφορετικά πράγματα ανάλογα 920 00:50:57,410 --> 00:50:59,740 για τον τύπο της αίτησης, ακριβώς όπως κάνει login. 921 00:50:59,740 --> 00:51:04,400 >> Έτσι, μπορείτε να ελέγξετε το αίτημα αυτό μέθοδος μέσω της πρόσβασης σε κλειδιά, 922 00:51:04,400 --> 00:51:08,630 μέσω της χρήσης ενός κλειδιού και να πάρει το αξία του κάτι στο λεξικό 923 00:51:08,630 --> 00:51:10,260 _ΥΠΗΡΈΤΗΣ. 924 00:51:10,260 --> 00:51:13,800 Έτσι, αυτό είναι μια άλλη παγκόσμια μεταβλητή, όπως _GET και _POST. 925 00:51:13,800 --> 00:51:16,990 >> Αν πάρουμε, θέλουμε να καθιστούν τη φόρμα σύνδεσης. 926 00:51:16,990 --> 00:51:21,920 Render είναι μια λειτουργία που βασικά απλά βάζει το κατάλληλο HTML 927 00:51:21,920 --> 00:51:24,500 και περνάει μερικές παραμέτρους. 928 00:51:24,500 --> 00:51:28,740 Ο τίτλος αυτός είναι μια παράμετρος που είναι που χρησιμοποιείται στην εμφάνιση, περιέργως, 929 00:51:28,740 --> 00:51:32,670 Ο τίτλος της σελίδας ερώτηση, το πράγμα εδώ, 930 00:51:32,670 --> 00:51:34,850 πω ένα γεια ή στο προηγούμενο παράδειγμα μας. 931 00:51:34,850 --> 00:51:36,100 Τώρα έχουμε ένα διαφορετικό πράγμα. 932 00:51:36,100 --> 00:51:38,570 Αλλιώς αν είναι POST, εμείς κάνετε κάποια άλλα πράγματα. 933 00:51:38,570 --> 00:51:40,790 Είμαστε χρησιμοποιώντας αυτή τη μέθοδο άδειο. 934 00:51:40,790 --> 00:51:42,750 Δεν είναι υπάρχουν, είναι άδειο. 935 00:51:42,750 --> 00:51:45,440 Και είδαμε πριν, PHP έχει ένα δίκαιο ποσό του δομημένου 936 00:51:45,440 --> 00:51:52,370 σε μεθόδους που ο David will-- εάν υπάρχει είναι μέθοδοι που είναι χρήσιμο να σας, 937 00:51:52,370 --> 00:51:55,560 θα ειδοποιηθούν για εσάς σε απόσταση μέσω αυτού του Δαβίδ 938 00:51:55,560 --> 00:51:59,770 δίνει στις αρχές επισκόπηση, καθώς επίσης και χρήσιμες κομμάτια Zamyla του. 939 00:51:59,770 --> 00:52:01,040 Είναι πίσω ο καθένας. 940 00:52:01,040 --> 00:52:03,100 Μπορούμε όλοι να χαίρονται. 941 00:52:03,100 --> 00:52:06,530 συγγνώμη είναι μια λειτουργία που εύστοχα ονομάστηκε ότι απλά τυπώνει ουσιαστικά έξω 942 00:52:06,530 --> 00:52:10,130 Ορισμένα μηνύματα λάθους, γιατί CS50 είναι πολύ ευγενικό. 943 00:52:10,130 --> 00:52:14,770 >> Και τώρα, αυτό, αυτό είναι ένα λίγο δύσκολο γιατί αυτό 944 00:52:14,770 --> 00:52:16,697 είναι όπου είμαστε επερώτηση στη βάση δεδομένων. 945 00:52:16,697 --> 00:52:18,280 Τώρα δεν έχουμε μιλήσει για τις βάσεις δεδομένων. 946 00:52:18,280 --> 00:52:22,220 Και θα πάμε να τον επόμενο πέντε λεπτά ή έτσι, μέγιστο. 947 00:52:22,220 --> 00:52:24,980 Αλλά αυτό είναι μια συνάρτηση ότι CS50 έχει γράψει 948 00:52:24,980 --> 00:52:38,050 για να πάρετε ένα τραπέζι ουσιαστικά από μια βάση δεδομένων ότι δουλεύουμε με το chipset σε 7. 949 00:52:38,050 --> 00:52:40,860 Είμαι πολύ άσχημα με μου μηδέν ευρετηρίαση σήμερα. 950 00:52:40,860 --> 00:52:42,060 Αλλά ναι, είναι 7. 951 00:52:42,060 --> 00:52:46,340 >> Έτσι, το ερώτημα πρόκειται να επιστρέψει ένα συστοιχία, βασικά είναι το κλειδί για λίγο. 952 00:52:46,340 --> 00:52:54,130 Και επειδή αυτά τα πράγματα δεν έχουν δακτυλογράφηση, οπότε γραμμές είναι μια σειρά από πίνακες. 953 00:52:54,130 --> 00:52:59,480 Γιατί όταν σκεφτόμαστε ένα τραπέζι, τι θα πάμε να κάνουμε 954 00:52:59,480 --> 00:53:04,830 είναι, όπως μάθατε στο psets όπως το παιχνίδι των 15, έτσι κι αλλιώς 955 00:53:04,830 --> 00:53:06,990 όπου θα έπρεπε να χρησιμοποιήσετε ένα διπλή σειρά, έχουμε ουσιαστικά 956 00:53:06,990 --> 00:53:15,210 έχουν σειρά άλλων συστοιχίες κάνει ένα τραπέζι. 957 00:53:15,210 --> 00:53:18,150 Και έχετε γραμμές και στήλες. 958 00:53:18,150 --> 00:53:24,450 Και στη συνέχεια, μπορείτε να έχετε πρόσβαση, όπως [0] [1], μπορείτε να πάρετε το [0] [1]. 959 00:53:24,450 --> 00:53:26,900 Βασικές τέτοια πράγματα. 960 00:53:26,900 --> 00:53:29,380 >> Οπότε τι κάνουμε εδώ σε αυτή τη λειτουργία, 961 00:53:29,380 --> 00:53:35,070 ζητάμε από τη βάση δεδομένων εάν ο χρήστης που είναι 962 00:53:35,070 --> 00:53:40,200 προσπαθείτε να συνδεθείτε, ότι θα είναι αποστέλλονται με τη μέθοδο POST. 963 00:53:40,200 --> 00:53:43,950 Θα δούμε παίρνουμε το όνομα χρήστη από _POST. 964 00:53:43,950 --> 00:53:46,900 Θα έχουν στείλει, ο χρήστης ή εσείς, θα στείλει την τιμή 965 00:53:46,900 --> 00:53:50,750 μέσω μιας μορφής μέσω του ταχυδρομείου, λόγω Είναι το όνομα χρήστη και τον κωδικό πρόσβασης πράγματα. 966 00:53:50,750 --> 00:53:54,830 Είμαστε ελέγχοντας το όνομα χρήστη για να δούμε, είναι αυτό στο τραπέζι; 967 00:53:54,830 --> 00:53:58,070 Διότι, αν ένας χρήστης συνδέεται στην, τότε το όνομα χρήστη 968 00:53:58,070 --> 00:54:03,320 θα πρέπει να αποθηκεύονται στον πίνακα Οι χρήστες που υπάρχουν για αυτόν τον ιστότοπο. 969 00:54:03,320 --> 00:54:09,360 Έτσι, βασικά, αν η χρήστης στη βάση δεδομένων, 970 00:54:09,360 --> 00:54:16,400 ερώτημα πρόκειται να επιστρέψει ότι σειρά, η οποία είναι ένας πίνακας. 971 00:54:16,400 --> 00:54:24,560 >> Αλλά το δύσκολο μέρος είναι ότι εάν έστω και αν η διπλή σειρά είναι μόνο μία γραμμή, 972 00:54:24,560 --> 00:54:31,900 ακόμα κι αν είναι ένα από μία σειρά array-- σαν να έχεις basically-- 973 00:54:31,900 --> 00:54:36,900 αν έχετε ένα μέγεθος μια συστοιχία αυτό είναι που έχουν άλλη σειρά, 974 00:54:36,900 --> 00:54:38,940 είστε πραγματικά ασχολούνται με μία στήλη. 975 00:54:38,940 --> 00:54:41,420 Αλλά είναι ακόμα θεραπεία σαν ένα διπλό πίνακα. 976 00:54:41,420 --> 00:54:44,560 >> Και αυτό είναι όπου μπορείτε να πάρετε μερικές φορές δύσκολο, γιατί έχουμε σειρές εδώ. 977 00:54:44,560 --> 00:54:46,440 Μεταβλητή μας είναι σειρές. 978 00:54:46,440 --> 00:54:48,590 Και τότε δημιουργούμε μια νέα μεταβλητή που ονομάζεται σειρά 979 00:54:48,590 --> 00:54:51,450 και τον καθορισμό ίσο με η πρώτη σειρά των σειρών. 980 00:54:51,450 --> 00:54:55,150 Και θα παρατηρήσετε αυτό το σχόλιο λέει ότι είναι η πρώτη και μοναδική σειρά. 981 00:54:55,150 --> 00:54:57,080 >> Έτσι, αυτό είναι το δύσκολο μέρος όπου τώρα λειτουργεί 982 00:54:57,080 --> 00:54:59,660 μπορεί να επιστρέψει συστοιχίες πολύ εύκολα. 983 00:54:59,660 --> 00:55:01,270 Δεν υπάρχει mallocs. 984 00:55:01,270 --> 00:55:02,280 Δεν θα δείτε mallocs. 985 00:55:02,280 --> 00:55:03,940 Έτσι, δεν θα δείτε SEG βλάβες. 986 00:55:03,940 --> 00:55:08,380 Αλλά λειτουργίες θα εξακολουθεί να διέρχεται γύρω από συστοιχίες και τα στοιχεία σε ομάδες. 987 00:55:08,380 --> 00:55:12,250 Και θα πρέπει να είναι επιφυλακτικοί για το τι λειτουργεί ακριβώς σας θα επιστρέψει. 988 00:55:12,250 --> 00:55:15,160 Και ακόμα κι αν είναι ένα στήλη σαν αυτό, το ερώτημα 989 00:55:15,160 --> 00:55:17,520 είναι ακόμη σε εξέλιξη για να επιστρέψει μια διπλή σειρά. 990 00:55:17,520 --> 00:55:21,390 Έτσι για να πρόσβασης που column-- ή να σας μπορώ να σκεφτώ όλα αυτά ως ανεστραμμένο 991 00:55:21,390 --> 00:55:22,870 δεδομένου ότι μιλάμε για σειρές. 992 00:55:22,870 --> 00:55:26,810 Αλλά για να έχουν πρόσβαση στη συγκεκριμένη μία γραμμή, μπορείτε όχι μόνο να πω σειρές. 993 00:55:26,810 --> 00:55:31,540 Ακόμα κι αν είναι μια σειρά, θα πρέπει να δεν rowsrows [0] για να εξαλείψει το είδος αυτό 994 00:55:31,540 --> 00:55:37,360 εξωτερικό κομμάτι του πίνακα και έχουν μόνο μία σειρά σας. 995 00:55:37,360 --> 00:55:38,342 >> Κάνετε κάποια άλλα πράγματα. 996 00:55:38,342 --> 00:55:40,050 Υπάρχει μια συνάρτηση που ονομάζεται password_verify 997 00:55:40,050 --> 00:55:42,980 επαληθεύει ότι η κωδικό πρόσβασης που δημοσιεύτηκε. 998 00:55:42,980 --> 00:55:48,500 Και τότε θα δούμε μια άλλη παγκόσμια μεταβλητή εδώ, _SESSION. 999 00:55:48,500 --> 00:55:51,340 Βασικά id συνόδου είναι το πώς μπορείτε να παρακολουθείτε 1000 00:55:51,340 --> 00:55:53,990 του αν κάποιος είναι συνδεδεμένος ή όχι. 1001 00:55:53,990 --> 00:55:58,590 Έτσι, τώρα με login.php, είμαστε μια καταγραφή χρήστη. 1002 00:55:58,590 --> 00:56:01,920 Έτσι, αυτό που θέλουμε να κάνουμε είναι να θέλουμε να λένε ότι η id συνεδρία είναι ίση με τη γραμμή 1003 00:56:01,920 --> 00:56:05,890 id, το οποίο ακριβώς νόημα, διότι Κάθε σειρά θα έχει ένα διαφορετικό id 1004 00:56:05,890 --> 00:56:07,239 αριθμός ως μέρος του πίνακα. 1005 00:56:07,239 --> 00:56:09,280 Θα μπούμε σε μια SQL δευτερόλεπτα, έτσι ώστε αν κάποιο από αυτό 1006 00:56:09,280 --> 00:56:13,500 Φαίνεται λίγο σαν μπλα, τότε όλα θα πρέπει να ξεκαθαριστεί. 1007 00:56:13,500 --> 00:56:18,450 Αλλά θα πάμε για να ρυθμίσετε το id ίσο με η σωστή πράγμα, αποσύνδεση του χρήστη στο. 1008 00:56:18,450 --> 00:56:20,530 Συγνώμη αν κάτι πάει στραβά. 1009 00:56:20,530 --> 00:56:27,600 Και αυτό είναι συνδέσεις σκοπό ζωή ως καθηγητής Malan θα έλεγα. 1010 00:56:27,600 --> 00:56:29,130 >> Έτσι, αυτό ήταν login.php. 1011 00:56:29,130 --> 00:56:33,750 Και ένα μεγάλο μέρος του κώδικα PHP που γράφετε σε PSET 7, θα είναι λίγο. 1012 00:56:33,750 --> 00:56:36,470 Μην ξεχάσετε να chmod για να τα κατάλληλα δικαιώματα. 1013 00:56:36,470 --> 00:56:40,180 Θα υπάρξει ένα μικρό κομμάτι για ότι στην αρχή της spec. 1014 00:56:40,180 --> 00:56:46,382 >> Αλλά η PHP που είστε γραφής θα είναι 1015 00:56:46,382 --> 00:56:47,840 να κάνει πράγματα που είναι παρόμοια με το συγκεκριμένο. 1016 00:56:47,840 --> 00:56:49,715 Θα πάμε να την πρόσβαση σε κάποια πράγματα που 1017 00:56:49,715 --> 00:56:52,760 δίνονται σε σας με το global μεταβλητές της PHP που 1018 00:56:52,760 --> 00:56:56,105 ασχολούνται με την τρέχουσα συνδεδεμένος χρήστης, αν υπάρχει 1019 00:56:56,105 --> 00:57:00,460 έχουν αιτήματα που αποστέλλονται σε αυτό σελίδα, διαφορετικά τα πράγματα όπως αυτό. 1020 00:57:00,460 --> 00:57:05,790 Και θα είναι επίσης δυνητικά επανάληψη με σειρές από αυτό το πράγμα. 1021 00:57:05,790 --> 00:57:09,010 >> Σε μια διαφορετική λειτουργία, το ερώτημα δεν επιστρέψει αυτό το διπλό πίνακα. 1022 00:57:09,010 --> 00:57:11,450 Και αν υπάρχουν περισσότερες από μία σειρές σε αυτό, 1023 00:57:11,450 --> 00:57:15,080 αν are-- εκεί ναι, αν υπάρχει είναι περισσότερες από μία σειρές σε αυτό, 1024 00:57:15,080 --> 00:57:16,870 τότε θα είναι ένα τραπέζι. 1025 00:57:16,870 --> 00:57:20,500 Και ίσως να θέλετε να μετακινηθείτε μέσα από τις γραμμές του πίνακα, χρησιμοποιώντας 1026 00:57:20,500 --> 00:57:22,860 ο βρόχος foreach που περιγράψαμε. 1027 00:57:22,860 --> 00:57:30,270 >> Έτσι, αν κάνετε foreach σε ένα διπλό σειρά, ποια θα είναι η word-- εδώ, 1028 00:57:30,270 --> 00:57:31,909 Θα γράψω πραγματικά. 1029 00:57:31,909 --> 00:57:32,950 Θα το γράψω εδώ γρήγορα. 1030 00:57:32,950 --> 00:57:44,280 >> Αν έχουμε μια foreach σειρών ως σειρά, ποιο είναι το είδος της γραμμής; 1031 00:57:44,280 --> 00:57:45,390 Ξέρει κανείς; 1032 00:57:45,390 --> 00:57:54,000 1033 00:57:54,000 --> 00:57:54,500 Το έχεις? 1034 00:57:54,500 --> 00:57:57,110 Έτσι σειρές είναι μια διπλή σειρά. 1035 00:57:57,110 --> 00:58:02,810 Έτσι, αυτό που foreach πρόκειται να συμπεράνουμε ότι θέλουμε από αυτή τη διπλή σειρά 1036 00:58:02,810 --> 00:58:04,280 αν είμαστε επανάληψη πάνω από αυτό; 1037 00:58:04,280 --> 00:58:07,170 1038 00:58:07,170 --> 00:58:10,770 Μπορούμε βασικά να υποθέσουμε ότι πρόκειται να είναι είτε στοιχεία, 1039 00:58:10,770 --> 00:58:14,970 ή σειρές, ή στήλες, βασικά. 1040 00:58:14,970 --> 00:58:18,740 Και έτσι γραμμών και στηλών που μπορεί να θεραπεύσει ως το ίδιο πράγμα. 1041 00:58:18,740 --> 00:58:23,880 >> Βασικά αυτό ο βρόχος foreach θα να κάνετε είναι να πρόκειται να επιστρέψει σειρές. 1042 00:58:23,880 --> 00:58:28,500 σειρά πρόκειται να είναι της σειράς τύπου, ενώ σειρές είναι μια διπλή σειρά. 1043 00:58:28,500 --> 00:58:32,290 Έτσι, αν έχετε δώσει foreach διπλή σειρά, είναι 1044 00:58:32,290 --> 00:58:35,830 δεν πρόκειται να επαναλάβει περισσότερα από ένα επίπεδα βαθιά. 1045 00:58:35,830 --> 00:58:44,464 Ποια είναι βασικά να πω, αν υπάρχει οκτώ κύτταρα σε αυτό table-- 1,2, 1046 00:58:44,464 --> 00:58:48,110 3 4, 5, 6, 7, ο 8-- βρόχο foreach δεν είναι 1047 00:58:48,110 --> 00:58:51,880 πρόκειται να περάσουν από το καθένα από αυτά τα κύτταρα. 1048 00:58:51,880 --> 00:58:56,390 Τι ο βρόχος foreach θα κάνω ήταν ότι θα περάσει από αυτή τη σειρά, 1049 00:58:56,390 --> 00:58:57,870 να σας δώσω όλη αυτή την σειρά. 1050 00:58:57,870 --> 00:58:59,410 Και τότε θα περάσουν από αυτή τη σειρά. 1051 00:58:59,410 --> 00:59:01,850 >> Γι 'αυτό επαναλαμβάνει μόνο ένα επίπεδο βαθιά. 1052 00:59:01,850 --> 00:59:05,310 Εάν προσθέσετε μια ένθετη βρόχου foreach, τότε 1053 00:59:05,310 --> 00:59:16,280 μπορεί να θεραπεύσει κάθε σειρά επέστρεψε από σειρές, κάνετε σειρά foreach ως στοιχείο, 1054 00:59:16,280 --> 00:59:17,640 ας πουμε. 1055 00:59:17,640 --> 00:59:22,750 Και τότε θα μπορούσε να απηχούν το στοιχείο. 1056 00:59:22,750 --> 00:59:24,930 Έτσι, αυτό είναι μια σύντομη λίγο επανεκπαίδευση σχετικά με το πώς 1057 00:59:24,930 --> 00:59:30,220 μπορεί να χρησιμοποιείτε foreach θηλιές στο πλαίσιο του ερωτήματος. 1058 00:59:30,220 --> 00:59:32,840 >> Υπάρχουν ερωτήσεις σχετικά με την PHP εκεί; 1059 00:59:32,840 --> 00:59:36,520 Τίποτα από όλα αυτά πριν προχωρήσουμε σε μιλάμε για τον SQL 1060 00:59:36,520 --> 00:59:37,820 και η διασκέδαση της βάσης δεδομένων; 1061 00:59:37,820 --> 00:59:41,480 1062 00:59:41,480 --> 00:59:42,110 Αισθάνομαι καλά? 1063 00:59:42,110 --> 00:59:42,750 Αισθάνομαι καλά. 1064 00:59:42,750 --> 00:59:43,470 Εντάξει. 1065 00:59:43,470 --> 00:59:49,130 >> Ας προχωρήσουμε προς τα πίσω PowerPoint, η οποία ίσως να χάσετε. 1066 00:59:49,130 --> 00:59:51,800 SQL, yay. 1067 00:59:51,800 --> 00:59:57,900 Οι άνθρωποι που είναι στο τμήμα μου τυπικά θα γνωρίζουν ότι στις διακρίσεις των ακρωνυμίων 1068 00:59:57,900 --> 01:00:01,220 είναι πάντα μόνο οι πρώτες λέξεις Νομίζω ότι αυτού του αγώνα που 1069 01:00:01,220 --> 01:00:02,690 algorithm-- ότι ακρωνύμιο. 1070 01:00:02,690 --> 01:00:04,090 Δεν είναι ένας αλγόριθμος. 1071 01:00:04,090 --> 01:00:08,050 >> Έτσι SQL είναι μια βάση δεδομένων. 1072 01:00:08,050 --> 01:00:11,060 Είναι μια γλώσσα που συνεργάζεται με τις βάσεις δεδομένων. 1073 01:00:11,060 --> 01:00:14,440 Και όλες οι βάσεις δεδομένων είναι είναι τραπέζια, τουλάχιστον με τον τρόπο 1074 01:00:14,440 --> 01:00:17,220 ότι ο SQL τους εκπροσωπεί. 1075 01:00:17,220 --> 01:00:23,610 >> Ένας άλλος τρόπος για να σκεφτεί για τις βάσεις δεδομένων είναι βάσεις δεδομένων είναι ένα σύνολο κλειδιών και τιμών 1076 01:00:23,610 --> 01:00:24,110 βασικά. 1077 01:00:24,110 --> 01:00:29,530 Μπορείτε να σκεφτείτε μια βάση δεδομένων ένα λεξικό, αλλά και ως ένα τραπέζι. 1078 01:00:29,530 --> 01:00:34,300 Βασικά είναι ένας τρόπος για να συνδέσει διαφορετικών δεδομένων με άλλα δεδομένα, 1079 01:00:34,300 --> 01:00:36,270 συχνά μέσα από γραμμές και στήλες. 1080 01:00:36,270 --> 01:00:38,470 Και αυτός είναι ο τρόπος ότι είναι SQL λειτουργεί καλύτερα. 1081 01:00:38,470 --> 01:00:40,880 >> Έτσι, αυτό είναι ένα παράδειγμα ενός πίνακα. 1082 01:00:40,880 --> 01:00:44,610 Έχω μερικά παραδείγματα οι άνθρωποι στο τμήμα μου, η οποία 1083 01:00:44,610 --> 01:00:45,970 Δεν είχα χρόνο για να αλλάξουν. 1084 01:00:45,970 --> 01:00:52,020 Αλλά έχουμε πράγματα όπως αναγνώριση, όνομα, υπερδύναμη, και πατρίδα. 1085 01:00:52,020 --> 01:00:54,100 Δεν ξέρω, όπου ο καθένας είναι από στο τμήμα μου, 1086 01:00:54,100 --> 01:00:56,266 έτσι είμαι απλώς πρόκειται να αναλάβει ο καθένας είναι από τη Νέα Υόρκη 1087 01:00:56,266 --> 01:00:59,370 Πόλη, διότι έχω μια υψηλή στατιστική πιθανότητα να είναι σωστή. 1088 01:00:59,370 --> 01:01:04,200 >> SQL θα λάβουν αυτόματα φροντίδα της στήλης ταυτότητας για σας. 1089 01:01:04,200 --> 01:01:07,560 Εάν εισαγάγετε μια νέα γραμμή σε μια βάση δεδομένων SQL, 1090 01:01:07,560 --> 01:01:09,700 θα αυξήσετε ότι Αριθμό ταυτότητας και απλά 1091 01:01:09,700 --> 01:01:14,890 βασικά κολλήσει σαν πέντε ονόματα, υπερδύναμη, πατρίδα, όποιος 1092 01:01:14,890 --> 01:01:16,430 στο τέλος του εν λόγω πίνακα. 1093 01:01:16,430 --> 01:01:19,160 Έτσι ID είναι μια στήλη που θα Ποτέ δεν πρέπει να ανησυχούν. 1094 01:01:19,160 --> 01:01:22,770 Όμως, όπως και στην περίπτωση της login.php, όταν 1095 01:01:22,770 --> 01:01:26,610 ήταν να πάρει το αναγνωριστικό περιόδου από έναν πίνακα και μόνο με το όνομα, 1096 01:01:26,610 --> 01:01:30,320 ID είναι ένας τρόπος για να προσδιορίσει επακριβώς ένα στοιχείο βάσης δεδομένων. 1097 01:01:30,320 --> 01:01:34,980 >> Έτσι, αν είχαμε δύο Sams, τόσο της που διδάσκονται CS50, και οι δύο που 1098 01:01:34,980 --> 01:01:39,370 ήταν από Μιλγουόκι, εκείνοι θα εξακολουθούν να έχουν διακριτούς αριθμούς ταυτότητας 1099 01:01:39,370 --> 01:01:43,420 και έτσι να είναι σε διακριτές το πλαίσιο του πίνακα. 1100 01:01:43,420 --> 01:01:48,700 Έτσι, αυτό είναι ό, τι SQL ασχολείται με, σε συνεργασία με το πίσω άκρο. 1101 01:01:48,700 --> 01:01:54,160 >> Τώρα αυτοί είναι οι τέσσερις εντολές ότι θα πρέπει να συνεργαστεί με τον SQL. 1102 01:01:54,160 --> 01:01:56,390 Και εγώ όλα αυτά έριξε επάνω σε μία πλάκα. 1103 01:01:56,390 --> 01:01:59,530 Αλλά θα πάμε για να περάσει όλα αυτά ξεχωριστά. 1104 01:01:59,530 --> 01:02:03,300 >> Η πρώτη εντολή είναι να ενημερώσετε, το οποίο κάνει ό, τι μπορείτε να φανταστείτε. 1105 01:02:03,300 --> 01:02:07,240 Ας πούμε ότι έχετε κάποια δεδομένα Ο πίνακας που είναι ξεπερασμένο. 1106 01:02:07,240 --> 01:02:09,470 Όπως και αν είστε κρατώντας παρακολουθείτε τα ονόματα των ανθρώπων 1107 01:02:09,470 --> 01:02:13,350 και ηλικιών, αν κάποιος είναι αυξάνεται η ηλικία, στη συνέχεια, 1108 01:02:13,350 --> 01:02:18,590 θα πάμε να θέλουν να πάνε μέσα και ενημερώνει ηλικία μόλις αυτού του ατόμου. 1109 01:02:18,590 --> 01:02:21,902 Για ένα παράδειγμα που λειτουργεί με την πρώτη μας table-- 1110 01:02:21,902 --> 01:02:24,610 Δεν χρειάζεται να ανησυχείτε για το γράψιμο όλα αυτές οι εντολές ταυτόχρονα. 1111 01:02:24,610 --> 01:02:27,640 Αλλά αν έχετε την ενημέρωση προς τα κάτω, ότι θα είναι καλό για αυτό το μέρος, 1112 01:02:27,640 --> 01:02:29,790 επειδή θα πάμε να πηγαίνετε πίσω στο τραπέζι. 1113 01:02:29,790 --> 01:02:33,920 >> Έτσι, αν πάμε πίσω στο τραπέζι, ας πούμε κάτι που συνέβη 1114 01:02:33,920 --> 01:02:38,480 ήταν ότι υπήρχε ένας σεισμός ή ένα ρήγμα που χωρίζουν απ 'ευθείας 1115 01:02:38,480 --> 01:02:39,920 μέσα από τη Νέα Υόρκη. 1116 01:02:39,920 --> 01:02:45,130 Και θέλαμε να ενημερώσετε όλους που έζησε στη Νέα Υόρκη. 1117 01:02:45,130 --> 01:02:49,670 Όλοι έπρεπε να κινηθούν προς Πενσυλβάνια. 1118 01:02:49,670 --> 01:02:51,130 Αυτό δεν είναι μια πατρίδα. 1119 01:02:51,130 --> 01:02:53,180 Είχαν όλοι να κινηθούν προς Νιου Χέιβεν. 1120 01:02:53,180 --> 01:02:54,030 Εκεί πάμε. 1121 01:02:54,030 --> 01:02:57,630 Έτσι, ο καθένας στη Νέα Υόρκη κινείται προς Νιου Χέιβεν. 1122 01:02:57,630 --> 01:03:01,300 >> Και έτσι αυτό είναι κάτι που είναι επεξεργασία τρεις σειρές σε αυτόν τον πίνακα. 1123 01:03:01,300 --> 01:03:04,716 Αλλά σε SQL, μπορείτε να κάνετε ότι σε μία μόνο δήλωση. 1124 01:03:04,716 --> 01:03:05,715 Έτσι, πάμε πίσω για να ενημερώσετε. 1125 01:03:05,715 --> 01:03:09,670 Επιτρέψτε μου να σβήσει γρήγορα και πάλι αυτόν τον πίνακα. 1126 01:03:09,670 --> 01:03:14,570 Όταν μιλάμε για ενημέρωση, υπάρχουν 1127 01:03:14,570 --> 01:03:17,640 μερικά τμήματα της σύνταξης που είναι το κλειδί. 1128 01:03:17,640 --> 01:03:19,770 Λοιπόν, όλα της σύνταξης είναι το κλειδί. 1129 01:03:19,770 --> 01:03:22,210 Αλλά τα πράγματα στο πράσινο είναι προαιρετική. 1130 01:03:22,210 --> 01:03:25,680 Το λευκό είναι υποχρεωτικά, όπως προκαθορισμένα ονόματα. 1131 01:03:25,680 --> 01:03:30,750 Και το γαλάζιο είναι τα πράγματα τα οποία ποικίλουν ανάλογα με τον πίνακα. 1132 01:03:30,750 --> 01:03:34,640 Έτσι, αυτό είναι ό, τι συμβαίνει με το χρώμα σχεδίου εδώ, εκεί. 1133 01:03:34,640 --> 01:03:40,250 >> Έτσι, αν θέλουμε να ενημερώσετε μόνο αυτά σειρές των ανθρώπων που ζουν στη Νέα Υόρκη, 1134 01:03:40,250 --> 01:03:43,490 ναι, τι θα κάναμε αν είχαμε πει ΕΝΗΜΕΡΩΣΗ; 1135 01:03:43,490 --> 01:03:46,320 Έτσι, ο πίνακας είναι όταν βάζουμε το όνομα του πίνακα μας. 1136 01:03:46,320 --> 01:03:49,170 Ας πούμε το όνομα από το τραπέζι μας είναι ένα τραπέζι. 1137 01:03:49,170 --> 01:03:52,515 Θέλουμε, λοιπόν, να ενημερώσετε τον πίνακα μία. 1138 01:03:52,515 --> 01:03:57,470 Και θέλουμε να set-- Τι θέλουμε να οριστεί; 1139 01:03:57,470 --> 01:04:05,160 Λοιπόν θέλουμε να πούμε, έτσι column-- PHP αντιμετωπίζει σειρές όπως μοναδικά αναγνωριστικά. 1140 01:04:05,160 --> 01:04:07,930 Και τότε οι στήλες τα διαφορετικά πεδία 1141 01:04:07,930 --> 01:04:09,940 από τα στοιχεία αυτά της βάσης δεδομένων. 1142 01:04:09,940 --> 01:04:14,210 >> Έτσι, το πρώτο στοιχείο της βάσης δεδομένων έχει ένα όνομα του Σαμ, υπερδύναμη CS50, 1143 01:04:14,210 --> 01:04:16,210 και πατρίδα του Μιλγουόκι. 1144 01:04:16,210 --> 01:04:20,710 Έτσι, αν το εν λόγω σύνολο, ας δούμε οι παράμετροι και πάλι ότι η σειρά λαμβάνει. 1145 01:04:20,710 --> 01:04:23,880 Έχουμε στήλη ισούται με την αξία. 1146 01:04:23,880 --> 01:04:27,290 Γι 'αυτό θέλω να πω μερικά column-- που θυμάμαι 1147 01:04:27,290 --> 01:04:31,850 είναι μια field-- θέλουμε να δούμε μια πεδίο ίσο με κάτι νέο. 1148 01:04:31,850 --> 01:04:42,340 >> Έτσι, αν λέγαμε απλά την ενημέρωση πίνακα 1, που το όνομά της ίσης Elliot. 1149 01:04:42,340 --> 01:04:46,310 Πάρτε μερικά άτομα από το νέα ενότητα στο θέμα αυτό. 1150 01:04:46,310 --> 01:04:51,540 Αλλά αν απλά κάναμε την ενημέρωση πίνακα 1 που το όνομά της ίσης Elliot, τι θα 1151 01:04:51,540 --> 01:04:55,530 το βλέμμα σαν πίνακας μετά από αυτό; 1152 01:04:55,530 --> 01:04:56,410 Οι άνθρωποι έχουν την παραμικρή ιδέα; 1153 01:04:56,410 --> 01:04:59,710 1154 01:04:59,710 --> 01:05:00,210 Ναι. 1155 01:05:00,210 --> 01:05:03,195 >> Κοινό: Τα πάντα σε ότι σειρά θα γίνει Elliot. 1156 01:05:03,195 --> 01:05:04,570 ΟΜΙΛΗΤΗΣ: Τα πάντα σε ποια σειρά; 1157 01:05:04,570 --> 01:05:06,067 Κοινό: Στην πρώτη γραμμή. 1158 01:05:06,067 --> 01:05:07,150 ΟΜΙΛΗΤΗΣ: Στην πρώτη γραμμή; 1159 01:05:07,150 --> 01:05:09,724 Γιατί η πρώτη σειρά; 1160 01:05:09,724 --> 01:05:10,890 Δεν εννοώ να πάρει πάνω σας. 1161 01:05:10,890 --> 01:05:13,287 >> Κοινό: Ίσως τα πάντα σε όλο το τραπέζι; 1162 01:05:13,287 --> 01:05:15,120 ΟΜΙΛΗΤΗΣ: Τα πάντα στο ολόκληρος ο πίνακας, ναι. 1163 01:05:15,120 --> 01:05:19,520 Και αυτό είναι ακριβώς σωστό because-- μου Απλώς να σας βοηθήσει να μάθετε λίγο 1164 01:05:19,520 --> 01:05:22,650 there-- γιατί παραλείπονται το προαιρετικό όρο WHERE. 1165 01:05:22,650 --> 01:05:27,260 Αν δεν έχετε τον ΠΟΥ ρήτρα, τι αυτή η εντολή θα κάνει 1166 01:05:27,260 --> 01:05:32,240 είναι ότι θα συνεργαστεί με κάθε ενιαία γραμμή του πίνακα. 1167 01:05:32,240 --> 01:05:35,430 Το όνομα του καθενός θα γίνει Elliott, ουσιαστικά, 1168 01:05:35,430 --> 01:05:37,360 η οποία Elliot είναι πολύ ευχαριστημένοι. 1169 01:05:37,360 --> 01:05:40,070 Ή Γιάννη, ένα από τα δύο. 1170 01:05:40,070 --> 01:05:42,490 Αλλά το όνομα του καθενός θα αλλάξει. 1171 01:05:42,490 --> 01:05:47,880 >> Έτσι ο τρόπος που χρησιμοποιούμε Πού clause-- και αυτό ισχύει για όλες τις Wheres 1172 01:05:47,880 --> 01:05:51,410 που βρίσκονται σε κάθε ένα από αυτά τα διαφορετικά πράγματα. 1173 01:05:51,410 --> 01:05:54,380 Έτσι, θα παρατηρήσετε ότι ΣΕΤ Έχει στήλη ίσης αξίας. 1174 01:05:54,380 --> 01:05:55,190 Και το ίδιο κάνει και πού. 1175 01:05:55,190 --> 01:06:00,040 Αλλά αυτά είναι διαφορετικά τύπους των καταστάσεων. 1176 01:06:00,040 --> 01:06:04,400 Έτσι, η στήλη ισούται με την αξία στο SET είναι στην αποστολή. 1177 01:06:04,400 --> 01:06:08,320 Όπως λέμε θέλουμε για να ορίσετε το όνομα ίσο με Elliot. 1178 01:06:08,320 --> 01:06:15,390 Αλλά στις ρήτρες, όπου, αυτά είναι δηλώσεις της ισότητας. 1179 01:06:15,390 --> 01:06:20,410 Ας πούμε ότι θέλουμε μόνο να αλλάξετε το όνομα του ατόμου να Elliot 1180 01:06:20,410 --> 01:06:23,940 αν το όνομά τους ήταν Ryan, ας πούμε. 1181 01:06:23,940 --> 01:06:24,920 >> Έτσι όταν λέμε 1182 01:06:24,920 --> 01:06:32,700 >> ΕΦΟΣΟΝ όνομα ισούται Ryan, ότι θα με επιτυχία μόνο αλλαγή 1183 01:06:32,700 --> 01:06:37,440 η name-- θα ήταν μόνο αλλάξτε το όνομα του πεδίου σε σειρές 1184 01:06:37,440 --> 01:06:40,770 όπου το πεδίο όνομα είναι ίσος με τον Ryan. 1185 01:06:40,770 --> 01:06:44,430 Έτσι, αν είχαμε πολλά άτομα που ονομάζεται Ryan, όλα τα ονόματα τους 1186 01:06:44,430 --> 01:06:45,730 θα αλλάξει σε Elliot. 1187 01:06:45,730 --> 01:06:48,169 >> Αυτό είναι παρόμοιο με το παράδειγμα του αν μια διαχωριστική γραμμή χωρίζει 1188 01:06:48,169 --> 01:06:50,960 Νέα Υόρκη και ο καθένας έχει να μετακινηθείτε στο New Haven, τον τρόπο μπορούμε 1189 01:06:50,960 --> 01:06:56,570 το κάνουμε αυτό σε μια δήλωση είναι UPDATE Πίνακας 1 SET πατρίδα = Νιου Χέιβεν 1190 01:06:56,570 --> 01:07:00,210 όπου γενέτειρά ισούται Νέα Υόρκη. 1191 01:07:00,210 --> 01:07:03,410 Αυτή είναι η δύναμη της η δήλωση UPDATE. 1192 01:07:03,410 --> 01:07:10,530 Μπορούμε να επιλέξετε οποιοδήποτε αριθμό των σειρές μέσω αληθείς δηλώσεις 1193 01:07:10,530 --> 01:07:12,860 για τα πεδία αυτών των σειρών. 1194 01:07:12,860 --> 01:07:19,510 Δεν μπορούμε να πούμε σύνολο ΕΝΗΜΕΡΩΣΗ table1 name = Elliot ΟΠΟΥ σειρά = 1, 1195 01:07:19,510 --> 01:07:24,820 εκτός από το ότι μπορούμε αν πούμε ID = 1. 1196 01:07:24,820 --> 01:07:27,350 1197 01:07:27,350 --> 01:07:29,830 >> Έτσι θα πάμε να είναι σε συνεργασία με την ισότητα 1198 01:07:29,830 --> 01:07:32,830 τομέων, η ισότητα των στηλών. 1199 01:07:32,830 --> 01:07:38,030 Αλλά χρησιμοποιώντας το πεδίο ID είναι ένας τρόπος για να επιλέξετε μεμονωμένες σειρές συγκεκριμένα, 1200 01:07:38,030 --> 01:07:43,210 επειδή το πεδίο ID είναι ένας μοναδικός αναγνωριστικό σε μια βάση δεδομένων SQL. 1201 01:07:43,210 --> 01:07:45,860 Έτσι, όπως και ενημέρωση σειράς ένα, ID ισούται με 1. 1202 01:07:45,860 --> 01:07:49,560 Ενημέρωση σειρά δύο, απλά να αλλάξει τον εν λόγω αριθμό. 1203 01:07:49,560 --> 01:07:51,610 Αλλά η δύναμη του Όταν μια δήλωση είναι ότι εμείς 1204 01:07:51,610 --> 01:07:57,480 μπορεί να ενημερώσει τα πράγματα με βάση το τι τους τρέχουσες τιμές για ορισμένα πράγματα είναι. 1205 01:07:57,480 --> 01:07:58,155 Ναι Elliot; 1206 01:07:58,155 --> 01:08:02,678 >> Κοινό: Και τι γίνεται αν θέλετε to-- και πάλι, αυτό είναι ένα άλλο ζήτημα. 1207 01:08:02,678 --> 01:08:07,660 Αλλά η πρώτη μου ερώτηση ήταν, όπου συμβαίνει αυτό; 1208 01:08:07,660 --> 01:08:09,130 Όταν κάνω ενημέρωση αυτή; 1209 01:08:09,130 --> 01:08:11,100 Είναι αυτό σε κώδικα PHP; 1210 01:08:11,100 --> 01:08:13,379 >> ΟΜΙΛΗΤΗΣ: Πού μπορείτε να ενημερώσετε, ναι. 1211 01:08:13,379 --> 01:08:15,170 Εμείς πάμε να μιλήσουμε σχετικά με το πού όλα αυτά 1212 01:08:15,170 --> 01:08:18,729 συμβαίνει το είδος της μια φορά πάμε μέσα από όλες τις εντολές. 1213 01:08:18,729 --> 01:08:21,130 Αλλά ό, τι χρειάζεστε για να γνωρίζουμε τώρα είναι βασικά 1214 01:08:21,130 --> 01:08:26,279 ότι η βάση δεδομένων SQL σας υπάρχει ως κάτι 1215 01:08:26,279 --> 01:08:30,090 να είναι προσβάσιμο από το ερώτημα λειτουργία, το οποίο ορίζει CS50. 1216 01:08:30,090 --> 01:08:33,800 Έτσι, αν χρησιμοποιείτε τη λειτουργία αναζήτησης, μπορείτε να αποκτήσετε πρόσβαση σε αυτόν τον πίνακα. 1217 01:08:33,800 --> 01:08:39,529 >> Έτσι θα πρέπει να στείλει αυτά εντολές στο τραπέζι σας σε αρχεία PHP 1218 01:08:39,529 --> 01:08:41,420 μέσω της λειτουργίας ερώτημα. 1219 01:08:41,420 --> 01:08:45,410 Μπορείτε επίσης να παίξετε γύρω με το τραπέζι σας άμεσα. 1220 01:08:45,410 --> 01:08:49,050 Και αυτός είναι ο καλύτερος τρόπος για να δοκιμάσετε αυτά τα είδη των εντολών. 1221 01:08:49,050 --> 01:08:52,720 Και θα περάσει μέσα από το πώς ακριβώς για να το κάνουμε αυτό σε μόλις ένα μικρό κομμάτι. 1222 01:08:52,720 --> 01:08:54,910 >> Έτσι, αυτό είναι εντολή UPDATE. 1223 01:08:54,910 --> 01:08:57,939 Και το υπόλοιπο των εντολών πρόκειται να είναι είδος παρόμοιο, 1224 01:08:57,939 --> 01:08:59,069 εργάζονται σε παρόμοια πράγματα. 1225 01:08:59,069 --> 01:09:02,740 Του ενθέτου εντός είναι πιθανώς η πιο διαφορετική από την ενημέρωση. 1226 01:09:02,740 --> 01:09:06,170 Πάω να αφήσει ότι μέχρι εκεί για μόνο ένα μικρό κομμάτι και το έργο εδώ. 1227 01:09:06,170 --> 01:09:10,215 Έτσι εισάγετε στο, θα δείτε Ο πίνακας αυτός, εξακολουθεί να είναι το ίδιο. 1228 01:09:10,215 --> 01:09:17,010 Θέλετε να εισαγάγει. 1229 01:09:17,010 --> 01:09:20,286 Η κεφαλαιοποίηση, SQL είναι διάκριση πεζών-κεφαλαίων. 1230 01:09:20,286 --> 01:09:22,160 Έτσι, δεν χρειάζεται να αξιοποιήσει αυτά τα πράγματα. 1231 01:09:22,160 --> 01:09:27,960 Κατά σύμβαση, οι λέξεις σε λευκό κεφαλαιοποιούνται. 1232 01:09:27,960 --> 01:09:31,590 Αλλά επίσης το χρώμα τους κωδικοποιημένα. 1233 01:09:31,590 --> 01:09:34,390 Ο μόνος λόγος που θα κεφαλαιοποιήσει εκείνοι όταν τους πληκτρολογείτε 1234 01:09:34,390 --> 01:09:36,609 Είναι ακριβώς για να τονίσει ότι αυτά είναι σταθερές. 1235 01:09:36,609 --> 01:09:39,189 Και έτσι μπορείτε είτε να δείτε η κεφαλαιοποίηση ή το γεγονός 1236 01:09:39,189 --> 01:09:40,740 ότι τους έχω διαφορετικό χρώμα. 1237 01:09:40,740 --> 01:09:44,910 >> Έτσι έχουμε εισάγετε στο, ας κάνουμε ξανά πίνακα 1. 1238 01:09:44,910 --> 01:09:45,930 Αυτό είναι όλα σε μια γραμμή. 1239 01:09:45,930 --> 01:09:48,609 Είμαι απλά χωρίζει από οι διαφορετικές καταστάσεις. 1240 01:09:48,609 --> 01:09:52,399 Έτσι, δεν χρειάζεται να ανησυχείτε για το γεγονός ότι table1 δεν έκανε σε δεύτερη γραμμή. 1241 01:09:52,399 --> 01:09:56,130 >> Έτσι θέλουμε να εισάγετε ΣΕ Table1 κάποιες αξίες. 1242 01:09:56,130 --> 01:09:58,922 Και θα παρατηρήσετε την προαιρετική bit, το οποίο θα πάρω σε ένα δευτερόλεπτο. 1243 01:09:58,922 --> 01:09:59,755 Έτσι έχουμε ΤΙΜΕΣ. 1244 01:09:59,755 --> 01:10:03,640 1245 01:10:03,640 --> 01:10:08,100 >> Ας πούμε ότι θέλουμε να προσθέσουμε Andi στο τραπέζι μας, γιατί μας λείπουν Andi. 1246 01:10:08,100 --> 01:10:09,390 Andi είναι άρρωστος. 1247 01:10:09,390 --> 01:10:12,490 Ας Andi προσθέσουμε στο τραπέζι μας. 1248 01:10:12,490 --> 01:10:15,150 Να θυμάστε ότι ο αριθμός ταυτότητας ενημερώνεται αυτόματα. 1249 01:10:15,150 --> 01:10:17,320 Έτσι, τα μόνα πεδία που χρειάζεται να ανησυχείτε για 1250 01:10:17,320 --> 01:10:20,230 είναι το όνομα, υπερδύναμη, και πατρίδα. 1251 01:10:20,230 --> 01:10:23,660 >> Και έτσι ο τρόπος που το κάνουμε αυτό, κοιτάζοντας σύνταξη μας, είναι έχουμε 1252 01:10:23,660 --> 01:10:28,780 μόλις πήρε μια παρένθεση, με κόμμα τιμών διαχωρισμένων, καθένα από τα οποία 1253 01:10:28,780 --> 01:10:29,890 είναι μια τιμή. 1254 01:10:29,890 --> 01:10:35,530 Έτσι, αν θέλαμε να εισάγετε Andi σε μας τραπέζι, το μόνο που έχουμε να κάνουμε είναι σωστό Andi. 1255 01:10:35,530 --> 01:10:38,630 Ποια είναι η υπερδύναμη του Andi, οι άνθρωποι στο τμήμα του Andi; 1256 01:10:38,630 --> 01:10:45,406 1257 01:10:45,406 --> 01:10:47,545 Εκείνη ήθελε πτήση, ή επιθυμείτε ταχύτητας, ή κάτι τέτοιο. 1258 01:10:47,545 --> 01:10:48,920 Τι έχουμε ήδη εκεί πάνω; 1259 01:10:48,920 --> 01:10:53,425 Έχουμε CS50, πτήση, ταχύτητα και δύναμη. 1260 01:10:53,425 --> 01:10:54,850 >> Κοινό: Ταξίδι στο χρόνο. 1261 01:10:54,850 --> 01:10:56,180 >> ΟΜΙΛΗΤΗΣ: Ταξίδι στο χρόνο, καταπληκτικά. 1262 01:10:56,180 --> 01:11:04,280 Έτσι έχουμε Andi, χρόνος ταξίδια, και γενέτειρά της. 1263 01:11:04,280 --> 01:11:05,530 Αυτή είναι μια πολύ καλή ερώτηση. 1264 01:11:05,530 --> 01:11:09,210 Νέα Υόρκη, εκτός αν κάποιος ξέρει. 1265 01:11:09,210 --> 01:11:13,600 Ο καθένας από τη Νέα Υόρκη είναι η μάθημα για να πάρει μακριά από σήμερα. 1266 01:11:13,600 --> 01:11:17,710 >> Έτσι, αυτή η δήλωση θα εισάγετε, ως πέμπτη σειρά, 1267 01:11:17,710 --> 01:11:21,900 με χρόνο ταξιδιού υπερδύναμη και μια πατρίδα της Νέας Υόρκης. 1268 01:11:21,900 --> 01:11:25,660 Αλλά το προαιρετικό πεδίο είναι ουσιαστικά ένας τρόπος 1269 01:11:25,660 --> 01:11:30,090 για να καθορίσετε ακριβώς ποιες στήλες θέλετε να τοποθετήσετε τα πράγματα σε. 1270 01:11:30,090 --> 01:11:33,710 >> Ο τρόπος που το κάνουμε τώρα, Andi, το ταξίδι στο χρόνο, στη Νέα Υόρκη, 1271 01:11:33,710 --> 01:11:38,150 κινείται προς την ακριβή σειρά της μας table-- όνομα, υπερδύναμη, πατρίδα. 1272 01:11:38,150 --> 01:11:42,290 Και αν θέλετε να κάνετε κάτι άλλο από εκείνο, 1273 01:11:42,290 --> 01:11:44,970 όπως λένε δεν ξέρατε υπερδύναμη κάποιου, 1274 01:11:44,970 --> 01:11:47,660 όπως το πώς δεν ήξερα Andi του υπερδύναμη στην αρχή. 1275 01:11:47,660 --> 01:11:50,450 Έτσι, το μόνο που ήξερα ήταν της το όνομα και την ιδιαίτερη πατρίδα της. 1276 01:11:50,450 --> 01:11:54,550 Τι θα μπορούσα να κάνω είναι θα μπορούσα do-- Θα διαγράψετε αυτό το γρήγορο. 1277 01:11:54,550 --> 01:11:57,910 1278 01:11:57,910 --> 01:12:00,090 >> Θέλω να ενημερώσετε μόνο τις στήλες. 1279 01:12:00,090 --> 01:12:04,100 Και αυτό είναι όπου η προαιρετική κατάλογος στήλη μπαίνει στο παιχνίδι. 1280 01:12:04,100 --> 01:12:09,185 Το μόνο που θέλω να ενημερώσετε το όνομα και την πατρίδα. 1281 01:12:09,185 --> 01:12:12,650 1282 01:12:12,650 --> 01:12:16,480 Και τότε θα πω ΤΙΜΕΣ. 1283 01:12:16,480 --> 01:12:24,430 Θα κάνω Andi και Νέα Υόρκη. 1284 01:12:24,430 --> 01:12:28,980 >> Αν είχα παραλείψει τον κατάλογο των στηλών και μόλις κάνει αυτά τα δύο πράγματα, 1285 01:12:28,980 --> 01:12:32,450 όπου θα Νέα Υόρκη έχουν πάει; 1286 01:12:32,450 --> 01:12:35,900 Ποια στήλη θα Νέα Υόρκη Πόλη έχουν τοποθετηθεί μέσα; 1287 01:12:35,900 --> 01:12:38,950 Οι άνθρωποι έχουν την παραμικρή ιδέα; 1288 01:12:38,950 --> 01:12:40,160 Υπερδύναμη, ακριβώς. 1289 01:12:40,160 --> 01:12:41,890 >> Έτσι, αυτό θα πάει μόνο στην τάξη. 1290 01:12:41,890 --> 01:12:45,530 Και τη στιγμή που θα φτάσει στο τέλος της λίστα, αυτό θα σταματήσει ακριβώς συμπληρώνοντας τα πράγματα μέσα. 1291 01:12:45,530 --> 01:12:49,080 Και οι αξίες που θα κολλήσει στο όλες οι στήλες θα είναι μόνο άκυρη. 1292 01:12:49,080 --> 01:12:51,840 Έτσι, επειδή προσδιορίζονται το όνομα και την ιδιαίτερη πατρίδα, 1293 01:12:51,840 --> 01:12:56,110 θα πάμε να έχουν αναγνωριστικό 5, Ονομα Andi, υπερδύναμη NULL. 1294 01:12:56,110 --> 01:12:58,750 Έτσι, είναι μια υπερδύναμη έχει προετοιμαστεί αξία. 1295 01:12:58,750 --> 01:13:01,340 Δεν θα πάρετε απαραιτήτως η ίδια σφάλματα Valgrind αν προσπαθήσετε 1296 01:13:01,340 --> 01:13:01,970 και πρόσβαση σε αυτό. 1297 01:13:01,970 --> 01:13:05,160 Όλα θα είναι ωραία μηδενίζεται έξω, διότι είναι μια NULL τιμή σε SQL. 1298 01:13:05,160 --> 01:13:06,780 Αυτή είναι μια σταθερά. 1299 01:13:06,780 --> 01:13:08,980 Και τότε θα είναι πατρίδα της Νέας Υόρκης. 1300 01:13:08,980 --> 01:13:11,860 Έτσι, αυτό είναι το Insert Into εντολή. 1301 01:13:11,860 --> 01:13:13,610 Προτού προχωρήσουμε, υπάρχει δύο εντολές. 1302 01:13:13,610 --> 01:13:19,060 Υπάρχουν άτομα που έχουν απορίες σχετικά με ΕΝΗΜΕΡΩΣΗ, περίπου εισάγετε σε, περίπου SQL 1303 01:13:19,060 --> 01:13:21,556 γενικά πριν προχωρήσουμε σε τελική κομμάτια μας; 1304 01:13:21,556 --> 01:13:25,500 1305 01:13:25,500 --> 01:13:26,910 Οι άνθρωποι αισθάνονται καλά, μεγάλη. 1306 01:13:26,910 --> 01:13:27,410 Το λατρεύω. 1307 01:13:27,410 --> 01:13:29,480 Ας μιλήσουμε για το SELECT. 1308 01:13:29,480 --> 01:13:33,445 Πηγαίνοντας χαντάκι ΕΝΗΜΕΡΩΣΗ εδώ. 1309 01:13:33,445 --> 01:13:35,720 >> Και επιλέξτε πρόκειται να είναι πολύ παρόμοια. 1310 01:13:35,720 --> 01:13:38,790 Ο στόχος της SELECT, Σκοπός SELECT στη ζωή 1311 01:13:38,790 --> 01:13:45,910 είναι να σας δώσει μια δέσμη των στηλών ότι πληρούν ορισμένες προϋποθέσεις. 1312 01:13:45,910 --> 01:13:48,230 Και όταν λέω να πληρούν ορισμένες προϋποθέσεις, 1313 01:13:48,230 --> 01:13:50,800 το μυαλό σας θα μπορούσε αμέσως επιστρέψω σε αυτό WHERE, 1314 01:13:50,800 --> 01:13:52,090 ότι ήρθε στην ενημέρωση. 1315 01:13:52,090 --> 01:13:54,880 Και η ρήτρα αυτή είναι ακριβώς εκεί SELECT. 1316 01:13:54,880 --> 01:14:06,020 >> Αν δεν βάλετε την ΠΟΥ ρήτρας και λέμε επιλέξτε το όνομα, 1317 01:14:06,020 --> 01:14:16,490 hometown-- γράφονται ότι λίγη wrong-- όνομα, από την πατρίδα πίνακα 1. 1318 01:14:16,490 --> 01:14:19,690 Αν απλώς να πω ότι, ό, τι SELECT πρόκειται να μας δώσει είναι ότι είναι 1319 01:14:19,690 --> 01:14:23,730 θα μας δώσει μια double-- έναν πίνακα, μάλλον. 1320 01:14:23,730 --> 01:14:27,450 Μια διπλή σειρά, αν είμαστε σκεφτόμαστε σε PHP αισθήσεις. 1321 01:14:27,450 --> 01:14:33,239 Αλλά είναι ακριβώς πρόκειται να μας δώσει μια διπλή σειρά των δύο columns-- όνομα, 1322 01:14:33,239 --> 01:14:33,780 και την ιδιαίτερη πατρίδα. 1323 01:14:33,780 --> 01:14:36,400 1324 01:14:36,400 --> 01:14:38,130 Και θα αγνοήσει ID. 1325 01:14:38,130 --> 01:14:41,310 Και θα αγνοήσει υπερδύναμη. 1326 01:14:41,310 --> 01:14:44,696 Και αυτό ακριβώς θα μας δώσει κάθε ενιαία γραμμή του εν λόγω πίνακα. 1327 01:14:44,696 --> 01:14:46,570 Έτσι, αν εμείς απλά εισάγεται Andi, θα έχουμε Andi. 1328 01:14:46,570 --> 01:14:48,605 Και θα έχουμε την αρχική τέσσερις. 1329 01:14:48,605 --> 01:14:53,720 Αν έχουμε ήδη ενημερωθεί, ότι θα να αντικατοπτρίζεται, κ.λπ., και τα λοιπά. 1330 01:14:53,720 --> 01:14:56,520 >> Έτσι, αυτό είναι επειδή εμείς δεν χρησιμοποίησε την πρόταση WHERE. 1331 01:14:56,520 --> 01:14:59,200 Αλλά μπορούμε να το χρησιμοποιήσουμε ακριβώς την ίδιο τρόπο που το χρησιμοποιούσαν στην ενημέρωση. 1332 01:14:59,200 --> 01:15:05,310 Αν θέλουμε μόνο έναν πίνακα με τα ονόματα και υπερδυνάμεις των ανθρώπων που ζουν 1333 01:15:05,310 --> 01:15:13,430 στη Νέα Υόρκη, μπορούμε να εκτελέσουμε μια δήλωση όπως επιλέξτε το όνομα, superpower-- 1334 01:15:13,430 --> 01:15:27,190 Είμαι ακριβώς πρόκειται να αφήσει that-- ΑΠΟ table1 ΠΟΥ πατρίδα = Νέα Υόρκη. 1335 01:15:27,190 --> 01:15:33,370 >> Έτσι, αυτό πηγαίνει να δείξει ότι μπορείτε να πάρει εντελώς διαφορετικές στήλες, 1336 01:15:33,370 --> 01:15:36,920 και στη συνέχεια να θέσει τις στήλες που δεν είστε ακόμη και να πάρει πίσω στην πρόταση WHERE. 1337 01:15:36,920 --> 01:15:39,200 Εμείς δεν θέλουμε καν η πατρίδα του καθενός. 1338 01:15:39,200 --> 01:15:41,920 Αλλά θέλουμε το όνομα και η υπερδύναμη των ανθρώπων 1339 01:15:41,920 --> 01:15:43,817 των οποίων η πατρίδα είναι η Νέα Υόρκη. 1340 01:15:43,817 --> 01:15:45,650 Έτσι, αυτό είναι κάτι που μπορεί να κάνει με την ΠΟΥ 1341 01:15:45,650 --> 01:15:49,112 ρήτρα μπορούμε να αντιμετωπίσουμε με στήλες ότι δεν θέλουν απαραιτήτως πίσω. 1342 01:15:49,112 --> 01:15:52,320 Με τον ίδιο τρόπο στην ενημέρωση, μπορούμε να αντιμετωπίσουμε με στήλες που δεν το κάνουμε αναγκαστικά 1343 01:15:52,320 --> 01:15:53,270 θέλετε να ενημερώσετε. 1344 01:15:53,270 --> 01:15:58,890 Μπορούμε να ενημερώσει την πόλη του καθενός που το όνομα είναι Σαμ, για παράδειγμα. 1345 01:15:58,890 --> 01:16:02,080 Μπορούμε να ενημερώσει την πόλη της ο καθένας των οποίων το αναγνωριστικό αριθμό είναι 2. 1346 01:16:02,080 --> 01:16:04,960 Έτσι απλά να ενημερώσετε το πόλη της δεύτερης σειράς 1347 01:16:04,960 --> 01:16:08,220 όπου δεν έχουμε να ασχοληθεί με αναγκαία η κοινή ερώτηση. 1348 01:16:08,220 --> 01:16:13,264 >> Και Διαγραφή είναι, όπως θα Αναμένουμε, ΔΙΑΓΡΑΦΗ ΑΠΟ πίνακα 1. 1349 01:16:13,264 --> 01:16:14,930 Και τότε έχουμε μια άλλη πρόταση WHERE. 1350 01:16:14,930 --> 01:16:17,940 Έτσι μπορούμε να πούμε ΟΠΟΥ ID = 1. 1351 01:16:17,940 --> 01:16:18,950 Διαγράψτε την πρώτη σειρά. 1352 01:16:18,950 --> 01:16:23,240 Και DELETE διαγράφει πάντα μια γραμμή, ή θα διαγράψει κάποιο αριθμό των γραμμών. 1353 01:16:23,240 --> 01:16:26,990 Διαγραφή από το τραπέζι, όπου = πόλη Νέα Υόρκη 1354 01:16:26,990 --> 01:16:28,740 θα διαγράψει ο καθένας στην πόλη της Νέας Υόρκης. 1355 01:16:28,740 --> 01:16:30,985 Αυτό είναι αν υπήρχε ένα ξαφνική τραγική πανούκλα 1356 01:16:30,985 --> 01:16:33,360 και απλά ήθελε να αφαιρέσει ο καθένας από τον πίνακα που 1357 01:16:33,360 --> 01:16:35,760 έζησε σε μια συγκεκριμένη πόλη ότι χτυπήθηκε από την πανούκλα. 1358 01:16:35,760 --> 01:16:38,050 Είθε να αναπαυθούν εν ειρήνη. 1359 01:16:38,050 --> 01:16:43,849 >> Αυτές είναι οι τέσσερις εντολές SQL ότι θα πρέπει να χρησιμοποιήσετε. 1360 01:16:43,849 --> 01:16:45,390 Μπορεί να μην χρειάζεται καν να τα χρησιμοποιήσετε όλα. 1361 01:16:45,390 --> 01:16:47,690 Αλλά αυτά είναι τα τέσσερα ότι CS50 σας περιμένει 1362 01:16:47,690 --> 01:16:53,630 να αισθάνονται άνετα με πηγαίνει σε τόσο κουίζ 1 και επίσης pset7 και pset8. 1363 01:16:53,630 --> 01:16:55,820 >> Υπάρχει μόνο ο εν λόγω πίνακας και πάλι. 1364 01:16:55,820 --> 01:16:58,930 Σε αυτό το ένα, υπερδύναμη του Roy έχει έχουν ενημερωθεί σε ακτίνες λέιζερ, η οποία 1365 01:16:58,930 --> 01:17:00,880 είναι ένα παράδειγμα δεν είχα χρησιμοποιήσει. 1366 01:17:00,880 --> 01:17:05,480 Δεν ξέρω ποιο από τα Roy προτιμά, αλλά δύναμη. 1367 01:17:05,480 --> 01:17:07,670 Roy έχει μια υπερδύναμη της δύναμης. 1368 01:17:07,670 --> 01:17:09,090 Katherine δεν το κάνει σήμερα. 1369 01:17:09,090 --> 01:17:10,260 Αυτό είναι ατυχές. 1370 01:17:10,260 --> 01:17:11,260 Αλλά έχει σούπερ ταχύτητα. 1371 01:17:11,260 --> 01:17:13,780 1372 01:17:13,780 --> 01:17:14,670 >> Λοιπόν αυτό ήταν PHP. 1373 01:17:14,670 --> 01:17:19,410 Πριν μιλήσουμε για το MVC, κάνει κάποιος που έχει ερωτήσεις για την PHP; 1374 01:17:19,410 --> 01:17:23,864 Τώρα SQL, PHP ή αν έχετε ξαφνικά καταλήξουμε σε μια ερώτηση για την PHP; 1375 01:17:23,864 --> 01:17:27,560 1376 01:17:27,560 --> 01:17:28,460 Εξαιρετική. 1377 01:17:28,460 --> 01:17:29,920 Εντάξει, είμαστε έτοιμοι στη συνέχεια. 1378 01:17:29,920 --> 01:17:33,660 >> Έτσι, μιλώντας λίγο περίπου ελεγκτές άποψη μοντέλο, 1379 01:17:33,660 --> 01:17:38,770 ας πάμε πίσω σε μερικά από τα πράγματα σε pset7. 1380 01:17:38,770 --> 01:17:42,470 Έτσι, ποια είναι η άποψη μοντέλο ελεγκτής is-- Δεν είμαι 1381 01:17:42,470 --> 01:17:45,660 πρόκειται να αποθηκεύσετε τις αλλαγές μου για να συνδεθείτε γιατί μου σφαγιάστηκαν εντελώς. 1382 01:17:45,660 --> 01:17:49,220 Αλλά βασικά έχουμε δύο ξεχωριστά πράγματα συμβαίνουν. 1383 01:17:49,220 --> 01:17:52,390 Έχουμε μια δημόσια κατάλογο ο οποίος περιέχει 1384 01:17:52,390 --> 01:17:56,460 ο κώδικας που πρόκειται να εκτελεστεί και οι ιστοσελίδες που θα επισκεφθεί. 1385 01:17:56,460 --> 01:17:58,780 Και έχουμε επίσης αυτόν τον κατάλογο απόψεις. 1386 01:17:58,780 --> 01:18:01,780 Και θέα περιέχει πρότυπα. 1387 01:18:01,780 --> 01:18:04,390 >> Αυτό είναι ό, τι η λειτουργία render-- είδαμε το καθιστούν 1388 01:18:04,390 --> 01:18:08,240 λειτουργία σε μια δέσμη των κώδικα PHP CS50 ότι έχει ήδη γράψει για σένα, 1389 01:18:08,240 --> 01:18:10,550 που παίρνει σε ορισμένες παραμέτρους. 1390 01:18:10,550 --> 01:18:14,510 Τι ότι ο κώδικας κάνει είναι αυτό που συμβαίνει σε απόψεις, 1391 01:18:14,510 --> 01:18:18,000 που είναι σύνολα όπως prewritten κώδικα HTML, 1392 01:18:18,000 --> 01:18:20,720 και αυτό είναι εισάγοντας τιμές σε ορισμένα σημεία. 1393 01:18:20,720 --> 01:18:23,990 Αυτό είναι το πώς, όταν μπω σε CS50 Οικονομικών, 1394 01:18:23,990 --> 01:18:25,760 η ίδια κεφαλίδα είναι σε κάθε σελίδα. 1395 01:18:25,760 --> 01:18:28,130 Το ίδιο υποσέλιδο σε κάθε σελίδα. 1396 01:18:28,130 --> 01:18:31,880 Αυτό συμβαίνει επειδή ο τρόπος που την καθιστούν τα έργα είναι ότι θα 1397 01:18:31,880 --> 01:18:36,720 επιδιορθώσει αυτόματα σε αυτό το κεφαλίδα και θεατών, το οποίο μπορείτε να βρείτε στη θέα. 1398 01:18:36,720 --> 01:18:41,400 >> Μπορούμε πραγματικά να πάει σε κεφαλίδα, και Κοίτα, είναι ένα αρχείο HTML με ένα κεφάλι. 1399 01:18:41,400 --> 01:18:43,280 Έχει μερικές stylesheets. 1400 01:18:43,280 --> 01:18:48,450 Δεν χρειάζεται να κοιτάξουμε CSS για pset7 εάν δεν θέλετε να. 1401 01:18:48,450 --> 01:18:50,560 Αλλά μπορείτε να τροποποιήσετε τους, αν θέλετε, να 1402 01:18:50,560 --> 01:18:53,470 Οικονομικών σας φαίνονται λίγο διαφορετικά. 1403 01:18:53,470 --> 01:18:57,560 >> Είναι πήρε κάποια PHP σε η κεφαλίδα λίγο για να δούμε 1404 01:18:57,560 --> 01:19:01,240 αν υπάρχει ένα διαφορετικό τίτλο θα πρέπει να τεθεί σε αυτήν την επικεφαλίδα. 1405 01:19:01,240 --> 01:19:04,300 Αλλά μόλις μερικά άλλα σενάρια, και τις συνδέσεις, και άλλα πράγματα. 1406 01:19:04,300 --> 01:19:08,700 Επικεφαλής τελειώνει, ξεκινά το σώμα, και ουπς, έχουμε αυτό το παράξενο μικρό τελικό κομμάτι. 1407 01:19:08,700 --> 01:19:14,730 Και υπάρχει ένα div, όπως ακριβώς ένα άμορφο είδος του στοιχείου 1408 01:19:14,730 --> 01:19:17,120 ότι έχει μια ιδέα της μέσης. 1409 01:19:17,120 --> 01:19:22,450 >> Και στη συνέχεια, όταν βλέπουμε υποσέλιδο, έχουμε το τέλος μιας div. 1410 01:19:22,450 --> 01:19:25,000 Έχουμε ένα πυθμένα, η οποία είναι όπου το κείμενο του υποσέλιδου είναι. 1411 01:19:25,000 --> 01:19:26,770 Τέλος του div, άκρο του σώματος, τέλος της HTML. 1412 01:19:26,770 --> 01:19:29,070 >> Έτσι τι είναι να καταστήσει κάνουν είναι να καταστήσει είναι είδος 1413 01:19:29,070 --> 01:19:33,150 της μπαλώματα κεφαλίδα, ένα διαφορετικό αρχείο PHP που 1414 01:19:33,150 --> 01:19:37,110 θα περιέχει τα πραγματικά πράγματα ότι θα δείτε, όπως το τραπέζι σας των αποθεμάτων 1415 01:19:37,110 --> 01:19:39,690 εάν αγοράζετε ή πώληση μετοχών. 1416 01:19:39,690 --> 01:19:41,480 Και τότε θα προσθέσουμε στο υποσέλιδο. 1417 01:19:41,480 --> 01:19:44,890 Και η θέα μοντέλο ιδέα ελεγκτή είναι ότι εμείς 1418 01:19:44,890 --> 01:19:49,590 θέλετε να διαχωρίσετε τον τρόπο τα πράγματα φαίνονται από τον κώδικα. 1419 01:19:49,590 --> 01:19:53,420 Είναι θέλουμε να διαχωριστεί το frontend και το backend, όπου το frontend είναι 1420 01:19:53,420 --> 01:20:00,440 τα πράγματα που βλέπει ο χρήστης, το ωραίο visuals-- HTML, CSS, τα πράγματα όπως ότι, 1421 01:20:00,440 --> 01:20:02,320 εικόνες, κλπ. 1422 01:20:02,320 --> 01:20:05,780 Και το backend είναι η PHP. 1423 01:20:05,780 --> 01:20:07,710 Αυτός είναι ο κωδικός που γράφετε. 1424 01:20:07,710 --> 01:20:10,240 Αυτό είναι όπου ο κώδικας που είναι κάνει πραγματικές λειτουργίες. 1425 01:20:10,240 --> 01:20:12,400 Αυτό είναι όταν προσθέτετε ένα απόθεμα στο τραπέζι σας, 1426 01:20:12,400 --> 01:20:14,890 όταν αγοράζετε και πώληση, αυτό είναι backend. 1427 01:20:14,890 --> 01:20:20,210 >> Και μπορούμε, όπως είδατε, συμπεριλαμβανομένων PHP απευθείας σε μορφή HTML. 1428 01:20:20,210 --> 01:20:23,210 Λοιπόν, τι θα μπορούσαμε να κάνουμε για Η ανάθεση αυτή είναι απλά έπρεπε 1429 01:20:23,210 --> 01:20:26,200 ένα αρχείο HTML για κάθε σελίδα, όπως το login. 1430 01:20:26,200 --> 01:20:30,260 Και τότε σε αυτή τη σελίδα, απλά είχε μια τεράστια μπλοκ του κώδικα PHP, 1431 01:20:30,260 --> 01:20:33,822 συμπεριλαμβανομένων όλων των κώδικα προκύπτει ότι αυτή η σελίδα θα πρέπει συγκεκριμένα. 1432 01:20:33,822 --> 01:20:35,780 Και τότε θα μπορούσαμε να έχουμε κάνει αυτό για το χαρτοφυλάκιο. 1433 01:20:35,780 --> 01:20:40,250 Θα μπορούσαμε να έχουμε κάνει όλα τα αγορών και την πώληση εντός των επιμέρους σελίδες. 1434 01:20:40,250 --> 01:20:43,680 >> Αλλά επειδή είμαστε καθιστώντας ξεχωριστά από όπου 1435 01:20:43,680 --> 01:20:46,660 γράφουμε το backend κωδικό, μπορούμε εύκολα να 1436 01:20:46,660 --> 01:20:52,660 αλλάξετε τον τρόπο φαίνονται τα πράγματα, χωρίς να αλλάζει κάθε ενιαίο αρχείο. 1437 01:20:52,660 --> 01:20:55,460 Εμείς κάνουμε τα πράγματα όπως ακριβώς προσθέστε μια νέα div προς τον πυθμένα 1438 01:20:55,460 --> 01:21:00,720 of-- Γεια σας, τροποποίησε το υποσέλιδο. 1439 01:21:00,720 --> 01:21:03,710 Μπορείτε να το κάνετε απλά πράγματα όπως αυτό. 1440 01:21:03,710 --> 01:21:07,250 Αλλά, επίσης, μπορείτε να αλλάξετε ολόκληρη η οπτική διάταξη 1441 01:21:07,250 --> 01:21:09,290 χωρίς να επηρεάζει το τι είναι πηγαίνει στο backend. 1442 01:21:09,290 --> 01:21:12,000 Και μπορείτε να αλλάξετε το ολόκληρο το backend και εξακολουθεί 1443 01:21:12,000 --> 01:21:13,900 έχουν φανεί ακριβώς όπως έκανε πριν. 1444 01:21:13,900 --> 01:21:14,400 Αυτό 1445 01:21:14,400 --> 01:21:16,170 >> Είναι η ιδέα του μοντέλου προβολή ελεγκτή. 1446 01:21:16,170 --> 01:21:19,992 Και είναι πραγματικά ένα παράδειγμα που επιβλήθηκαν σε ορισμένες από τις γλώσσες προγραμματισμού 1447 01:21:19,992 --> 01:21:21,700 ίσως να θέλετε να χρησιμοποιήσετε για την τελική έργων. 1448 01:21:21,700 --> 01:21:25,100 Αν το κάνετε iOS ανάπτυξη, Έχουν θέα, 1449 01:21:25,100 --> 01:21:29,120 το οποίο είναι αυτό που βλέπετε για το iPhone, και τότε το σύστημα υποστήριξης όπως σαν ένα ξεχωριστό πράγμα. 1450 01:21:29,120 --> 01:21:31,260 >> Μπορείτε να σκεφτείτε για λίγο. 1451 01:21:31,260 --> 01:21:35,190 Υπάρχουν πολλά εκτελέσιμα επιστήμη των υπολογιστών, το οποίο είναι αστείο, 1452 01:21:35,190 --> 01:21:37,270 γιατί τα πάντα είναι σε δυαδική. 1453 01:21:37,270 --> 01:21:38,550 Εγώ δεν το σχέδιο αυτό. 1454 01:21:38,550 --> 01:21:41,590 Αυτό ήταν ένα λογοπαίγνιο ακούσια. 1455 01:21:41,590 --> 01:21:43,860 Ναι, λογοπαίγνιο δεν προορίζονται. 1456 01:21:43,860 --> 01:21:49,070 >> Αλλά όπως .h αρχεία και τα αρχεία .c, υπάρχει πολλά διαχωρισμού πράγματα που εμείς 1457 01:21:49,070 --> 01:21:49,900 να μην χρειαστεί. 1458 01:21:49,900 --> 01:21:54,330 Έτσι μπορούμε να επεξεργαστείτε μόνο τα αρχεία ώρες, ή κάποιος μπορεί να δει μόνο ένα .h αρχείο και να ξέρετε 1459 01:21:54,330 --> 01:21:57,650 ακριβώς οι λειτουργίες που βρίσκονται στο .c αρχείο χωρίς απαραίτητα να γνωρίζει 1460 01:21:57,650 --> 01:21:58,870 εφαρμογή τους. 1461 01:21:58,870 --> 01:22:02,800 Αυτή η ιδέα του διαχωρισμού συστατικών που εξαρτώνται από το άλλο 1462 01:22:02,800 --> 01:22:06,990 αλλά μπορεί είδους πρόσβαση σε κάθε άλλο μέσω διαφόρων διαύλων, περνώντας 1463 01:22:06,990 --> 01:22:09,310 των μεταβλητών, μόλις περιλαμβάνουν δηλώσεις, τα πράγματα 1464 01:22:09,310 --> 01:22:14,440 έτσι, η αρχή αυτή συμβάλλει στη δημιουργία εφαρμογών 1465 01:22:14,440 --> 01:22:17,080 ότι μπορεί να είναι πιο εύκολα επεξεργασία από πολλά άτομα, 1466 01:22:17,080 --> 01:22:20,440 μπορεί να αλλάξει πιο εύκολα ή αλλαγές σε μεγάλη κλίμακα, 1467 01:22:20,440 --> 01:22:24,880 και είναι ευκολότερο να τον εντοπισμό σφαλμάτων σε πολλούς τρόπους. 1468 01:22:24,880 --> 01:22:28,254 >> Πραγματικά γρήγορη, έχω μερικές συμβουλές για pset7, 1469 01:22:28,254 --> 01:22:31,420 που θα κάνω πλήρη οθόνη, έτσι ώστε να μην απλά κοιτάζοντας the-- Tippee άκρη άκρη. 1470 01:22:31,420 --> 01:22:33,964 1471 01:22:33,964 --> 01:22:35,130 Δεν υπάρχουν ότι πολλές συμβουλές. 1472 01:22:35,130 --> 01:22:38,060 >> Αλλά ανέφερα PHP είναι δύσκολο για τον εντοπισμό σφαλμάτων. 1473 01:22:38,060 --> 01:22:39,290 Διπλά και τριπλά ελέγξτε. 1474 01:22:39,290 --> 01:22:41,550 Αν ο κωδικός σας δεν είναι μόνο εμφανίζονται στη σελίδα, 1475 01:22:41,550 --> 01:22:46,240 είναι πιθανώς ένα σφάλμα PHP, συγγνώμη. 1476 01:22:46,240 --> 01:22:48,570 >> Δεν θα χρειαστεί ποτέ να δούμε CSS, αν δεν θέλετε να. 1477 01:22:48,570 --> 01:22:52,150 Αλλά μόλις τελειώσετε, μπορεί να είναι ένα ωραίο μικρό πράγμα διασκέδασης που πήγαινε 1478 01:22:52,150 --> 01:22:54,770 και το χάος με τις παραμέτρους CSS. 1479 01:22:54,770 --> 01:22:58,700 CSS και HTML είναι ένα παράδειγμα ενός μοντέλου στυλ άποψη ελεγκτή πράγμα πάρα πολύ, έτσι δεν είναι; 1480 01:22:58,700 --> 01:23:02,150 Θα μπορούσατε να έχετε ετικέτες στυλ στο εσωτερικό των στοιχείων HTML. 1481 01:23:02,150 --> 01:23:04,800 Αλλά αν το είδος του εξωτερική ανάθεση τους σε CSS, 1482 01:23:04,800 --> 01:23:08,180 που είναι ευκολότερο να επεξεργαστείτε, και το παιχνίδι γύρω με, και να διασκεδάσουν με. 1483 01:23:08,180 --> 01:23:10,816 >> Αντιμετωπίστε CS50 βοηθός λειτουργεί ως μαύρα κουτιά. 1484 01:23:10,816 --> 01:23:12,940 Δεν χρειάζεται να γνωρίζετε ακριβώς ό, τι εργασίας καθιστούν την κάνει, 1485 01:23:12,940 --> 01:23:16,770 αλλά εμπιστεύεστε να κάνει πάντα το σωστό πράγμα ανάλογα με το τι μπορείτε να δώσετε, 1486 01:23:16,770 --> 01:23:17,690 τα πράγματα όπως αυτό. 1487 01:23:17,690 --> 01:23:21,040 Και θα ήθελα να συστήσω βλέποντας περιδιάβαση του Δαβίδ, 1488 01:23:21,040 --> 01:23:24,490 να περάσει από όλα τα πράγματα, όχι μόνο τα todos, 1489 01:23:24,490 --> 01:23:26,960 αλλά πραγματικά μπορεί να θεραπεύσει αυτά ως μαύρα κουτιά. 1490 01:23:26,960 --> 01:23:29,280 Μην πηγαίνετε σε αυτά λειτουργίες ψάχνει για σφάλματα. 1491 01:23:29,280 --> 01:23:33,510 >> Και χαιρετίζουμε την επιστροφή των άρχοντας μας Zamyla. 1492 01:23:33,510 --> 01:23:34,010 Εξαιρετική. 1493 01:23:34,010 --> 01:23:40,430 >> Υπάρχουν τελευταία ερωτήματα πριν την εκεί Είμαστε είδος αναπήδηση για την ημέρα; 1494 01:23:40,430 --> 01:23:42,610 Εξακολουθώ να ζω; 1495 01:23:42,610 --> 01:23:44,700 Εξαιρετική. 1496 01:23:44,700 --> 01:23:47,120 Γεια Livestream ανθρώπους. 1497 01:23:47,120 --> 01:23:47,620 Εξαιρετική. 1498 01:23:47,620 --> 01:23:50,260 Υπάρχουν πια ερωτήσεις; 1499 01:23:50,260 --> 01:23:50,760 Κανένα? 1500 01:23:50,760 --> 01:23:52,884 >> Και τότε νομίζω ότι είμαστε καλό να πάει για σήμερα. 1501 01:23:52,884 --> 01:23:55,550 Θα μείνω λίγο αργότερα, αν οι άνθρωποι είχαν ερωτήσεις 1502 01:23:55,550 --> 01:23:57,480 φοβήθηκαν να ρωτήσω σχετικά με το ρεύμα. 1503 01:23:57,480 --> 01:23:59,790 Αλλά κατά τα άλλα, έχουμε μια καλή μέρα. 1504 01:23:59,790 --> 01:24:01,933