1 00:00:00,000 --> 00:00:10,393 >> [Παίζει μουσική] 2 00:00:10,393 --> 00:00:11,037 3 00:00:11,037 --> 00:00:12,120 David J. Malan: Εντάξει. 4 00:00:12,120 --> 00:00:12,830 Καλώς ήρθατε και πάλι. 5 00:00:12,830 --> 00:00:13,890 Αυτό είναι CS50. 6 00:00:13,890 --> 00:00:15,570 Αυτό είναι το τέλος της εβδομάδας 8. 7 00:00:15,570 --> 00:00:18,360 Και όπως ξέρετε, έχουμε αρκετά τακτικές ώρες γραφείου σε λίγες 8 00:00:18,360 --> 00:00:21,090 από τις αίθουσες φαγητού, συμπεριλαμβανομένων Annenberg. 9 00:00:21,090 --> 00:00:23,860 Και μερικές από την ομάδα ευγενικά πήρε μερικές φωτογραφίες τον τελευταίο καιρό. 10 00:00:23,860 --> 00:00:26,230 Και προς τιμήν του Απόκριες, σκεφτήκαμε 11 00:00:26,230 --> 00:00:30,160 μοιράζονται ένα που μάλλον μας έπιασαν από έκπληξη εδώ στο Annenberg Hall μόνο 12 00:00:30,160 --> 00:00:31,490 η άλλη το βράδυ. 13 00:00:31,490 --> 00:00:36,300 Συμμαθητή σας Ιακώβ που θέτει για Αυτή η φωτογραφία, αλλά ήταν πιο διασκεδαστικό 14 00:00:36,300 --> 00:00:39,760 Ήταν στο Facebook, η συνακόλουθη συνομιλία που συνέβη αργότερα. 15 00:00:39,760 --> 00:00:43,020 >> Πρώτη θέση του σε απάντηση με τη φωτογραφία του ήταν αυτό. 16 00:00:43,020 --> 00:00:46,740 Λίγα λεπτά αργότερα, ο ίδιος αποφάσισε σε ένα επάνω τον εαυτό του με αυτό. 17 00:00:46,740 --> 00:00:53,800 Πήγε στην συνέχεια να πάμε σε αυτό, και, στη συνέχεια, ακόμη πιο διασκεδαστικά 18 00:00:53,800 --> 00:00:55,320 είναι όταν η μαμά του στο chimed. 19 00:00:55,320 --> 00:00:59,240 20 00:00:59,240 --> 00:01:01,800 Και στη συνέχεια, τελικά, φαίνεται ότι αυτό ήταν απλά 21 00:01:01,800 --> 00:01:04,860 ένα θαυμάσιο τέχνασμα για ένα παίζουν ότι συμβαίνει. 22 00:01:04,860 --> 00:01:07,080 >> Έτσι, αν θα θέλατε για να δείτε τον Ιακώβ και άλλοι, 23 00:01:07,080 --> 00:01:10,880 μεταξύ των οποίων και η Cynthia Meng, ο οποίος είναι πίσω από τις σκηνές του προσωπικού ζώνης CS50, 24 00:01:10,880 --> 00:01:13,970 το κεφάλι σε αυτή τη διεύθυνση URL και αυτό το παιχνίδι εδώ. 25 00:01:13,970 --> 00:01:18,810 Έτσι, χωρίς άλλη καθυστέρηση, σήμερα συνεχιστεί αυτή η ματιά στο web προγραμματισμό, 26 00:01:18,810 --> 00:01:21,810 και η πραγματική δημιουργία προγραμμάτων που δεν τρέχει σε γραμμή εντολών σας, 27 00:01:21,810 --> 00:01:24,080 αλλά αντί να τρέχει μέσα από ένα πρόγραμμα περιήγησης. 28 00:01:24,080 --> 00:01:26,320 >> Προφανώς τώρα, ή πολύ σύντομα, θα πάμε 29 00:01:26,320 --> 00:01:30,200 να είναι στη μέση της εφαρμογής το δικό σας web server, ο οποίος 30 00:01:30,200 --> 00:01:31,700 είναι διαφορετικό από το web προγραμματισμό. 31 00:01:31,700 --> 00:01:36,210 Ο web server σε pset6 είναι όλα σχετικά με γράφοντας το λογισμικό που ξέρει πώς να πάρει 32 00:01:36,210 --> 00:01:39,300 Αιτήσεις HTTP από ένα πρόγραμμα περιήγησης, ή ακόμα και από εσάς, ένας άνθρωπος, 33 00:01:39,300 --> 00:01:42,340 με ένα πρόγραμμα που ονομάζεται Telnet, και στη συνέχεια να απαντήσει στα αιτήματα αυτά, είτε 34 00:01:42,340 --> 00:01:48,600 με φτύνει έξω ένα αρχείο HTML, ή jpeg, gif ή ένα, ή ακόμα και ένα .php αρχείο. 35 00:01:48,600 --> 00:01:52,490 >> Αλλά με έναν web server, δεν είναι υποτίθεται ότι μόλις ανοίξετε ένα αρχείο PHP, 36 00:01:52,490 --> 00:01:55,260 κάτι που τελειώνει σε .php, και Στη συνέχεια φτύσει τα περιεχόμενα. 37 00:01:55,260 --> 00:01:58,440 Θα έπρεπε να κάνει ό, τι σε αυτό το αρχείο για πρώτη φορά; 38 00:01:58,440 --> 00:01:59,390 Έτσι για να μιλήσει. 39 00:01:59,390 --> 00:02:04,060 Δεν θα συγκεντρώνουν, είπαμε τη Δευτέρα, αλλά rather-- Έτσι, το ερμηνεύσει. 40 00:02:04,060 --> 00:02:08,070 >> PHP είναι μια ερμηνευμένη γλώσσα, και έτσι ένα από τα βασικά χαρακτηριστικά στην ιστοσελίδα σας 41 00:02:08,070 --> 00:02:11,550 server, αν εφαρμοστεί από εμάς, Είναι αυτή η δυνατότητα για τον web server σας 42 00:02:11,550 --> 00:02:12,490 να παρατηρήσετε, oh. 43 00:02:12,490 --> 00:02:14,580 Αυτό είναι ένα αρχείο που τελειώνει σε .php. 44 00:02:14,580 --> 00:02:17,970 Επιτρέψτε μου όχι μόνο να το στείλετε στο χρηστών, όπως είναι στατικό περιεχόμενο, 45 00:02:17,970 --> 00:02:20,970 αλλά επιτρέψτε μου να το διαβάσει γραμμή από γραμμή, αριστερά προς τα δεξιά, και να την ερμηνεύσει. 46 00:02:20,970 --> 00:02:23,030 >> Και να το κάνουμε, ώστε να παιδιά ουσιαστικά θα 47 00:02:23,030 --> 00:02:26,520 punt σε ένα πρόγραμμα στη συσκευή, και σε πολλά συστήματα ηλεκτρονικών υπολογιστών, 48 00:02:26,520 --> 00:02:27,500 ακριβώς ονομάζεται PHP. 49 00:02:27,500 --> 00:02:30,579 Αυτό είναι το όνομα της PHP της δική διερμηνέα γλώσσας. 50 00:02:30,579 --> 00:02:33,120 Έτσι, εκείνο το κομμάτι που εφαρμόζουμε για σας, και ό, τι έχει απομείνει για εσάς, 51 00:02:33,120 --> 00:02:35,240 τελικά, είναι ένας αριθμός τεμαχίων, μεταξύ των οποίων 52 00:02:35,240 --> 00:02:37,960 υλοποιεί υποστήριξη για στατικό περιεχόμενο. 53 00:02:37,960 --> 00:02:40,180 >> Αλλά τώρα, και με πρόβλημα που επτά, είστε 54 00:02:40,180 --> 00:02:43,660 πρόκειται να ξεκινήσει τη μετάβαση σε στην πραγματικότητα γράφοντας τον κώδικα PHP 55 00:02:43,660 --> 00:02:45,970 ότι παίρνει ερμηνεύεται μιλώντας σε ένα πίσω άκρο 56 00:02:45,970 --> 00:02:47,960 βάση δεδομένων που αποθηκεύει πληροφορίες. 57 00:02:47,960 --> 00:02:51,020 Ας κατανοήσουμε καλύτερα πρώτα ένα ζευγάρι από αυτά τα superglobals 58 00:02:51,020 --> 00:02:53,720 και ακριβώς πόση δύναμη σας να πάρει έξω από το κουτί για ελεύθερη 59 00:02:53,720 --> 00:02:55,250 με μια γλώσσα όπως η PHP. 60 00:02:55,250 --> 00:02:57,350 Πράγματα που δεν έχουν να εφαρμόσει τον εαυτό σας. 61 00:02:57,350 --> 00:03:01,700 >> Έτσι, είδαμε τη Δευτέρα $ _GET, το οποίο είναι ένα superglobal, 62 00:03:01,700 --> 00:03:05,496 το οποίο απέχει μόλις PHP μιλούν για μια παγκόσμια μεταβλητή μπορείτε να έχετε πρόσβαση οπουδήποτε. 63 00:03:05,496 --> 00:03:06,620 Και τι είναι μέσα από $ _GET; 64 00:03:06,620 --> 00:03:09,930 65 00:03:09,930 --> 00:03:12,110 Τι είναι μέσα από αυτό superglobal ότι βλέπουμε; 66 00:03:12,110 --> 00:03:15,900 67 00:03:15,900 --> 00:03:19,020 Σίγουρα στατιστικά σε τουλάχιστον ένα άτομο ξέρει. 68 00:03:19,020 --> 00:03:21,590 Τι είναι μέσα από $ _GET; 69 00:03:21,590 --> 00:03:22,426 Ναι; 70 00:03:22,426 --> 00:03:24,130 >> ΚΟΙΝΟ: Είναι οι μεταβλητές βάζετε στο query string. 71 00:03:24,130 --> 00:03:24,530 >> David J. Malan: Τέλεια. 72 00:03:24,530 --> 00:03:26,488 Είναι οι μεταβλητές που βάλει στο query string. 73 00:03:26,488 --> 00:03:29,910 Έτσι, σε παλαιότερες παράδειγμα μας reimplementing Google όταν είχαμε 74 00:03:29,910 --> 00:03:34,130 μια διεύθυνση URL, και στη συνέχεια, ερωτηματικό, η οποία οριοθετεί την έναρξη του HTTP 75 00:03:34,130 --> 00:03:37,950 παράμετροι, τότε είχαμε q ίση κάτι, όπως και Q είναι ίσο με τις γάτες, 76 00:03:37,950 --> 00:03:41,500 τι θα πάει αυτόματα στο εσωτερικό των $ _GET σούπερ παγκόσμια για εσάς, 77 00:03:41,500 --> 00:03:47,430 λόγω της PHP, είναι ένα κλειδί του Q, και της αξίας αυτών των γατών. 78 00:03:47,430 --> 00:03:51,250 >> Με άλλα λόγια, $ _GET και όλα Αυτά τα πράγματα είναι συνειρμική συστοιχίες, 79 00:03:51,250 --> 00:03:54,530 hash πίνακες του είδους, ότι κατάστημα κλειδιών και τιμών. 80 00:03:54,530 --> 00:03:57,980 Τώρα, πίσω στο pset5, η χασίς πίνακας μπορεί να έχουν θέσει σε εφαρμογή, 81 00:03:57,980 --> 00:04:00,220 ή η προσπάθειά σας θα μπορούσε να έχουν υλοποιηθεί, πραγματικά 82 00:04:00,220 --> 00:04:04,010 Ήταν ουσιαστικά μια συνειρμική συστοιχία, μια δομή δεδομένων 83 00:04:04,010 --> 00:04:07,220 σύμφωνα με την οποία μπορείτε να συνδέσετε πλήκτρα με αξίες. 84 00:04:07,220 --> 00:04:09,690 >> Αλλά σε pset5, οι τιμές ήταν ασήμαντο. 85 00:04:09,690 --> 00:04:12,430 Η τιμή ήταν ουσιαστικά αληθείς ή ψευδείς. 86 00:04:12,430 --> 00:04:13,900 Είναι η λέξη στο λεξικό; 87 00:04:13,900 --> 00:04:18,279 Έτσι, όταν κατακερματίζεται μια λέξη όπως η Apple για να δούμε αν η Apple είναι στο λεξικό, 88 00:04:18,279 --> 00:04:21,820 Ο έλεγχος της λειτουργίας σας πιθανώς επέστρεψε αληθείς ή ψευδείς. 89 00:04:21,820 --> 00:04:24,120 Έτσι, αυτό είναι ουσιαστικά η αξία παίρνουμε πίσω. 90 00:04:24,120 --> 00:04:26,456 >> Αλλά είδαμε τη Δευτέρα εν συντομία, μπορείτε σίγουρα 91 00:04:26,456 --> 00:04:28,830 συνδέσει πιο ενδιαφέρουσα τιμές από ό, τι ακριβώς αληθής ή ψευδής 92 00:04:28,830 --> 00:04:30,790 με κλειδιά, όπως η Apple. 93 00:04:30,790 --> 00:04:33,909 Θα μπορούσε πραγματικά να επιστρέψετε ένα αυθαίρετη φράση, και μάλιστα, 94 00:04:33,909 --> 00:04:36,200 αυτό είναι ό, τι $ _GET και αυτά άλλες μεταβλητές σας αφήσει να κάνετε. 95 00:04:36,200 --> 00:04:40,595 >> Έτσι $ _POST είναι συναφείς στο πνεύμα, αλλά αν έχετε υποβάλει μια φόρμα μέσω ταχυδρομείου, 96 00:04:40,595 --> 00:04:44,490 μια διαφορετική μέθοδο HTTP που είναι χρησιμοποιείται για πράγματα όπως πιστωτικές κάρτες, 97 00:04:44,490 --> 00:04:48,410 και ιδιωτικές πληροφορίες, ακόμα και δυαδικές πληροφορίες όπως φωτογραφίες, 98 00:04:48,410 --> 00:04:51,840 αυτά τα πράγματα καταλήγουν στο εσωτερικό των $ _POST. 99 00:04:51,840 --> 00:04:53,770 Και πραγματικά για τα αρχεία όπως αρχεία JPEG και εταζέρα, 100 00:04:53,770 --> 00:04:58,290 υπάρχει ακόμη και ένα άλλο που δεν είναι μέχρι εδώ ονομάζεται $ _FILES καθώς και. 101 00:04:58,290 --> 00:05:01,280 >> Έτσι, ο διακομιστής δεν θα σταθώ σε πολύ πολύ, αλλά αυτό σας δίνει πρόσβαση 102 00:05:01,280 --> 00:05:04,860 για να ταξινομήσετε του κατώτερου επιπέδου λεπτομέρειες σχετικά με το ίδιο το διακομιστή που χρησιμοποιείτε. 103 00:05:04,860 --> 00:05:07,430 Cookie και διάρκεια, όμως, θα δούμε αποτελεσματικά τώρα. 104 00:05:07,430 --> 00:05:10,940 Το τελευταίο είναι αυτό που χρησιμοποιούμε για την εφαρμογή η έννοια του ένα καλάθι αγορών. 105 00:05:10,940 --> 00:05:14,480 Μια εξαιρετικά απλή, αλλά ανάκληση ότι είχαμε αυτό το παράδειγμα εδώ, 106 00:05:14,480 --> 00:05:17,640 μετρώντας πόσες φορές σας είχε επισκεφτεί αυτή τη σελίδα πριν. 107 00:05:17,640 --> 00:05:20,850 >> Αλλά σήμερα, όχι απλά κοιτάξτε η επίδραση της αυτό, ας ανοίξει 108 00:05:20,850 --> 00:05:22,640 Του Chrome Επιθεωρητή, το οποίο μπορείτε να συνήθως 109 00:05:22,640 --> 00:05:25,740 κάνει με δεξί κλικ ή ελέγχου κλικ οπουδήποτε σε μια ιστοσελίδα, 110 00:05:25,740 --> 00:05:27,250 και στη συνέχεια επιλέξτε επιθεωρήσει το στοιχείο. 111 00:05:27,250 --> 00:05:31,600 Ή μπορείτε να πάτε μέσω του μενού ότι έχουμε περιγράψει στο spec pset6 του. 112 00:05:31,600 --> 00:05:35,020 Και Πάω στην καρτέλα Δίκτυο εδώ, και ας παρακολουθήσουν για μια στιγμή 113 00:05:35,020 --> 00:05:37,590 η κυκλοφορία HTTP που είναι πηγαινοέρχονται. 114 00:05:37,590 --> 00:05:40,929 >> Επιτρέψτε μου πρώτα να πάμε μπροστά και cache σαφές Chrome. 115 00:05:40,929 --> 00:05:43,470 Έτσι, κάποιοι από εσάς μπορεί να είναι εξοικειωμένοι με αυτήν την τεχνική ήδη, 116 00:05:43,470 --> 00:05:45,790 και θα πάμε να το χρησιμοποιήσετε για τον εντοπισμό σφαλμάτων σκοπούς εδώ. 117 00:05:45,790 --> 00:05:48,890 118 00:05:48,890 --> 00:05:50,890 Τώρα εμείς ως υπολογιστής Οι επιστήμονες πρόκειται να ξεκινήσει 119 00:05:50,890 --> 00:05:53,920 κάνει αυτό για εντοπισμό σφαλμάτων σκοπούς, οπότε 120 00:05:53,920 --> 00:05:55,910 θα καθαρίσετε την cache, τυπικά, έτσι ώστε να μπορέσουμε 121 00:05:55,910 --> 00:05:57,670 μπορούμε να απαλλαγούμε από τα πράγματα τα λεγόμενα cookies. 122 00:05:57,670 --> 00:06:01,700 Έτσι, είστε πιθανώς εξοικειωμένοι σε γενικές γραμμές με ποια cookies είναι, ή τουλάχιστον 123 00:06:01,700 --> 00:06:04,370 ότι υπάρχουν, αλλά τι είναι κατανόηση σας από αυτούς, 124 00:06:04,370 --> 00:06:06,920 όπως ακριβώς ένα χρήστη του υπολογιστές, τι είναι ένα cookie; 125 00:06:06,920 --> 00:06:09,490 126 00:06:09,490 --> 00:06:09,990 Ναι. 127 00:06:09,990 --> 00:06:14,391 >> ΚΟΙΝΟ: Είναι λίγο of-- καλά, δεν bit σε έναν όρο της επιστήμης των υπολογιστών. 128 00:06:14,391 --> 00:06:18,303 Είναι ένα κομμάτι δεδομένων που ένας ιστοσελίδα σας στέλνει για 129 00:06:18,303 --> 00:06:20,209 να είναι σε θέση να καταγράφει στατιστικά στοιχεία για σας. 130 00:06:20,209 --> 00:06:21,250 David J. Malan: Εντάξει, καλά. 131 00:06:21,250 --> 00:06:24,980 Έτσι είναι ένα κομμάτι δεδομένων που ένας εξυπηρετητή, βάζει επάνω στον υπολογιστή σας, 132 00:06:24,980 --> 00:06:28,840 και ας το γενικεύσουμε ακόμη περισσότερο, είναι ένα βασικό value-- καλά, 133 00:06:28,840 --> 00:06:30,064 ότι είναι όλο και πιο ακριβή. 134 00:06:30,064 --> 00:06:31,980 Είναι ένα κομμάτι πληροφορίες, ένα κομμάτι των δεδομένων, 135 00:06:31,980 --> 00:06:34,430 ότι ένας διακομιστής είναι σε θέση να βάλει στον υπολογιστή σας 136 00:06:34,430 --> 00:06:38,592 και πολύ συχνά, ο διακομιστής κάνει αυτό, έτσι ώστε να θυμηθείτε ποιοι είστε. 137 00:06:38,592 --> 00:06:40,300 Έτσι, για παράδειγμα, οι πιθανότητες Δεν είστε πιθανώς 138 00:06:40,300 --> 00:06:42,982 συνδεδεμένοι σε ιστοσελίδες όπως το Facebook, ή το Gmail, ή άλλοι πριν, 139 00:06:42,982 --> 00:06:44,940 και θα συνδεθείτε με σας το όνομα χρήστη και τον κωδικό πρόσβασης, 140 00:06:44,940 --> 00:06:49,000 και στη συνέχεια μετά από αυτό, για κάποιο αριθμό από λεπτά ή ώρες ή ακόμη και ημέρες, 141 00:06:49,000 --> 00:06:52,970 ο διακομιστής θυμάται ότι που είναι, στην πραγματικότητα, εισέλθει. 142 00:06:52,970 --> 00:06:54,600 Τώρα, πώς είναι ότι πραγματικά συμβαίνει; 143 00:06:54,600 --> 00:06:58,630 Επειδή είστε σίγουρα δεν επαναπληκτρολόγηση το όνομα χρήστη και τον κωδικό πρόσβασής σας κάθε φορά 144 00:06:58,630 --> 00:07:00,760 μπορείτε να πλοηγηθείτε σε ένα διαφορετική σελίδα στο Facebook. 145 00:07:00,760 --> 00:07:02,570 Έτσι αποδεικνύεται η μπισκότα είναι η απάντηση. 146 00:07:02,570 --> 00:07:05,360 >> Ένα cookie μπορείτε να σκεφτείτε όπως, το είδος της αρέσει, μια ψηφιακή χέρι 147 00:07:05,360 --> 00:07:09,200 σφραγίδα που μπορείτε να πάρετε σε ένα διασκέδασης πάρκο ή μια λέσχη που ουσιαστικά 148 00:07:09,200 --> 00:07:11,740 αυτό σημαίνει ότι έχετε έρθει εδώ πριν, και έχετε ήδη 149 00:07:11,740 --> 00:07:16,070 φαίνεται ID σας στο μπράβος, για παράδειγμα, και ότι ο σύλλογος ή το πάρκο 150 00:07:16,070 --> 00:07:19,050 πρέπει τώρα να υποθέσουμε ότι σας έχουν επικυρώσει ήδη. 151 00:07:19,050 --> 00:07:21,270 Έχετε ήδη εντοπιστεί από αυτό. 152 00:07:21,270 --> 00:07:24,740 >> Έτσι, με αυτό κατά νου, ας ανοίξει μετρητή εδώ. 153 00:07:24,740 --> 00:07:27,220 Επιτρέψτε μου να πάει μπροστά, έκανα ακριβώς, και σαφής όλα τα cookies μου. 154 00:07:27,220 --> 00:07:29,970 Και τώρα τι Πάω να κάνουμε είναι Κρατήστε πατημένο το Shift, μόνο για το καλό μέτρο, 155 00:07:29,970 --> 00:07:31,740 και βίαια επαναλάβετε τη φόρτωση της σελίδας. 156 00:07:31,740 --> 00:07:34,170 Shift απλά βεβαιωθείτε ότι τίποτα δεν παίρνει αποθηκεύονται προσωρινά. 157 00:07:34,170 --> 00:07:36,850 Και εδώ είναι το αίτημα ότι πήγε μπροστά και πίσω. 158 00:07:36,850 --> 00:07:41,560 Έτσι, εδώ έχουμε ένα αίτημα, και ας Θέλω να μεγεθύνετε εδώ κάτω, και πολλά από αυτά 159 00:07:41,560 --> 00:07:44,710 Είναι το είδος του πληκτικός λεπτομέρειες για τώρα ότι το πρόγραμμα περιήγησης έχει αυτόματα 160 00:07:44,710 --> 00:07:47,800 αποστέλλονται, αλλά ας κάντε κλικ στο Προβολή Πηγή για να δείτε τις πρώτες κεφαλίδες. 161 00:07:47,800 --> 00:07:51,700 >> Και αν έχετε βουτήξει σε pset6 ήδη, θα αναγνωρίσει σίγουρα τα πράγματα 162 00:07:51,700 --> 00:07:54,990 όπως αυτό, και ίσως κάποια από αυτές τις άλλες γραμμές εδώ, 163 00:07:54,990 --> 00:07:59,040 αλλά αυτό που είναι πιο ενδιαφέρουσα για σήμερα αν μετακινηθείτε προς τα κάτω, όχι στην αίτηση 164 00:07:59,040 --> 00:08:02,870 αλλά με τη λεγόμενη απόκριση, Αυτή η γραμμή φαίνεται πιθανώς εξοικειωμένοι. 165 00:08:02,870 --> 00:08:04,977 Αυτό είναι ένα καλό πράγμα όταν βλέπετε ένα 200 OK. 166 00:08:04,977 --> 00:08:07,060 Προφανώς αυτή είναι η την ημερομηνία και την ώρα στο διακομιστή 167 00:08:07,060 --> 00:08:08,268 και υπάρχει ένα σωρό πράγματα. 168 00:08:08,268 --> 00:08:09,290 Ω, αυτό είναι ενδιαφέρον. 169 00:08:09,290 --> 00:08:13,430 >> Βγάζει κάθε φορά που χρησιμοποιείτε PHP, τουλάχιστον σε αυτόν τον server, 170 00:08:13,430 --> 00:08:16,360 ο διακομιστής φτύσει τι έκδοση της PHP που χρησιμοποιείτε. 171 00:08:16,360 --> 00:08:18,962 Η οποία, στην πραγματικότητα, για την ασφάλεια σκοπούς, δεν είναι ένα καλό πράγμα. 172 00:08:18,962 --> 00:08:21,170 Όμως, εμείς θα επανέλθουμε σε αυτό κάποια άλλη φορά ίσως. 173 00:08:21,170 --> 00:08:25,740 Αλλά τώρα αυτό είναι το ζουμερό γραμμή σήμερα, και είδαμε εν συντομία μερικά από αυτά, 174 00:08:25,740 --> 00:08:29,240 Νομίζω ότι με το Facebook όταν έσπρωξε γύρω από τον Επιθεωρητή εκείνη τη στιγμή, 175 00:08:29,240 --> 00:08:33,380 σύνολο cookie είναι ό, τι φύτευση αυτό το μικρό κομμάτι των πληροφοριών 176 00:08:33,380 --> 00:08:34,890 στον υπολογιστή σας. 177 00:08:34,890 --> 00:08:37,490 >> Αυτή είναι μια κεφαλίδα HTTP ότι είναι αποτελεσματικά 178 00:08:37,490 --> 00:08:39,970 λέγοντάς του browser σας, Chrome, IE, όποια και αν είναι, 179 00:08:39,970 --> 00:08:44,480 hey κατάστημα πρόγραμμα περιήγησης για το χρήστη σκληρό δίσκο ή στη μνήμη RAM του χρήστη, 180 00:08:44,480 --> 00:08:49,680 ένα κλειδί που ονομάζεται PHPSESSID, η οποία είναι μια σημειογραφία στενογραφία για αναγνωριστικό περιόδου, 181 00:08:49,680 --> 00:08:53,670 και να δώσετε την τιμή του 0vlk8t, τελεία, τελεία, τελεία. 182 00:08:53,670 --> 00:08:56,480 Ένα πραγματικά μεγάλο ψευδο τυχαία σειρά αλφαριθμητικών. 183 00:08:56,480 --> 00:08:59,480 Είναι απλά ένα πραγματικά μεγάλο αριθμό, αλλά αυτό είναι κωδικοποιημένα με γράμματα και αριθμούς 184 00:08:59,480 --> 00:09:03,550 έτσι ώστε το μέγεθος του μπορεί να είναι ακόμη μεγαλύτερο από αριθμούς και μόνο. 185 00:09:03,550 --> 00:09:06,947 Και στη συνέχεια, από τον τρόπο, Path = /, ότι Σημαίνει απλώς ότι αυτό το cookie θα πρέπει να είναι 186 00:09:06,947 --> 00:09:08,780 που συνδέεται με το σύνολό της ιστοσελίδας, 187 00:09:08,780 --> 00:09:11,150 όχι μόνο ένα συγκεκριμένο σελίδα το όλο θέμα. 188 00:09:11,150 --> 00:09:12,930 Έτσι, αυτό είναι ότι η εικονική σφραγίδα χέρι. 189 00:09:12,930 --> 00:09:16,330 Είναι σαν το διακομιστή, το Facebook, ή σε περίπτωση που η συσκευή μας, 190 00:09:16,330 --> 00:09:21,140 έχει κυριολεκτικά γραπτή 0vlk8t και ούτω καθεξής, στο χέρι σας. 191 00:09:21,140 --> 00:09:24,360 Παρατηρήστε τι το διακομιστή, δεν κάνει είναι ότι δεν είναι 192 00:09:24,360 --> 00:09:27,730 αποθηκεύει το όνομα χρήστη μου, σίγουρα δεν αποθηκεύει τον κωδικό μου. 193 00:09:27,730 --> 00:09:31,710 >> Αντ 'αυτού, φαίνεται να είναι αποθήκευση ψευδο τυχαία πληροφορίες 194 00:09:31,710 --> 00:09:35,010 έτσι ώστε να μην μπορεί κανείς να μαντέψει τι σφραγίδα χέρι μου είναι. 195 00:09:35,010 --> 00:09:37,590 Από την πλευρά του διακομιστή, Εν τω μεταξύ, ο διακομιστής 196 00:09:37,590 --> 00:09:40,370 πρόκειται να θυμόμαστε, ίσως σε μια βάση δεδομένων ή κάτι, 197 00:09:40,370 --> 00:09:46,490 ότι ο χρήστης, ο οποίος στο μέλλον παρουσιάζει μια σφραγίδα στο χέρι της 0vlk8t, dot, 198 00:09:46,490 --> 00:09:51,440 τελεία, τελεία, θα πρέπει να συνδέονται με αυτό Ειδικότερα καλάθι αγορών, να το πω έτσι. 199 00:09:51,440 --> 00:09:55,060 Με άλλα λόγια, αν εγώ τώρα πάω πίσω εδώ και φορτώστε ξανά αυτήν τη σελίδα, 200 00:09:55,060 --> 00:09:58,020 πώς γνωρίζει ο διακομιστής ότι έχω επισκεφθεί μία φορά; 201 00:09:58,020 --> 00:10:01,730 >> Ή αν το κάνω πάλι, πώς το διακομιστή ξέρω ότι έχω επισκεφθεί αυτό δύο φορές; 202 00:10:01,730 --> 00:10:04,680 Λοιπόν αν πάω κάτω σε αυτό πιο πρόσφατο αίτημα, το οποίο 203 00:10:04,680 --> 00:10:09,150 είναι τώρα η τρίτη ότι έχω στείλει συνολικά, παρατηρήσετε αίτημά μου τώρα. 204 00:10:09,150 --> 00:10:11,300 Υπάρχει ακόμα αυτή η ζητήσει μέχρι εδώ, το ίδιο 205 00:10:11,300 --> 00:10:15,040 όπως και πριν, υπάρχει ακόμα ένα σωρό πράγματα που έχουμε αγνοούνται όπως και πριν, 206 00:10:15,040 --> 00:10:19,350 αλλά η τελευταία κεφαλίδα, αυτό χρόνο, γιατί έχω ξανάρθει εδώ, 207 00:10:19,350 --> 00:10:21,980 Είναι μια παρουσίαση του Αυτή η εικονική σφραγίδα χέρι. 208 00:10:21,980 --> 00:10:28,957 >> Όπου αυτή η γραμμή εδώ, δεν έχει οριστεί μπισκότο αλλά μπισκότο παχέος εντέρου PHPSESSI = 0vlk8t, 209 00:10:28,957 --> 00:10:32,040 αυτό είναι μόνο το πρόγραμμα περιήγησης μου αυτόματο παρουσίαση αυτής της σφραγίδας στο χέρι, έτσι ώστε 210 00:10:32,040 --> 00:10:37,910 τώρα ο server, μόλις συνειδητοποιεί, Ooh, αυτό είναι 0vlk8t χρήστη τελεία, τελεία, τελεία, 211 00:10:37,910 --> 00:10:42,010 Τώρα μπορώ να θυμηθώ ποιος αυτός ή αυτή είναι και επανασυνδέονται με την εν λόγω χρήστη ανεξάρτητα από 212 00:10:42,010 --> 00:10:46,450 πληροφορίες που θέλω, και το σύνολο των οι πληροφορίες μπορεί να αποθηκευτούν από εσάς, 213 00:10:46,450 --> 00:10:50,130 ο προγραμματιστής, σε $ _SESSION. 214 00:10:50,130 --> 00:10:57,170 >> Έτσι για να είναι σαφές, αν ανοίξει πραγματικά γρήγορα στο gedit ότι πραγματικό αρχείο, counter.php, 215 00:10:57,170 --> 00:11:02,340 σε τοπικό κεντρικό δημόσιο κατάλογο μου όπως και πριν, παρατηρούμε ότι, πράγματι, 216 00:11:02,340 --> 00:11:06,860 Είμαι τελικά την αποθήκευση σε $ _SESSION Απόσπασμα εισαγωγικά "πάγκο", 217 00:11:06,860 --> 00:11:10,110 η αξία του προηγούμενου μετρητής ο οποίος Παίρνω από αυτές τις γραμμές μέχρι εδώ ότι εμείς 218 00:11:10,110 --> 00:11:13,010 κοίταξε για τελευταία φορά συν ένα. 219 00:11:13,010 --> 00:11:14,980 Έτσι, κάτω από την κουκούλα, ότι είναι όλα τα cookies είναι. 220 00:11:14,980 --> 00:11:17,563 Είναι ακριβώς το είδος των ψηφιακών χέρι σφραγίδα πηγαινοέρχονται, 221 00:11:17,563 --> 00:11:20,450 και ειλικρινά αν ανοίξετε του Chrome Επιθεωρητή σε οποιαδήποτε ιστοσελίδα 222 00:11:20,450 --> 00:11:22,580 θα επισκεφθεί σήμερα, με σούπερ υψηλή πιθανότητα, 223 00:11:22,580 --> 00:11:25,450 θα πάμε να δούμε ίσως μία, ίσως μισή ντουζίνα μπισκότα 224 00:11:25,450 --> 00:11:26,650 να θυμόμαστε από εσάς. 225 00:11:26,650 --> 00:11:29,500 >> Και ακόμα χειρότερα, αν αυτοί ιστοσελίδα που επισκέπτεστε 226 00:11:29,500 --> 00:11:32,640 όλα έχουν διαφημίσεις, η οποία είναι σίγουρα αρκετά κοινό σήμερα, 227 00:11:32,640 --> 00:11:36,100 και αν αυτές οι διαφημίσεις έρχονται από κάποια κεντρική κόμμα, κάποιος 228 00:11:36,100 --> 00:11:39,000 όπως το Google ή το AdWords, καθώς καλέστε ένα από τα προϊόντα τους 229 00:11:39,000 --> 00:11:42,880 ή άλλες τέτοιες προμηθευτές που πωλούν διαφημίσεις, αυτό που είναι ενδιαφέρον, 230 00:11:42,880 --> 00:11:46,510 και ειλικρινά αυτό είναι ένα μικρό ανησυχητικό, για το πώς λειτουργεί το HTTP, 231 00:11:46,510 --> 00:11:50,855 είναι ότι αν έχετε μια διαφήμιση ενσωματωμένο στο Facebook.com, και Google.com, 232 00:11:50,855 --> 00:11:54,240 και Harvard.edu, οποιοσδήποτε αριθμός των δικτυακών τόπων, έτσι ώστε να είναι τέτοιο 233 00:11:54,240 --> 00:11:58,130 ότι υπάρχει ένα μέσο άνθρωπο ο οποίος εκτίει up διαφημίσεις για τις τρεις από αυτές τις ιστοσελίδες, 234 00:11:58,130 --> 00:12:02,110 αποδεικνύεται ότι η cookies είναι ανά τομέα. 235 00:12:02,110 --> 00:12:05,910 >> Έτσι, εάν έχετε μια διαφήμιση που προέρχονται από το ίδια εταιρεία σε διάφορες ιστοσελίδες, 236 00:12:05,910 --> 00:12:11,140 ότι η εταιρεία μπορεί να παρακολουθεί αποτελεσματικά οι οποίοι είστε σε όλους αυτούς τους ιστότοπους. 237 00:12:11,140 --> 00:12:13,140 Χάρβαρντ δεν μπορεί να ξέρει είστε επισκέπτονται το Facebook. 238 00:12:13,140 --> 00:12:15,306 Το Facebook δεν μπορεί να γνωρίζει και είστε επισκέπτονται το Χάρβαρντ. 239 00:12:15,306 --> 00:12:18,160 Αλλά ανεξάρτητα από την υπηρεσία διαφημίσεων από όπου και αν χρησιμοποιούν, αν η περιοχή είναι 240 00:12:18,160 --> 00:12:21,710 παρούσα σε τόσο Harvard.edu web σελίδες και Facebook.com ιστοσελίδες, 241 00:12:21,710 --> 00:12:26,850 Αυτό το μεσαίο άνθρωπος ξέρει σίγουρα ποιος είσαι Λόγω αυτών των cookies που μοιράζονται 242 00:12:26,850 --> 00:12:30,910 ολόκληρη, ή μάλλον να, ότι η λεγόμενη μεσάζων. 243 00:12:30,910 --> 00:12:33,820 >> Γι 'αυτό και θα επανέλθουμε σε αυτό σε επιπτώσεις στην ασφάλεια, τους 244 00:12:33,820 --> 00:12:37,170 αλλά υπάρχουν πολλές πληροφορίες αποθηκεύονται για σας κάθε φορά που θα 245 00:12:37,170 --> 00:12:40,120 επισκεφθείτε τις περισσότερες οποιαδήποτε ιστοσελίδα για το διαδίκτυο και πραγματικά 246 00:12:40,120 --> 00:12:42,877 μειώνει σε αυτό το πολύ απλό μηχανισμό. 247 00:12:42,877 --> 00:12:44,710 Τι συμβαίνει, λοιπόν, αν είστε σούπερ παρανοϊκός 248 00:12:44,710 --> 00:12:48,190 και αν αποφασίσετε να πάτε στο Chrome ή IE ή ό, τι και να απενεργοποιήσετε τα cookies σας; 249 00:12:48,190 --> 00:12:49,365 Τι συμβαίνει; 250 00:12:49,365 --> 00:12:50,790 Ναι; 251 00:12:50,790 --> 00:12:53,170 Μπορείτε really-- έχετε κάνει αυτό το δικαίωμα; 252 00:12:53,170 --> 00:12:54,350 ΟΚ. 253 00:12:54,350 --> 00:12:55,994 Όχι, προχωρήστε. 254 00:12:55,994 --> 00:12:59,645 >> ΚΟΙΝΟ: Ορισμένες ιστοσελίδες δεν έχουν μια λειτουργία χωρίς αυτό, όπως το Facebook. 255 00:12:59,645 --> 00:13:00,520 David J. Malan: Ναι! 256 00:13:00,520 --> 00:13:02,311 Έτσι, ορισμένες ιστοσελίδες θα σταματήσει να λειτουργεί. 257 00:13:02,311 --> 00:13:05,520 Και στις περισσότερες ιστοσελίδες αυτές τις μέρες που ουσιαστικά βασίζονται σε cookies, 258 00:13:05,520 --> 00:13:08,360 ειδικά αν έχετε συνδεθείτε σε, είναι ακριβώς πρόκειται να σπάσει. 259 00:13:08,360 --> 00:13:10,360 Επειδή θεωρούν ότι η εναλλακτικά, εάν η ιστοσελίδα 260 00:13:10,360 --> 00:13:14,480 δεν έχει κανένα τρόπο να θυμόμαστε ποιοι είστε, και ως εκ τούτου, web browser σας δεν είναι 261 00:13:14,480 --> 00:13:16,949 που εκπροσωπούν με κάθε HTTP αίτημα αυτής της σφραγίδας χέρι, 262 00:13:16,949 --> 00:13:18,740 αποτελεσματικά μια ιστοσελίδα όπως η εξέλιξη του Facebook 263 00:13:18,740 --> 00:13:22,050 που πρέπει να σας προτρέψει να συνδεθείτε σε κάθε καταριέται χρόνο 264 00:13:22,050 --> 00:13:26,200 αλλάζετε σελίδες, ή κάντε κλικ σε ένα σύνδεσμο, ο οποίος Δεν είναι σίγουρα μια ιδιαίτερα καλή χρήστη 265 00:13:26,200 --> 00:13:26,920 εμπειρία. 266 00:13:26,920 --> 00:13:30,020 >> Έτσι ώστε να υπάρχει, επίσης, είναι μεταξύ τους συμβιβασμούς. 267 00:13:30,020 --> 00:13:34,140 Έτσι, χωρίς άλλη καθυστέρηση, ας ρίξουμε δεδομένο ότι με web προγραμματισμό, 268 00:13:34,140 --> 00:13:37,630 σε γλώσσες όπως η PHP, μπορείτε να θυμηθείτε πληροφορίες, όπως ότι το πρόβλημα που 269 00:13:37,630 --> 00:13:41,550 επτά, όταν εφαρμόζουν τη δική σας E * Trade-όπως ιστοσελίδα με την οποία να αγοράσουν 270 00:13:41,550 --> 00:13:45,710 και να πωλούν τα αποθέματα, θα θυμάμαι ακριβώς τι ο χρήστης έχει αγοραστεί και να πωληθεί 271 00:13:45,710 --> 00:13:49,110 και ποιος είναι αυτός ή αυτή είναι μέσω αυτής της συνόδου. 272 00:13:49,110 --> 00:13:51,110 Αλλά θα πάμε να χρειάζονται ένα φανταχτερό τρόπο από ό, τι e-mail 273 00:13:51,110 --> 00:13:52,640 να αρχίσουμε να τηρούμε πληροφορίες γύρω. 274 00:13:52,640 --> 00:13:53,140 Σωστά; 275 00:13:53,140 --> 00:13:56,780 >> Τη Δευτέρα, μιλήσαμε για Frosh ΔΥ και πώς στην έκδοση ενός της εν λόγω ιστοσελίδας, 276 00:13:56,780 --> 00:14:00,250 χρόνια πριν, το μόνο που κάναμε ήταν email το Proctor που είναι 277 00:14:00,250 --> 00:14:04,250 υπεύθυνος των τειχών του αθλητισμού προγράμματος, το όνομα και το φύλο, 278 00:14:04,250 --> 00:14:07,330 και κατά πόσον είναι ή δεν είναι καπετάνιος, και η κοιτώνα του κάποιον που είναι 279 00:14:07,330 --> 00:14:10,136 εγγραφή για την εντός των τειχών του αθλητισμού. 280 00:14:10,136 --> 00:14:13,010 Έτσι δεν είναι κακό, αλλά αυτός ή αυτή στη συνέχεια έπρεπε να ψαρεύουν μέσω του ηλεκτρονικού ταχυδρομείου τους, 281 00:14:13,010 --> 00:14:16,010 δημιουργήσετε ένα υπολογιστικό φύλλο ή κάτι παρόμοιο ότι, για να κρατήσει όλα οργανωμένα. 282 00:14:16,010 --> 00:14:19,750 Έτσι, σίγουρα εμείς ως προγραμματιστές μπορεί να κάνει αυτό για το ότι Proctor. 283 00:14:19,750 --> 00:14:22,970 Και έτσι αρχίζει σε SQL, Structured Query Language, 284 00:14:22,970 --> 00:14:26,050 που πρόκειται να δούμε αρκετά διαφορετικά τόσο C και PHP, 285 00:14:26,050 --> 00:14:30,990 και θα βουτήξετε σε πολύ περισσότερα χέρια για PHP και το πρόβλημα που επτά, αλλά και SQL, 286 00:14:30,990 --> 00:14:35,310 ή SQL, αυτή είναι μια γλώσσα που μπορείτε να χρησιμοποιήσετε για να μιλήσει σε μια βάση δεδομένων. 287 00:14:35,310 --> 00:14:36,480 >> Αλλά τι είναι μια βάση δεδομένων; 288 00:14:36,480 --> 00:14:38,440 Καλά νομίζετε ενός βάση δεδομένων, τουλάχιστον για τώρα, 289 00:14:38,440 --> 00:14:41,750 όπως ακριβώς είναι σαν ένα αρχείο Excel, ή εάν είστε ένα αρχείο Mac αριθμούς χρήστη μια, 290 00:14:41,750 --> 00:14:44,400 ή αν είστε το Google Apps χρήστη ένα υπολογιστικό φύλλο Google, 291 00:14:44,400 --> 00:14:49,120 είναι ουσιαστικά μια βάση δεδομένων, ή πραγματικά Συγκεκριμένα μια σχεσιακή βάση δεδομένων. 292 00:14:49,120 --> 00:14:53,070 Μια σχεσιακή βάση δεδομένων είναι απλά κάτι που έχει σειρές και στήλες, 293 00:14:53,070 --> 00:14:56,440 και μπορείτε να αποθηκεύσετε κάθε είδους πληροφορίες σε αυτές τις γραμμές ή στήλες. 294 00:14:56,440 --> 00:15:00,480 >> Αλλά τι είναι καλό για το SQL, και σχετικά με τις πραγματικές βάσεις δεδομένων, όχι μόνο 295 00:15:00,480 --> 00:15:04,910 λογιστικά φύλλα ή φύλλα Google, είναι ότι μπορείτε να χρησιμοποιήσετε μια γλώσσα 296 00:15:04,910 --> 00:15:09,000 να εκτελέσει πραγματικά ερωτήματα για εισαγωγή δεδομένων, για να καταργήσετε δεδομένα, 297 00:15:09,000 --> 00:15:11,620 να ψάξουν για στοιχεία, ακόμη και το πιο σημαντικό, μπορείτε και 298 00:15:11,620 --> 00:15:16,110 Δεν χρειάζεται να το χρησιμοποιήσετε αρκετά χειροκίνητα όπως ίσως συνήθως ένα Google 299 00:15:16,110 --> 00:15:17,690 λογιστικών φύλλων, όπως αυτό. 300 00:15:17,690 --> 00:15:22,217 >> Έτσι, σε SQL, υπάρχει μια δέσμη των θεμελιώδεις δηλώσεις ή κομμάτια 301 00:15:22,217 --> 00:15:23,300 της λειτουργικότητας ενσωματωμένη. 302 00:15:23,300 --> 00:15:26,450 Υπάρχουν πολλά περισσότερα από αυτά, αλλά μπορείτε να πάτε μια τεράστια απόσταση 303 00:15:26,450 --> 00:15:28,620 μόνο με τη γνώση ότι Αυτή η γλώσσα που ονομάζεται 304 00:15:28,620 --> 00:15:30,840 SQL έχει τουλάχιστον τέσσερις καταστάσεων που μπορούν να αξιοποιήσουν. 305 00:15:30,840 --> 00:15:34,420 >> Διαγραφή, για την αφαίρεση των δεδομένων, Τοποθετήστε, για την προσθήκη γραμμών, 306 00:15:34,420 --> 00:15:37,340 Ενημέρωση για αλλαγή σειρές, και την επιλογή, 307 00:15:37,340 --> 00:15:39,860 για να πάρει πίσω σειρές και ότι είναι πράγματι αυτό που κάνει τον SQL. 308 00:15:39,860 --> 00:15:43,810 Λειτουργεί εξ ολοκλήρου σε σειρές έτσι ότι όταν εισάγετε ή να αφαιρέσετε, 309 00:15:43,810 --> 00:15:47,470 ή ενημέρωση, ή να επιλέξετε ό, τι είσαι να πάρει πίσω, όπως το λεγόμενο σύνολο αποτελεσμάτων, 310 00:15:47,470 --> 00:15:49,690 όπως και μια σειρά από γραμμές. 311 00:15:49,690 --> 00:15:51,700 Μια δέσμη των γραμμών από ένα τραπέζι. 312 00:15:51,700 --> 00:15:54,050 >> Έτσι, πίσω στην ημέρα, και ακόμη και σε αυτήν την ημέρα, 313 00:15:54,050 --> 00:15:56,560 μπορείτε να αλληλεπιδράσουν με το βάση δεδομένων χρησιμοποιώντας μια γραμμή εντολών, 314 00:15:56,560 --> 00:15:59,691 αλλά δεν είναι ιδιαίτερα διασκεδαστικό να το χρησιμοποιήσετε Αυτό το μαύρο και άσπρο παράθυρο στυλ 315 00:15:59,691 --> 00:16:02,190 και στην πραγματικότητα εκτελούν εντολές και σακί γύρω από τη βάση δεδομένων σας. 316 00:16:02,190 --> 00:16:06,054 Μια γραφική διεπαφή χρήστη, ή GUI, είναι πολύ πιο προτιμότερο, αναμφισβήτητα, 317 00:16:06,054 --> 00:16:08,970 και έτσι το εργαλείο που σας προτείνουμε και προεγκατεστημένα για εσάς στη συσκευή 318 00:16:08,970 --> 00:16:10,580 ονομάζεται phpMyAdmin. 319 00:16:10,580 --> 00:16:14,060 Είναι μια συνολική σύμπτωση το γεγονός ότι η το όνομα του αυτό το πράγμα έχει PHP σε αυτό, 320 00:16:14,060 --> 00:16:17,430 αυτό σημαίνει απλώς ότι οι άνθρωποι ο οποίος έγραψε τον εαυτό τους αυτό το πρόγραμμα 321 00:16:17,430 --> 00:16:18,670 έγραψε στην PHP. 322 00:16:18,670 --> 00:16:23,740 >> Αλλά είναι τελικά για τη χορήγηση ένα διακομιστή βάσης δεδομένων, όπως ένα κεντρικό υπολογιστή MySQL 323 00:16:23,740 --> 00:16:26,589 ότι μπορεί να έχετε, όπως σας κάνει, στη συσκευή CS50. 324 00:16:26,589 --> 00:16:29,130 Έτσι υπάρχει περισσότερη λεπτομέρεια από ό, τι εδώ θα πρέπει να νοιάζονται για σήμερα, 325 00:16:29,130 --> 00:16:33,280 αλλά αυτό που είναι βασικό είναι ότι για την αριστερά πλευρά είναι μια λίστα των βάσεων δεδομένων 326 00:16:33,280 --> 00:16:36,040 ότι έχετε στον υπολογιστή σας, στην συσκευή CS50 σας, 327 00:16:36,040 --> 00:16:40,090 ή έρχονται τελευταία έργα που μπορεί να έχουν σε ένα τρίτο μέρος, μια εταιρεία 328 00:16:40,090 --> 00:16:43,415 ιστοσελίδα server ή web, ότι ίσως να πρέπει να πληρώνουν για το διάστημα. 329 00:16:43,415 --> 00:16:45,290 Έτσι, για την αριστερά είναι η βάσεις δεδομένων, ένας από τους οποίους 330 00:16:45,290 --> 00:16:48,750 είναι pset7 που δανείστηκα από την επόμενη εβδομάδες το chipset, και στη συνέχεια στην κορυφή 331 00:16:48,750 --> 00:16:51,570 παρατηρήσετε εκεί υπάρχει μια μάτσο καρτέλες, μία εκ των οποίων 332 00:16:51,570 --> 00:16:55,150 είναι βάσεις δεδομένων, SQL, το καθεστώς, χρήστες, εξαγωγή και ούτω καθεξής. 333 00:16:55,150 --> 00:16:56,900 Έτσι, μπορείτε να πάτε μια μακρά τρόπο μόνο με την πραγματοποίηση 334 00:16:56,900 --> 00:16:59,770 ότι το μεγαλύτερο μέρος της διεπαφής χρήστη είναι στην πάνω αριστερή στήλη 335 00:16:59,770 --> 00:17:02,650 και πέρα ​​από την κορυφή μέχρι εκεί. 336 00:17:02,650 --> 00:17:04,980 Έτσι, ό, τι μπορούμε τελικά να κάνουμε με αυτό; 337 00:17:04,980 --> 00:17:08,609 Λοιπόν, ας ξεκινήσουμε δημιουργώντας ένα κομμάτι των πληροφοριών ως εξής. 338 00:17:08,609 --> 00:17:11,760 >> Ας υποθέσουμε ότι το ακόλουθο είναι η περίπτωση, όπως θα είναι σε λίγες μέρες, 339 00:17:11,760 --> 00:17:14,440 Θέλετε να εφαρμόσουν μια ιστοσελίδα, που ονομάζεται CS50 Οικονομικών, 340 00:17:14,440 --> 00:17:17,328 και αυτή η ιστοσελίδα σας επιτρέπει να αγοράσετε παραθέτω εισαγωγικά και να πωλούν τα αποθέματα. 341 00:17:17,328 --> 00:17:19,619 Και αυτό πρόκειται να καταλάβω η τιμή των εν λόγω αποθεμάτων, 342 00:17:19,619 --> 00:17:22,380 τελικά, όπως θα δείτε, μιλώντας στο Yahoo Finance. 343 00:17:22,380 --> 00:17:26,250 Ποια, θαυμάσια, έχει μια δωρεάν υπηρεσία όπου μπορείτε να περάσετε σε μια ταινία μετοχών 344 00:17:26,250 --> 00:17:29,830 όπως GOOG για το Google, και θα να σας δώσει πίσω την τρέχουσα χρηματιστηριακή της Google 345 00:17:29,830 --> 00:17:32,250 τιμή εντός του παρελθόντος λίγα λεπτά τουλάχιστον. 346 00:17:32,250 --> 00:17:35,080 >> Έτσι θα χρησιμοποιήσετε ότι, σε τελική ανάλυση, να προσποιούνται για το χρήστη 347 00:17:35,080 --> 00:17:37,750 να αγοράζουν και να πωλούν πραγματική αποθέματα χρησιμοποιώντας εικονικά χρήματα, 348 00:17:37,750 --> 00:17:39,750 αλλά το πρώτο πράγμα ο χρήστης πρόκειται να δείτε 349 00:17:39,750 --> 00:17:43,850 είναι η οθόνη σύνδεσης που τους ζητά για το όνομα χρήστη και τον κωδικό πρόσβασής τους. 350 00:17:43,850 --> 00:17:46,540 Και έτσι, ένα από τα πρώτα προκλήσεις για εσάς σε pset7 351 00:17:46,540 --> 00:17:50,460 πρόκειται να είναι να εφαρμόσει το πίσω άκρο βάση δεδομένων, το λογιστικό φύλλο, αν θέλετε, 352 00:17:50,460 --> 00:17:53,369 ότι πρόκειται να αποθηκεύσετε ονόματα και τους κωδικούς πρόσβασης των χρηστών 353 00:17:53,369 --> 00:17:56,660 και, τελικά, τι τα αποθέματα που κατέχουν, και πόσα και πόσα χρήματα έχουν, 354 00:17:56,660 --> 00:18:00,110 έτσι ένα σωρό άλλα πράγματα στο άλλα τραπέζια, ή υπολογιστικά φύλλα. 355 00:18:00,110 --> 00:18:05,020 >> Έτσι, ας ρίξουμε μια ματιά στο πώς αυτό μπορεί να φαίνεται με την πρώτη ματιά. 356 00:18:05,020 --> 00:18:06,980 Πάω να πάει πίσω στο η συσκευή και είμαι 357 00:18:06,980 --> 00:18:14,102 πρόκειται να πάει σε αυτό το URL εδώ phpMyAdmin localhost / phpmyadmin 358 00:18:14,102 --> 00:18:16,060 και θα δείτε ότι μου παίρνει σε μια διεπαφή 359 00:18:16,060 --> 00:18:18,520 ακριβώς όπως είδαμε στις ο στιγμιότυπο οθόνης, και εδώ 360 00:18:18,520 --> 00:18:21,560 έχουν μία επιπλέον βάση δεδομένων κάλεσε διάλεξη για σήμερα 361 00:18:21,560 --> 00:18:24,280 και επιτρέψτε μου να πάει μπροστά πρώτη και κάντε κλικ στο pset7. 362 00:18:24,280 --> 00:18:27,940 >> Μου φαίνεται να έχουν μια-δυο επιλογές, ένα για τα νέα, για τη δημιουργία ενός νέου πίνακα, 363 00:18:27,940 --> 00:18:30,770 και μια σύνδεση με τους χρήστες, το οποίο είναι ένας πίνακας που έχουν ήδη δημιουργηθεί. 364 00:18:30,770 --> 00:18:31,790 Έτσι τι είναι ένας πίνακας; 365 00:18:31,790 --> 00:18:33,740 Έτσι, αν έχετε χρησιμοποιήσει το Excel πριν, και αν έχετε 366 00:18:33,740 --> 00:18:37,110 μεταχειρισμένα αριθμούς ή το Google Φύλλα, θα ανοίξει ένα παράθυρο 367 00:18:37,110 --> 00:18:39,350 και μπορείτε να πάρετε ένα σωρό των γραμμών και των στηλών, 368 00:18:39,350 --> 00:18:43,120 αλλά τότε θα πρέπει συνήθως φύλλα εργασίας κατά μήκος του κάτω μέρος, ή ξεχωριστές καρτέλες. 369 00:18:43,120 --> 00:18:46,140 Μπορείτε να σκεφτείτε κάθε φύλλο εργασίας ως ένα τραπέζι 370 00:18:46,140 --> 00:18:51,150 έτσι ώστε βάσης δεδομένων, τελικά, είναι ένα συνδυασμό έναν ή περισσότερους πίνακες, μία 371 00:18:51,150 --> 00:18:54,064 ή περισσότερα φύλλα εργασίας, στην κόσμο της ένα κανονικό φύλλο. 372 00:18:54,064 --> 00:18:55,980 Έτσι, επιτρέψτε μου να πάει μπροστά και κάντε κλικ σε αυτό το φύλλο εργασίας 373 00:18:55,980 --> 00:18:59,420 ότι προκατασκευαστεί, που ονομάζεται χρήστες, ή ως 374 00:18:59,420 --> 00:19:00,700 Πίνακα της βάσης δεδομένων. 375 00:19:00,700 --> 00:19:04,130 Και αν μετακινηθείτε προς τα κάτω εδώ, επιτρέψτε μου σμίκρυνση λίγο, 376 00:19:04,130 --> 00:19:08,479 Αυτό είναι ό, τι λέει το phpMyAdmin μας είναι μέσα από αυτό το τραπέζι τώρα. 377 00:19:08,479 --> 00:19:11,020 Είναι μια μικρή σύγχυση κατά την πρώτη ματιά γιατί η UI δεν είναι 378 00:19:11,020 --> 00:19:15,140 το πιο όμορφο πράγμα στον κόσμο, αλλά αυτό που έχει ενδιαφέρον είναι αυτό το μέρος εδώ. 379 00:19:15,140 --> 00:19:17,970 ID, όνομα χρήστη, και κατακερματισμού. 380 00:19:17,970 --> 00:19:20,510 >> Στην εκ των προτέρων, και θα παραδοθεί Αυτό το πρόβλημα που επτά, 381 00:19:20,510 --> 00:19:25,050 σας δίνουμε ένα αρχείο που περιέχει ένα σούπερ μικρό πίνακα της βάσης δεδομένων, δανείστηκε πραγματικότητα 382 00:19:25,050 --> 00:19:27,070 από την έκδοση του χάκερ του προβλήματος που δύο, 383 00:19:27,070 --> 00:19:29,480 στο εσωτερικό των οποίων υπάρχουν έξι σειρές. 384 00:19:29,480 --> 00:19:32,720 Μία για Belinda όλα τα τρόπος κάτω σε ένα για Zamyla, 385 00:19:32,720 --> 00:19:35,980 και ανακοίνωση προς τα αριστερά εκείνων ονόματα χρήστη είναι μοναδικά αναγνωριστικά, όπως ένα, 386 00:19:35,980 --> 00:19:39,410 δύο, τρεις, τέσσερις, πέντε, έξι, ακέραιοι, και στη συνέχεια προς τα δεξιά είναι hashes. 387 00:19:39,410 --> 00:19:42,780 >> Και αν, είναι οι πιθανότητες, δεν κάνατε το πρόβλημα χάκερ έκδοση που δύο, 388 00:19:42,780 --> 00:19:46,560 αλλά ένα hash είναι ακριβώς όπως ένα κρυπτογραφημένο κωδικό με λίγες επιφυλάξεις. 389 00:19:46,560 --> 00:19:49,470 Κι έτσι, αυτό που βλέπετε εδώ είναι οι κρυπτογραφημένες εκδόσεις όλων των έξι 390 00:19:49,470 --> 00:19:52,950 των κωδικών πρόσβασης μας από το πρόβλημα που δύο του χάκερ έκδοση. 391 00:19:52,950 --> 00:19:56,500 Τώρα προς τα αριστερά είναι μερικά μόνο από τα πράγματα GUI, επεξεργασία αυτής της στήλης, αντιγράφοντας αυτή σειρά, 392 00:19:56,500 --> 00:19:57,630 διαγραφή αυτής της σειράς. 393 00:19:57,630 --> 00:19:59,840 >> Αλλά αυτό που είναι ενδιαφέρον τώρα είναι η ακόλουθη. 394 00:19:59,840 --> 00:20:03,810 Μπορώ πραγματικά να ξεκινήσετε πειραματίζονται με αυτόν τον πίνακα. 395 00:20:03,810 --> 00:20:07,330 Έτσι αν πάω και κάντε κλικ στο SQL καρτέλα, να πάρω αυτό το μεγάλο κουτί κειμένου. 396 00:20:07,330 --> 00:20:10,190 Και αυτό δεν είναι το πώς θα πάμε να κάνει αυτό όταν γράφετε στην πραγματικότητα κώδικα. 397 00:20:10,190 --> 00:20:12,700 Για να είμαι σαφής, το phpMyAdmin Είναι απλά ένα εργαλείο που είναι 398 00:20:12,700 --> 00:20:16,450 πρόκειται να αφήσουμε να μας σπρώξει γύρω από τη βάση δεδομένων και αφήστε μας να πειραματιστούν με τα ερωτήματα. 399 00:20:16,450 --> 00:20:19,430 >> Έτσι, για παράδειγμα, ας υποθέσουμε ότι Εκτελώ ακριβώς αυτό. 400 00:20:19,430 --> 00:20:22,820 Επιλέξτε, η οποία είναι ένας από αυτούς λέξεις-κλειδιά που ανέφερα νωρίτερα, αστέρι, 401 00:20:22,820 --> 00:20:25,900 το οποίο αντιπροσωπεύει το σύνολο οι στήλες σε έναν πίνακα. 402 00:20:25,900 --> 00:20:26,820 Από ποιο τραπέζι; 403 00:20:26,820 --> 00:20:27,990 Λοιπόν, οι χρήστες. 404 00:20:27,990 --> 00:20:29,950 Και προειδοποίηση υπάρχει είναι αυτό Περίεργο σύμβαση σε SQL 405 00:20:29,950 --> 00:20:32,140 όπου μπορείτε πραγματικά να χρησιμοποιήσετε πίσω τσιμπούρια, τυπικά, 406 00:20:32,140 --> 00:20:35,940 δεν μονά εισαγωγικά και όχι διπλά εισαγωγικά όταν μιλάτε για πίνακες ονόματα, 407 00:20:35,940 --> 00:20:38,990 έτσι ώστε το πίσω απόσπασμα είναι το πράγμα για το πάνω αριστερή πλευρά του πληκτρολογίου σας πιο 408 00:20:38,990 --> 00:20:39,720 πιθανό. 409 00:20:39,720 --> 00:20:41,850 >> Επιτρέψτε μου λοιπόν να μην προχωρήσει τώρα και μόλις το αφήσουμε μόνο του 410 00:20:41,850 --> 00:20:46,020 και μετακινηθείτε προς τα κάτω και κάντε κλικ στο κουμπί Μετάβαση, και είμαστε στην πραγματικότητα πρόκειται να δούμε το ίδιο πράγμα. 411 00:20:46,020 --> 00:20:52,410 Έχουμε μόλις εκτελεστεί ένα ερώτημα SQL λέγοντας επιλέξτε τα πάντα αστέρων 412 00:20:52,410 --> 00:20:55,610 από τον πίνακα που ονομάζεται χρηστών, και ό, τι μπορείτε να πάρετε πίσω είναι αυτό. 413 00:20:55,610 --> 00:20:58,400 Τελικά, θα είμαστε σε θέση να κάνουμε το ίδιο πράγμα σε κώδικα, 414 00:20:58,400 --> 00:21:02,109 αλλά προς το παρόν το μόνο που ήθελα να δεν ήταν το δείτε στον browser μου. 415 00:21:02,109 --> 00:21:03,900 Λοιπόν ας κάνουμε κάτι λίγο διαφορετική. 416 00:21:03,900 --> 00:21:08,330 Επιτρέψτε μου να πάω πίσω στην καρτέλα SQL, και ας πούμε ότι αυτό; 417 00:21:08,330 --> 00:21:11,520 Zamyla έχει χάσει όλα της χρήματα, και ως εκ τούτου είναι 418 00:21:11,520 --> 00:21:13,190 ώρα για εμάς να την διαγράψει ως χρήστης. 419 00:21:13,190 --> 00:21:14,630 Της πλέον συνδεθείτε. 420 00:21:14,630 --> 00:21:18,870 >> Έτσι, Πάω να πω διαγράψετε from-- καλά, διατηρούν κεφαλαιοποίηση 421 00:21:18,870 --> 00:21:23,080 για τη συνοχή, να διαγράψετε από όπου οι χρήστες. 422 00:21:23,080 --> 00:21:25,430 Και έτσι, μπορούμε να έχουμε αυτά κατηγορήματα, ή αυτά 423 00:21:25,430 --> 00:21:31,180 προκριματικά, στο τέλος της δήλωσής μου πού και πώς θα μπορούσε να διαγράψω Zamyla; 424 00:21:31,180 --> 00:21:34,190 Με το όνομά της Zamyla, έτσι ώστε η στήλη, μία από τις στήλες 425 00:21:34,190 --> 00:21:37,950 πήρε το όνομά του, έτσι ώστε όπου name = "Zamyla". 426 00:21:37,950 --> 00:21:40,000 Και εδώ μπορώ να χρησιμοποιήσω διπλά εισαγωγικά ή μονά εισαγωγικά, 427 00:21:40,000 --> 00:21:42,958 μπορείτε να χρησιμοποιήσετε μόνο το πίσω τσιμπούρια όταν μιλάμε για τα ονόματα, για παράδειγμα, 428 00:21:42,958 --> 00:21:45,130 των πινάκων ή πεδίων. 429 00:21:45,130 --> 00:21:47,440 Και επιτρέψτε μου να κάντε κλικ στην επιλογή Go εδώ. 430 00:21:47,440 --> 00:21:50,400 Και τώρα, η ιστοσελίδα είναι είναι λίγο νευρικοί. 431 00:21:50,400 --> 00:21:53,620 >> Ή, θέλετε πραγματικά να εκτελέσει διαγραφή από τους χρήστες, όπου το όνομα ισούται Zamyla; 432 00:21:53,620 --> 00:21:54,680 Ναι. 433 00:21:54,680 --> 00:22:01,900 Έτσι τώρα, αν πάμε πίσω στο τραπέζι μου πατώντας χρήστες, παρατηρήσετε ότι Χμ. 434 00:22:01,900 --> 00:22:02,530 Έχω goofed. 435 00:22:02,530 --> 00:22:04,070 Και στην πραγματικότητα, εγώ το είδος του κλικ μακριά τόσο γρήγορα 436 00:22:04,070 --> 00:22:06,195 δεν έχετε δει ακόμα το κόκκινο μήνυμα λάθους, ίσως. 437 00:22:06,195 --> 00:22:07,649 Τι έκανα λάθος; 438 00:22:07,649 --> 00:22:09,690 ΚΟΙΝΟ: Εσείς δεν χρειάζεστε να αξιοποιήσει το όνομά της. 439 00:22:09,690 --> 00:22:11,260 David J. Malan: Ναι, κεφαλαιοποιούνται το όνομά της, 440 00:22:11,260 --> 00:22:13,770 αλλά της username-- πραγματικά μου έκανε ένα ζευγάρι λάθη, σωστά; 441 00:22:13,770 --> 00:22:16,720 Ένα, το όνομα της είναι zamyla, πεζά Ζ, 442 00:22:16,720 --> 00:22:20,140 και το όνομα της στήλης είναι το όνομα χρήστη, όχι το όνομα, οπότε ας κάνουμε αυτό και πάλι. 443 00:22:20,140 --> 00:22:25,750 Επιτρέψτε μου να προχωρήσει και διαγραφή από τους χρήστες, όπου 444 00:22:25,750 --> 00:22:28,990 ψευδώνυμο ισούται με παράθεση unquote "Zamyla". 445 00:22:28,990 --> 00:22:29,490 Εντάξει; 446 00:22:29,490 --> 00:22:32,600 Έτσι, αυτό φαίνεται λίγο καλύτερα, ας Θέλω να πάω μετακινηθείτε προς τα κάτω και κάντε κλικ στην επιλογή Μετάβαση. 447 00:22:32,600 --> 00:22:34,730 Είναι ακόμα πρόκειται να φωνάζεις εμένα για να είστε σίγουροι. 448 00:22:34,730 --> 00:22:37,500 Έχω κλικ στο κουμπί Ναι, και τώρα βλέπουμε, ειλικρινά αυτό που συνέβη, πραγματικά 449 00:22:37,500 --> 00:22:39,870 γρήγορη, λιγότερο από το ένα δεύτερο βεβαίως, αυτό 450 00:22:39,870 --> 00:22:41,720 είναι ακριβώς το ερώτημα που πήρε εκτελεστεί. 451 00:22:41,720 --> 00:22:45,617 Για να επιβεβαιώσετε, επιτρέψτε μου κλικ χρηστών και μάλιστα τώρα Zamyla έχει φύγει. 452 00:22:45,617 --> 00:22:46,700 Τώρα ας κάνουμε το αντίθετο. 453 00:22:46,700 --> 00:22:49,320 Ας υποθέσουμε ότι Gabe θέλει να εγγραφείτε για την ιστοσελίδα. 454 00:22:49,320 --> 00:22:52,825 Τι είναι το SQL ερώτημα, ποια είναι η εντολή θα μπορούσα να πληκτρολογήσετε Gabe να προσθέσω; 455 00:22:52,825 --> 00:22:54,200 Καλά είναι αρκετά απλή. 456 00:22:54,200 --> 00:22:58,260 Τοποθετήστε σε χρήστες, και τώρα παίρνει λίγο αινιγματικό. 457 00:22:58,260 --> 00:23:03,190 Πρέπει να καθορίσετε, στο διακομιστή, ποια πεδία που θέλετε να ορίσετε. 458 00:23:03,190 --> 00:23:06,630 Πραγματικά, δεν με νοιάζει τι Gabe αναγνωριστικό αριθμός είναι, έτσι Πάω να παρακάμψετε αυτό. 459 00:23:06,630 --> 00:23:11,360 Είμαι αντί πρόκειται να πω όνομα χρήστη, hash, και στη συνέχεια, 460 00:23:11,360 --> 00:23:14,960 οι αξίες που θέλω να θέσω υπάρχει πρόκειται να είναι Gabe. 461 00:23:14,960 --> 00:23:16,800 Και τότε κατακερματισμού του, δεν ξέρω. 462 00:23:16,800 --> 00:23:19,900 Έτσι, για τώρα, πάω να αφήστε ότι ως ένα μεγάλο να κάνει. 463 00:23:19,900 --> 00:23:21,650 Θα επανέλθουμε σε ότι στην ρυθμιστεί το πρόβλημα 464 00:23:21,650 --> 00:23:23,390 spec για το πώς μπορείτε πραγματικά να κάνουμε αυτό. 465 00:23:23,390 --> 00:23:24,630 >> Έτσι παρατηρούμε, και πάλι, η σύνταξη. 466 00:23:24,630 --> 00:23:28,430 Τοποθετήστε σε όνομα πίνακα, τότε ένα παρένθεση κατάλογος των πεδίων, 467 00:23:28,430 --> 00:23:30,980 οι στήλες που θέλετε να προσθέσετε τιμές σε, και στη συνέχεια, μόλις 468 00:23:30,980 --> 00:23:34,495 η ίδια ακριβώς παραγγελία αριστερά προς τα δεξιά από τις τιμές που θέλετε να προσθέσετε, 469 00:23:34,495 --> 00:23:36,870 και είναι ακριβώς τυλίγοντας επειδή το κείμενο είναι λίγο καιρό. 470 00:23:36,870 --> 00:23:38,520 Έτσι τώρα επιτρέψτε μου να κάντε κλικ στο Μετάβαση. 471 00:23:38,520 --> 00:23:39,830 Μια σειρά εισάγεται. 472 00:23:39,830 --> 00:23:43,020 Και τώρα, αν πάω πίσω στο χρήστες, αυτό που είναι ενδιαφέρον 473 00:23:43,020 --> 00:23:48,960 είναι ότι όχι μόνο είναι Gabe τώρα στο βάση δεδομένων, πράγμα που είναι προφανώς την ταυτότητά του; 474 00:23:48,960 --> 00:23:49,820 >> Καλά είναι επτά. 475 00:23:49,820 --> 00:23:51,479 Γιατί είναι επτά, όταν εγώ δεν το προσθέσετε; 476 00:23:51,479 --> 00:23:54,020 Έτσι, αυτό, επίσης, είναι ένα από τα χαρακτηριστικά που παίρνετε από τη βάση δεδομένων. 477 00:23:54,020 --> 00:23:55,750 Πολλοί ενσωματωμένη λειτουργικότητα. 478 00:23:55,750 --> 00:23:57,950 Αποδεικνύεται ότι όταν δημιούργησε αυτό τον πίνακα, 479 00:23:57,950 --> 00:24:01,390 Έχω προπαραμετροποιηθεί είναι αυτόματα ορίσετε ένα ID με τέτοιο τρόπο 480 00:24:01,390 --> 00:24:02,480 ότι αυξάνει. 481 00:24:02,480 --> 00:24:05,470 Έτσι, αν έχετε ποτέ έσπρωξε γύρω, και κοίταξε την Facebook ταυτότητα ό, τι σας 482 00:24:05,470 --> 00:24:09,292 αριθμός είναι, αυτές τις μέρες δεν είναι πραγματικά ένα πράγμα που πρέπει να κάνουμε, αλλά το Facebook ως ένα API, 483 00:24:09,292 --> 00:24:11,750 Διεπαφή προγραμματισμού εφαρμογών, σύμφωνα με την οποία μπορείτε να πάρετε πίσω 484 00:24:11,750 --> 00:24:14,430 ένα σωρό των δεδομένων σχετικά με τον εαυτό σας, για τους φίλους σας, 485 00:24:14,430 --> 00:24:15,347 και τις συνδέσεις σας. 486 00:24:15,347 --> 00:24:17,430 Και ό, τι χρησιμοποιείται για να είναι το είδος δροσερό, πίσω στην ημέρα, 487 00:24:17,430 --> 00:24:19,510 ήταν να κοιτάζω προς τα πάνω ό, τι σας Facebook αριθμό ταυτότητας ήταν. 488 00:24:19,510 --> 00:24:22,390 Του Mark Zuckerberg, για παράδειγμα, είναι τρεις 489 00:24:22,390 --> 00:24:23,890 αφού ήταν ο συντάκτης του site. 490 00:24:23,890 --> 00:24:27,610 Και καθώς η ιστορία πηγαίνει, δημιούργησε δύο δοκιμαστικούς λογαριασμούς, οι χρήστες ένα και δύο, 491 00:24:27,610 --> 00:24:28,690 την οποία ο ίδιος στη συνέχεια, διαγράφονται. 492 00:24:28,690 --> 00:24:32,780 Και έτσι, Zuck, όπως είναι το όνομα του στο Facebook, είναι αναγνωριστικό αριθμό τρία, 493 00:24:32,780 --> 00:24:36,110 και όλοι μας έχουμε τους αριθμούς πολύ μεγαλύτερο από τρία αυτές τις μέρες. 494 00:24:36,110 --> 00:24:37,980 Στην πραγματικότητα, σε κάποιο σημείο Facebook μετακινηθεί μακριά 495 00:24:37,980 --> 00:24:42,410 ακόμη και από τη χρήση ενός int, η οποία είναι μία τιμή 32-bit, με τη χρήση 496 00:24:42,410 --> 00:24:44,480 Το επόμενο βήμα, ουσιαστικά ένα πολύ καιρό έτσι 497 00:24:44,480 --> 00:24:47,150 ότι θα μπορούσαν να φιλοξενήσουν ακόμη περισσότερους χρήστες την εγγραφή. 498 00:24:47,150 --> 00:24:49,420 Έτσι, ένα διασκεδαστικό λίγο ιστορικό γεγονός. 499 00:24:49,420 --> 00:24:51,660 >> Έτσι, αυτό είναι μόνο η βασική σύνταξη με την οποία 500 00:24:51,660 --> 00:24:54,470 θα μπορούσε να εκτελέσει ένα ζευγάρι των ερωτήματα, αλλά μπορούμε πραγματικά 501 00:24:54,470 --> 00:24:56,744 κάνει ένα μάτσο περισσότερα πράγματα με τον SQL. 502 00:24:56,744 --> 00:24:58,910 Και θα δείτε, εν τέλει, στο πρόβλημα που επτά 503 00:24:58,910 --> 00:25:01,034 ότι θα πρέπει να κάνει μια τον αριθμό των αποφάσεων σχεδιασμού, 504 00:25:01,034 --> 00:25:03,290 μεταξύ των οποίων πρόκειται να είναι Τι τύπους δεδομένων να χρησιμοποιήσει. 505 00:25:03,290 --> 00:25:08,240 Έτσι ακριβώς όπως και στη C, υπάρχουν δεδομένα τύποι σε μια βάση δεδομένων, όπως MySQL, 506 00:25:08,240 --> 00:25:12,640 και τα είδη δεδομένων που έχετε να επιλέξετε από την ενσωμάτωση των τομέων αυτών εδώ. 507 00:25:12,640 --> 00:25:17,287 Char, varchar, Int, μεγάλο int, δεκαδικό και το χρόνο ημερομηνίας, και πολλά άλλα. 508 00:25:17,287 --> 00:25:18,370 Οπότε ας κάνουμε πραγματικότητα αυτό. 509 00:25:18,370 --> 00:25:21,060 Ας προσποιηθούμε ότι δεν είχαμε χέρι σας τραπέζι του χρήστη 510 00:25:21,060 --> 00:25:25,080 και επιτρέψτε μου να πάει μπροστά και να δημιουργήσουν, για τον εαυτό μου, στις διαλέξεις database-- 511 00:25:25,080 --> 00:25:31,000 στην πραγματικότητα, επιτρέψτε μου να πάει μπροστά και να διαγράψετε Ο πίνακας που έχω στο ήδη εδώ 512 00:25:31,000 --> 00:25:32,940 έτσι ώστε να μπορούμε πραγματικά να δημιουργήσει αυτό. 513 00:25:32,940 --> 00:25:33,550 Ωχ. 514 00:25:33,550 --> 00:25:35,970 Πάω να ρίξει αυτό τραπέζι, και τώρα είμαι 515 00:25:35,970 --> 00:25:38,337 πρόκειται να πάει πάλι στο διάλεξη βάση δεδομένων εδώ, 516 00:25:38,337 --> 00:25:40,420 Πάω να δημιουργήσετε έναν πίνακα κάλεσε τους χρήστες και ας 517 00:25:40,420 --> 00:25:43,010 ακριβώς κάνει τρεις στήλες αρχικά και κάντε κλικ στο Μετάβαση. 518 00:25:43,010 --> 00:25:44,990 >> Τώρα, ως επί το πλείστον, πάλι, αυτό είναι ακριβώς 519 00:25:44,990 --> 00:25:48,570 χρησιμοποιώντας αυτό το γραφικό εργαλείο που ονομάζεται phpMyAdmin, και τι κάνουμε τώρα 520 00:25:48,570 --> 00:25:49,600 είναι η δημιουργία ενός πίνακα. 521 00:25:49,600 --> 00:25:53,170 Έτσι, αυτό είναι σαν να πηγαίνει αρχείου, Νέα, και δημιουργώντας ένα νέο αρχείο Excel. 522 00:25:53,170 --> 00:25:55,440 Γι 'αυτό μου ζητά λίγα ερωτήματα, από τα αριστερά προς τα δεξιά, 523 00:25:55,440 --> 00:25:58,620 ποιο είναι το όνομα της πρώτης στήλης, και στη συνέχεια το όνομα της δεύτερης στήλης, 524 00:25:58,620 --> 00:25:59,560 και το όνομα του το τρίτο. 525 00:25:59,560 --> 00:26:00,518 Ας αναδημιουργήσει αυτό. 526 00:26:00,518 --> 00:26:05,460 ID, και στη συνέχεια το όνομα ήταν ένα, και στη συνέχεια χασίς ήταν άλλο. 527 00:26:05,460 --> 00:26:08,970 Λοιπόν, τι θα πρέπει ο τύπος δεδομένων είναι τώρα για έναν τομέα όπως η ταυτότητα; 528 00:26:08,970 --> 00:26:14,470 >> Εδώ είναι ολόκληρη η λίστα των τύπων δεδομένων στη διάθεσή σας σε μια βάση δεδομένων, 529 00:26:14,470 --> 00:26:16,070 και για τώρα ας πάμε με int. 530 00:26:16,070 --> 00:26:18,160 Τιμή 32-bit, δεν το κάνω σκεφτείτε ρεαλιστικά είμαι 531 00:26:18,160 --> 00:26:21,484 πρόκειται να έχει περισσότερα από 4 δισεκατομμύρια χρήστες στο λογαριασμό μου, στην υπηρεσία μου, 532 00:26:21,484 --> 00:26:23,650 έτσι Πάω να συνεχίσουμε στην επόμενη ερώτηση. 533 00:26:23,650 --> 00:26:25,490 Είμαι δεν πρόκειται να καθορίσετε ένα μήκος ή αξίες, 534 00:26:25,490 --> 00:26:28,540 δεν είναι εφαρμοστέα εδώ για έναν int, per se. 535 00:26:28,540 --> 00:26:30,740 Και τώρα μπορώ να καθορίσετε, προφανώς, μια προεπιλογή 536 00:26:30,740 --> 00:26:33,970 αξία, η οποία δεν πρόκειται να καθορίσετε. 537 00:26:33,970 --> 00:26:36,050 Μια παραβολή, δεν ξέρω τι είναι αυτό. 538 00:26:36,050 --> 00:26:37,290 Ένα χαρακτηριστικό. 539 00:26:37,290 --> 00:26:39,455 Τώρα μπορούμε πραγματικά να κάνουμε έχουν μια σχεδιαστική απόφαση. 540 00:26:39,455 --> 00:26:42,580 Έτσι, υπάρχει μια μερικά πεδία εδώ, δεν είναι όλα των οποίων εφαρμόζονται, αλλά ανυπόγραφο 541 00:26:42,580 --> 00:26:43,380 ακριβώς σημαίνει αυτό; 542 00:26:43,380 --> 00:26:45,400 Αυτό το int πρέπει να είναι; 543 00:26:45,400 --> 00:26:46,210 Απλά μη-αρνητική. 544 00:26:46,210 --> 00:26:48,090 Γι 'αυτό πρέπει να είναι 0 για επάνω. 545 00:26:48,090 --> 00:26:51,120 Όχι, εγώ δεν πρόκειται να ελέγξει γιατί Θέλω κάθε χρήστη να έχει ένα αναγνωριστικό, 546 00:26:51,120 --> 00:26:52,470 δεν μπορεί να είναι null. 547 00:26:52,470 --> 00:26:55,949 Και τότε, θα έχουμε σε κάποιο περισσότερο ενδιαφέρουσες σχεδιαστικές αποφάσεις όπως αυτή. 548 00:26:55,949 --> 00:26:58,990 Θα επανέλθουμε σε αυτό σε μια στιγμή, αλλά ό, τι άλλο χαρακτηριστικό της βάσης δεδομένων 549 00:26:58,990 --> 00:27:04,200 είναι, είναι ότι μπορείτε να πείτε ο διακομιστής της βάσης δεδομένων προχωρήσει 550 00:27:04,200 --> 00:27:07,100 και να βελτιστοποιήσουν τον εαυτό σας, σας RAM και χώρο στο σκληρό δίσκο σας, 551 00:27:07,100 --> 00:27:11,770 έτσι ώστε να επιλέγει, και ένθετα, και διαγράφει, και οι ενημερώσεις είναι πραγματικά γρήγορα. 552 00:27:11,770 --> 00:27:13,250 Σε αντίθεση με αυτό pset5. 553 00:27:13,250 --> 00:27:16,259 >> Αν θέλατε να αναζητήσετε κάτι στον πίνακα κατακερματισμού σας, η οποία 554 00:27:16,259 --> 00:27:18,300 σκέφτεστε σαν μια βάση δεδομένων, ο οποίος είχε να κάνει όλα τα 555 00:27:18,300 --> 00:27:21,500 εργάζονται για την κατασκευή πίνακα κατακερματισμού σας γρήγορα. 556 00:27:21,500 --> 00:27:22,840 Είναι σαν, προφανώς, σας. 557 00:27:22,840 --> 00:27:23,060 Σωστά; 558 00:27:23,060 --> 00:27:26,080 Θα έπρεπε να βάλει σε όλη την ώρα πρόστιμο συντονίζοντας τα πράγματα, να πάρει μια συνάρτηση κατακερματισμού 559 00:27:26,080 --> 00:27:27,820 δεξιά, αναφέρονται για το πώς πολλοί κάδοι να έχουν. 560 00:27:27,820 --> 00:27:29,611 >> Αλλά τι είναι ωραίο, και πάλι, για μια βάση δεδομένων είναι 561 00:27:29,611 --> 00:27:31,762 απλά punt όλα Αυτό σε άλλους ανθρώπους 562 00:27:31,762 --> 00:27:33,720 οι οποίοι έχουν σκεφτεί αυτό μέσα για σας, και ποια 563 00:27:33,720 --> 00:27:37,170 Πάω να πω εδώ κάτω δείκτη είναι ότι το πεδίο ID μου 564 00:27:37,170 --> 00:27:41,149 πρόκειται να είναι ο κύριος τρόπος για να τον εντοπισμό των χρηστών σε αυτή τη βάση δεδομένων. 565 00:27:41,149 --> 00:27:42,940 Είμαι δεν πρόκειται να σκεφτείτε της Zamyla ως Zamyla, 566 00:27:42,940 --> 00:27:45,800 Πάω να σκεφτώ της ως τον αριθμό 6. 567 00:27:45,800 --> 00:27:49,814 >> Γιατί είναι, ίσως, η καλύτερη διαισθητικά να σκεφτείτε και το μοντέλο 568 00:27:49,814 --> 00:27:52,480 καθένα από τα επιμέρους σειρές σας χρησιμοποιώντας έναν αριθμό αντί για κάτι 569 00:27:52,480 --> 00:27:56,480 σαν μια σειρά, όπως το Zamyla ή Gabe ή περισσότερο κορδόνι ακόμα; 570 00:27:56,480 --> 00:27:57,444 Ναι; 571 00:27:57,444 --> 00:28:00,117 >> ΚΟΙΝΟ: Ένα αναγνωριστικό είναι μοναδικό; 572 00:28:00,117 --> 00:28:01,200 David J. Malan: Πείτε ξανά; 573 00:28:01,200 --> 00:28:02,283 ΚΟΙΝΟ: Ένα αναγνωριστικό είναι μοναδικό; 574 00:28:02,283 --> 00:28:04,400 David J. Malan: Ένα αναγνωριστικό είναι μοναδική, αλλά suppose-- 575 00:28:04,400 --> 00:28:06,320 ανάλογα με την περίπτωση εν γένει με ονόματα χρηστών, ας υποθέσουμε 576 00:28:06,320 --> 00:28:10,110 Είπα επίσης ότι μπορεί να υπάρχει μόνο μία Zamyla στον κόσμο, και μόνο ένας Gabe. 577 00:28:10,110 --> 00:28:13,730 Θα μπορούσα να επιβάλει τη μοναδικότητα Περιορισμούς στις χορδές, πάρα πολύ, αν ήθελα. 578 00:28:13,730 --> 00:28:15,550 Έτσι, δεν είναι μια κακή σκέψη. 579 00:28:15,550 --> 00:28:16,500 >> ΚΟΙΝΟ: Πιο ασφαλείς. 580 00:28:16,500 --> 00:28:17,874 >> David J. Malan: Πιο ασφαλείς, γιατί; 581 00:28:17,874 --> 00:28:20,705 ΚΟΙΝΟ: Δεν μπορείτε να πείτε που Είναι η οποία, όπως και στην χρήστη. 582 00:28:20,705 --> 00:28:22,580 David J. Malan: Εντάξει, σας δεν μπορεί να πει ποια χρήστη 583 00:28:22,580 --> 00:28:24,380 η οποία είναι έτσι υπάρχει μια πτυχή της ιδιωτικής ζωής σε αυτό, 584 00:28:24,380 --> 00:28:27,810 ειδικά αν τα αναγνωριστικά ίσως εμφανίζονται στις διευθύνσεις URL. 585 00:28:27,810 --> 00:28:29,960 Έτσι είστε σίγουροι, ότι θα μπορούσε το είδος της εργασίας, πάρα πολύ. 586 00:28:29,960 --> 00:28:30,640 Άλλες σκέψεις; 587 00:28:30,640 --> 00:28:31,383 Ναι; 588 00:28:31,383 --> 00:28:34,316 >> ΚΟΙΝΟ: Είναι πιο εύκολο να εκτελούν λειτουργίες σε έναν int. 589 00:28:34,316 --> 00:28:35,940 David J. Malan: Αυτή είναι η πραγματική kicker. 590 00:28:35,940 --> 00:28:38,850 Είναι απλά πιο αποτελεσματική, ή πιο εύκολο για τον υπολογιστή, 591 00:28:38,850 --> 00:28:40,431 να εκτελούν λειτουργίες σε έναν ακέραιο. 592 00:28:40,431 --> 00:28:40,930 Σωστά; 593 00:28:40,930 --> 00:28:43,905 Ένας int είναι εγγυημένη για να είναι 32-bit, ενώ Zamyla 594 00:28:43,905 --> 00:28:47,660 είναι μακρά λίγα χαρακτήρες, Gabriel είναι μακρά λίγες περισσότερους χαρακτήρες, 595 00:28:47,660 --> 00:28:51,930 Davenport είναι πραγματικά μεγάλο, και γι 'αυτό είναι δεν είναι ιδιαίτερα αποτελεσματικό να χρησιμοποιήσει 596 00:28:51,930 --> 00:28:55,860 χορδές για να συγκρίνετε τιμές και να εξετάσουμε για τα πεδία, και ενημέρωση πεδίων, 597 00:28:55,860 --> 00:28:57,790 αν μπορείτε να πάρετε μακριά με ένα μόνο ακέραιο. 598 00:28:57,790 --> 00:28:59,090 Μόλις 32 bits. 599 00:28:59,090 --> 00:29:02,570 Έτσι, τα ονόματα χρήστη, πάρα πολύ, με αυτό τον τρόπο, Δεν χρειάζεται να είναι μοναδική, 600 00:29:02,570 --> 00:29:05,040 αν και ίσως θα έπρεπε να είναι, ακόμη και με τον τρόπο αυτό πάρα πολύ 601 00:29:05,040 --> 00:29:07,520 ένας χρήστης θα μπορούσε να επιτραπεί σε αλλάξετε το username του ή της. 602 00:29:07,520 --> 00:29:10,810 >> Ας τους αφήσουμε αυτό ως το πρωταρχικό μέσο για την αναγνώριση του χρήστη. 603 00:29:10,810 --> 00:29:13,510 Αυτό λέει την βάση δεδομένων να προχωρήσει και να βελτιστοποιήσει τον εαυτό σας 604 00:29:13,510 --> 00:29:17,065 έτσι ότι η UPS ματιά στο ταυτότητας είναι εξαιρετικά γρήγορη. 605 00:29:17,065 --> 00:29:19,620 AI, φρικτά ονομάζεται, ακριβώς σημαίνει αυτόματη προσαύξηση, 606 00:29:19,620 --> 00:29:21,500 και αυτό είναι ο έλεγχος box θα πρέπει να ελέγξετε 607 00:29:21,500 --> 00:29:24,614 να διευκρινίσουν ότι το πεδίο ID για να να ενημερώνεται αυτόματα για μένα, 608 00:29:24,614 --> 00:29:26,530 και, στη συνέχεια, Πάω να μετακινηθείτε προς τα δεξιά εδώ 609 00:29:26,530 --> 00:29:29,279 και ειλικρινά δεν είμαι πραγματικά ενδιαφέρονται σε οποιαδήποτε περισσότερα από αυτά τα πεδία. 610 00:29:29,279 --> 00:29:30,630 Σίγουρα όχι σήμερα. 611 00:29:30,630 --> 00:29:33,770 >> Έτσι, Πάω να επιστρέψω εδώ, στην πρώτη στήλη, όπου 612 00:29:33,770 --> 00:29:35,830 Πρέπει να καθορίσετε το όνομα χρήστη και κατακερματισμού, και ας 613 00:29:35,830 --> 00:29:38,080 τουλάχιστον εστίαση στην ο δεύτερη για τώρα. 614 00:29:38,080 --> 00:29:41,498 Int δεν είναι πιθανώς η σωστή κλήση, έτσι τι πιο λογικό ίσως; 615 00:29:41,498 --> 00:29:42,741 >> ΚΟΙΝΟ: Κείμενο. 616 00:29:42,741 --> 00:29:43,824 David J. Malan: Πείτε ξανά; 617 00:29:43,824 --> 00:29:44,710 ΚΟΙΝΟ: Κείμενο. 618 00:29:44,710 --> 00:29:44,980 David J. Malan: Κείμενο; 619 00:29:44,980 --> 00:29:45,590 Εντάξει, άκουσα κείμενο. 620 00:29:45,590 --> 00:29:46,090 Τι άλλο; 621 00:29:46,090 --> 00:29:50,520 622 00:29:50,520 --> 00:29:53,860 Είμαστε είδος έχει ένα σωρό επιλογές που είναι υπό μορφή κειμένου στη φύση. 623 00:29:53,860 --> 00:29:55,990 Έτσι, όταν, και γιατί, κάνουμε μπορείτε να χρησιμοποιήσετε κάποια από αυτά; 624 00:29:55,990 --> 00:29:59,560 Καλά char, σε αντίθεση με ό, τι ίσως νομίζω, δεν είναι ένα ενιαίο χαρακτήρα. 625 00:29:59,560 --> 00:30:01,550 Είναι ένα συγκεκριμένο αριθμό χαρακτήρων. 626 00:30:01,550 --> 00:30:04,600 Έτσι, αν γνωρίζουμε ότι όλα τα ονόματα χρήστη πρέπει να είναι σαν οκτώ χαρακτήρες, 627 00:30:04,600 --> 00:30:08,490 όπως χρησιμοποιείται για να είναι κοινή σε παλαιότερες συστήματα πληροφορικής, θα μπορούσα να πω char 628 00:30:08,490 --> 00:30:09,830 και, στη συνέχεια, θα μπορούσα να πω 8 εδώ. 629 00:30:09,830 --> 00:30:12,930 Ότι όταν η τρίτη στήλη γίνεται εφαρμόζονται κατά τη δημιουργία ενός πίνακα. 630 00:30:12,930 --> 00:30:15,450 >> Αλλά αυτό είναι το είδος ενοχλητικό γιατί ορισμένοι άνθρωποι μπορεί να 631 00:30:15,450 --> 00:30:17,660 θέλουν να έχουν μια μακρύτερη όνομα χρήστη από οκτώ χαρακτήρες, 632 00:30:17,660 --> 00:30:19,743 μερικοί άνθρωποι μπορεί να θέλουν να έχουν μικρότερη όνομα χρήστη, 633 00:30:19,743 --> 00:30:22,210 οπότε γιατί να δεσμεύσει τον εαυτό μου σε ένα συγκεκριμένο αριθμό; 634 00:30:22,210 --> 00:30:24,710 Γιατί να μην έχουν μια μεταβλητή αριθμό των χαρακτήρων και απλά 635 00:30:24,710 --> 00:30:28,580 λένε ότι το μέγιστο μήκος του ονόματος είναι, δεν ξέρω, όπως και 64 χαρακτήρες. 636 00:30:28,580 --> 00:30:31,780 Δεν μπορώ να σκεφτώ οποιαδήποτε φίλους που έχουν ονόματα μεγαλύτερα από 64 χαρακτήρες, 637 00:30:31,780 --> 00:30:34,810 ακόμη και αν αυτό είναι πάρα πολύ μικρή θα μπορούσατε σίγουρα χτύπημα μέχρι αυθαίρετα. 638 00:30:34,810 --> 00:30:37,330 >> Έτσι varchar είναι μια μεταβλητή αριθμό των χαρακτήρων. 639 00:30:37,330 --> 00:30:41,010 Το κείμενο δεν είναι μια κακή ένστικτο, και ειλικρινά ότι το είδος της κάνει ό, τι λέει, 640 00:30:41,010 --> 00:30:45,460 αλλά ένα πεδίο κειμένου μπορεί να είναι σαν 65.000 bytes τουλάχιστον. 641 00:30:45,460 --> 00:30:50,790 Αυτό είναι μάλλον υπερβολή για ένα τομέα, και στην πραγματικότητα, yup, 65.535. 642 00:30:50,790 --> 00:30:53,740 Αυτό είναι μάλλον υπερβολή για ένα όνομα, έτσι θα κολλήσει, κατά κανόνα, 643 00:30:53,740 --> 00:30:56,910 με varchars για έγγραφες τομέα και κατακερματισμού, πάρα πολύ. 644 00:30:56,910 --> 00:30:59,990 Hash, αποδεικνύεται, θα μπορούσαμε να κάνουμε μια varchar καθώς ή κάτι τέτοιο, 645 00:30:59,990 --> 00:31:03,080 αλλά εμείς δεν θα επικεντρωθεί σήμερα για το κρυπτογραφία εκεί και οι αριθμοί 646 00:31:03,080 --> 00:31:05,210 ότι θα μπορούσαμε πραγματικά θέλετε να χρησιμοποιήσετε για το μήκος της. 647 00:31:05,210 --> 00:31:07,430 >> Αλλά επιτρέψτε μου να μετακινηθείτε προς τα κάτω προς τα δεξιά. 648 00:31:07,430 --> 00:31:11,280 Μπορείτε να έχετε μόνο μία πρωτεύον ευρετήριο για έναν πίνακα, 649 00:31:11,280 --> 00:31:16,380 αλλά δεν θέλω να εφαρμόσετε κάποια από αυτές, τώρα, με το όνομα χρήστη, θα λέγατε; 650 00:31:16,380 --> 00:31:21,980 Τι θα πρέπει το όνομα χρήστη πρέπει να βασίζεται σε μια αόριστη κατανόηση αυτών των τεσσάρων επιλογών; 651 00:31:21,980 --> 00:31:23,340 Απλά με το όνομά τους; 652 00:31:23,340 --> 00:31:24,140 >> ΚΟΙΝΟ: Μοναδικό. 653 00:31:24,140 --> 00:31:25,100 >> David J. Malan: τόσο μοναδικό, σωστά; 654 00:31:25,100 --> 00:31:28,190 Έτσι αποδεικνύεται ότι όχι μόνο θα μπορούσε να σας πω μια βάση δεδομένων, εκ των προτέρων, 655 00:31:28,190 --> 00:31:30,380 Αυτό είναι ο πρωταρχικός τρόπος προσδιορισμό πεδίων. 656 00:31:30,380 --> 00:31:32,990 Μπορείτε, επίσης, να πω ότι αυτό είναι πρόκειται να είναι ένα μοναδικό πεδίο. 657 00:31:32,990 --> 00:31:34,700 Δεν πρόκειται να είναι το πράγμα που έχω επικαλεστεί, 658 00:31:34,700 --> 00:31:38,490 αλλά θα ήθελα τη βάση δεδομένων για να έχουν κατ 'ουσίαν, ότι αν η κατάσταση, έτσι 659 00:31:38,490 --> 00:31:42,340 ότι και αν έχω δοκιμάσει ποτέ να εγγραφείτε δύο χρήστες με το ίδιο όνομα, 660 00:31:42,340 --> 00:31:44,360 η βάση δεδομένων κατ 'έξω Δεν πρόκειται να με αφήσει. 661 00:31:44,360 --> 00:31:47,490 Θα ήθελα να έχουν κάποια επιπλέον κώδικα σε PHP που εμποδίζει τόσο πολύ, 662 00:31:47,490 --> 00:31:50,640 αλλά η βάση δεδομένων, επίσης, μπορεί να εξασφαλίσει ότι ποτέ δεν πρόκειται να συμβεί. 663 00:31:50,640 --> 00:31:53,370 >> Τώρα, ως ένα μέρος, ιδίως σε ό, η γνώμη σας για την τελική έργων, 664 00:31:53,370 --> 00:31:57,030 να έχετε κατά νου το δείκτη και πλήρη το κείμενο είναι πραγματικά αρκετά χρήσιμα. 665 00:31:57,030 --> 00:32:01,080 Εάν έχετε μια μεγαλύτερη βάση δεδομένων, όχι με δεκάδες, αλλά εκατοντάδες ή χιλιάδες 666 00:32:01,080 --> 00:32:05,270 ή ακόμα και εκατομμύρια των πεδίων, μπορείτε να επίσης να ενημερώσετε τη βάση δεδομένων εκ των προτέρων 667 00:32:05,270 --> 00:32:07,980 Αυτό είναι ένα πεδίο Πάω να ψάχνουν για μια παρτίδα. 668 00:32:07,980 --> 00:32:10,520 Ίσως το όνομα του, ίσως είναι βιολογικά, αν είστε 669 00:32:10,520 --> 00:32:13,750 κάνοντας ένα Facebook μοιάζει με ιστοσελίδα που έχει παραγράφους που ο χρήστης επέτρεψε 670 00:32:13,750 --> 00:32:16,799 για να σώσει, και αν θέλετε να πει τη βάση δεδομένων εκ των προτέρων 671 00:32:16,799 --> 00:32:20,090 Πάω να ψάχνουν σε αυτό το πεδίο πολλά, αλλά δεν είναι απαραίτητα το μοναδικό, 672 00:32:20,090 --> 00:32:22,800 μπορείτε να καθορίσετε τη δημιουργία μου ένα ευρετήριο. 673 00:32:22,800 --> 00:32:27,990 Ή, μπορείτε να πείτε, επίσης, να μου επιτρέψετε να κάνω το είδος των αυθαίρετων αναζητήσεις όπως Εντολή 674 00:32:27,990 --> 00:32:30,420 ή Control F, όπως σας θα μπορούσε σε έναν επεξεργαστή κειμένου, 675 00:32:30,420 --> 00:32:34,184 ώστε να μπορείτε να δείτε αυθαίρετη χορδές ή substrings σε αυτόν τον τομέα. 676 00:32:34,184 --> 00:32:36,600 Με άλλα λόγια, παίρνουμε στο σημείο στο εξάμηνο 677 00:32:36,600 --> 00:32:40,720 όπου δεν έχετε να ανησυχείτε για πώς να εφαρμόσουν αποτελεσματικά τα πράγματα. 678 00:32:40,720 --> 00:32:44,540 Απλά πρέπει να γνωρίζουν σχετικά με το τι σχεδιαστικές αποφάσεις για να κάνουν έτσι ώστε να είστε 679 00:32:44,540 --> 00:32:48,470 χρησιμοποιώντας τα κατάλληλα εργαλεία για την το εμπόριο, προκειμένου να τονωθούν τα χαρακτηριστικά 680 00:32:48,470 --> 00:32:50,380 ότι οι άλλοι άνθρωποι έχουν χτίσει για εσάς. 681 00:32:50,380 --> 00:32:54,240 Έτσι, για να ανακεφαλαιώσουμε, πρωτοβάθμια πρέπει μόνο έχουν ένα, μπορείτε να έχετε μόνο μία, 682 00:32:54,240 --> 00:32:59,630 και αυτό είναι το πράγμα είστε δέσμευση για χρησιμοποιώντας για τον εντοπισμό πεδίων μοναδικά. 683 00:32:59,630 --> 00:33:02,710 Μοναδική είναι ακριβώς όμοια με το πνεύμα, αλλά ίσως μόνο περιστασιακά να χρησιμοποιήσει, 684 00:33:02,710 --> 00:33:04,530 αλλά θέλετε η βάση δεδομένων για να επιβάλει. 685 00:33:04,530 --> 00:33:08,050 Δείκτης σημαίνει απλά προληπτικά επιταχυνθούν τα πράγματα στο μέλλον 686 00:33:08,050 --> 00:33:10,230 έτσι ώστε να μπορώ να ψάξετε για πράγματα σε αυτόν τον τομέα. 687 00:33:10,230 --> 00:33:13,700 Και στη συνέχεια πλήρες κείμενο είναι γενικά για παραγράφους, ή δοκίμια, ή μεγάλα σώματα 688 00:33:13,700 --> 00:33:16,270 του κειμένου, όπου μπορείτε Ίσως επίσης να θέλετε να έχετε 689 00:33:16,270 --> 00:33:19,420 wild cards όπως το ισοδύναμο των αστέρων. 690 00:33:19,420 --> 00:33:19,920 Δεξιά. 691 00:33:19,920 --> 00:33:22,580 >> Έτσι, αυτό ήταν το είδος του πολλά σε όλα με τη μία. 692 00:33:22,580 --> 00:33:25,220 Ας δούμε αν δεν μπορούμε να αποστάξει ένα ζευγάρι από αυτά τα χαρακτηριστικά 693 00:33:25,220 --> 00:33:29,540 και στη συνέχεια να οικοδομήσουμε κάτι αρκετά απλό, αλλά ισχυρό. 694 00:33:29,540 --> 00:33:31,380 Έτσι, μεταξύ των άλλων σχεδιαστικές αποφάσεις είστε 695 00:33:31,380 --> 00:33:34,005 τελικά, πρόκειται να έχει το μήκος οι γραμμές των κινητήρων αποθήκευσης. 696 00:33:34,005 --> 00:33:37,370 Και επιτρέψτε μου να κάνω αναφορά σε αυτό εν αναμονή των τελικών σχεδίων, 697 00:33:37,370 --> 00:33:42,020 και της πρόβλεψης των ας say-- όχι ας το κάνουμε αυτό. 698 00:33:42,020 --> 00:33:43,820 Ας χτίσουμε αυτό το μικρό πρώτη εφαρμογή. 699 00:33:43,820 --> 00:33:48,070 Πάω να μπω σε τερματικό μου παράθυρο, και εδώ δεν είναι 700 00:33:48,070 --> 00:33:52,500 μόνο counter.php, που είμαστε τώρα θα να απαλλαγούμε από όσο πλέον σχετικός, 701 00:33:52,500 --> 00:33:54,570 αλλά έχουμε ένα σωρό των καταλόγων και αυτό 702 00:33:54,570 --> 00:33:58,080 πρόκειται να είναι πολύ παρόμοια με το πνεύμα σε ό, τι θα δείτε στο πρόβλημα που επτά. 703 00:33:58,080 --> 00:34:00,980 >> Έτσι έχουμε τρεις καταλόγους περιλαμβάνει δημόσιους και πρότυπα, τα οποία 704 00:34:00,980 --> 00:34:05,040 Είναι ακριβώς εκεί που είχαμε μείνει στο Τη Δευτέρα με ολόκληρο το MVC μας παράδειγμα. 705 00:34:05,040 --> 00:34:09,290 Και για να ανακεφαλαιώσουμε, σε δημόσιους πρόκειται να πάει κάθε αρχείο που θέλω χρήστες πραγματικότητα 706 00:34:09,290 --> 00:34:12,969 v να είναι σε θέση να επισκεφθείτε το browser τους μέσω του URL. 707 00:34:12,969 --> 00:34:13,502 Πρότυπο. 708 00:34:13,502 --> 00:34:14,710 Τι βάζουμε σε πρότυπα; 709 00:34:14,710 --> 00:34:17,070 Τι είδους πράγματα; 710 00:34:17,070 --> 00:34:21,659 Εκεί δεν ήταν πολύ, αλλά ένα ζευγάρι αρχεία τουλάχιστον τη Δευτέρα. 711 00:34:21,659 --> 00:34:22,619 Ναι. 712 00:34:22,619 --> 00:34:23,100 >> ΚΟΙΝΟ: Κεφαλίδα και υποσέλιδο; 713 00:34:23,100 --> 00:34:24,516 >> David J. Malan: Κεφαλίδα και υποσέλιδο. 714 00:34:24,516 --> 00:34:26,679 Έτσι έχουμε κάτι παρόμοιο και σήμερα, πάρα πολύ. 715 00:34:26,679 --> 00:34:30,330 Έχουμε μερικά περισσότερα αρχεία, αλλά Υποσέλιδο βλέπω, Header βλέπω, 716 00:34:30,330 --> 00:34:31,909 και στη συνέχεια ένα σωρό άλλα αρχεία. 717 00:34:31,909 --> 00:34:35,482 Έτσι, αυτό είναι το ισοδύναμο από την άποψη V MVC, το οποίο, 718 00:34:35,482 --> 00:34:37,690 και πάλι, θα είναι λίγο πιο σαφές στο πρόβλημα που επτά, 719 00:34:37,690 --> 00:34:40,380 αλλά αυτό είναι μόνο ένα φάκελο είμαι βάζοντας πολλά αισθητικής μου. 720 00:34:40,380 --> 00:34:42,840 Πολλοί HTML μου, πολλές μορφές μου. 721 00:34:42,840 --> 00:34:46,899 Εν τω μεταξύ, περιλαμβάνει, είναι μια άλλη κατάλογο που έχει αυτά τα τρία αρχεία 722 00:34:46,899 --> 00:34:48,440 και ας ρίξουμε μια γρήγορη ματιά σε αυτά. 723 00:34:48,440 --> 00:34:51,699 >> Πάω να πάει μπροστά και να ανοίξει το config.php. 724 00:34:51,699 --> 00:34:54,610 Όπως αποδεικνύεται, πολύ όπως νωρίτερα στον όρο, 725 00:34:54,610 --> 00:34:57,850 που περιλαμβάνονται απότομη CS50 dot h με pset7. 726 00:34:57,850 --> 00:35:00,780 Στο σημερινό παράδειγμα, θα πάμε για να κάνει το ισοδύναμο του ότι 727 00:35:00,780 --> 00:35:03,600 με έναν απαιτούν δήλωση ότι η αποτελεσματική 728 00:35:03,600 --> 00:35:05,340 περιλαμβάνει αυτές τις λίγες γραμμές. 729 00:35:05,340 --> 00:35:08,225 Έτσι, για να είναι σαφής, αυτό είναι ένα αρχείο που ονομάζεται config.php. 730 00:35:08,225 --> 00:35:09,350 Και παρατηρήσετε τι κάνει. 731 00:35:09,350 --> 00:35:11,970 Είναι προφανώς να κάνει κάτι αινιγματικά, μετατρέποντας σε μηνύματα λάθους 732 00:35:11,970 --> 00:35:13,680 έτσι ώστε να μπορείτε να τα δείτε στο πρόγραμμα περιήγησης. 733 00:35:13,680 --> 00:35:15,860 Είναι, λοιπόν, προφανώς που απαιτεί δύο άλλα αρχεία 734 00:35:15,860 --> 00:35:19,530 έτσι αυτό είναι σαν #include στην C, και, στη συνέχεια, αυτό που είδε, 735 00:35:19,530 --> 00:35:22,720 και έχουμε επικαλέστηκε, αυτό μετατρέπεται σε ότι το καλάθι αγορών όπως η λειτουργικότητα. 736 00:35:22,720 --> 00:35:25,610 >> Αυτό σημαίνει ότι ένα cookie θα να σταλεί πίσω και εμπρός. 737 00:35:25,610 --> 00:35:27,290 Γιατί λοιπόν είναι αυτό το ενδιαφέρον; 738 00:35:27,290 --> 00:35:32,460 Λοιπόν, αν πάμε πίσω σε αυτό καταλόγου και να ανοίξουν, για παράδειγμα, 739 00:35:32,460 --> 00:35:33,741 constance.php. 740 00:35:33,741 --> 00:35:38,840 Παρατηρήστε ότι η PHP κάνει σταθερές υποστήριξης, δεν είναι αρκετά όπως #define στη Γ 741 00:35:38,840 --> 00:35:41,290 Αντ 'αυτού, μπορείτε κυριολεκτικά λένε ορίζεται και ειδοποίηση 742 00:35:41,290 --> 00:35:44,110 ότι έχω αποθηκευμένες εκ των προτέρων τέσσερις σταθερές σε αυτό το αρχείο. 743 00:35:44,110 --> 00:35:47,020 Μία για τη σημερινή βάση δεδομένων, για τον κωδικό μου, για όνομα μου, 744 00:35:47,020 --> 00:35:48,690 και για το όνομα του διακομιστή. 745 00:35:48,690 --> 00:35:51,644 Έτσι, αυτά είναι πραγματικά πρόκειται να είναι αρκετά παρόμοιο με το πρόβλημα που επτά. 746 00:35:51,644 --> 00:35:54,560 Και τέλος, και αυτό είναι όπου είμαι πρόκειται να πάρετε κάποια ωραία λειτουργικότητα 747 00:35:54,560 --> 00:35:59,000 από το προσωπικό, σε functions.php είναι ένα μάτσο κώδικα που έχω γράψει, 748 00:35:59,000 --> 00:36:01,040 και έκλεψα μερικά από αυτό από το πρόβλημα που επτά 749 00:36:01,040 --> 00:36:05,920 για σήμερα, ότι κάνει ένα σωρό πράγματα και ας δούμε ένα από αυτά 750 00:36:05,920 --> 00:36:07,270 ειδικότερα. 751 00:36:07,270 --> 00:36:09,720 Η λειτουργία αυτή εδώ, ερώτημα, πρόκειται να είναι 752 00:36:09,720 --> 00:36:13,600 η λειτουργία PHP καλούμε προκειμένου να εκτελέσει SQL. 753 00:36:13,600 --> 00:36:16,070 Πριν από μια στιγμή ήμασταν χρησιμοποιώντας phpMyAdmin, αλλά αυτό είναι μόνο 754 00:36:16,070 --> 00:36:18,720 για το είδος των μαθησιακούς σκοπούς και διαγνωστικούς σκοπούς 755 00:36:18,720 --> 00:36:20,494 και ξεχνώντας σύνολο της βάσης δεδομένων σας. 756 00:36:20,494 --> 00:36:22,660 Όταν μπορείτε πραγματικά να χρησιμοποιήσετε σας βάση δεδομένων, μπορείτε, το ανθρώπινο, 757 00:36:22,660 --> 00:36:24,100 είναι προφανές ότι δεν πρόκειται να το τράβηγμα μέχρι ένα web 758 00:36:24,100 --> 00:36:25,740 σελίδα κάθε φορά που κάποιος καταγράφει. 759 00:36:25,740 --> 00:36:29,870 Θα πάμε για να γράφουν κώδικα ο οποίος ένθετα και διαγράφει χρήστες σε πρώτη ζήτηση, 760 00:36:29,870 --> 00:36:32,490 και θα πάμε να το κάνουμε αυτό μέσω της λειτουργίας ερωτήματος. 761 00:36:32,490 --> 00:36:35,360 Αν τώρα μετακινηθείτε προς τα κάτω, δεν υπάρχει πρόκειται να είναι μερικά ακόμη χαρακτηριστικά. 762 00:36:35,360 --> 00:36:37,170 Επαναπροώθηση πρόκειται να είναι μια λειτουργία που γράψαμε 763 00:36:37,170 --> 00:36:40,160 για σας που σας επιτρέπει να στείλετε το χρήστη σε μια άλλη διεύθυνση URL, 764 00:36:40,160 --> 00:36:43,780 και να καταστήσουν είναι μια λειτουργία, αρκετά όπως είδαμε τη Δευτέρα, ότι καθιστά στην πραγματικότητα 765 00:36:43,780 --> 00:36:48,000 ένα πρότυπο, αλλά περισσότερο σε αυτούς τους τομείς η μορφή της δικής πόδια pset7 μέσα. 766 00:36:48,000 --> 00:36:50,500 Για τώρα, ας πάμε μπροστά και να το κάνουμε αυτό. 767 00:36:50,500 --> 00:36:54,860 >> Επιτρέψτε μου να πάω σε διαλέξεις τραπέζι μου και δείτε ότι δεν υπάρχει επί του παρόντος τίποτα 768 00:36:54,860 --> 00:36:59,640 εδώ ακριβώς ακόμα, και επιτρέψτε μου επίσης να πάτε σε δημόσιο κατάλογο μου, όπου 769 00:36:59,640 --> 00:37:02,780 υπάρχει μόνο ένα αρχείο, το index.php. 770 00:37:02,780 --> 00:37:06,920 Αυτό το αρχείο φαίνεται να είναι εξαιρετικά απλή αυτή τη στιγμή, φαίνεται ακριβώς όπως αυτό. 771 00:37:06,920 --> 00:37:09,110 Μοιάζει πολύ με το πώς εμείς σταματήσατε τη Δευτέρα. 772 00:37:09,110 --> 00:37:11,945 Είμαι απαιτούν αυτό το αρχείο, config.php, η οποία είναι 773 00:37:11,945 --> 00:37:15,160 ένα περιλαμβάνει τον κατάλογο, η οποία είναι σε dot dot, οι γονείς μου, 774 00:37:15,160 --> 00:37:17,650 και, στη συνέχεια, είναι ακριβώς καθιστώντας αυτό το αρχείο. 775 00:37:17,650 --> 00:37:18,960 Έτσι τι είναι αυτό το αρχείο; 776 00:37:18,960 --> 00:37:24,700 >> Ας ανοίξει σε πρότυπά μου form.php, και θα δούμε αυτό. 777 00:37:24,700 --> 00:37:28,500 Σούπερ απλό, προφανώς αυτή η μορφή είναι πρόκειται να υποβάλει από $ _GET ή $ _POST. 778 00:37:28,500 --> 00:37:29,320 Γρήγορη έλεγχος ασφαλείας. 779 00:37:29,320 --> 00:37:33,760 780 00:37:33,760 --> 00:37:35,690 Κυριολεκτικά αναζήτηση οπτικά το αρχείο. 781 00:37:35,690 --> 00:37:36,610 Μέθοδος ισούται με το ταχυδρομείο. 782 00:37:36,610 --> 00:37:39,280 Έτσι, δεν πρόκειται να χρησιμοποιήσετε τη διεύθυνση URL, όπως Η Google κάνει, πρόκειται να ταξινομήσετε απόκρυψη 783 00:37:39,280 --> 00:37:41,030 η πληροφορία πίσω οι σκηνές και είναι 784 00:37:41,030 --> 00:37:43,580 πρόκειται να υποβάλει στο αρχείο που ονομάζεται register.php, 785 00:37:43,580 --> 00:37:45,660 και αυτό είναι το αρχείο δεν έχουμε ακόμη γραπτή 786 00:37:45,660 --> 00:37:47,610 αλλά τι αυτό πρόκειται να μοιάσει είναι αυτό. 787 00:37:47,610 --> 00:37:52,670 >> Αν πάω σε μια ξεχωριστή σελίδα Αυτό είναι τι localhost / index.php μοιάζει. 788 00:37:52,670 --> 00:37:56,930 Και πάλι, το διακομιστή απλά υποθέτοντας index.php. 789 00:37:56,930 --> 00:37:57,910 Enter. 790 00:37:57,910 --> 00:37:59,870 Έτσι, αυτό είναι όπου είμαστε σε, και αυτό που θέλω να κάνω 791 00:37:59,870 --> 00:38:02,450 είναι να είναι σε θέση να πληκτρολογήσετε τα πράγματα σαν τον Δαβίδ, και στη συνέχεια, 792 00:38:02,450 --> 00:38:08,050 τον αριθμό του τηλεφώνου μου, που θα πει 617-555-1212 για τώρα, εγγραφείτε 793 00:38:08,050 --> 00:38:09,910 και τώρα register.php δεν βρέθηκε. 794 00:38:09,910 --> 00:38:11,440 Γι 'αυτό πρέπει να εφαρμόσουν αυτό. 795 00:38:11,440 --> 00:38:13,320 Ας γρήγορα μαστίγιο κάτι σαν αυτό επάνω. 796 00:38:13,320 --> 00:38:18,640 Επιτρέψτε μου να πάω σε δημόσιο κατάλογο μου και να κάνει το gedit της register.php, 797 00:38:18,640 --> 00:38:22,300 και τώρα είμαι πρόκειται να πάει μπροστά και να ξεκινήσετε τη λειτουργία της PHP, όπως κάναμε τη Δευτέρα, 798 00:38:22,300 --> 00:38:25,430 και ετικέτα κλείσιμο της PHP, και ας κάνουμε μια-δυο πράγματα. 799 00:38:25,430 --> 00:38:28,336 >> Έτσι, ένα, το ξέρω, από έχει γράψει αυτή τη μορφή, 800 00:38:28,336 --> 00:38:29,960 ότι θέλω να ελέγξει για την επόμενη. 801 00:38:29,960 --> 00:38:35,670 Αν είναι άδειο, ανεξάρτητα από το χρήστη πληκτρολογήσει μέσα στο πεδίο ονόματος, στη συνέχεια, 802 00:38:35,670 --> 00:38:39,860 Πάω να πω κάτι σαν συγγνώμη λείπει το όνομα του. 803 00:38:39,860 --> 00:38:42,380 Συγγνώμη, εν τω μεταξύ, είναι δεν είναι ενσωματωμένη στην PHP πράγμα, 804 00:38:42,380 --> 00:38:45,970 Είναι μια λειτουργία που γράψαμε σε functions.php για pset7 805 00:38:45,970 --> 00:38:47,940 έτσι ώστε να έχετε πρόσβαση σε αυτό. 806 00:38:47,940 --> 00:38:53,830 Αλλιώς, αν το άλλο πεδίο είναι κενή, αριθμός, τότε είμαι 807 00:38:53,830 --> 00:38:58,370 πρόκειται να ζητήσω συγγνώμη από το χρήστη και να πω τον αριθμό που λείπει. 808 00:38:58,370 --> 00:38:59,320 Αποθηκεύστε αυτό το αρχείο. 809 00:38:59,320 --> 00:39:02,640 >> Τώρα, ας πάμε πίσω στον browser μου, πάει πίσω στο forum προσπαθήστε ξανά. 810 00:39:02,640 --> 00:39:04,070 Εγγραφείτε. 811 00:39:04,070 --> 00:39:05,090 ΟΚ. 812 00:39:05,090 --> 00:39:06,730 Τίποτα δεν συνέβη, πράγμα που είναι καλό. 813 00:39:06,730 --> 00:39:08,120 Δεν είχα πάρει ένα μήνυμα σφάλματος. 814 00:39:08,120 --> 00:39:11,651 Αλλά αν αντί, ας reload αυτό σελίδα, και δεν παρέχει τίποτα. 815 00:39:11,651 --> 00:39:12,150 Γαμώτο. 816 00:39:12,150 --> 00:39:15,350 817 00:39:15,350 --> 00:39:17,140 Πιστεύετε ότι. 818 00:39:17,140 --> 00:39:18,810 Εγγραφείτε. 819 00:39:18,810 --> 00:39:20,350 Τι έκανα λάθος; 820 00:39:20,350 --> 00:39:24,860 Εάν κενό, το όνομα $ _POST. 821 00:39:24,860 --> 00:39:26,350 Πείτε ξανά; 822 00:39:26,350 --> 00:39:27,670 >> Ω, βέβαια. 823 00:39:27,670 --> 00:39:30,919 Ξέχασα το πιο σημαντικό μέρος, το οποίο Είναι απαιτούν ("../ includes / config.php."). 824 00:39:30,919 --> 00:39:34,210 825 00:39:34,210 --> 00:39:36,460 Χρειάζομαι να έχω πρόσβαση στην συγγνώμη λειτουργία, η οποία 826 00:39:36,460 --> 00:39:37,770 Γι 'αυτό τίποτα δεν συνέβαινε. 827 00:39:37,770 --> 00:39:39,460 Η λειτουργία αυτή δεν υπάρχει στην πραγματικότητα. 828 00:39:39,460 --> 00:39:40,640 Οπότε ας προσπαθήσουμε ξανά. 829 00:39:40,640 --> 00:39:42,350 Ας επαναλάβετε τη φόρτωση της σελίδας, κάντε κλικ στο Εγγραφή. 830 00:39:42,350 --> 00:39:43,060 ΟΚ. 831 00:39:43,060 --> 00:39:43,770 Εκεί είναι. 832 00:39:43,770 --> 00:39:45,700 Έτσι, η έξοδος είμαστε βλέπουμε εδώ είναι το αποτέλεσμα 833 00:39:45,700 --> 00:39:47,685 του καλώντας μια συγνώμη λειτουργία, εξαιρετικά απλή, 834 00:39:47,685 --> 00:39:50,060 και εκτυπώνει ακριβώς έξω ανεξαρτήτως Σας το δίνω ως επιχείρημα. 835 00:39:50,060 --> 00:39:51,370 >> Εντάξει, ας συνεργαστούν. 836 00:39:51,370 --> 00:39:54,240 Ας δώσετε το όνομά μου όπως ο David, εγγραφείτε, 837 00:39:54,240 --> 00:39:56,890 αγνοούμενα ΟΚ ας προβλέπουν ότι, πάρα πολύ. 838 00:39:56,890 --> 00:39:58,650 617-555-1212. 839 00:39:58,650 --> 00:39:59,250 Εγγραφείτε. 840 00:39:59,250 --> 00:39:59,750 ΟΚ. 841 00:39:59,750 --> 00:40:02,760 Έτσι, όλα είναι καλά τώρα, απλά τίποτα ενδιαφέρον συμβαίνει. 842 00:40:02,760 --> 00:40:06,000 Έτσι τώρα ας κάνουμε κάτι περισσότερο ενδιαφέρουσα συμβεί σαν αυτό. 843 00:40:06,000 --> 00:40:09,980 Επιτρέψτε μου να πάω στο phpMyAdmin, και ας πραγματικά να δημιουργήσετε έναν πίνακα που ονομάζεται χρηστών, 844 00:40:09,980 --> 00:40:12,330 Πάω να του δώσει τρεις στήλες, και εγώ θα γρήγορα 845 00:40:12,330 --> 00:40:16,250 τη δημιουργία ταυτότητας, και, στη συνέχεια, όνομα, και στη συνέχεια τον αριθμό, 846 00:40:16,250 --> 00:40:18,832 και το πεδίο ID είμαι πρόκειται να φύγει ως int. 847 00:40:18,832 --> 00:40:20,790 Το πεδίο όνομα Πάω να φύγει ως varchar, 848 00:40:20,790 --> 00:40:23,257 και εμείς θα πούμε 64, κάπως αυθαίρετα. 849 00:40:23,257 --> 00:40:25,090 Ο αριθμός Πάω να κάνει, ξέρετε τι; 850 00:40:25,090 --> 00:40:27,350 Εμείς πάμε σε υποστηρίζουν τους αριθμούς των ΗΠΑ εδώ, 851 00:40:27,350 --> 00:40:31,510 έτσι Πάω να κάνω κάτι όπως το κάρβουνο και στη συνέχεια 10 χαρακτήρες 852 00:40:31,510 --> 00:40:34,540 max για τον κωδικό περιοχής και, στη συνέχεια, επτά ψηφία. 853 00:40:34,540 --> 00:40:37,870 Και στη συνέχεια, εδώ, θα πάω να καθορίστε την αυτόματη αύξηση αυτό το πεδίο, 854 00:40:37,870 --> 00:40:40,550 κάνουν αυτό ένα πρωτεύον κλειδί, και Πάω να πάει μπροστά και να μην 855 00:40:40,550 --> 00:40:42,240 ελέγξετε οποιοδήποτε από αυτά τα άλλα κουτιά. 856 00:40:42,240 --> 00:40:48,030 >> Έτσι, όταν επιτέλους κλικ στο κουμπί Αποθήκευση, και πάω πίσω στους χρήστες τραπέζι μου, 857 00:40:48,030 --> 00:40:52,270 Αυτό είναι ό, τι μοιάζει, αν μου τώρα κάντε κλικ σε μια δομή Νέα καρτέλα. 858 00:40:52,270 --> 00:40:54,550 Γι αυτό, για να είναι σαφής, είναι ακριβώς ο τρόπος phpMyAdmin του 859 00:40:54,550 --> 00:40:58,570 του λέγοντας πίνακα της βάσης δεδομένων σας έχει μια ταυτότητα, ένα όνομα και έναν αριθμό 860 00:40:58,570 --> 00:41:02,040 με τις συγκεκριμένες διαμορφώσεις και θα αγνοήσει το υπόλοιπο των πεδίων 861 00:41:02,040 --> 00:41:03,140 εκεί για τώρα. 862 00:41:03,140 --> 00:41:04,810 >> Έτσι, τώρα τι θέλω να κάνω; 863 00:41:04,810 --> 00:41:09,060 Έτσι αν πάω τώρα σε μου πηγαίο κώδικα, αν όλα είναι καλά 864 00:41:09,060 --> 00:41:11,190 Θέλω να εκτελέσει το ακόλουθο ερώτημα. 865 00:41:11,190 --> 00:41:14,970 Τοποθετήστε σε, και μπορώ μόνο λένε οι χρήστες δεν κάνουν απολύτως 866 00:41:14,970 --> 00:41:18,620 Πρέπει εκείνοι πίσω τσιμπούρια αν είναι δεν είναι μια επικίνδυνη λέξη, όπως οι χρήστες. 867 00:41:18,620 --> 00:41:22,810 Πάω να πω το όνομα, αριθμό, και στη συνέχεια, εδώ είμαι 868 00:41:22,810 --> 00:41:24,960 δεν πρόκειται να σκληρό κωδικό ο ψηφίο των τιμών ακόμα. 869 00:41:24,960 --> 00:41:26,760 Πάω να βάλει δύο ερωτηματικά. 870 00:41:26,760 --> 00:41:29,320 Και αυτό είναι μια σύμβαση σε πολλές γλώσσες 871 00:41:29,320 --> 00:41:31,730 σύμφωνα με την οποία αν θέλετε να έχετε ένα σύμβολο κράτησης θέσης για ένα string 872 00:41:31,730 --> 00:41:34,105 θα πάμε να χρησιμοποιήσετε το ερώτημα σήματα, για λόγους που θα 873 00:41:34,105 --> 00:41:36,370 έρχονται πίσω για να κουβεντιάσει για ασφάλειας, και εδώ 874 00:41:36,370 --> 00:41:39,420 Πάω να περάσει σε εκείνους δύο πεδία μετά το όνομα, 875 00:41:39,420 --> 00:41:44,850 και στη συνέχεια, μετά τον αριθμό, και τώρα να αποθηκεύσετε το αρχείο. 876 00:41:44,850 --> 00:41:47,090 >> Και τώρα πάω να πηγαίνετε εδώ κάτω είναι ένα σούπερ 877 00:41:47,090 --> 00:41:55,690 απλά να πω rendersuccess.php, η οποία πρόκειται να είναι ένα άλλο πρότυπο. 878 00:41:55,690 --> 00:41:57,380 Πάω να δημιουργήσει πολύ γρήγορα. 879 00:41:57,380 --> 00:42:06,270 Geditsuccess.php και είμαι απλώς πρόκειται για να πω την επιτυχία Η1 σε αυτό το αρχείο. 880 00:42:06,270 --> 00:42:06,990 Εντάξει. 881 00:42:06,990 --> 00:42:11,312 Έτσι τώρα, ας πάμε πίσω στο πρόγραμμα περιήγησης, όπου επισκέφθηκα πριν. 882 00:42:11,312 --> 00:42:14,270 Ας πάμε μπροστά και να επιβεβαιώσω έγραψα στο Δαβίδ, έγραψα σε έναν αριθμό τηλεφώνου, 883 00:42:14,270 --> 00:42:15,390 εγγραφείτε. 884 00:42:15,390 --> 00:42:16,100 Γαμώτο. 885 00:42:16,100 --> 00:42:17,420 Τι έκανα λάθος; 886 00:42:17,420 --> 00:42:20,850 Έτσι βλέπω ένα λάθος εδώ, έχουν ένα σφάλμα στη σύνταξη SQL σας. 887 00:42:20,850 --> 00:42:24,900 Επιτρέψτε μου να πηδήσει πίσω στο gedit, ας Θέλω να πάω πίσω για να register.php, 888 00:42:24,900 --> 00:42:28,830 και τι δεν παραλείπω ότι Ήταν σημαντικό για τελευταία φορά; 889 00:42:28,830 --> 00:42:29,722 Χρειάζομαι αυτό. 890 00:42:29,722 --> 00:42:32,930 Θέλετε να γνωρίζετε ότι εκτός από από έχουν παρατηρήσει πριν, αλλά χρειάζομαι αυτό. 891 00:42:32,930 --> 00:42:35,596 >> Έτσι τώρα ας πάμε πίσω, και αυτό ήταν χρήσιμο να δούμε στο πρόγραμμα περιήγησης 892 00:42:35,596 --> 00:42:37,680 και γι 'αυτό στο αρχείο config.php θα φτύσει λάθη. 893 00:42:37,680 --> 00:42:41,770 Ας πάμε μπροστά και να φορτώσετε εκ νέου, κάντε κλικ στην επιλογή Συνέχεια, επιτυχία. 894 00:42:41,770 --> 00:42:47,060 Έτσι, τώρα επιτρέψτε μου να πάω πάνω να μου βάση δεδομένων εδώ και κάντε κλικ σε χρήστες, 895 00:42:47,060 --> 00:42:51,680 και να περιηγηθείτε, και παρατηρήσετε εγώ τώρα έχουν Δαβίδ στη βάση δεδομένων μου εδώ. 896 00:42:51,680 --> 00:42:55,810 Τώρα τεχνικά αυτή η ιστοσελίδα είναι δεν είναι ακόμα στο δημόσιο διαδίκτυο, 897 00:42:55,810 --> 00:42:57,890 έτσι δεν μπορώ να έχω άλλο οι άνθρωποι στην τοποθέτηση εδώ, 898 00:42:57,890 --> 00:43:01,120 αλλά αν εγώ τώρα ήθελε να, για παράδειγμα, στείλτε μου ένα μήνυμα κειμένου. 899 00:43:01,120 --> 00:43:03,920 Ας πάει έξω σε ένα άκρο εδώ και να δούμε αν αυτό λειτουργεί πραγματικά. 900 00:43:03,920 --> 00:43:07,331 Πάω να πάει μπροστά και να διαγράψετε αυτή την γραμμή 901 00:43:07,331 --> 00:43:09,080 και θα θολώσουν αυτό στο βίντεο αργότερα 902 00:43:09,080 --> 00:43:11,900 έτσι δεν έχουμε το ολόκληρο το Internet γραπτών μηνυμάτων μου, 903 00:43:11,900 --> 00:43:17,270 και τώρα θα πάμε μέχρι το browser και θα πάμε πάνω για να διαλέξεις 904 00:43:17,270 --> 00:43:22,040 και εμείς θα πληκτρολογήσετε διαφορετικά αριθμό εδώ, εγγραφείτε, επιτυχία. 905 00:43:22,040 --> 00:43:25,550 >> Μέχρι τώρα, ο δικός μου αριθμός είναι πιθανώς σε η βάση δεδομένων, και τώρα το διασκεδαστικό μέρος. 906 00:43:25,550 --> 00:43:28,774 Ας πραγματικά τη χρήση της PHP για να κάνουμε κάτι προγραμματισμού, 907 00:43:28,774 --> 00:43:30,940 είτε από την εντολή γραμμή ή από κάπου αλλού, 908 00:43:30,940 --> 00:43:32,773 και για τώρα είμαι απλά πρόκειται να το κρατήσετε απλό 909 00:43:32,773 --> 00:43:36,230 και Πάω να μπω σε μου Κατάλογος εδώ και να κάνουμε το εξής. 910 00:43:36,230 --> 00:43:44,920 Gedit σενάριο ας πούμε, θα καλέστε το κείμενο, #! / χρήστη / bin / env PHP, 911 00:43:44,920 --> 00:43:46,700 όπως είδαμε τελευταία φορά. 912 00:43:46,700 --> 00:43:47,950 PHP. 913 00:43:47,950 --> 00:43:55,055 >> Τώρα Πάω να απαιτούν περιλαμβάνει config.php, 914 00:43:55,055 --> 00:43:57,360 Ακόμα και αν έτσι επάγει ένα μικρό λάθος. 915 00:43:57,360 --> 00:44:03,960 Και τώρα είμαι πρόκειται να πάει μπροστά και να πει σειρές, ερώτημα, επιλέξτε αστέρι από τους χρήστες, 916 00:44:03,960 --> 00:44:08,149 και τώρα εδώ Πάω να κάνω μια τεχνική από την τελευταία φορά για κάθε σειρές όπως σειρά. 917 00:44:08,149 --> 00:44:09,690 Και Πάω να κάνω κάτι απλό. 918 00:44:09,690 --> 00:44:19,090 Printf ας πούμε ότι το όνομα είναι αυτό, και ο αριθμός είναι αυτό, backslash n. 919 00:44:19,090 --> 00:44:23,320 Και τώρα Πάω να περάσει στη σειρά παραθέσω unquote όνομα, 920 00:44:23,320 --> 00:44:28,140 και ο αριθμός σειράς απόσπασμα εισαγωγικά, και τώρα ας πάμε μπροστά 921 00:44:28,140 --> 00:44:31,430 και το παράθυρο τερματικού μου chmod αυτό α + x για να κάνουν 922 00:44:31,430 --> 00:44:33,970 Αυτό το σενάριο που να ονομάζεται εκτελέσιμο κείμενο. 923 00:44:33,970 --> 00:44:36,080 Και τώρα ας τρέξει κείμενο. 924 00:44:36,080 --> 00:44:37,590 >> Εντάξει, έτσι η πρόοδος. 925 00:44:37,590 --> 00:44:39,960 Έτσι, τώρα έχω γράψει ένα εντολή δέσμης ενεργειών γραμμής, 926 00:44:39,960 --> 00:44:43,300 σε μια γλώσσα που ονομάζεται PHP, ότι, λόγω του ότι απαιτούν γραμμή, 927 00:44:43,300 --> 00:44:46,380 έχει πρόσβαση σε όλα αυτά διαμόρφωση σταθερές που προσδιορίζονται. 928 00:44:46,380 --> 00:44:48,177 Το όνομα της βάσης δεδομένων και ούτω καθεξής. 929 00:44:48,177 --> 00:44:50,260 Στην πραγματικότητα, ακριβώς για να είναι σαφές ότι αυτό δεν είναι μια απροσδόκητη επιτυχία, 930 00:44:50,260 --> 00:44:54,730 επιτρέψτε μου να προχωρήσει και να εγγραφείτε, πολύ γρήγορα, κάποιος άλλος σαν τον Rob 931 00:44:54,730 --> 00:44:58,890 και θα του δώσει τον αριθμό 555-1212. 932 00:44:58,890 --> 00:45:01,557 >> Και τώρα, αν εκτελέσετε το σενάριο και πάλι, να παρατηρήσετε τη δύναμη 933 00:45:01,557 --> 00:45:03,140 από ό, τι κάνουμε με τη βάση δεδομένων. 934 00:45:03,140 --> 00:45:07,680 Τώρα έχω δει αμέσως ποια είναι η άλλες δύο σειρές είναι στη βάση δεδομένων μου. 935 00:45:07,680 --> 00:45:10,699 Έτσι, τώρα ας προσπαθήσουμε να κάνουμε κάτι ακόμη φανταχτερό εσωτερικό της, 936 00:45:10,699 --> 00:45:12,740 και αυτό είναι το μέρος που έχουμε δεν έχει δοκιμαστεί εκ των προτέρων, 937 00:45:12,740 --> 00:45:15,910 έτσι ώστε η τελευταία φορά που το έκανα αυτό τα πράγματα πήγαν στραβά φρικτά, 938 00:45:15,910 --> 00:45:17,120 έχουμε βίντεο για το σκοπό αυτό. 939 00:45:17,120 --> 00:45:18,286 >> Στην πραγματικότητα, ναι, αστεία κατά μέρος. 940 00:45:18,286 --> 00:45:20,480 Έτσι, την τελευταία φορά, σε ένα διάλεξη όπως πριν από δύο χρόνια, 941 00:45:20,480 --> 00:45:23,230 αποφασίσαμε, αποφάσισα, να είναι όλα αυτά θα ήταν μια μεγάλη ιδέα 942 00:45:23,230 --> 00:45:28,150 να δημιουργήσει δυναμικά μηνύματα ηλεκτρονικού ταχυδρομείου σε τάξη, χρησιμοποιώντας το σύνολο της βάσης δεδομένων CS50 943 00:45:28,150 --> 00:45:33,390 φοιτητές, οι οποίοι μας είχαν δώσει τους αριθμούς τους και φορείς κινητό τους το οποίο σας 944 00:45:33,390 --> 00:45:36,290 Ίσως να θυμάστε από pset0, πώς να λόγο αυτό, αποδεικνύεται 945 00:45:36,290 --> 00:45:40,650 Είχα ένα μικρό σφάλμα στο πρόγραμμα μου και έκανε μια-δυο λάθη το 2012, νομίζω. 946 00:45:40,650 --> 00:45:43,997 >> Σύμφωνα με την οποία, το ένα που είχα για βρόγχο που έκανε ακριβώς αυτό το είδος του πράγματος, 947 00:45:43,997 --> 00:45:46,580 επανάληψη πάνω από τη βάση δεδομένων, να πάρει ένα όνομα από τη βάση δεδομένων, 948 00:45:46,580 --> 00:45:49,940 όνομα από τη βάση δεδομένων, και στη συνέχεια, για κάθε επανάληψη αυτού του βρόχου έστειλα ένα email. 949 00:45:49,940 --> 00:45:54,130 Αλλά αντί για την αποστολή ενός e-mail, εγώ έστειλε ένα e-mail η πρώτη επανάληψη, 950 00:45:54,130 --> 00:45:58,200 και δύο emails την δεύτερη επανάληψη, αποστέλλονται τρία emails μια δεύτερη επανάληψη, η οποία 951 00:45:58,200 --> 00:46:01,230 όπως ίσως θυμάστε από μας συζήτηση της ασυμπτωτικής σημειογραφίας 952 00:46:01,230 --> 00:46:06,400 αυτό το μεγάλο O κακών, όπως n στο τετράγωνο είναι πόσα μηνύματα που αποστέλλονται, 953 00:46:06,400 --> 00:46:08,560 αλλά αυτό δεν ήταν καν e-mail ήταν μηνύματα κειμένου. 954 00:46:08,560 --> 00:46:12,070 >> Και όπως γνωρίζετε, η φοίτηση δεν είναι σούπερ υψηλή προς το τέλος του εξαμήνου 955 00:46:12,070 --> 00:46:15,360 και έτσι σκέφτηκα ότι θα ήταν χαριτωμένο σε η ώρα να πούμε, "Γιατί δεν είσαι τάξη;" 956 00:46:15,360 --> 00:46:17,880 Στο μήνυμα κειμένου μου αποστέλλονται σε όλη την τάξη, 957 00:46:17,880 --> 00:46:22,140 και ήταν αστείο να αρέσει το 50% της τάξη, αλλά το υπόλοιπο 50%, μερικοί από τους οποίους 958 00:46:22,140 --> 00:46:26,102 φρίκαρε, έστειλα απίστευτα απολογητικός γλυκές νότες 959 00:46:26,102 --> 00:46:28,560 για το προσωπικό ζητώντας συγνώμη για έχοντας χάσει τη διάλεξη μόνο 960 00:46:28,560 --> 00:46:29,530 αυτή τη φορά, σωστά; 961 00:46:29,530 --> 00:46:32,790 962 00:46:32,790 --> 00:46:34,030 >> Έτσι ώστε θα ήταν φρικτά στραβά. 963 00:46:34,030 --> 00:46:37,030 Έτσι, σε αυτό το πνεύμα, ας προσπαθήσουμε αυτό και πάλι, αλλά μόνο με τον αριθμό μου. 964 00:46:37,030 --> 00:46:41,940 Στην εκ των προτέρων, σε functions.php, Έχω γράψει την λειτουργία εδώ. 965 00:46:41,940 --> 00:46:44,250 Ονομάζεται κείμενο, και παίρνει σε τρία επιχειρήματα. 966 00:46:44,250 --> 00:46:46,360 Ένας αριθμός, ένα φορέα, και ένα μήνυμα. 967 00:46:46,360 --> 00:46:50,390 >> Είμαι χρησιμοποιώντας μια δήλωση switch, το οποίο θαυμάσια PHP λαμβάνουν χορδές, όχι μόνο 968 00:46:50,390 --> 00:46:53,350 ακέραιοι, και εγώ δεν εφαρμόζουν όλη η υποστήριξη για αυτό ακόμα, 969 00:46:53,350 --> 00:46:55,370 Έχω κάνει ακριβώς AT & T και Verizon. 970 00:46:55,370 --> 00:46:57,610 Επειδή αποδεικνύεται ότι με αυτούς τους φορείς 971 00:46:57,610 --> 00:47:00,570 έχουν ηλεκτρονικού ταχυδρομείου με SMS πύλες, σύμφωνα με την οποία μπορείτε πραγματικότητα 972 00:47:00,570 --> 00:47:05,529 στείλετε ένα email σε μια διεύθυνση όπως τον αριθμό του τηλεφώνου σε vtext.com 973 00:47:05,529 --> 00:47:08,070 και αν ο χρήστης δεν έχει αποκλειστεί τα μηνύματα, αυτό θα περάσουν 974 00:47:08,070 --> 00:47:09,340 είναι ένα μήνυμα κειμένου. 975 00:47:09,340 --> 00:47:13,270 >> Τώρα για να το κάνετε αυτό, είμαι πρόκειται να πρέπει να προσθέσετε ένα πεδίο πολύ γρήγορα στη βάση δεδομένων μου. 976 00:47:13,270 --> 00:47:15,470 Πάω να μπω σε δομή μου, και είμαι 977 00:47:15,470 --> 00:47:21,880 πρόκειται να πάει μπροστά και να προσθέσετε μια πεδίο στο τέλος του πίνακα. 978 00:47:21,880 --> 00:47:25,227 Ας κάντε κλικ στο κουμπί Μετάβαση, και είμαι πρόκειται να καλέσει τον εν λόγω αερομεταφορέα 979 00:47:25,227 --> 00:47:27,310 και για τώρα Πάω να αφήστε αυτό ως μια γραμμή κειμένου, 980 00:47:27,310 --> 00:47:29,320 αλλά μπορούμε να είμαστε φανταχτερό στο μέλλον. 981 00:47:29,320 --> 00:47:31,961 Πάω να πάει γρήγορα στο τραπέζι μου, και είμαι 982 00:47:31,961 --> 00:47:34,210 πρόκειται να απαλλαγούμε από τον Rob, γιατί αυτό είναι ένα ψεύτικο αριθμό, 983 00:47:34,210 --> 00:47:38,540 Πάω να μπω σε επεξεργασία εδώ και είμαι πρόκειται να αλλάξει καριέρα μου με το χέρι 984 00:47:38,540 --> 00:47:43,410 να είναι Verizon, η οποία είναι είναι, και τώρα εδώ. 985 00:47:43,410 --> 00:47:44,980 >> Ας κάνουμε ένα γρήγορο έλεγχο λογική. 986 00:47:44,980 --> 00:47:52,730 Ας ανοίξουμε σενάριο κειμένου μας, η οποία μοιάζει με αυτό, ο φορέας είναι% s. 987 00:47:52,730 --> 00:47:58,230 Κάνουμε πολλά περισσότερα λάθους τον έλεγχο από ό, τι έκανα το 2012, φορέα. 988 00:47:58,230 --> 00:48:01,160 Και τώρα, εγώ είμαι πρόκειται να πάει μπροστά και εκτελέστε ξανά το σενάριο. 989 00:48:01,160 --> 00:48:01,660 ΟΚ. 990 00:48:01,660 --> 00:48:06,100 Carrier είναι η Verizon, η οποία σημαίνει τώρα ελπίζω να κάνει ακριβώς αυτό. 991 00:48:06,100 --> 00:48:08,360 Σωστά αυτό το έτος, Ας ελπίσουμε ότι, εδώ πηγαίνουμε. 992 00:48:08,360 --> 00:48:12,200 >> Έτσι, μέσα από αυτό για το βρόχο, είμαι πρόκειται να έχουν όχι μόνο αυτό printf, 993 00:48:12,200 --> 00:48:15,990 Είμαι, επίσης, πρόκειται να καλέσετε το κείμενο και η χρήση αυτής της ανάκλησης λειτουργίας 994 00:48:15,990 --> 00:48:19,670 Ήταν παίρνει έναν αριθμό, ένα φορέα, και ένα μήνυμα. 995 00:48:19,670 --> 00:48:23,310 Ας δούμε λοιπόν, ο αριθμός πρόκειται να είναι σειρά απόσπασμα unquote "αριθμός" 996 00:48:23,310 --> 00:48:31,660 απόσπασμα σειρά εισαγωγικά "φορέας", και η τελευταία ήταν το μήνυμα. 997 00:48:31,660 --> 00:48:36,250 Μην βίδα μέχρι φέτος, το ερωτηματικό. 998 00:48:36,250 --> 00:48:36,780 >> ΟΚ. 999 00:48:36,780 --> 00:48:38,280 Δάχτυλα διασχίσει. 1000 00:48:38,280 --> 00:48:39,970 Ας δούμε αν αυτό λειτουργεί. 1001 00:48:39,970 --> 00:48:41,720 Εντάξει, έτσι. 1002 00:48:41,720 --> 00:48:43,000 Εδώ πάμε. 1003 00:48:43,000 --> 00:48:47,380 Ας ξεκλειδώσετε το τηλέφωνο, διασχίζουν τα δάχτυλά σας, γαμώτο. 1004 00:48:47,380 --> 00:48:50,300 Απροσδιόριστο μεταβλητή may-- oh περιμένετε, περιμένετε, περιμένετε, πραγματικά γρήγορα. 1005 00:48:50,300 --> 00:48:51,340 Ρεάλ γρήγορα, πολύ γρήγορα. 1006 00:48:51,340 --> 00:48:53,380 Αυτό είναι εντελώς αξίζει τον κόπο. 1007 00:48:53,380 --> 00:48:57,710 Επιτρέψτε μου να αρπάξει, επιτρέψτε μου να αρπάξει, uh-oh. 1008 00:48:57,710 --> 00:48:59,965 Σας ευχαριστώ, τα κείμενα έχουν ξεκίνησε από κάποιον άλλο. 1009 00:48:59,965 --> 00:49:04,770 1010 00:49:04,770 --> 00:49:11,650 Επιτρέψτε μου να πάει μπροστά και να ανοίξει πραγματική γρήγορο, dropbox.php / mail στο εδώ. 1011 00:49:11,650 --> 00:49:12,660 Αναμονή. 1012 00:49:12,660 --> 00:49:14,455 Εντελώς αξίζει τον κόπο. 1013 00:49:14,455 --> 00:49:17,430 Λήψεις. 1014 00:49:17,430 --> 00:49:18,560 Εντάξει, πηγή src8m. 1015 00:49:18,560 --> 00:49:19,700 ΟΚ. 1016 00:49:19,700 --> 00:49:21,380 >> Χρειάζεστε μια κοινή γραμμή εδώ. 1017 00:49:21,380 --> 00:49:24,530 Ω, εκεί που είναι, είναι σε Frosh ΔΥ, είναι το μητρώο σε τρεις. 1018 00:49:24,530 --> 00:49:28,820 Ω Γεια σας, Margo, σας ευχαριστώ πολύ. 1019 00:49:28,820 --> 00:49:31,130 Εντάξει, και μου έλειπε αυτή τη γραμμή εδώ. 1020 00:49:31,130 --> 00:49:33,010 Έτσι, επιτρέψτε μου γρήγορα αρπάξει Αυτή η γραμμή κώδικα, 1021 00:49:33,010 --> 00:49:36,200 το οποίο περιλαμβάνει το ταχυδρομείο ή τη βιβλιοθήκη ότι εγώ πραγματικά θέλετε να χρησιμοποιήσετε, 1022 00:49:36,200 --> 00:49:38,300 Πάω να γρήγορα πάει πίσω σε λειτουργίες, 1023 00:49:38,300 --> 00:49:42,337 Πάω να πάει στην κορυφή του αυτό αρχείο και να απαιτήσει αυτό το αρχείο, καθώς και, 1024 00:49:42,337 --> 00:49:45,420 και τώρα είμαι πρόκειται πραγματικά να διασχίσουν μου τα δάχτυλα όταν πάω πίσω στην εντολή 1025 00:49:45,420 --> 00:49:49,530 script γραμμή, η οποία βρίσκεται στο εσωτερικό του τοπικό κατάλογο υποδοχής του σήμερα. 1026 00:49:49,530 --> 00:49:50,610 Εκτελέστε κείμενο. 1027 00:49:50,610 --> 00:49:52,720 Enter. 1028 00:49:52,720 --> 00:49:53,220 Mail. 1029 00:49:53,220 --> 00:49:53,719 Αναμονή. 1030 00:49:53,719 --> 00:49:58,850 1031 00:49:58,850 --> 00:49:59,600 Αναμονή. 1032 00:49:59,600 --> 00:50:01,680 Mail. 1033 00:50:01,680 --> 00:50:02,290 Ω, εντάξει. 1034 00:50:02,290 --> 00:50:03,870 Εδώ πάμε. 1035 00:50:03,870 --> 00:50:06,880 >> Mail παίρνει νέα PHP πρόγραμμα ηλεκτρονικής αλληλογραφίας. 1036 00:50:06,880 --> 00:50:09,970 Μήπως μπορώ να κάνω αυτό το δικαίωμα; 1037 00:50:09,970 --> 00:50:11,067 Γαμώτο. 1038 00:50:11,067 --> 00:50:12,150 To-- Περίμενε, περίμενε, περίμενε. 1039 00:50:12,150 --> 00:50:12,649 Stand by. 1040 00:50:12,649 --> 00:50:15,820 1041 00:50:15,820 --> 00:50:18,630 Υπόσχομαι, αυτό είναι πρόκειται να είναι τόσο αξίζει τον κόπο. 1042 00:50:18,630 --> 00:50:20,340 Διεύθυνση. 1043 00:50:20,340 --> 00:50:24,390 Αυτός είναι ο λόγος που δεν κάνει το παραδείγματα δεξιά πριν το μάθημα. 1044 00:50:24,390 --> 00:50:26,350 Ugh. 1045 00:50:26,350 --> 00:50:27,910 Οι παρακάτω παραλήπτες απέτυχαν. 1046 00:50:27,910 --> 00:50:31,500 1047 00:50:31,500 --> 00:50:33,040 Ας δοκιμάσουμε ένα τελευταίο πράγμα. 1048 00:50:33,040 --> 00:50:40,660 SMTP που από, προσθέστε τη διεύθυνση, η διεύθυνση είναι όντως αυτό. 1049 00:50:40,660 --> 00:50:43,980 Ας προσπαθήσουμε αυτό το τελευταίο μέρος στη διεύθυνση. 1050 00:50:43,980 --> 00:50:47,210 Aw, είμαι πολύ λυπημένος τώρα. 1051 00:50:47,210 --> 00:50:47,854 Σας ευχαριστώ. 1052 00:50:47,854 --> 00:50:50,270 Αλλά εγώ πραγματικά εκτιμώ όλους τα κείμενα που έχετε στείλει. 1053 00:50:50,270 --> 00:50:53,130 1054 00:50:53,130 --> 00:50:56,320 Έχετε αυτό το Δαβίδ. 1055 00:50:56,320 --> 00:50:59,310 Είσαι το φύσημα. 1056 00:50:59,310 --> 00:51:01,720 Ας το αφήσουμε εκεί και θα καθορίσει τη Δευτέρα. 1057 00:51:01,720 --> 00:51:04,290 Θα σας δούμε στη συνέχεια. 1058 00:51:04,290 --> 00:51:08,090 >> DAVEN FARNHAM: Και τώρα Βαθιά Σκέψεις από Daven Farnham. 1059 00:51:08,090 --> 00:51:11,340 1060 00:51:11,340 --> 00:51:17,590 Αν ένα δυαδικό δέντρο πέσει στο δάσος και κανείς δεν είναι γύρω στο C it-- [καγχάζει]. 1061 00:51:17,590 --> 00:51:18,998