1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [Πρόβλημα Walkthrough Σετ 7] 2 00:00:03,000 --> 00:00:04,400 [Zamyla Chan] [Πανεπιστήμιο του Χάρβαρντ] 3 00:00:04,400 --> 00:00:07,640 [Αυτό είναι CS50] [CS50.TV] 4 00:00:07,640 --> 00:00:12,090 >> Γεια σε όλους, και καλώς ήρθατε στην Walkthrough 7, CS50 Οικονομικών. 5 00:00:12,090 --> 00:00:15,090 Τώρα είμαστε επίσημα γίνεται με όλες τις psets σε CS50, 6 00:00:15,090 --> 00:00:19,380 και είμαστε μόλις έφυγε με μία ακόμη η οποία πρόκειται να είναι μια διασκεδαστική εφαρμογή 7 00:00:19,380 --> 00:00:23,770 από μια ιστοσελίδα όπου οι χρήστες μπορούν να συνδεθούν σε CS50 Οικονομικών 8 00:00:23,770 --> 00:00:25,830 και να αγοράζουν και να πωλούν τα αποθέματα. 9 00:00:25,830 --> 00:00:32,280 >> Σήμερα, πρόκειται να έχει μερικά εργαλεία που έχουμε στη διάθεσή μας. 10 00:00:32,280 --> 00:00:34,320 Εμείς πάμε για να μιλάμε για δικαιώματα. 11 00:00:34,320 --> 00:00:36,380 Κάθε φορά που έχετε ένα φάκελο web, 12 00:00:36,380 --> 00:00:40,800 θα πάμε να θέλουν να επιτρέπουν στους χρήστες να εκτελούν ορισμένα αρχεία 13 00:00:40,800 --> 00:00:42,500 αλλά επίσης να διαβάσετε ακριβώς άλλες, 14 00:00:42,500 --> 00:00:45,150 έτσι θα δούμε σε δικαιώματα και πώς μπορείτε να ρυθμίσετε αυτά. 15 00:00:45,150 --> 00:00:49,630 Στη συνέχεια, θα πάμε να δούμε σε PHP, HTML, SQL και κωδικό. 16 00:00:49,630 --> 00:00:51,990 >> Κατ 'αρχάς, τα δικαιώματα. 17 00:00:51,990 --> 00:00:56,060 Όταν είστε στο τερματικό σε ένα συγκεκριμένο κατάλογο, 18 00:00:56,060 --> 00:01:00,430 τότε αυτό που θέλετε να κάνετε είναι να θέλετε να εκτελέσετε την εντολή chmod. 19 00:01:00,430 --> 00:01:03,750 Αυτό είναι που ακολουθείται είτε από γράμματα ή αριθμούς 20 00:01:03,750 --> 00:01:08,100 που αντιστοιχεί σε αυτό που βασικά θέλει ο κόσμος να δει, 21 00:01:08,100 --> 00:01:09,830 μπορείτε να δείτε τον εαυτό σας, κλπ. 22 00:01:09,830 --> 00:01:13,350 Για παράδειγμα, κάθε φορά που έχετε ένα φάκελο, 23 00:01:13,350 --> 00:01:15,560 τότε θέλετε ο φάκελος να είναι εκτελέσιμο από τον καθένα που βλέπει, 24 00:01:15,560 --> 00:01:19,500 έτσι ώστε αυτό που θα κάνουμε είναι να μπορείτε να εκτελέσετε την εντολή chmod + x ένα 25 00:01:19,500 --> 00:01:21,050 και στη συνέχεια το όνομα του φακέλου σας. 26 00:01:21,050 --> 00:01:28,110 Όταν έχετε ένα αρχείο, όπως αρχεία CSS ή αρχεία εικόνας - 27 00:01:28,110 --> 00:01:33,060 σαν αρχεία JPEG και bitmaps, τέτοια πράγματα, ή οποιοδήποτε κώδικα JavaScript - 28 00:01:33,060 --> 00:01:36,440 θέλετε ότι για να είναι αναγνώσιμο από όλους, 29 00:01:36,440 --> 00:01:39,880 έτσι τότε τι κάνετε είναι εσείς θα μπορούσε να χρησιμοποιήσει τον μπαλαντέρ - 30 00:01:39,880 --> 00:01:41,650 η οποία είναι ένας αστερίσκος - 31 00:01:41,650 --> 00:01:46,190 βασικά να δείχνουν στο φάκελο CSS - πάντα σε αυτόν το φάκελο - 32 00:01:46,190 --> 00:01:48,740  Πάω να πω ότι αυτό πρόκειται να είναι αναγνώσιμο από όλους. 33 00:01:48,740 --> 00:01:54,220 Με τα δικαιώματα, όταν χρησιμοποιούμε τα γράμματα, 34 00:01:54,220 --> 00:01:57,610 μπορούμε επίσης να χρησιμοποιήσετε αντί για αριθμούς. 35 00:01:57,610 --> 00:02:00,900 Έτσι, μπορείτε να δείτε ότι τελικά όταν θέλετε κάτι να είναι εκτελέσιμο - 36 00:02:00,900 --> 00:02:02,810 Αυτό είναι αντιπροσωπεύεται από τον αριθμό 1 - 37 00:02:02,810 --> 00:02:08,340 κάτι που να είναι αναγνώσιμο είναι ο αριθμός 4 και στη συνέχεια - 38 00:02:08,340 --> 00:02:10,590 εγγράψιμος είναι ο αριθμός 2 - 39 00:02:10,590 --> 00:02:13,670 και έτσι ουσιαστικά όταν θέλετε ένα συνδυασμό αυτών, τότε μπορείτε να τους προσθέσετε. 40 00:02:13,670 --> 00:02:15,860 Εάν θέλετε κάτι να είναι αναγνώσιμη, εγγράψιμο και εκτελέσιμο, 41 00:02:15,860 --> 00:02:21,970 τότε θα πρέπει να προσθέσετε έως και 4, 2 και 1 και αυτό θα σας δώσει 7, 42 00:02:21,970 --> 00:02:26,230 στη συνέχεια, κάθε φορά που έχετε ένα φάκελο που θέλετε να είναι εκτελέσιμο από όλους - 43 00:02:26,230 --> 00:02:31,380 καθώς και αναγνώσιμο και εγγράψιμο - τότε θα κάνει ότι 7, 1, 1. 44 00:02:31,380 --> 00:02:38,140 Αυτό θα ήταν 7 για σας, στη συνέχεια, 1 για τους άλλους ανθρώπους. 45 00:02:38,140 --> 00:02:42,870 Όταν έχετε το spec, αυτό θα καθορίζει στην πραγματικότητα που τους φακέλους και τα αρχεία που 46 00:02:42,870 --> 00:02:45,040 Πρέπει να chmod-ed συγκεκριμένα. 47 00:02:45,040 --> 00:02:47,920 Για παράδειγμα, όταν έχετε φακέλους - αυτά είναι 7-1-1 - 48 00:02:47,920 --> 00:02:52,690 όταν έχετε τις εικόνες, ή HTML, CSS, JavaScript, 49 00:02:52,690 --> 00:02:55,870 τότε αυτά πρόκειται να είναι 6, 0, 4 - ή 6, 4, 4 - 50 00:02:55,870 --> 00:03:00,030 και τότε η PHP αρχεία πρόκειται να είναι 6, 0, 0. 51 00:03:00,030 --> 00:03:04,940 Η ιδέα πίσω από αυτό είναι ότι οι χρήστες δεν θα πρέπει να δούμε πραγματικά PHP κωδικό σας, 52 00:03:04,940 --> 00:03:08,370 αλλά απλώς να είναι σε θέση να δουν την έξοδο. 53 00:03:08,370 --> 00:03:11,030 >> Μεγάλη! Προχωρώντας σε PHP. 54 00:03:11,030 --> 00:03:18,850 Απλά, κάθε φορά που θέλετε ένα αρχείο PHP, η κατάληξη του αρχείου είναι. Php. 55 00:03:18,850 --> 00:03:22,000 Μπορείτε επίσης να αναμίξετε HTML με κώδικα PHP. 56 00:03:22,000 --> 00:03:24,880 Εάν έχετε ένα αρχείο HTML, για παράδειγμα, 57 00:03:24,880 --> 00:03:32,520 τότε μπορείτε να το συμπεριλάβει στην αριστερή γωνία, ερωτηματικό, php - 58 00:03:32,520 --> 00:03:39,320 php βάλει τον κωδικό σας - και στη συνέχεια κλείστε ότι με ένα άλλο ερωτηματικό και δεξιά γωνία. 59 00:03:39,320 --> 00:03:45,020 Μεταβλητές στην PHP είναι πολύ πιο εύκολο να ασχοληθεί με από μεταβλητές σε C. 60 00:03:45,020 --> 00:03:50,310 Κάθε μεταβλητή αρχίζει μόλις με ένα δολάριο σημάδι μπροστά από αυτό, και από όπου και αν ασθενώς πληκτρολογήσει. 61 00:03:50,310 --> 00:03:53,470 Αυτό σημαίνει ότι δεν χρειάζεται να ανησυχείτε σχετικά με τη ρύθμιση κάτι 62 00:03:53,470 --> 00:03:55,020 ίση με ένα string ή έναν ακέραιο. 63 00:03:55,020 --> 00:03:57,710 Μπορείτε απλά να πω, αυτό είναι το όνομά μου από τη μεταβλητή 64 00:03:57,710 --> 00:04:00,390 και στη συνέχεια αυτό είναι η αξία του, 65 00:04:00,390 --> 00:04:03,280 γι 'αυτό πρόκειται να είναι πιο εύκολο να ασχοληθεί με αυτό. 66 00:04:03,280 --> 00:04:08,220 >> Ένα άλλο πράγμα είναι ότι η PHP σας επιτρέπει να χρησιμοποιήσετε associative arrays. 67 00:04:08,220 --> 00:04:11,330 Μπορείτε απλά να ορίσετε απλά μια σειρά, όπως θα κάνατε σε C 68 00:04:11,330 --> 00:04:14,900 λέγοντας, σύμβολο του δολαρίου-το όνομα του πίνακα σας, ισούται με, 69 00:04:14,900 --> 00:04:22,600 και στη συνέχεια σε αγκύλες έχουν ουσιαστικά μόνο τη λίστα των τιμών όλων των στοιχείων του πίνακα. 70 00:04:22,600 --> 00:04:27,160 Όμως, σε ό, τι PHP μπορείτε επίσης να κάνετε είναι να καθορίσετε βασικά η - 71 00:04:27,160 --> 00:04:31,050 Είναι κάτι σαν μια συνάρτηση κατακερματισμού. 72 00:04:31,050 --> 00:04:34,410 Μπορείτε να καθορίσετε το δείκτη - τι πρόκειται να την αποκαλούμε - 73 00:04:34,410 --> 00:04:37,030 και στη συνέχεια ότι αντιστοιχεί σε μια τιμή. 74 00:04:37,030 --> 00:04:42,880 Αν πραγματικά περάσει σε μια = 1, b = 2, c = 3, 75 00:04:42,880 --> 00:04:50,820 στη συνέχεια, σειρά σας σε ένα δείκτη θα σας δώσει 1. 76 00:04:50,820 --> 00:04:56,600 Αυτό PSET θα σας ζεστάνει με κάποια PHP σε ένα τμήμα των ερωτήσεων, 77 00:04:56,600 --> 00:04:59,240 και στη συνέχεια θα βουτήξει CS50 Οικονομικών. 78 00:04:59,240 --> 00:05:02,650 >> Έχουμε ένα ζευγάρι - έχουμε κάποια λειτουργικότητα, βασικά, 79 00:05:02,650 --> 00:05:05,130 να εφαρμόσουν σε αυτή την ιστοσελίδα. 80 00:05:05,130 --> 00:05:10,440 Θέλουμε να επιτρέπουν στους χρήστες να εγγραφούν στην ιστοσελίδα μας με ένα όνομα χρήστη και έναν κωδικό πρόσβασης. 81 00:05:10,440 --> 00:05:13,670 Θέλουμε να τους επιτρέψει να αναζητήσετε μια φράση, 82 00:05:13,670 --> 00:05:19,330 και τότε θα εκτυπώσει το όνομα του εν λόγω απόσπασμα, καθώς και την τρέχουσα τιμή που είναι κατά. 83 00:05:19,330 --> 00:05:26,830 Θέλουμε να τους επιτρέψει να δουν ένα χαρτοφυλάκιο από το σύνολο των μετοχών που έχουν αγοράσει μέχρι στιγμής. 84 00:05:26,830 --> 00:05:34,240 Θέλουμε, επίσης, να τους επιτρέψει να αγοράσουν μετοχές, καθώς και τα πωλούν. 85 00:05:34,240 --> 00:05:37,540 Και τελικά, θέλουμε να τους επιτρέψει να δουν την ιστορία 86 00:05:37,540 --> 00:05:39,490 όλων των συναλλαγών που έχουν κάνει. 87 00:05:39,490 --> 00:05:41,540 Στη συνέχεια, τέλος, αφού έχετε εφαρμόσει όλα αυτά, 88 00:05:41,540 --> 00:05:45,110 τότε είστε ελεύθεροι να εφαρμόσουν ένα επιπλέον χαρακτηριστικό. 89 00:05:45,110 --> 00:05:46,610 Θα πάμε σε αυτά. 90 00:05:46,610 --> 00:05:51,330 Αυτοί μπορεί να είναι είτε επιτρέποντας στους χρήστες να πάρετε επιπλέον μετρητά με την κατάθεση επιπλέον μετρητά, 91 00:05:51,330 --> 00:05:54,550 ή θα μπορούσατε να τους επιτρέπει να αλλάξετε τον κωδικό πρόσβασής τους, ή κάτι τέτοιο, 92 00:05:54,550 --> 00:06:00,590 email τους μια απόδειξη όταν αγοράζουν ή να πωλήσει ένα απόθεμα. 93 00:06:00,590 --> 00:06:05,370 Υπάρχει ένας περιορισμένος κατάλογος των χαρακτηριστικών που θα μπορούσε να εφαρμόσει τον εαυτό σας, 94 00:06:05,370 --> 00:06:08,340 έτσι ώστε να είναι η τελευταία εκεί. 95 00:06:08,340 --> 00:06:13,430 >> Δεδομένου ότι αυτό είναι μια ιστοσελίδα, εσείς έχετε επίσης μια μεγάλη ελευθερία για να το προσαρμόσετε. 96 00:06:13,430 --> 00:06:20,960 Κάνουμε παρέχουν κάποια κώδικα CSS, αλλά είστε σίγουρα ελεύθεροι να το τσίμπημα, 97 00:06:20,960 --> 00:06:26,680 να φανεί καλύτερο, αλλά υποκείμενο είναι μια βασική λειτουργία 98 00:06:26,680 --> 00:06:30,310 έτσι ώστε πάντοτε να ανατρέχουν στο spec για το τι πραγματικά πρέπει να περιλαμβάνουν εκεί. 99 00:06:30,310 --> 00:06:39,940 Μετά το spec, θα πάμε να χρησιμοποιούν τη συσκευή ως επίσης ένα διακομιστή. 100 00:06:39,940 --> 00:06:43,910 Είναι πρόκειται να φιλοξενεί την ιστοσελίδα μας για μας, σε τοπικό διακομιστή του. 101 00:06:43,910 --> 00:06:49,750 Αν ακολουθήσετε αυτές τις οδηγίες και αποσυμπιέστε το PSET 7 διανομής κώδικα 102 00:06:49,750 --> 00:06:53,500 σε εικονική υποδοχής / τοπικό φάκελο υποδοχής σας, 103 00:06:53,500 --> 00:07:02,470  τότε μπορείτε να επισκεφθείτε μόνο http://localhost/ στο Google Chrome στη συσκευή, 104 00:07:02,470 --> 00:07:09,120 και στη συνέχεια θα φτάσει τον κωδικό με τον οποίο έχετε γράψει PSET 7. 105 00:07:09,120 --> 00:07:14,490 >> Pset 7 έρχεται με μια δέσμη των κώδικα της διανομής, 106 00:07:14,490 --> 00:07:18,330 Κάναμε και ελπίζω - μέσω όλων των psets πριν από αυτό - 107 00:07:18,330 --> 00:07:21,700 συνηθίσει να μας διαβάζετε μέσω κώδικα της διανομής, 108 00:07:21,700 --> 00:07:25,650 κατανόηση τι λειτουργίες παρέχονται ήδη, και πώς μπορεί να είμαστε σε θέση να χρησιμοποιήσει 109 00:07:25,650 --> 00:07:29,470 αυτές και οι άλλες λειτουργίες που θα πάμε να υλοποιούν. 110 00:07:29,470 --> 00:07:31,570 Σε αυτή την περίπτωση, έχουμε 3 φακέλους. 111 00:07:31,570 --> 00:07:36,350 Έχουμε ένα φάκελο HTML, ένας φάκελος περιλαμβάνει και ένα φάκελο προτύπων. 112 00:07:36,350 --> 00:07:40,630 Τι θα πάμε να κάνουμε με αυτό το PSET είναι το είδος του διαχωρισμού της σκέψης - 113 00:07:40,630 --> 00:07:45,580 η σκέψη προγραμματισμού - του PHP κώδικα με την πραγματική οπτική πλευρά. 114 00:07:45,580 --> 00:07:52,690 Θα έχουν ένα PHP αρχείο που κάνει όλες της σκέψης, διαβάζει στη βάση δεδομένων, 115 00:07:52,690 --> 00:07:55,620 εκτυπώνει τα πράγματα, αν έχει καταστάσεων - πράγματα - 116 00:07:55,620 --> 00:08:02,140 και τότε αυτό θα περάσει τα στοιχεία στο αρχείο μας πρότυπο - ή αρχείο template.php. 117 00:08:02,140 --> 00:08:05,710 Τι που θα κάνετε είναι να διαβάσετε τα δεδομένα και στη συνέχεια θα την εκτυπώσετε. 118 00:08:05,710 --> 00:08:09,550 >> Μπορούμε να τη θεραπεία πρότυπα ως "χαζή" υπό την έννοια ότι δεν θέλουμε πραγματικά να τους 119 00:08:09,550 --> 00:08:12,370 να κάνει πολλή δουλειά για τον υπολογισμό πράγματα. 120 00:08:12,370 --> 00:08:16,330 Θέλουμε ελεγκτές μας να το κάνουμε αυτό. 121 00:08:16,330 --> 00:08:21,610 Ένα μικρό κομμάτι σε αυτό - ας ρίξουμε μια ματιά σε μερικά από τον κώδικα της διανομής. 122 00:08:21,610 --> 00:08:28,250 Εδώ έχουμε index.html αρχείο μας, και είναι αρκετά άδειο. 123 00:08:28,250 --> 00:08:34,429 Ουσιαστικά αυτό που κάνει - λέει, καλά, θα πάω να απαιτούν την configuration.php αρχείο. 124 00:08:34,429 --> 00:08:40,120 Εμείς δεν βλέπουμε ότι εκεί, αλλά είναι βασικά καλώντας το αρχείο configuration.php, 125 00:08:40,120 --> 00:08:42,240 και την εκτέλεση αυτού. 126 00:08:42,240 --> 00:08:45,130 Αφού το κάνει αυτό, πρόκειται να καταστήσει το χαρτοφυλάκιο. 127 00:08:45,130 --> 00:08:49,310 Rendering είναι μια συνάρτηση, έτσι ώστε κάθε φορά που είμαστε σε έναν ελεγκτή, 128 00:08:49,310 --> 00:08:56,490 θα καλέσουμε render, θα δώσει το αρχείο και στη συνέχεια, τα δεδομένα που είμαστε περνώντας, 129 00:08:56,490 --> 00:09:04,570 έτσι ώστε να θα καλέσει σε portfolio.php--είδος του περάσματος σε αυτά τα δεδομένα έτσι ώστε το χαρτοφυλάκιο μπορεί να ασχοληθεί με αυτό. 130 00:09:04,570 --> 00:09:10,540 >> Και τώρα, εδώ, έχουμε login.php φόρμα μας. 131 00:09:10,540 --> 00:09:17,540  Αυτός είναι ο ελεγκτής που παίρνει ουσιαστικά τη φροντίδα της υλοτομίας μέσα 132 00:09:17,540 --> 00:09:29,090 Εδώ, ελέγχει αν μια μορφή υποβλήθηκε σε αυτό το αρχείο και ασχολείται με την επικύρωση της υποβολής. 133 00:09:29,090 --> 00:09:31,990 Θα εξετάσουμε αυτή τη λειτουργία συγγνώμη. 134 00:09:31,990 --> 00:09:35,100 Όταν θέλουμε να εκτυπώσετε ένα μήνυμα σφάλματος, 135 00:09:35,100 --> 00:09:39,550 συγγνώμη που χρησιμοποιούμε και που θα ανακατευθύνει το χρήστη σε μια συγκεκριμένη σελίδα 136 00:09:39,550 --> 00:09:42,530 που θα εκτυπώσει το συγκεκριμένο μήνυμα λάθους που υποδεικνύουν. 137 00:09:42,530 --> 00:09:47,860 Συνεχίζοντας, θα ερωτήματα στη βάση δεδομένων - we'll μπει περισσότερο από ότι αργότερα. 138 00:09:47,860 --> 00:09:54,180 Στη συνέχεια, θα δείτε ότι εδώ κάτω αν μια φόρμα δεν υποβλήθηκε, τότε καθιστά μια φόρμα. 139 00:09:54,180 --> 00:10:01,360 Αυτό σημαίνει ότι θα πάει να login_form.php, οπότε ας ρίξουμε μια ματιά σε αυτό. 140 00:10:01,360 --> 00:10:09,400 >> Login.php είναι πραγματικά όπου βλέπουμε τον κώδικα HTML που ασχολούνται με την πραγματική οπτική πλευρά. 141 00:10:09,400 --> 00:10:15,130 Εδώ έχουμε μια ετικέτα εισόδου για το όνομα χρήστη, μια είσοδος για τον κωδικό πρόσβασης, 142 00:10:15,130 --> 00:10:16,630 καθώς και ένα κουμπί υποβολής. 143 00:10:16,630 --> 00:10:22,660 Αυτό είναι στην πραγματικότητα, όπου η οπτική πλευρά και η μορφή HTML πρόκειται να πραγματοποιηθεί. 144 00:10:22,660 --> 00:10:27,550 Εδώ, λέει ότι πρόκειται να υποβληθεί από μια ορισμένη μέθοδο, που ονομάζεται μετά. 145 00:10:27,550 --> 00:10:30,190 Θα μπει οι διαφορές μεταξύ των μεθόδων - 146 00:10:30,190 --> 00:10:33,240 δημοσιεύσετε σε σχέση με πάρει, υπάρχει κάτι που ονομάζεται επίσης θέσει - 147 00:10:33,240 --> 00:10:36,160 θα μπει σε αυτές τις μεθόδους αργότερα, αλλά για το συμφέρον αυτού του PSET, 148 00:10:36,160 --> 00:10:37,810 Θα ήθελα πολύ να σας ενθαρρύνω να χρησιμοποιήσετε θέση. 149 00:10:37,810 --> 00:10:42,210 >> Γνωρίζουμε ότι ουσιαστικά μόλις το έντυπο αυτό υποβάλλεται - 150 00:10:42,210 --> 00:10:44,650 από login_form.php-- 151 00:10:44,650 --> 00:10:50,850 τότε θα πάει στη δράση - login.php-- 152 00:10:50,850 --> 00:10:56,070 βασικά περάσει σε όλες αυτές τις παραμέτρους από αυτές τις μορφές σε login.php. 153 00:10:56,070 --> 00:11:04,900 Τα αποτελέσματα από αυτή τη μορφή που περιέχονται σε αυτό το post associative array. 154 00:11:04,900 --> 00:11:11,710 Οι δείκτες των διαφόρων στοιχείων του πίνακα μετα 155 00:11:11,710 --> 00:11:15,290 είναι ακριβώς αυτό που έχετε ορίσει εδώ. 156 00:11:15,290 --> 00:11:19,240 Λέτε ότι το όνομα αυτής της εισόδου είναι το όνομα χρήστη. Το όνομα αυτό το ένα κωδικό πρόσβασης. 157 00:11:19,240 --> 00:11:26,840 Ομοίως, μπορείτε να δείτε το όνομα χρήστη και τον δείκτη της associative array εκεί. 158 00:11:26,840 --> 00:11:35,110 Αν πάμε στο φάκελο περιλαμβάνει, έχουμε αυτό το αρχείο λειτουργίες που θα είναι πολύ χρήσιμο. 159 00:11:35,110 --> 00:11:37,570 >> Όλες αυτές οι λειτουργίες υλοποιούνται για εσάς. 160 00:11:37,570 --> 00:11:41,870 Δεν χρειάζεται να εφαρμόσουν συγκεκριμένα κάποια από αυτές τον εαυτό σας, 161 00:11:41,870 --> 00:11:43,140 αλλά από όπου και αν πρόκειται να είναι αρκετά χρήσιμο. 162 00:11:43,140 --> 00:11:49,450 Έχουμε ζητήσει συγγνώμη, η οποία όπως είπα και πριν, θα είναι ουσιαστικά εκτυπώσετε ένα μήνυμα σφάλματος 163 00:11:49,450 --> 00:11:52,920 για σας σε μια συγκεκριμένη σελίδα - apology.php. 164 00:11:52,920 --> 00:11:59,890 Στη συνέχεια, έχουμε χωματερή, οπότε αν σας καλέσει μόλις χωματερή και στη συνέχεια να περάσει στη μεταβλητή, 165 00:11:59,890 --> 00:12:04,930 τότε θα σας μεταφέρει σε μια σελίδα που θα εμφανίσει ότι η μεταβλητή για εσάς. 166 00:12:04,930 --> 00:12:09,950 Στη συνέχεια, έχουμε αποσύνδεση, η οποία θα ολοκληρωθεί ουσιαστικά μια συνεδρία ορισμένες χρήστη. 167 00:12:09,950 --> 00:12:12,240 Lookup πρόκειται να είναι χρήσιμα. 168 00:12:12,240 --> 00:12:15,870 Επειδή έχουμε να κάνουμε με εισαγωγικά και τα αποθέματα, θα πάμε να είναι σε θέση - 169 00:12:15,870 --> 00:12:17,650 και είναι ουσιαστικά πραγματικό χρόνο. 170 00:12:17,650 --> 00:12:21,380 Πρέπει να γνωρίζουμε ποιες είναι οι τιμές μετοχών, 171 00:12:21,380 --> 00:12:28,210 έτσι έχουμε την λειτουργία αναζήτησης η οποία ασχολείται με την τεκμηρίωση της Yahoo αποθεμάτων. 172 00:12:28,210 --> 00:12:37,700 Όταν κοιτάζω προς τα πάνω ένα συγκεκριμένο σύμβολο ενός αποθέματος, θα σας επιστρέψουμε το σύμβολο της μετοχής 173 00:12:37,700 --> 00:12:41,480 καθώς και το όνομα και την τρέχουσα τιμή του εν λόγω αποθέματος. 174 00:12:41,480 --> 00:12:44,330 Αυτή είναι η λειτουργία αναζήτησης. 175 00:12:44,330 --> 00:12:48,350 >> Στη συνέχεια, έχουμε να κάνουμε με mySQL, 176 00:12:48,350 --> 00:12:53,970 έτσι θα πάμε να θέλουν να εκτελέσει ορισμένα ερωτήματα σχετικά με SQL βάση δεδομένων μας. 177 00:12:53,970 --> 00:12:58,890 Έχουμε να αντιμετωπίσουμε το ερώτημα - το είδος της αφηρημένης μερικά από εκείνο το έξω. 178 00:12:58,890 --> 00:13:03,200 Εμείς πάμε για να περνά σε όλη την σειρά του SQL ερωτήματος μας - 179 00:13:03,200 --> 00:13:05,360 και όλες τις μεταβλητές που πηγαίνουν σε αυτό - 180 00:13:05,360 --> 00:13:09,480 και τι είναι αυτό που κάνει είναι πραγματικά εκτελέσει ότι για μας. 181 00:13:09,480 --> 00:13:15,070 Αντί να χρειάζεται να γράψετε όλα αυτά έξω κάθε φορά που θέλετε να ερώτημα - 182 00:13:15,070 --> 00:13:21,740 με να πάρει όλα τα αποτελέσματα από αυτό το ερώτημα - 183 00:13:21,740 --> 00:13:24,740 τότε μπορείτε να καλέσετε μόνο το ερώτημα λειτουργία, και ότι θα επιστρέψει σε σας - 184 00:13:24,740 --> 00:13:28,750 ανάλογα με το τι είστε με τη χρήση για το ερώτημά σας - 185 00:13:28,750 --> 00:13:33,000 πιθανώς μία σειρά από όλα τα αποτελέσματα που ταιριάζουν με το ερώτημα ή παρόμοιο. 186 00:13:33,000 --> 00:13:34,690 Περισσότερα για αυτό αργότερα όμως. 187 00:13:34,690 --> 00:13:41,200 >> Τέλος, έχουμε ανακατευθύνουν τα οποία, όπως υποδηλώνει το όνομα, σας ανακατευθύνει σε μια άλλη σελίδα. 188 00:13:41,200 --> 00:13:46,280 Και τότε έχουμε καθιστούν, που θα πάμε να ζητούν μια-δυο φορές. 189 00:13:46,280 --> 00:13:51,010 Όταν είστε σε έναν ελεγκτή, σας καλούν να καταστήσει στη σελίδα πρότυπο 190 00:13:51,010 --> 00:13:55,390 και στη συνέχεια να περάσει τις αξίες που το πρότυπο στη συνέχεια θα ασχοληθεί με. 191 00:13:55,390 --> 00:13:59,540 Οι τιμές αυτές είναι κατά πάσα πιθανότητα πρόκειται να ασχολούνται με τον τύπο της εξόδου που θέλετε 192 00:13:59,540 --> 00:14:01,050 για να εμφανιστεί στη σελίδα σας πρότυπο. 193 00:14:01,050 --> 00:14:09,370 Εντάξει. Αυτοί είναι οι λειτουργίες, και υπάρχει πολύ περισσότερο σε αυτό το κώδικα της διανομής. 194 00:14:09,370 --> 00:14:12,930 Σας ενθαρρύνω να περάσει μέσα από αυτό και να εξερευνήσετε μόνοι σας. 195 00:14:12,930 --> 00:14:17,050 Επίσης, το spec θα περπατήσουν πιθανώς μέσω κάποια άλλα στοιχεία του κώδικα της διανομής. 196 00:14:17,050 --> 00:14:27,360 Εδώ είναι μια σύνοψη των λειτουργιών που βρέθηκαν στο functions.php. 197 00:14:27,360 --> 00:14:31,710 >> Εντάξει. Το πρώτο καθήκον είναι να επιτρέψει στους χρήστες να εγγραφούν στην ιστοσελίδα. 198 00:14:31,710 --> 00:14:34,860 Αυτή τη στιγμή, υπάρχει μια σύνδεση μορφή στην ιστοσελίδα της, 199 00:14:34,860 --> 00:14:40,080 και σας παρέχονται με λίγους χρήστες με τους κωδικούς πρόσβασης. 200 00:14:40,080 --> 00:14:42,130 Μπορείτε να χρησιμοποιήσετε τα ονόματα και συνδεθείτε, 201 00:14:42,130 --> 00:14:45,140 αλλά θέλετε να επιτρέπουν στους ανθρώπους να κάνουν τις δικές τους ονόματα 202 00:14:45,140 --> 00:14:47,390 και οι ίδιοι προσθέτουν στην ιστοσελίδα. 203 00:14:47,390 --> 00:14:53,070 Η διάταξη για την εγγραφή είναι αρκετά παρόμοια με τη μορφή σύνδεσης, 204 00:14:53,070 --> 00:14:56,340 εκτός από το όνομα χρήστη δεν είναι προ-υπάρχουσες, 205 00:14:56,340 --> 00:14:59,430 και ο χρήστης πρέπει επίσης να παρέχει ένα νέο κωδικό πρόσβασης, 206 00:14:59,430 --> 00:15:02,440 και τότε συνήθως έχουμε μια επιβεβαίωση κωδικού πρόσβασης. 207 00:15:02,440 --> 00:15:06,580 Μόλις ο χρήστης εισάγει όλες τις πληροφορίες αυτές, 208 00:15:06,580 --> 00:15:10,620 θέλουμε να τα προσθέσετε στη βάση δεδομένων των χρηστών μας. 209 00:15:10,620 --> 00:15:12,970 Εμείς πάμε για να έχουμε μια βάση δεδομένων - μια βάση δεδομένων SQL - 210 00:15:12,970 --> 00:15:14,470 ότι θα πάμε για την αναφορά. 211 00:15:14,470 --> 00:15:18,140 Σε αυτή τη βάση δεδομένων, θα έχουμε έναν πίνακα με όλους τους χρήστες 212 00:15:18,140 --> 00:15:23,850 περιέχει το όνομα χρήστη, τον κωδικό πρόσβασης τους, καθώς επίσης και πόσα χρήματα που έχουν. 213 00:15:23,850 --> 00:15:28,480 >> Στο μητρώο, θέλουμε να τους επιτρέψει να καταχωρεί τις πληροφορίες αυτές. 214 00:15:28,480 --> 00:15:29,740 Θέλουμε να εμφανίσει αυτή τη μορφή. 215 00:15:29,740 --> 00:15:32,210 Θέλουμε να βεβαιωθείτε ότι ο κωδικός πρόσβασής τους - 216 00:15:32,210 --> 00:15:37,490 ότι μπήκαν ένα, και στη συνέχεια, επίσης, ότι οι κωδικοί πρόσβασης ταιριάζουν όταν εισέρχονται σε αυτό δύο φορές. 217 00:15:37,490 --> 00:15:42,240 Μετά από όλα αυτά γίνεται - αν υποτεθεί ότι ελέγχονται τα σφάλματα - 218 00:15:42,240 --> 00:15:45,120 τότε θέλουμε να προσθέσουμε εκείνους τους χρήστες στη βάση δεδομένων μας. 219 00:15:45,120 --> 00:15:49,630 Τέλος, αφού έχετε εγγραφεί, είναι αρκετά βολικό, αν δεν χρειάζεται να συνδεθείτε ξανά 220 00:15:49,630 --> 00:15:51,000 τη στιγμή που έχετε εγγραφεί, 221 00:15:51,000 --> 00:15:54,000 έτσι θα πάμε να συνδεθείτε με την ιστοσελίδα, αν έχετε εγγραφεί σε επιτυχία. 222 00:15:54,000 --> 00:16:00,360 >> Το πρώτο καθήκον είναι να εμφανιστεί η μορφή, και αυτό είναι πραγματικά πρόκειται να είναι - 223 00:16:00,360 --> 00:16:04,920 όλη αυτή η διαδικασία εγγραφής θα πρέπει να διαμορφωθεί αρκετά στενά μετά το login 224 00:16:04,920 --> 00:16:10,510 εκτός από login.php αντί να έχετε register.php. 225 00:16:10,510 --> 00:16:14,300 Αντί login_form.php--που είναι το πρότυπο - 226 00:16:14,300 --> 00:16:16,030 θα έχετε εγγραφείτε μορφή. 227 00:16:16,030 --> 00:16:19,680 Θα ήθελα να προσθέσω ένα ακόμα πεδίο - ένα πεδίο επιβεβαίωσης κωδικού πρόσβασης - 228 00:16:19,680 --> 00:16:23,450 και όχι μόνο το όνομα ενός και έναν κωδικό πρόσβασης. 229 00:16:23,450 --> 00:16:28,120 Στη συνέχεια, θα θελήσετε να ελέγξετε αν οι κωδικοί πρόσβασης ταιριάζουν ή είναι κενά. 230 00:16:28,120 --> 00:16:38,560 Έχουμε τον ελεγκτή - register.php--η οποία πρόκειται να αναλάβει τη φροντίδα του να κάνει αυτούς τους ελέγχους. 231 00:16:38,560 --> 00:16:41,690 Όταν μια φόρμα υποβάλλεται μέσω της μεθόδου μετά, 232 00:16:41,690 --> 00:16:47,050 τότε το σύνολο των μεταβλητών αυτών περιέχονται εντός της συστοιχίας μετά. 233 00:16:47,050 --> 00:16:52,280 Θέλετε να βεβαιωθείτε ότι η τιμή στην σειρά μετά τον κωδικό του δείκτη 234 00:16:52,280 --> 00:16:58,080 αντιστοιχεί στο στοιχείο επιβεβαίωσης. 235 00:16:58,080 --> 00:16:59,410 Θέλετε να βεβαιωθείτε ότι δεν είναι κενό, 236 00:16:59,410 --> 00:17:01,650 και θέλετε να βεβαιωθείτε ότι είναι το ίδιο. 237 00:17:01,650 --> 00:17:05,960 >> Ένα βολικό πράγμα για PHP είναι ότι δεν χρειάζεται να χρησιμοποιήσετε σειρά συγκρίνουν πια. 238 00:17:05,960 --> 00:17:08,410 Μπορούμε να χρησιμοποιήσουμε την ίση ισούται με χειριστή- 239 00:17:08,410 --> 00:17:11,470  να ελέγχει αν χορδές είναι ίση με ένα άλλο. 240 00:17:11,470 --> 00:17:14,960 Για την αντιμετώπιση των λαθών, θα θελήσετε να ζητήσει συγγνώμη. 241 00:17:14,960 --> 00:17:17,150 Για να ζητήσω συγγνώμη, μπορείτε απλά να καλέσετε τη λειτουργία 242 00:17:17,150 --> 00:17:21,910  και στη συνέχεια, καθορίστε έναν τύπο του μηνύματος που θέλετε να εξόδου. 243 00:17:21,910 --> 00:17:24,630 Στη συνέχεια, θέλετε να προσθέσετε το χρήστη στη βάση δεδομένων. 244 00:17:24,630 --> 00:17:30,880 Μέχρι τώρα, όλοι έχουμε κάνει είναι απλά τοπικές συναλλαγές με τα αποτελέσματα της φόρμας. 245 00:17:30,880 --> 00:17:33,940 Τώρα, εμείς πραγματικά θέλουμε να τα προσθέσετε στη βάση δεδομένων μας. 246 00:17:33,940 --> 00:17:38,890 Για το σκοπό αυτό, πρέπει πρώτα να βεβαιωθείτε ότι το όνομα δεν είναι κενή. 247 00:17:38,890 --> 00:17:44,550 Καταλάβετε ότι σε ένα δικτυακό τόπο, δεν μπορείτε να έχετε πολλούς χρήστες με το ίδιο όνομα χρήστη, 248 00:17:44,550 --> 00:17:50,010 έτσι θα θελήσετε να σιγουρευτείτε ότι όταν εισάγετε κάτι στη βάση δεδομένων σας - 249 00:17:50,010 --> 00:17:56,650 εισάγετε ένα νέο χρήστη - τότε δεν έχετε μια σύγκρουση ανάμεσα σε ένα προϋπάρχον όνομα χρήστη 250 00:17:56,650 --> 00:17:59,150 και το όνομα χρήστη που ένας χρήστης προσπαθεί να υποβάλει. 251 00:17:59,150 --> 00:18:02,250 Για το σκοπό αυτό, τη στιγμή που θα εκτελέσει ένα ερώτημα - 252 00:18:02,250 --> 00:18:08,760 εισάγοντας ένα συγκεκριμένο χρήστη με τον κωδικό τους και ένα αρχικό ποσό των μετρητών - 253 00:18:08,760 --> 00:18:15,140 τη στιγμή που θα την ονόμαζα ερώτημα, τότε πραγματικά θα mySQL επιστρέψει false αν αποτύχει. 254 00:18:15,140 --> 00:18:21,050 >> Η δομή του είναι τέτοια χρήστες ότι το όνομα χρήστη είναι μια μοναδική αξία, 255 00:18:21,050 --> 00:18:22,540 έτσι δεν μπορείτε να έχετε περισσότερες από μία. 256 00:18:22,540 --> 00:18:30,080 Κατά την προσπάθειά σας και να εισαγάγετε μια νέα γραμμή με το όνομα χρήστη που υπάρχει ήδη, 257 00:18:30,080 --> 00:18:34,470 αυτό πρόκειται να επιστρέψει false - σαν μια Boolean τιμή ψευδής. 258 00:18:34,470 --> 00:18:45,320 Ένα δύσκολο πράγμα εδώ είναι ότι θα θέλετε να ελέγξετε αν το αποτέλεσμα είναι το αποτέλεσμα του ερωτήματός σας. 259 00:18:45,320 --> 00:18:52,320 Αν αυτό αποτύχει, τότε θα θελήσετε να ελέγξετε με το triple-ισούται με χειριστή. 260 00:18:52,320 --> 00:18:55,420 Αυτό είναι που πραγματικά συμβαίνει για να ελέγξετε εάν υπάρχει μια αποτυχία ή όχι, 261 00:18:55,420 --> 00:19:02,760 λαμβάνοντας υπόψη ότι σε μια απλή ισούται-ισούται, θα ήταν αλήθεια αν η σειρά ήταν άδειο. 262 00:19:02,760 --> 00:19:06,000 Το αποτέλεσμα μιας αποτυχίας, αν υπάρχει μια σύγκρουση μεταξύ usernames 263 00:19:06,000 --> 00:19:10,350 είναι η πραγματική αξία ψευδής. 264 00:19:10,350 --> 00:19:15,230 >> Εδώ είναι το πώς μπορείτε να εισάγετε σε μια βάση δεδομένων. 265 00:19:15,230 --> 00:19:19,220 Εδώ είναι το ερώτημα που θα τρέξει αυστηρά σε SQL. 266 00:19:19,220 --> 00:19:25,750 Ένα πράγμα είναι ότι μπορείτε πραγματικά να επισκεφθείτε το δικτυακό τόπο που διαχειρίζεται βάση δεδομένων SQL σας 267 00:19:25,750 --> 00:19:31,070 και παίζουν εκεί εισάγοντας χειροκίνητα είτε τις τιμές ή σειρές. 268 00:19:31,070 --> 00:19:34,540 Θα εξάγει ό, τι η παραγωγή είναι SQL. 269 00:19:34,540 --> 00:19:38,870 Μπορείτε επίσης να εκτελέσετε εντολές SQL στη βάση δεδομένων σας 270 00:19:38,870 --> 00:19:42,200  και στη συνέχεια να δούμε ποια είναι η σύνταξη θα μπορούσε να είναι, 271 00:19:42,200 --> 00:19:46,790 και στη συνέχεια να μεταφράσουμε σε λειτουργία το ερώτημα που έχουμε στην PSET 7, 272 00:19:46,790 --> 00:19:51,120 η οποία πρόκειται να είναι πολύ παρόμοια με τα ερωτήματα που λειτουργεί πραγματικά. 273 00:19:51,120 --> 00:19:54,570 >> Αν ήθελα να εισαγάγετε μια νέα γραμμή σε χρήστες τραπέζι μου, 274 00:19:54,570 --> 00:20:01,240 τότε θα ήθελα να καθορίσετε ένθετο σε χρήστες, που είναι το όνομα του πίνακα μου. 275 00:20:01,240 --> 00:20:06,870 Στη συνέχεια, θα ήθελα να καθορίσετε τα ονόματα των στηλών. 276 00:20:06,870 --> 00:20:13,230 Στη συνέχεια, θα ήθελα να παρέχουν τις τιμές μαζί με τον κωδικό μου. 277 00:20:13,230 --> 00:20:17,080 Οι κωδικοί πρόσβασης των χρηστών στο τραπέζι μας δεν είναι απλώς αποθηκεύονται ως string. 278 00:20:17,080 --> 00:20:19,440 Οι εντολές αυτές αποθηκεύονται ως η κρυπτογραφημένη έκδοση, 279 00:20:19,440 --> 00:20:24,560 έτσι θα θελήσετε να εκτελέσετε την λειτουργία κρύπτη σχετικά με την πραγματική κωδικό πρόσβασης, 280 00:20:24,560 --> 00:20:29,680 και ότι θα σας δώσει το σωστό τύπο για την αποθήκευση του πίνακα των χρηστών. 281 00:20:29,680 --> 00:20:34,960 Τρέχοντας αυτό θα εισάγει μια νέα γραμμή σε χρήστες τραπέζι σας. 282 00:20:34,960 --> 00:20:39,020 >> Για την αντιμετώπιση του ερωτήματος λειτουργία, 283 00:20:39,020 --> 00:20:43,100 πριν από το Γ χρησιμοποιήσαμε το σύμβολο του ποσοστού ως ένα σύμβολο κράτησης θέσης. 284 00:20:43,100 --> 00:20:47,670 Ομοίως, η ίδια η έννοια της ένα σύμβολο κράτησης θέσης ισχύει και εδώ. 285 00:20:47,670 --> 00:20:50,720 Με το ερώτημα, μπορείτε να καθορίσετε το σύνολο ερώτημα, 286 00:20:50,720 --> 00:20:55,510 εκτός όταν έχουμε να κάνουμε με τις μεταβλητές ως είσοδο σας στο ερώτημα, 287 00:20:55,510 --> 00:21:00,490 στη συνέχεια, αντί να κάνει τους βάζοντας μέσα - όπως όταν είχαμε printf δηλώσεις Γ. 288 00:21:00,490 --> 00:21:03,740 Θα βάλει το string και στη συνέχεια να έχουν ένα σύμβολο κράτησης θέσης εκεί, και στη συνέχεια, μετά από κάθε 289 00:21:03,740 --> 00:21:06,990 κόμμα, ποια μεταβλητή που είχαμε. 290 00:21:06,990 --> 00:21:14,480 Εδώ, θα πάμε να χρησιμοποιούν το σήμα ερωτηματικό ως σύμβολο κράτησης θέσης μας 291 00:21:14,480 --> 00:21:21,670 και στη συνέχεια να περάσει σε κάθε μεταβλητή, αντίστοιχα, προκειμένου, για τα σύμβολα κράτησης θέσης - 292 00:21:21,670 --> 00:21:24,420 όπου οι μεταβλητές πρέπει να πάνε. 293 00:21:24,420 --> 00:21:29,470 Μέχρι εδώ, το πρώτο ερωτηματικό θα πρέπει να αντικατασταθεί από την πραγματική όνομα χρήστη 294 00:21:29,470 --> 00:21:33,610 τότε το δεύτερο ερωτηματικό με τον κωδικό πρόσβασης. 295 00:21:33,610 --> 00:21:37,000 >> Στη συνέχεια, τέλος, αφού έχετε τα καταχωρηθούν και να προστεθούν τους στη βάση δεδομένων, 296 00:21:37,000 --> 00:21:40,510 τότε θέλετε να συνδεθείτε στο δικτυακό τόπο. 297 00:21:40,510 --> 00:21:45,320 Έχουμε είδος υπερ-μεταβλητή που ονομάζεται παγκόσμια σύνοδο. 298 00:21:45,320 --> 00:21:48,160 Συνεδρία παίρνει ένα συγκεκριμένο id, 299 00:21:48,160 --> 00:21:51,750 και ότι η id αντιστοιχεί στον χρήστη που είναι συνδεδεμένος in 300 00:21:51,750 --> 00:21:56,380 Τι θα θέλετε να κάνετε είναι να βρείτε τι αναγνωριστικό χρήστη τους είναι 301 00:21:56,380 --> 00:22:03,710 και που στη συνέχεια ότι id συνεδρίας ως αναγνωριστικό που συγκεκριμένου χρήστη. 302 00:22:03,710 --> 00:22:07,560 Μια λειτουργία που θα θέλετε να χρησιμοποιήσετε εδώ είναι μια εντολή SQL 303 00:22:07,560 --> 00:22:15,150 που θα ανακτήσει την τελευταία εισαχθεί αριθμός id από το τραπέζι σας. 304 00:22:15,150 --> 00:22:24,560 Στη συνέχεια θα καλέσει σειρές - it'll καλέστε το id - it'll εκχωρήσετε ένα όνομα στον αριθμό που επιστρέφει. 305 00:22:24,560 --> 00:22:27,900 Θα καλέσετε αυτό το id. 306 00:22:27,900 --> 00:22:33,370 Τώρα έχουμε τελειώσει μητρώο, και μπορούμε να προχωρήσουμε για να παραθέσω. 307 00:22:33,370 --> 00:22:36,610 >> Παράθεση επιτρέπει σε ένα χρήστη να εισάγει το όνομα ενός συγκεκριμένου αποθέματος, 308 00:22:36,610 --> 00:22:41,940 και στη συνέχεια θα επιστρέψει τις ιδιότητες του εν λόγω αποθέματος. 309 00:22:41,940 --> 00:22:48,410 Τι θα θέλετε να κάνουμε εδώ είναι να έχουμε έναν ελεγκτή και κάποια πρότυπα. 310 00:22:48,410 --> 00:22:53,380 Σε αυτή την περίπτωση, θα πάμε να έχουν ένα χειριστήριο το οποίο πρόκειται να κάνει όλες τις σκέψης για εμάς. 311 00:22:53,380 --> 00:23:01,210 Είναι πρόκειται να δούμε το σύμβολο και στη συνέχεια να περάσει σε αξίες με τα πρότυπα που θα εκτυπώσετε. 312 00:23:01,210 --> 00:23:03,060 Εμείς πάμε για να έχουν 2 πρότυπα εδώ. 313 00:23:03,060 --> 00:23:07,260 Εμείς πάμε για να έχουν 1 πρότυπο που παρέχει τη μορφή με την οποία οι χρήστες θα 314 00:23:07,260 --> 00:23:09,920 εισάγετε το όνομα του αποθέματος - το όνομα της μετοχής. 315 00:23:09,920 --> 00:23:16,030 Τότε είμαστε, επίσης, πρόκειται να θέλουν ένα άλλο πρότυπο που εμφανίζει αυτές τις αξίες. 316 00:23:16,030 --> 00:23:27,450 Μπορείτε να δείτε σε login για ένα παράδειγμα για το πώς θα έχετε μια φόρμα που δέχεται είσοδο, 317 00:23:27,450 --> 00:23:30,060 εκτός από εδώ, θέλουμε μόνο 1 τομέα. 318 00:23:30,060 --> 00:23:31,630 Δεν θέλουμε ένα όνομα χρήστη και έναν κωδικό πρόσβασης τομέα. 319 00:23:31,630 --> 00:23:37,110 Θέλουμε μόνο 1 πεδίο κειμένου που επιτρέπει στο χρήστη να εισάγει το όνομα ενός συγκεκριμένου αποθέματος. 320 00:23:37,110 --> 00:23:40,110 Στη συνέχεια, μπορείτε να στείλετε τα δεδομένα - από τη στιγμή που έχουν ανευρεθεί του εν λόγω αποθέματος - 321 00:23:40,110 --> 00:23:45,550 να quote_form.php. 322 00:23:45,550 --> 00:23:50,780 Αναζήτηση θα επιστρέψει το σύμβολο μιας μετοχής, το όνομα και μια τιμή. 323 00:23:50,780 --> 00:23:53,910 Εκείνοι που περιέχονται μέσα σε ένα associative array. 324 00:23:53,910 --> 00:24:01,390 Κοιτάξτε τη λειτουργία αναζήτησης μέσα στο functions.php για περισσότερες πληροφορίες 325 00:24:01,390 --> 00:24:04,010 σχετικά με τους τύπους επιστροφή εκείνων. 326 00:24:04,010 --> 00:24:08,520 >> Μεγάλη! Έτσι, τελικά, θα θέλετε να εμφανίσετε την πληροφορία διαθεσιμότητας προϊόντος. 327 00:24:08,520 --> 00:24:14,110 Θα θελήσετε πιθανώς να εμφανιστεί - εσείς θα θέλετε να έχουν πρόσβαση σε αυτές τις μεταβλητές. 328 00:24:14,110 --> 00:24:17,610 Μόλις έχετε την τιμή σε μια μεταβλητή - 329 00:24:17,610 --> 00:24:20,860 καθώς και το όνομα και το σύμβολο - 330 00:24:20,860 --> 00:24:25,550 τότε θα θέλετε να εμφανίσετε αυτές σελίδα πρότυπό σας. 331 00:24:25,550 --> 00:24:31,540 Ότι η σελίδα πρότυπο θα μπορούσε να ονομαστεί show_quote.php ή κάτι τέτοιο. 332 00:24:31,540 --> 00:24:39,660 Quote.php σελίδα σας θα καθιστούσε απόσπασμα παράσταση και στη συνέχεια να περάσει σε όλες αυτές τις αξίες. 333 00:24:39,660 --> 00:24:47,170 Στη συνέχεια, σε php σελίδα σας, μπορείτε πραγματικά να εκτυπώσετε αυτές τις τιμές στο HTML πλευρά της σελίδας. 334 00:24:47,170 --> 00:24:53,800 Μπορείτε να χρησιμοποιήσετε μόνο τη λειτουργία εκτύπωσης και να περάσει στην τιμή. 335 00:24:53,800 --> 00:24:57,990 Υπάρχουν 2 τρόποι - μπορείτε να συνδέσετε το είτε με τον φορέα εκμετάλλευσης dot, 336 00:24:57,990 --> 00:25:02,230 ή να χρησιμοποιήσετε ένα σύμβολο κράτησης θέσης. 337 00:25:07,580 --> 00:25:12,750 >> Οι χρήστες τελικά πρόκειται να αγοράζουν και να πωλούν τα αποθέματα. 338 00:25:12,750 --> 00:25:18,450 Θέλουμε να τους επιτρέψει κάποιο τρόπο να δει όλα τα αποθέματα που έχουν σήμερα. 339 00:25:18,450 --> 00:25:21,350 Εμείς πάμε για να καλέσετε ότι το χαρτοφυλάκιό τους. 340 00:25:21,350 --> 00:25:26,180 Χαρτοφυλακίου θα ήταν, κατά πάσα πιθανότητα για κάθε χρήστη, περιέχει μια δέσμη των σειρών 341 00:25:26,180 --> 00:25:31,760 Προσθήκη τον τύπο του μεριδίου που έχουν και στη συνέχεια, πόσοι από αυτούς που έχουν. 342 00:25:31,760 --> 00:25:36,500 Υπάρχοντα πίνακα μας - αυτή τη στιγμή έχουμε έναν πίνακα στη βάση δεδομένων των χρηστών μας. 343 00:25:36,500 --> 00:25:41,780 Που περιέχει όνομα ενός χρήστη καθώς και τον κωδικό τους και πόσα μετρητά έχουν. 344 00:25:41,780 --> 00:25:50,390 Δεν υπάρχει κανένας πραγματικός τρόπος για την αποθήκευση όλων των αποθεμάτων τους σε αυτό. 345 00:25:50,390 --> 00:25:58,010 Δεν είναι όπως μπορούμε να εισάγουμε νέες στήλες για κάθε απόθεμα. 346 00:25:58,010 --> 00:26:03,650 Αυτό θα ήταν μια πολύ, πολύ μεγάλη σειρά, γιατί έχουμε μια άπειρη ποσότητα 347 00:26:03,650 --> 00:26:06,200 των τύπων των αποθεμάτων που θα μπορούσαν να έχουν. 348 00:26:06,200 --> 00:26:09,150 Έτσι, αντί για το τι θα κάνουμε είναι μέσα στην ίδια βάση δεδομένων, 349 00:26:09,150 --> 00:26:15,000 θα έχουμε έναν πίνακα χρηστών, αλλά στη συνέχεια θα έχουμε επίσης έναν πίνακα του χαρτοφυλακίου. 350 00:26:15,000 --> 00:26:18,430 Ο πίνακας του χαρτοφυλακίου θα είναι σίγουρα συνδέεται με τον πίνακα των χρηστών, 351 00:26:18,430 --> 00:26:24,600 αλλά, αντίθετα, η δομή του πίνακα του χαρτοφυλακίου θα έχει την πληροφορία διαθεσιμότητας προϊόντος, 352 00:26:24,600 --> 00:26:27,780 πόσες μετοχές του εν λόγω αποθέματος, ο χρήστης έχει, 353 00:26:27,780 --> 00:26:31,620 καθώς και συγκεκριμένο αριθμό ενός χρήστη id. 354 00:26:31,620 --> 00:26:34,620 Έχετε τον πίνακα των χρηστών που έχει μια ταυτότητα, καθώς και το όνομα, το hash - 355 00:26:34,620 --> 00:26:40,130 που είναι ο κωδικός πρόσβασης, το κρυπτογραφημένο κωδικό πρόσβασης - 356 00:26:40,130 --> 00:26:42,130 και στη συνέχεια το ποσό των μετρητών που έχουν. 357 00:26:42,130 --> 00:26:47,900 Ο αριθμός id θα πρέπει να συνδέεται με τον αριθμό id από το χαρτοφυλάκιο. 358 00:26:47,900 --> 00:26:52,490 Το χαρτοφυλάκιο θα έχει ακριβώς το σύμβολο του αποθέματος, καθώς και τις μετοχές - 359 00:26:52,490 --> 00:26:55,410 ο αριθμός των μετοχών του εν λόγω αποθέματος που διαθέτει ο χρήστης. 360 00:26:55,410 --> 00:26:58,520 Στον εν λόγω πίνακα χαρτοφυλάκιο θα έχει βασικά 361 00:26:58,520 --> 00:27:03,760 όλες οι μετοχές που κατέχονται από όλους τους χρήστες στον ιστότοπό σας. 362 00:27:03,760 --> 00:27:10,550 Αργότερα, για να καθορίσετε μόνο ορισμένες μετοχές ενός χρήστη - μόνο το χαρτοφυλάκιό τους - 363 00:27:10,550 --> 00:27:15,360 θα ανακτήσετε τις τιμές από τον πίνακα του χαρτοφυλακίου σας, έτσι ώστε 364 00:27:15,360 --> 00:27:19,930 ο αριθμός id είναι ειδικά για αυτόν το χρήστη. 365 00:27:26,520 --> 00:27:34,890 >> Όταν εμφανιστεί το χαρτοφυλάκιο, θα θέλετε να καταγγείλετε το καθένα από τα αποθέματα στο χαρτοφυλάκιο ενός χρήστη. 366 00:27:34,890 --> 00:27:41,670 Θα ήθελα να αναφέρουν τον αριθμό των μετοχών και την τρέχουσα αξία των μετοχών αυτών. 367 00:27:41,670 --> 00:27:45,950 Ότι η σημερινή αξία των μετοχών αυτών δεν αποθηκεύεται στον πίνακα του χαρτοφυλακίου 368 00:27:45,950 --> 00:27:51,640 γιατί αυτό πρόκειται να είναι ενημέρωση - στο ελάχιστο - κάθε μέρα από το Yahoo. 369 00:27:51,640 --> 00:27:58,550 Για να πάρετε αυτές τις πληροφορίες, μπορείτε να αναφοράς το οποίο από το SQL ερώτημά σας. 370 00:27:58,550 --> 00:28:02,400 Ποια λειτουργία προβλέπει ότι για μας; Ποια λειτουργία θα πάρει την τιμή; 371 00:28:02,400 --> 00:28:09,110 Αυτό είναι αναζήτησης, έτσι ώστε χρησιμοποιώντας αναζήτηση σε ένα συγκεκριμένο σύμβολο θα σας δώσει πολλές πληροφορίες. 372 00:28:09,110 --> 00:28:13,710 Θα σας δώσω 3 κομμάτια των πληροφοριών - το όνομα, το σύμβολο, καθώς και την τιμή. 373 00:28:13,710 --> 00:28:17,490 Μόλις αναζήτηση ένα συγκεκριμένο σύμβολο, τότε μπορείτε να πάρετε την τιμή, 374 00:28:17,490 --> 00:28:20,460 και στη συνέχεια μπορείτε να χρησιμοποιήσετε την τιμή να εμφανίζεται στο χαρτοφυλάκιό σας. 375 00:28:20,460 --> 00:28:26,190 >> Το χαρτοφυλάκιο θα πρέπει να εμφανίσει επίσης το τρέχον υπόλοιπο σε μετρητά του χρήστη. 376 00:28:26,190 --> 00:28:30,310 Το πεδίο αυτό αποθηκεύεται στο τραπέζι των χρηστών σας. 377 00:28:30,310 --> 00:28:33,400 Έτσι, στη συνέχεια, να θυμόμαστε πως είμαστε ουσιαστικά να χρειάζεται να - 378 00:28:33,400 --> 00:28:36,850 είμαστε με διαφορετικούς τύπους αρχείων PHP. 379 00:28:36,850 --> 00:28:40,160 Εμείς πάμε για να έχουμε έναν ελεγκτή ο οποίος ουσιαστικά κάνει όλη τη σκέψη για σας. 380 00:28:40,160 --> 00:28:45,940 Και τότε έχουμε ένα πρότυπο στο οποίο το πρότυπο ασχολείται με την έξοδο των δεδομένων. 381 00:28:45,940 --> 00:28:50,790 Θα πρέπει να σκεφτούμε για το τι μεταβλητές ο ελεγκτής θα πρέπει να λάβει in 382 00:28:50,790 --> 00:29:01,630 Αν έχουμε να κάνουμε με ένα χαρτοφυλάκιο που εξάγει κάθε όνομα, το σύμβολο και ο αριθμός μετοχών, 383 00:29:01,630 --> 00:29:03,730 καθώς και την τρέχουσα τιμή μιας μετοχής, 384 00:29:03,730 --> 00:29:06,950 τότε θα θέλετε να βρείτε κάποιο τρόπο ουσιαστικά περνώντας - 385 00:29:06,950 --> 00:29:12,070 μπορείτε να περάσετε σε μια σειρά από αξίες που ταιριάζουν με αυτό. 386 00:29:15,250 --> 00:29:24,360 >> Ας πάμε σε ένα παράδειγμα για το πώς μπορείτε να ανακτήσετε όλα τα αποθέματα 387 00:29:24,360 --> 00:29:26,210 ανήκει σε συγκεκριμένο χρήστη. 388 00:29:26,210 --> 00:29:31,400 Αυτό δεν ασχολείται - ακόμη - με την τιμή της μετοχής. 389 00:29:31,400 --> 00:29:33,520 Αυτό θα κάνετε είναι να εκτελέσετε ένα ερώτημα. 390 00:29:33,520 --> 00:29:37,070 Θα λάβουν το σύμβολο, καθώς και από τις μετοχές - 391 00:29:37,070 --> 00:29:42,770 Παίρνω αυτό το τραπέζι, αλλά σε αυτή την περίπτωση, τι θα ήταν αυτό; 392 00:29:42,770 --> 00:29:49,400 Ποιο είναι το όνομα του πίνακα που έχουμε να κάνουμε με αυτό το σύμβολο έχει και μετοχές 393 00:29:49,400 --> 00:29:52,280 για ένα συγκεκριμένο χρήστη; 394 00:29:52,280 --> 00:29:56,410 Είναι είτε χρήστες ή χαρτοφυλακίου. 395 00:29:56,410 --> 00:29:57,820 Χαρτοφυλακίου. 396 00:29:57,820 --> 00:30:03,220 Τι θα κάνουμε αυτό είναι το ερώτημα χαρτοφυλάκιο για τα σύμβολα και μετοχές 397 00:30:03,220 --> 00:30:04,920 για ένα συγκεκριμένο χρήστη. 398 00:30:04,920 --> 00:30:09,260 Εδώ, θα ήθελα να πω, (SELECT σύμβολο, μετοχές ΑΠΟ TBL - 399 00:30:09,260 --> 00:30:12,280 αλλά αντί του πίνακα, πρόκειται να αντικαταστήσει ότι με χαρτοφυλάκιο. 400 00:30:12,280 --> 00:30:15,220 «Πού είναι βασικά κατάστασή μου. 401 00:30:15,220 --> 00:30:21,050 Εγώ λέω ότι το μόνο που θέλουν να πάρουν τις συνεταιριστικές πίνακες που αντιστοιχούν 402 00:30:21,050 --> 00:30:23,850  σε αυτό το ακόλουθο όρο - id ίσων. 403 00:30:23,850 --> 00:30:27,600  Στη συνέχεια βάζω ένα σύμβολο κράτησης θέσης εκεί και έπειτα id συνεδρίας. 404 00:30:27,600 --> 00:30:36,720 Αυτό θα κάνουμε είναι να πούμε για κάθε σειρά σε σειρές. 405 00:30:36,720 --> 00:30:40,940 Αυτό είναι ένα κομψό τρόπο, αντί πραγματικά να πρέπει να δημιουργήσει ένα για βρόχο 406 00:30:40,940 --> 00:30:47,450 που επαναλαμβάνεται σε όλα τα ευρετήρια, τότε σε PHP μπορείτε να έχετε ένα για κάθε loop-. 407 00:30:47,450 --> 00:30:53,520 >> Αν έχετε μια συγκεκριμένη σειρά, τότε μπορείτε να πείτε Πάω να καλέσω κάθε διαδοχικό στοιχείο - 408 00:30:53,520 --> 00:30:57,930 Πάω να καλέσω κάθε στοιχείο αυτό το όνομα. 409 00:30:57,930 --> 00:31:02,780 Έτσι, για κάθε ένα από αυτά τα στοιχεία, θα πάω να τους αποκαλούν αυτό, 410 00:31:02,780 --> 00:31:04,500 τότε μπορώ να το κάνω αυτό. 411 00:31:04,500 --> 00:31:10,370 Σε αυτό για το καθένα, έχετε σειρές ως πραγματική σειρά σας, και κάθε σειρά θα πάμε να καλέσετε σειρά. 412 00:31:10,370 --> 00:31:12,420 Κάθε φορά που εκτελεί το σώμα, 413 00:31:12,420 --> 00:31:16,960 θα ανεβαίνουν και θα ενημερώσει σειρά στο επόμενο στοιχείο σε σειρές. 414 00:31:18,900 --> 00:31:25,260 >> Τώρα, όσον αφορά την αγορά των αποθεμάτων, 415 00:31:25,260 --> 00:31:29,500 αυτό που θέλουμε να κάνουμε είναι να πάρει το απόθεμα που ο χρήστης θέλει να αγοράσει 416 00:31:29,500 --> 00:31:35,300 και το ποσό των μετοχών που ο χρήστης θέλει να αγοράσει, και στη συνέχεια - αν θέλουν - 417 00:31:35,300 --> 00:31:38,120 προσθέστε το απόθεμα στο χαρτοφυλάκιό τους. 418 00:31:38,120 --> 00:31:40,310 Προφανώς, αν πρόκειται να αγοράσετε κάτι, τότε αυτό πρόκειται να μειωθεί 419 00:31:40,310 --> 00:31:43,520 το ποσό των χρημάτων που έχουν, έτσι ώστε πρόκειται να μειώσει τα μετρητά τους. 420 00:31:43,520 --> 00:31:48,380 Εμείς πάμε για να ασχολούνται με την ενημέρωση του χαρτοφυλακίου, καθώς και τον πίνακα των χρηστών, 421 00:31:48,380 --> 00:31:50,300 το οποίο περιέχει τα μετρητά. 422 00:31:50,300 --> 00:31:54,920 Αλλά πρώτα, θα πρέπει να πάρετε το πραγματικό απόθεμα και το ποσό των μετοχών που θέλει ο χρήστης. 423 00:31:54,920 --> 00:32:00,010 Γι 'αυτό, θα χρειαστείτε μια φόρμα HTML που θα ζητήσει για το σύμβολο του αποθέματος 424 00:32:00,010 --> 00:32:03,360 που θέλετε να αγοράσετε, καθώς και τον αριθμό των μετοχών. 425 00:32:03,360 --> 00:32:08,300 Στη συνέχεια, θα θελήσετε να προσθέσετε. 426 00:32:08,300 --> 00:32:13,750 Θα θελήσετε να επιλέξετε ορισμένες αξίες. 427 00:32:13,750 --> 00:32:19,670 Έχουμε περάσει αυτό το λίγο ήδη, αλλά όταν προσπαθείτε να λάβετε ορισμένες σειρές - 428 00:32:19,670 --> 00:32:22,020 ανακτήσετε ορισμένες γραμμές από τον πίνακα SQL, 429 00:32:22,020 --> 00:32:24,290 αυτή είναι η ακόλουθη σύνταξη. 430 00:32:24,290 --> 00:32:28,400 Έχετε να επιλέξετε, και στη συνέχεια, αν έχετε ορίσει ένα αστέρι, 431 00:32:28,400 --> 00:32:31,830 που θα επιστρέψει το σύνολο ουσιαστικά, για ολόκληρη τη σειρά σας. 432 00:32:31,830 --> 00:32:36,890 Κατόπιν πάλι, έχετε την κατάσταση κατά την οποία, στη συνέχεια, να καθορίσετε - 433 00:32:36,890 --> 00:32:39,990 Θέλω μόνο το όνομα χρήστη να είναι ίσο με το ταχυδρομείο-στην, 434 00:32:39,990 --> 00:32:46,660 έτσι θα ανακτήσει μόνο τη γραμμή σε χρήστες που αντιστοιχεί στο mail-in. 435 00:32:46,660 --> 00:32:52,860 >> Όταν ένας χρήστης θέλει να προσθέσει ένα μερίδιο σε ένα χαρτοφυλάκιο, 436 00:32:52,860 --> 00:32:54,400 θα πρέπει να ελέγξετε για λίγα λάθη. 437 00:32:54,400 --> 00:32:57,680 Θέλετε να βεβαιωθείτε ότι ο χρήστης μπορεί να αντέξει οικονομικά πραγματικά το απόθεμα, 438 00:32:57,680 --> 00:33:00,810 έτσι θα θελήσετε να ελέγξετε τα μετρητά τους. 439 00:33:00,810 --> 00:33:05,810 Πριν, χρησιμοποιήσαμε αστέρι για να ανακτήσει μια ολόκληρη σειρά από έναν πίνακα του SQL. 440 00:33:05,810 --> 00:33:08,930 Αλλά εδώ, μπορούμε πραγματικά να καθορίσετε ακριβώς ότι θέλω μόνο 1 τιμή - 441 00:33:08,930 --> 00:33:10,080 Θέλω μόνο μετρητά. 442 00:33:10,080 --> 00:33:17,970 Μέχρι εδώ, θα επιστρέψει τα χρήματα για το χρήστη με αριθμό id 1. 443 00:33:17,970 --> 00:33:25,940 Αν ένας χρήστης έχει ήδη αγοράσει ένα ορισμένο απόθεμα, αλλά στη συνέχεια, αγοράζει περισσότερο από το εν λόγω απόθεμα, 444 00:33:25,940 --> 00:33:30,440 τότε στο χαρτοφυλάκιό σας - δεν θέλετε μια ξεχωριστή γραμμή, 445 00:33:30,440 --> 00:33:34,770 μια άλλη γραμμή που περιέχει αυτό το νέο συναλλαγή. 446 00:33:34,770 --> 00:33:37,950 Μπορείτε πραγματικά θέλετε να ενημερώσετε το ποσό. 447 00:33:37,950 --> 00:33:42,530 Το μόνο που αλλάζει είναι πραγματικά το ποσό των μετοχών που κατέχει ο χρήστης. 448 00:33:42,530 --> 00:33:47,730 Εάν χρησιμοποιείτε το ένθετο σε ερώτημα - έτσι απλά εισάγετε στο χαρτοφυλάκιό σας όλες αυτές τις τιμές - 449 00:33:47,730 --> 00:33:51,710 αριθμός id του χρήστη, καθώς και το σύμβολο της μετοχής που αγοράζετε 450 00:33:51,710 --> 00:33:57,750 και οι μετοχές, τότε θα ήθελα επίσης να καθορίσετε, καλά, αν έχω τρέξει σε ένα διπλό κλειδί - 451 00:33:57,750 --> 00:34:00,750 σε αυτή την περίπτωση, το αντίγραφο κλειδί δεν είναι μόνο id του χρήστη, αλλά και το σύμβολο της μετοχής - 452 00:34:00,750 --> 00:34:08,340 επειδή μπορείτε να έχετε μόνο - παραδοχή μας είναι ότι μπορείτε να έχετε μόνο 1 σειρά 453 00:34:08,340 --> 00:34:10,699  που αντιστοιχεί σε 1 συγκεκριμένο σύμβολο. 454 00:34:10,699 --> 00:34:13,659 Έτσι, για το διπλό κλειδί - αν πέσετε σε σύγκρουση εκεί - 455 00:34:13,659 --> 00:34:18,520 είστε ακριβώς πρόκειται να ενημερώσετε μετοχές σε νέα τιμή του. 456 00:34:18,520 --> 00:34:23,290 Μετοχές ισούται με ό, τι είχαμε πριν συν τον αριθμό των μετοχών που ο χρήστης αγοράζει. 457 00:34:27,790 --> 00:34:31,090 >> Τώρα που έχουμε ενημερώσει τον πίνακα του χαρτοφυλακίου, 458 00:34:31,090 --> 00:34:34,730 θα θέλετε να ενημερώσετε μετρητά του χρήστη. 459 00:34:34,730 --> 00:34:40,300 Αυτό είναι στον πίνακα των χρηστών, έτσι θα πάμε να αφαιρεθεί ένα ορισμένο ποσό από τα διαθέσιμα. 460 00:34:40,300 --> 00:34:46,270 Προφανώς, πρόκειται να είναι μετρητά ισούται με μείον ταμειακά διαθέσιμα - και στη συνέχεια, ένα ορισμένο ποσό. 461 00:34:46,270 --> 00:34:50,560 Για να ενημερώσετε τα μετρητά, θα κάνατε - 462 00:34:50,560 --> 00:34:55,699 αν ήθελα να πάρει χρήματα από το ταχυδρομείο-στην, τότε θα ήθελα να εκτελέσετε αυτό το ερώτημα - 463 00:34:55,699 --> 00:35:00,220 «Ενημέρωση των χρηστών και στη συνέχεια ρυθμίστε την στήλη μετρητά σε μετρητά - 464 00:35:00,220 --> 00:35:07,300 >> Θα αφαιρέσει 9.999 δολάρια μόνο αν το όνομα είναι ίσο με το ταχυδρομείο-in. 465 00:35:07,300 --> 00:35:12,020 Όμως, στην περίπτωση αυτή, δεν θέλουμε να αφαιρέσουμε 9.999 ειδικά. 466 00:35:12,020 --> 00:35:17,610 Θέλουμε να ορίσετε, επίσης, θέλουμε να αφαιρέσουμε την τρέχουσα τιμή της μετοχής 467 00:35:17,610 --> 00:35:22,400 πολλαπλασιάζεται με τον αριθμό των μετοχών που αγοράζετε. 468 00:35:25,260 --> 00:35:29,910 >> Τώρα έχουμε τους επέτρεψε να δουν όλα τα αποθέματα που έχουν, 469 00:35:29,910 --> 00:35:33,080 καθώς αγοράσετε περισσότερα αποθέματα. 470 00:35:33,080 --> 00:35:37,430 Έχουμε, επίσης, στο παρελθόν τους επέτρεψε να δούμε την τρέχουσα τιμή μιας μετοχής. 471 00:35:37,430 --> 00:35:40,030 Εδώ θέλουμε να μπορέσουν να τα πουλήσουν. 472 00:35:40,030 --> 00:35:42,160 Πρώτα θέλουμε να εμφανίσετε βασικά - 473 00:35:42,160 --> 00:35:45,270 θέλουμε να τους επιτρέψει να δουν όλα τα αποθέματα που έχουν, 474 00:35:45,270 --> 00:35:53,170 έτσι και εδώ θέλουμε να εμφανίσετε όλες τις γραμμές από το χαρτοφυλάκιο. 475 00:35:53,170 --> 00:35:56,650 Εάν επιλέξουν να πωλήσει ένα ορισμένο απόθεμα, 476 00:35:56,650 --> 00:35:59,140 τότε θα πάμε να υποθέσουμε ότι θέλουν να πουλήσουν όλα. 477 00:35:59,140 --> 00:36:04,350 Δεν πρόκειται ακριβώς για την πώληση του 50% των μετοχών τους, από όπου και αν πρόκειται να πουλήσει το 100% από αυτό. 478 00:36:04,350 --> 00:36:08,630 Μπορούμε να διαγράψετε μόνο ολόκληρη τη σειρά από το χαρτοφυλάκιο. 479 00:36:08,630 --> 00:36:17,520 Μπορούμε να διαγράψει τις μετοχές της δεδομένης χρήστη του ορισμένα σύμβολο. 480 00:36:17,520 --> 00:36:21,410 Υπάρχει η σύνταξη γι 'αυτό. 481 00:36:21,410 --> 00:36:22,710 >> Στη συνέχεια, θέλουμε να ενημερώσετε τα μετρητά. 482 00:36:22,710 --> 00:36:30,930 Εμείς πάμε για να προστεθεί στο μετρητά ίση με το ποσό των μετοχών που πωλούν 483 00:36:30,930 --> 00:36:34,640 πολλαπλασιάζεται με την τρέχουσα τιμή της μετοχής - 484 00:36:34,640 --> 00:36:38,610 δεν είναι η τιμή στην οποία το αγόρασε, αλλά η τιμή στην οποία βρίσκονται - 485 00:36:38,610 --> 00:36:40,500 η τρέχουσα τιμή, όταν είναι αυτό που πωλούν. 486 00:36:40,500 --> 00:36:43,660 Για την αναφορά την τρέχουσα τιμή μιας μετοχής, 487 00:36:43,660 --> 00:36:49,120 θα θελήσετε να χρησιμοποιήσετε αναζήτησης, η οποία θα σας δώσει την τιμή μιας μετοχής 488 00:36:50,030 --> 00:36:52,650 κατά την τρέχουσα χρονική στιγμή. 489 00:36:52,650 --> 00:36:55,930 >> Τώρα έχουμε μείνει με την ιστορία, 490 00:36:55,930 --> 00:37:00,170 που θέλετε να επιτρέψετε σε ένα χρήστη να παρακολουθεί όλες τις συναλλαγές τους - 491 00:37:00,170 --> 00:37:03,040 θέλει να δει κάθε φορά που πωλείται κάτι, κάθε φορά που αγόρασε ένα απόθεμα. 492 00:37:03,040 --> 00:37:08,870 Θέλουμε να καθορίσετε το χρόνο κατά τον οποίο το έκαναν αυτό, καθώς και πόσοι έχουν αγοράσει 493 00:37:08,870 --> 00:37:11,650 και ό, τι υλικό ήταν. 494 00:37:11,650 --> 00:37:17,800 Μήπως έχουμε κανένα ρεύμα, υπάρχουσα δομή που ορίζει ότι; 495 00:37:17,800 --> 00:37:25,230 Λοιπόν, έχουμε χαρτοφυλάκιο, το οποίο εμφανίζει τα αποθέματα αριθμό που ο χρήστης έχει 496 00:37:25,230 --> 00:37:26,470 για ένα δεδομένο ποσοστό. 497 00:37:26,470 --> 00:37:34,060 Αλλά είμαστε διάρθρωση του χαρτοφυλακίου με τον τρόπο που θα ενημερώνει όταν αγοράζουμε πολλά, 498 00:37:34,060 --> 00:37:40,190 λαμβάνοντας υπόψη ότι η ιστορία θα πρέπει - αν έχετε αγοράσει την Apple, 10 μετοχές του, και στη συνέχεια πωλούν σε 5, 499 00:37:40,190 --> 00:37:44,040 τότε θα θέλετε να δείτε τα χωριστά ως ξεχωριστές δράσεις, ξεχωριστές γραμμές. 500 00:37:44,040 --> 00:37:48,520 Ότι η εν λόγω ενέργεια για να απεικονίσει ότι, στον πίνακα του χαρτοφυλακίου μας 501 00:37:48,520 --> 00:37:52,540 θα ήταν απλά μια ενημέρωση για τη συγκεκριμένη γραμμή, 502 00:37:52,540 --> 00:37:55,740  γι 'αυτό πρόκειται πιθανώς να θέλετε έναν άλλο πίνακα. 503 00:37:55,740 --> 00:38:00,460 Στη βάση δεδομένων μας, έχουμε τον πίνακα των χρηστών μας, έχουμε τον πίνακα του χαρτοφυλακίου μας, 504 00:38:00,460 --> 00:38:04,090 και τώρα θα θελήσετε πιθανώς ένα τραπέζι ιστορία. 505 00:38:04,090 --> 00:38:08,070 Ο πίνακας ιστορία μπορείτε να παρακολουθείτε την τρέχουσα ημερομηνία, 506 00:38:08,070 --> 00:38:12,800 καθώς και το συγκεκριμένο σύμβολο αποθεμάτων, καθώς και τον αριθμό των μετοχών, 507 00:38:12,800 --> 00:38:15,410 και στη συνέχεια, σε ποιες ενέργειες είναι - 508 00:38:15,410 --> 00:38:18,800 αν αγόραζαν αυτές τις μετοχές ή αν ήταν να τα πωλήσει. 509 00:38:20,660 --> 00:38:25,720 >> Για την αντιμετώπιση ημερομηνία, υπάρχουν δύο τρόποι που μπορείτε να το κάνετε αυτό. 510 00:38:25,720 --> 00:38:28,820 PHP έχει έναν τρόπο να παρακολουθείτε την ημερομηνία, την οποία μπορείτε να δείτε τον εαυτό σας. 511 00:38:28,820 --> 00:38:33,990 Στην SQL μπορείτε επίσης να χρησιμοποιήσετε είτε τώρα είτε τρέχον timestamp. Αυτό είναι στο χέρι σας. 512 00:38:33,990 --> 00:38:40,720 Απλά βεβαιωθείτε ότι κάθε φορά που ένας χρήστης αγοράζει ή πωλεί, θα σας ενημέρωση μετρητά τους 513 00:38:40,720 --> 00:38:46,750 στον πίνακα των χρηστών, θα πρέπει να την αναπροσαρμογή των γραμμών στον πίνακα χαρτοφυλάκια, 514 00:38:46,750 --> 00:38:50,900 τότε θα πρέπει επίσης να ενημέρωση την ιστορία, 515 00:38:50,900 --> 00:38:56,260 έτσι είναι θα υπάρξουν 3 ξεχωριστές SQL ερωτήματα που θα πρέπει να ζητούν εκεί. 516 00:38:58,640 --> 00:39:01,530 Έχουμε ένα σωρό λειτουργίες τώρα. 517 00:39:01,530 --> 00:39:10,600 >> Μόλις μερικές υπενθυμίσεις που στο αρχείο ευρετηρίου σας, θα θελήσετε να συνδέσετε τουλάχιστον σας - 518 00:39:10,600 --> 00:39:15,550 αλλά θα θελήσετε να επιτρέψετε σε ένα χρήστη να συνδεθεί με το buy.php σελίδα. 519 00:39:15,550 --> 00:39:23,560 Αυτό πρόκειται να επιτρέψει σε έναν χρήστη - buy.php είναι ο υπεύθυνος της επεξεργασίας, έτσι ώστε να πρόκειται είτε 520 00:39:23,560 --> 00:39:29,170 να σας στείλουμε - αυτό πρόκειται να σας στείλει σε μορφή που σας επιτρέπει να δούμε τα πράγματα. 521 00:39:29,170 --> 00:39:34,420 Έχουμε ιστορία. Έχουμε αποσυνδεθείτε, να πάρει ένα απόσπασμα και στη συνέχεια πωλούν. 522 00:39:34,420 --> 00:39:37,350 Αυτά είναι στο ελάχιστο ό, τι θέλετε να δείτε. 523 00:39:37,350 --> 00:39:43,640 Όσον αφορά το χαρτοφυλάκιο, το πραγματικά φαίνεται στην σελίδα ευρετηρίου. 524 00:39:43,640 --> 00:39:52,050 Αν πάμε στο ευρετήριο, εδώ βλέπουμε ότι καθιστά portfolio.php 525 00:39:52,050 --> 00:40:00,050 και περνά στην associative array - βασικά ο τίτλος ισούται με χαρτοφυλάκιο. 526 00:40:00,050 --> 00:40:02,610 Έτσι, αυτό είναι ο ελεγκτής. 527 00:40:02,610 --> 00:40:08,000 Αν πάμε στο πρότυπο του portfolio.php, 528 00:40:08,000 --> 00:40:18,060 τότε το μόνο που έχει είναι - ουσιαστικά εμφανίζει μια εικόνα που λέει, OH, αυτό το site είναι υπό κατασκευή. 529 00:40:18,060 --> 00:40:23,810 Αργότερα, όταν περνάτε σε - εσείς θα πρέπει να περνούν σε βασικά πιο συγκεκριμένες πληροφορίες. 530 00:40:23,810 --> 00:40:27,400 Αντί ακριβώς τον τίτλο, θα πρέπει πιθανώς να περνάει σε περισσότερα πράγματα. 531 00:40:27,400 --> 00:40:32,010 Μόλις έχετε αυτές τις αξίες, τότε portfolio.php μπορεί να ασχοληθεί με αυτές τις αξίες 532 00:40:32,010 --> 00:40:34,490 και την εκτύπωσή τους σε οποιοδήποτε είδος της παραγγελίας. 533 00:40:34,490 --> 00:40:41,660 >> Μόλις εφαρμοστούν όλα αυτά, θα πρέπει επίσης να εφαρμόσει 1 επιπλέον χαρακτηριστικό. 534 00:40:41,660 --> 00:40:44,890 Αυτό μπορεί είτε να επιτρέπει στον χρήστη να αλλάξει τον κωδικό πρόσβασής τους, 535 00:40:44,890 --> 00:40:50,110 για να επαναφέρετε τον κωδικό πρόσβασής τους, αν έχουν ξεχάσει - έτσι για την επαναφορά του κωδικού πρόσβασης, τότε 536 00:40:50,110 --> 00:40:54,560 θα πρέπει πιθανώς να θέλετε να επεξεργαστείτε μητρώο, έτσι ώστε να τους επιτρέπει να ορίσετε ένα μήνυμα ηλεκτρονικού ταχυδρομείου, 537 00:40:54,560 --> 00:40:57,910 οπότε αν ξεχάσετε τον κωδικό πρόσβασής τους, τότε μπορούν να πάρουν αυτό. 538 00:40:57,910 --> 00:41:02,870 Μπορούν πιθανώς εισάγετε το username τους, και στη συνέχεια ένα μήνυμα ηλεκτρονικού ταχυδρομείου θα αποσταλεί σε αυτούς 539 00:41:02,870 --> 00:41:06,180 με έναν σύνδεσμο για να είναι σε θέση να επαναφέρετε τον κωδικό πρόσβασής τους. 540 00:41:06,180 --> 00:41:10,980 Μπορείτε να έχετε κάτι που επιτρέπει στους χρήστες για να πάρει τα έσοδα 541 00:41:10,980 --> 00:41:12,380 κάθε φορά που αγοράζουν ή πωλούν κάτι, 542 00:41:12,380 --> 00:41:19,910 και στη συνέχεια, τελικά, τους επιτρέπει να προσθέσετε μετρητά στην ιστοσελίδα τους. 543 00:41:19,910 --> 00:41:24,970 Ακριβώς για να επιστρέψουμε στην έννοια των ελεγκτών και τα πρότυπα λίγο. 544 00:41:24,970 --> 00:41:31,170 Θα έχετε κάτι σαν ένα - έτσι θα έχετε έναν ελεγκτή εδώ. 545 00:41:31,170 --> 00:41:35,080 Αυτή τη στιγμή, ψάχνουμε στο login.php παράδειγμα. 546 00:41:35,080 --> 00:41:38,220 Όταν έχουμε έναν ελεγκτή, κατά βάση πρόκειται να λάβει 2 περιπτώσεις. 547 00:41:38,220 --> 00:41:42,090 Όταν έχουμε ελεγκτές, είμαστε σε αυτό το κομμάτι ότι είμαστε, επίσης, το είδος της αντιμετώπισης 548 00:41:42,090 --> 00:41:43,880 όταν έχουμε φόρμες, καθώς και. 549 00:41:43,880 --> 00:41:47,500 Ο ελεγκτής θα έχει βασικά επιμέρους δράσεις - 550 00:41:47,500 --> 00:41:53,880 ένα, αν μια φόρμα έχει ήδη υποβληθεί, και στη συνέχεια, δύο, αν ο χρήστης έρχεται σε αυτή τη σελίδα 551 00:41:53,880 --> 00:41:56,870 για πρώτη φορά και χρειάζεται ακόμη στην είσοδο που σχηματίζονται. 552 00:41:56,870 --> 00:42:02,820 >> Πάω να μεταβείτε σε αυτή την περίπτωση για πρώτη φορά πριν ανεβαίνοντας στην πρώτη περίπτωση έχει τη μορφή μέσα 553 00:42:02,820 --> 00:42:12,640 Εδώ λέμε, αν η φόρμα έχει υποβληθεί με τη θέση μέθοδο - 554 00:42:12,640 --> 00:42:13,580 μην ανησυχείτε γι 'αυτό το κομμάτι. 555 00:42:13,580 --> 00:42:19,780 Μην ανησυχείτε γι 'αυτό πάρα πολύ, αλλά καταλαβαίνω ότι ουσιαστικά η λειτουργία αυτή ασχολείται με 556 00:42:19,780 --> 00:42:22,430 αν μια φόρμα έχει υποβληθεί ή όχι. 557 00:42:22,430 --> 00:42:25,640 Αυτή η συνθήκη είναι αληθής, αν ένας χρήστης έχει υποβάλει τη φόρμα. 558 00:42:25,640 --> 00:42:45,940 Αν όχι, τότε θα πάμε να θέλετε να καλέσετε login_form.php καθιστούν, και στη συνέχεια να περάσει στον τίτλο. 559 00:42:45,940 --> 00:42:48,010 Αυτός ο τίτλος είναι απλά βασικά θα εμφανίζονται στην κεφαλίδα. 560 00:42:48,010 --> 00:42:54,990 Αυτό που κάνει είναι βασικά λέει, εντάξει - αλλά, αν ένας χρήστης πηγαίνει στο login.php 561 00:42:54,990 --> 00:43:00,310 και δεν έχει πράγματι συνδεθεί, τότε θέλω να τους στείλει στη σελίδα που έχει αυτή τη μορφή 562 00:43:00,310 --> 00:43:03,160 η οποία τους επιτρέπει να εισάγετε το όνομα χρήστη και τον κωδικό πρόσβασης. 563 00:43:03,160 --> 00:43:07,590 Στη συνέχεια, πάω να login_form, και στη συνέχεια, που έχει τη σημερινή μορφή. 564 00:43:07,590 --> 00:43:13,750 Στη συνέχεια, μόλις ο χρήστης ισχυρίζεται ότι η μορφή, από όπου και αν πρόκειται να το υποβάλλει στην login.php 565 00:43:13,750 --> 00:43:15,840 με τη μέθοδο POST. 566 00:43:15,840 --> 00:43:21,560 Στη συνέχεια, είμαι πραγματικά πρόκειται να τεθεί αυτό το τμήμα της αν-άλλος βρόχος μου. 567 00:43:21,560 --> 00:43:29,560 Στη συνέχεια, είναι εδώ που ασχολούμαστε με τις τιμές που έχουν εισαχθεί στη φόρμα. 568 00:43:29,560 --> 00:43:32,800 Είναι εδώ ότι έχουμε να κάνουμε με αυτά. 569 00:43:32,800 --> 00:43:40,860 >> Στη συνέχεια, τη στιγμή που θα ασχοληθεί με αυτές τις αξίες - αν έχουμε να κάνουμε με - 570 00:43:40,860 --> 00:43:46,640 να πούμε ότι έχουμε να κάνουμε με τη σελίδα quote.php όπου κάποιος μπορεί να εισάγει ένα απόθεμα που 571 00:43:46,640 --> 00:43:49,950 που θέλετε να αναζητήσετε, και στη συνέχεια να δούμε ότι η οθόνη - 572 00:43:49,950 --> 00:43:52,850 αυτό είναι το είδος παρόμοιο εδώ. 573 00:43:52,850 --> 00:43:56,070 Εδώ έχουμε μια φόρμα σύνδεσης - you'd έχουν πιθανώς μια μορφή απόσπασμα - 574 00:43:56,070 --> 00:44:00,290 αλλά στη συνέχεια, μόλις ο χρήστης έχει υποβάλει στην πραγματικότητα οι πληροφορίες, 575 00:44:00,290 --> 00:44:04,810 τότε θα θέλετε ο ελεγκτής να περάσει σε ένα άλλο πρότυπο 576 00:44:04,810 --> 00:44:07,430 που θα τους δείξουμε ότι η πραγματική ενημέρωση. 577 00:44:07,430 --> 00:44:11,250 Μέχρι τότε ακριβώς γύρω από εδώ, τότε θα χρειαστεί κατά πάσα πιθανότητα - 578 00:44:11,250 --> 00:44:18,830 γύρω από το τέλος της κατάστασής σας εδώ - το αν η μέθοδος είναι ίση μετα - 579 00:44:18,830 --> 00:44:22,520 τότε θα θελήσετε πιθανώς να καταστήσει μια άλλη σελίδα - το απόσπασμα show - 580 00:44:22,520 --> 00:44:28,040 που σας στέλνει σε αυτή τη σελίδα - show_quote.php-- 581 00:44:28,040 --> 00:44:34,120 και στη συνέχεια σε αυτό το αρχείο θα αναφέρει τις αξίες αυτές. 582 00:44:34,120 --> 00:44:36,480 Μήπως αυτό έχει νόημα; 583 00:44:36,480 --> 00:44:40,390 >> Έχουμε έναν ελεγκτή που βασικά ασχολείται με τις 2 περιπτώσεις - 584 00:44:40,390 --> 00:44:42,710 αν έχετε εισέλθει σε μια μορφή ή όχι. 585 00:44:42,710 --> 00:44:43,950 Εάν δεν έχετε εισέλθει σε μια φόρμα, 586 00:44:43,950 --> 00:44:47,300 τότε θα σας ανακατευθύνει σε αυτή τη μορφή, η οποία θα σας βάλει στη συνέχεια πίσω σε αυτή τη σελίδα. 587 00:44:47,300 --> 00:44:54,020 Στη συνέχεια, αφού έχετε πληροφορίες στον ελεγκτή, ότι το σώμα θα ασχοληθεί με αυτό 588 00:44:54,020 --> 00:44:59,750 πληροφορίες ανάλογα με τις ανάγκες - είτε αναζητώντας τιμές για το απόθεμα, 589 00:44:59,750 --> 00:45:04,150 και στη συνέχεια μία φορά ότι είναι κοίταξε αυτές τις αξίες και τους έχει σε μια όμορφα διαμορφωμένη σειρά, 590 00:45:04,150 --> 00:45:08,180 τότε μπορεί να περάσει ότι η σειρά στη σελίδα του προτύπου 591 00:45:08,180 --> 00:45:10,330  που ασχολείται με την έξοδο αυτών των πληροφοριών. 592 00:45:10,330 --> 00:45:14,680 >> Και πάλι, αφού διαδίκτυο είναι, αυτό πρόκειται να είναι διασκέδαση. 593 00:45:14,680 --> 00:45:20,310 Είμαστε έξω από το C έτσι δεν είμαστε περιορίζεται στο ASCII και την έξοδο του τερματικού σταθμού, 594 00:45:20,310 --> 00:45:21,800 έτσι ώστε να έχουν τη διασκέδαση με αυτό. 595 00:45:21,800 --> 00:45:24,920 Μπορείτε να το κάνετε ως οπτικό όπως εσείς θέλετε. 596 00:45:24,920 --> 00:45:31,860 Μπορείτε να επιτρέψετε στους χρήστες να εκατομμύρια δολάρια εισόδου σε έναν χρόνο, 597 00:45:31,860 --> 00:45:34,730 ή να τους περιορίσει και να σημαίνει πραγματικά και θα τους επιτρέψουν να εισέλθουν μόνο 1 λεπτό σε μια στιγμή 598 00:45:34,730 --> 00:45:36,330 ή κάτι τέτοιο. 599 00:45:36,330 --> 00:45:38,550 Σίγουρα είναι σίγουρος να έχει τη διασκέδαση με αυτό. 600 00:45:38,550 --> 00:45:47,030 >> PHP κώδικα είναι λίγο πιο απλό στο ότι είναι λίγο πιο εύκολο να χαράξει ψευδοκώδικα σας 601 00:45:47,030 --> 00:45:50,070 για την πραγματική εφαρμογή. 602 00:45:50,070 --> 00:45:56,320 Έτσι, σίγουρα έχει τη διασκέδαση με αυτό, γιατί στην πραγματικότητα είναι το τελευταίο κομμάτι μας σε CS50. 603 00:45:56,320 --> 00:46:01,150 Με αυτό, αυτό ήταν Walkthrough 7. 604 00:46:01,150 --> 00:46:04,640 Μόλις τελειώσετε βλέποντας το πέρασμα και τελείωσε PSET σας, 605 00:46:04,640 --> 00:46:09,590 τότε αυτά ήταν επίσης psets, και τώρα είμαστε στον τελικό προϊόν - 606 00:46:09,590 --> 00:46:12,330 μετά παίρνουμε μέσα από κουίζ 1. 607 00:46:12,330 --> 00:46:16,200 Στη συνέχεια, ελπίζουμε ότι μπορείτε να χρησιμοποιήσετε τα εργαλεία που έχετε μάθει από τα psets - 608 00:46:16,200 --> 00:46:21,980 όχι μόνο η σύνταξη, αλλά περισσότερο η αφηρημένη ιδέα για το πώς να πάρετε μια ορισμένη - 609 00:46:21,980 --> 00:46:24,950 αρέσει, θέλω να κάνω αυτό και μετά την εφαρμογή πραγματικά αυτό. 610 00:46:24,950 --> 00:46:28,740 Μαθαίνοντας πώς να αγωνιστεί με τη σύνταξη κώδικα και διανομής. 611 00:46:28,740 --> 00:46:33,020 Ανάγνωση κώδικα των άλλων ανθρώπων, και στη συνέχεια την ερμηνεία ότι η χρήση προ-υπάρχουσες λειτουργίες. 612 00:46:33,020 --> 00:46:37,360 >> Έτσι, καλή τύχη με την τελευταία PSET. 613 00:46:37,360 --> 00:46:39,930 Είναι μια ευχαρίστηση να οδηγήσει τα περάσματα. 614 00:46:39,930 --> 00:46:40,940 Ελπίζω να έχουν πάει χρήσιμο για σας. 615 00:46:40,940 --> 00:46:46,560 Αυτά ήταν Walkthroughs, και ευχαριστώ πάρα πολύ. 616 00:46:52,580 --> 00:46:56,200 [CS50.TV]