SAM LEVATICH: Καλώς ήρθατε ενότητα για αυτή την εβδομάδα. Δεν είμαι Andi. Andi έχει πέσει άρρωστος για αυτή την ημέρα, και εγώ έχουν είδος που ονομάζεται στο τελευταίο λεπτό να αναλάβει. Είναι εποχή της γρίπης, ώστε να βεβαιωθείτε ότι έχετε μένουν καθαρά, πλένετε τα χέρια σας, και τρώει υγιεινά, έτσι ώστε μπορείτε, επίσης, δεν είναι κλινήρεις. Αλλά χωρίς περαιτέρω φασαρία, ας ξεκινήσουμε. Σήμερα, θα πάμε να μιλήσουμε για την PHP λίγο bit-- πώς PHP σχετίζεται με HTML, πώς σχετίζεται με CSS, και μερικά από τον ιστό πράγματα που έκανε στην τελευταία εκχώρηση. Εμείς πάμε να μιλήσουμε λίγο σχετικά με τον SQL και πώς μπορείτε να εργαστείτε με βάσεις δεδομένων, το οποίο είναι ένα πολύ βασικό στοιχείο του P που 8-- Ρ οριστεί 7. P που 7. Και μετά θα πάμε να μιλήσουμε λίγο bit για το πώς λειτουργούν οι ελεγκτές άποψη και γιατί αυτό είναι μια φιλοσοφία πίσω από μερικά σε σύγχρονες ιστοσελίδες και διαφορετικό σχεδιασμό. Λίγο πολύ πολλά είδη των εφαρμογών και τις εφαρμογές που μπορεί να μεταφέρει χρησιμοποιούν αυτό το μοντέλο, πλαισίου ελέγχου άποψη, ότι θα πρέπει να χρησιμοποιούν στο P που 7, γι 'αυτό θα μιλήσουμε λίγο σχετικά με το γιατί αυτό είναι να γίνει δημοφιλής, γιατί είναι σημαντικό και ωραίο. Και τότε εγώ θα επιτέλους να προχωρήσουμε σε μερικές συμβουλές για την αντιμετώπιση της P οριστεί 7. Και αν έχουμε χρόνο απομείνει στο τέλος, που μπορούμε να κάνουμε στην πραγματικότητα κάποια εργαστούμε μαζί για. Έτσι, PHP. Στην πραγματικότητα, μπορεί να έχετε παρατηρήσει this-- εσείς δεν πρέπει πραγματικά να βουτήξει it-- αλλά η P που είχε 6 κάποιο PHP κώδικα που συνέβαινε. Και επειδή η PHP είναι ένα C-όπως γλώσσα, PHP, σε αντίθεση με την HTML και CSS, είναι μια γλώσσα προγραμματισμού, λαμβάνοντας υπόψη ότι η HTML και CSS είναι στατικές. Είναι γλώσσες σήμανσης που ασχολούνται με το στυλ και την οπτική διάταξη. PHP είναι η πραγματική διαπραγμάτευση. Η PHP έχει βρόχους, έχει conditions-- όλα αυτά τα πράγματα που είναι διασκεδαστικό για C. Έχει μερικά πράγματα που είναι λίγο λίγο καλύτερα από ό, C, το οποίο θα δούμε, αλλά νομίζω ότι ο ευκολότερος τρόπος για να μιλήσει σχετικά με το PHP είναι απλά να βουτήξει μέσα. Έτσι, Πάω να πάει δεξιά στο IDE σε αυτό το σημείο. Το πρώτο πράγμα που θα πάμε να κάνουμε είναι να δούμε πραγματικά λίγο σε μερικά από τα PHP κώδικα που ήταν στο P που 6. Έτσι ο τρόπος που κάνουμε that-- πριν, με τον τρόπο που τρέχαμε ο διακομιστής για τη συσκευή ήταν ότι θα πρέπει να type-- είτε να χρησιμοποιήσετε την εφαρμογή σας ή την εφαρμογή του προσωπικού της server.c με τη μετάβαση στον τηλεφωνικό κατάλογο και τρέχει server.c είτε όχι arguments-- έτσι απλά να ζητήσει από το τοπικό κεντρικό υπολογιστή, το οποίο είναι αυτό που πιθανώς έκανε το μεγαλύτερο μέρος της time-- και στη συνέχεια σίτιση α directory-- με το οποίο θα χρησιμοποιηθεί ως ρίζα του όπου η ιστοσελίδα θα να τρέξει, ουσιαστικά. Αυτή την εβδομάδα για 7 P που, όπως μεγάλη όσο μας κώδικα για server.c είναι, υπάρχουν άνθρωποι που έχουν ήδη γραπτή αυτά τα ωραία πράγματα πάνω στο CS50 ότι έχει λίγο περισσότερη λειτουργικότητα, ένα πρόγραμμα διακομιστή που είναι σε θέση που ασχολούνται με λίγο περισσότερη από τις περιπλοκές ότι θα δείτε τόσο P που 7 και Ρ ρυθμίσετε 8. Και ο τρόπος που θα ξεκινήσει η server είναι από πληκτρολογώντας απλά, "apache50." Και πριν κάνετε οτιδήποτε, θέλετε να είστε σίγουροι ότι ο Apache 50 δεν είναι εκτελείται ήδη, όπως είναι στη μηχανή μου, που έκανα για να το δοκιμάσετε. Και να το κάνεις αυτό με την κλήση apache50. Σταματήστε, και θα δείτε ότι είναι σταματώντας ο web server, αν μπορείτε να δείτε εκεί στο κάτω μέρος του παραθύρου τερματικού. Και στη συνέχεια απλά να ξεκινήσετε, είμαστε πρόκειται να καλέσει, "apache50 ξεκινήσει." Και μετά θα πάμε για να τροφοδοτήσει έναν κατάλογο. Τώρα, επειδή θέλουμε να δούμε σε μερικά από τα P που 6 κώδικα ότι είχε εφαρμόσει, εγώ πραγματικά αντιγράφονται λίγο το P που 6 κώδικα στο δικό μου φάκελο, το οποίο μπορείτε να δείτε στα αριστερά εκεί. Αυτό λέγεται "SECTION8" σε όλα τα γράμματα κεφαλαία επειδή είμαι ακριβώς έτσι συγκινημένος να είναι ζωντανά-μεταδοθεί σήμερα. Έτσι, αν τρέξουμε αυτό, θα έπρεπε όλα λειτουργούν πολύ αποτελεσματικά. Λέει, εντάξει, η ιστοσελίδα μας είναι τώρα που διατίθεται στην διεύθυνση του IDE, Βασικά, το οποίο είναι αυτό που χρησιμοποιείτε ακριβώς όπως ήταν στο P που 7-- P οριστεί 6. Όλα τα ευρετήρια μου είναι ένας δείκτης σήμερα. Έτσι, μπορούμε να πάμε με αυτό διεύθυνση, αν θα θυμάστε, με ένα απλό κλικ σε αυτό το μικρό κουμπί στην πάνω δεξιά. Και θα θυμάστε αυτόν τον κωδικό, το οποίο συνέβη όταν πήγε σε hello.php. Και ποιος είναι ο κωδικός έχει σχεδιαστεί για να κάνουμε είναι όταν έχετε πληκτρολογήσει ένα όνομα here-- αν λέτε Σαμ γιατί αυτό είναι name-- μου και κάνω κλικ πω ένα γεια, όταν πήγαμε στην επόμενη σελίδα, ότι το όνομα υποτίθεται ότι έπρεπε να εμφανίζεται. Θα έλεγα, "Γεια σου, Σαμ" ή "Γεια σας," ό, τι όνομα έχουν τεθεί σε αυτήν, ακόμη και αν πήγαμε σε μια εντελώς νέα ιστοσελίδα. Και αυτό είναι το είδος του πράγματος ότι η PHP μπορεί να κάνει για σας. PHP είναι σε θέση να περάσει τα δεδομένα ανάμεσα σε δύο ιστοσελίδες. Αυτή είναι μια εντελώς διαφορετική σελίδα. Θα δείτε ο τίτλος είναι "γεια" εδώ. Στην πραγματικότητα, έχουν το ίδιο τίτλο, αλλά εγώ υπόσχονται να είναι διαφορετικά web σελίδες, αν κοιτάξουμε την πηγή. Και μπορείτε να περάσετε τα δεδομένα που είναι Στο πεδίο αυτό εγγράφεται το κείμενο, να το υποβάλει στην προσεχή σελίδα που είναι να καταστεί απαιτητό, και στη συνέχεια ότι τα δεδομένα είναι σε θέση να να υπάρχει στην παρούσα του μορφή. Τώρα δεν έχουμε ακόμη εφαρμόσει Αυτό τους εαυτούς μας, η οποία είναι αυτό που πάμε να κάνουμε τώρα για να Ταξινόμηση να πάρετε μια γεύση για το πώς λειτουργεί η PHP, αλλά η βασική ιδέα είναι ότι μπορείτε να PHP-- είδος σκεφτείτε το σαν μια λειτουργία. Κάτι που PHP μπορεί να σας αφήσει δεν είναι αυτό μπορεί να δεχθεί παραμέτρους ότι η συμβολή σας σε μια σελίδα HTML με τη χρήση της PHP και τις μορφές, και μπορεί να περάσει αυτά που παραμέτρων στην επόμενη σελίδα που φορτώνει επάνω. Σε αυτή την περίπτωση, είμαστε φόρτωση μέχρι αυτό το σελίδα με το πλήκτρο "Υποδεχτείτε". Αλλά για τώρα, εγώ πραγματικά Διαγράφεται μέρος αυτής κώδικα στην hello.php που ήταν να τρέξει ότι ήταν πράγματι εμφανίζει το "γεια, κόσμος "ή" γεια, Sam "ή "Γεια σας," ό, τι ήταν ακριβώς εισόδου. Έτσι, για τώρα, είμαστε πρόκειται να το κάνουμε αυτό, βασικά. Εμείς πάμε για να αναδημιουργήσει αυτό και Επίσης, προσθέστε λίγο περισσότερη λειτουργικότητα, κάνει λίγο περισσότερο με αυτό, δείτε τι PHP είναι πραγματικά ικανή. Έτσι το πρώτο, ας μιλήσουμε για Αυτό το αρχείο, hello.php. Έτσι, αν εστιάσουμε στη συγκεκριμένη περιοχή λίγο bit-- και τώρα είμαι είδος προσπαθεί να μετακινηθείτε σε όλη ο τρόπος around-- εκεί πάμε. Θα δείτε αυτό λέγεται hello.php, αλλά η σύνταξη που μοιάζει με ένα αρχείο HTML. Αυτό συμβαίνει επειδή η πραγματική PHP σε αυτό το αρχείο Όλα αυτά κολλήσει μεταξύ αυτών ερώτηση μπλοκ σήμα-καρέ. Τα πάντα εδώ θεωρείται κώδικα PHP. Και θα παρατηρήσετε ότι όταν έκανα ένα σχόλιο, θα δείτε το γνώριμο δύο καθέτους. Και αν θα θυμηθούμε, σε HTML, αν πληκτρολογήσετε ένα σχόλιο, Μοιάζει κάπως πιο κοντά στο αυτό, το οποίο είναι ένα σχόλιο σε HTML. Έτσι, πραγματικά τα πάντα μεταξύ Αυτές οι δύο αγκύλες είναι τώρα PHP κώδικα, η οποία αντικατοπτρίζεται στο γεγονός ότι αυτό το μικρό σύμβολο σχόλιο έχει μετατραπεί σε ένα σχόλιο. Έτσι, κάθε φορά που γράφετε κώδικα PHP, ακόμη και αν δεν υπάρχει κώδικα HTML έξω από αυτήν, ότι πάντα θα είναι περικλείονται σε αγκύλες αυτές με ερωτηματικά. Μπορείτε να ταξινομήσετε των σκεφτούμε πώς όλα it-- του κώδικα που έτρεξε μέσα στα προγράμματά σας C ήταν κλεισμένο σε ένα int main, άκυρη, σγουρά στήριγμα, τέλος σγουρά δήλωση κηδεμόνα. Και θα δείτε άγκιστρα στο PHP, πάρα πολύ, αλλά αυτό είναι το είδος του όπως και η κύρια μέθοδος της PHP. Έτσι τώρα, πώς μπορούμε να κάνουμε τίποτα στην PHP; Τώρα, PHP είναι ένας προγραμματισμός γλώσσα που είναι πολύ C-όπως, αλλά λειτουργεί στο διαδίκτυο. Έτσι, ένα πράγμα που θα immediately-- ένα από τα πρώτα πράγματα που πραγματικά έκανε με Ο μπορείτε τυπωμένο πράγματα έξω, έτσι δεν είναι; Έτσι, σε C κάναμε ότι με μια συνάρτηση printf. Μας έδωσε μια σειρά, πιθανώς με μια νέα γραμμή, και στη συνέχεια θα τερματιστεί με ένα ερωτηματικό. Έτσι ο τρόπος που θα πάμε να το κάνουμε αυτό σε PHP-- επειδή δεν είναι αρκετά printf. Είναι λίγο διαφορετική σύνταξη. Ο τρόπος που γράφουμε τα πράγματα στην PHP είναι, ας πούμε, "echo hello" ή "echo" καμία λέξη. Και αυτό έχει ως αποτέλεσμα να κάνει printf με μια σειρά, "γεια". Και προσθέτει τη νέα γραμμή σε αυτό. Ας τώρα να sure-- Θα σμίκρυνση και πάλι λίγο bit-- ας σιγουρευτείτε ότι ότι ο κώδικας λειτουργεί διότι μπορεί να υπάρχουν πολύ κάλλιστα να είναι ένα bug σε αυτόν τον κώδικα ότι θα πρέπει να αντιμετωπίσουμε. Έτσι, ο διακομιστής εκτελείται ήδη. Έτσι, αν μετακινηθείτε προς τα πίσω προς τα κάτω, Yup, ο διακομιστής βρίσκεται ακόμη σε εξέλιξη. Έτσι, αν εμείς απλά πατήστε σε αυτό λίγο δεξιά here-- welcome-- θα πρέπει get-- μεγάλη. Εξακολουθούμε να έχουν το εξοικειωμένοι «Πες γεια" διάλογος, αλλά όταν πληκτρολογήσετε "γεια", θα δούμε ότι το κείμενο "Hello" ήταν πράγματι εκτυπωθεί, το οποίο είναι ακριβώς όπως περιμέναμε γιατί αντηχούν σε PHP είναι ακριβώς όπως μια δήλωση printf. Έτσι, πίσω στο κώδικα, πώς σε P που έκανε 6 Κώδικα Διαχείρισης του Δικτύου που παρέχονται καθιστούν έτσι ότι η PHP θα εξόδου το πράγμα που πληκτρολογηθεί στην προηγούμενη οθόνη; Και για να εξετάσει το είδος των γιατί συμβαίνει αυτό, είμαστε πρόκειται να μπω σε index.html, το οποίο είναι το αρχικό αρχείο, το αρχείο που εμφανίζεται σε αυτήν την οθόνη με το πλήκτρο "Υποδεχτείτε". Θα παρατηρήσετε ότι υπάρχει όλα τα κλασικά πράγματα έχουμε συνηθίσει να περιμένουμε από HTML, όπως αυτά τα πράγματα, αυτές οι εντολές της περικλείονται σε αγκύλες, όπως η PHP αλλά χωρίς τα ερωτηματικά, το οποίο δείχνει ένα ξεχωριστό πράγμα σε HTML. Έχουμε τίτλου, η οποία είναι "γεια". Και θα παρατηρήσετε ότι όπως είδαμε, ο τίτλος είναι "γεια" και στις δύο περιπτώσεις. Ας αλλάξουμε αυτό το ένα να "πει" μόνο έτσι θα μπορούν να διακρίνουν τους εαυτούς μας που βρισκόμαστε. Αλλά έχουμε ένα σώμα. Και τότε το ενδιαφέρον κομμάτι, το bit που εμφανίζεται στην HTML, Είναι αυτό το στοιχείο φόρμας. Και έτσι έχουμε μια φόρμα. Και αυτό είναι το κλειδί. Αυτό είναι το πώς δουλεύουμε με την PHP. Η παράμετρος δράση έντυπο λέει ότι hello.php είναι αυτό που πρόκειται να στείλει οι τιμές σε αυτή τη φόρμα για να. Αυτό είναι όπου είμαστε διέρχεται οι παράμετροι, να το πω έτσι. Θα παρατηρήσετε ένα άλλο πράγμα εδώ είναι ότι η μέθοδος είναι «πάρει». Υπάρχουν δύο κύριες μέθοδοι με τις οποίες θα να χρησιμοποιούν PHP για να περάσει τα δεδομένα μεταξύ websites-- ιστοσελίδες, rather-- σε αυτή την ανάθεση. Και αυτές οι μέθοδοι είναι «πάρει» και «μετά». Υπάρχουν κάποιες λεπτές διαφορές μεταξύ get και μετά ότι θα έχουμε εμείς into-- θα "πάρει" στην, αν θέλετε. Αλλά για όλες τις προθέσεις και σκοπούς, να πάρει και μετά είναι και οι δύο απλά τρόπους που θα περάσετε παραμέτρους με ελαφρώς διαφορετικές εκτελέσεις. Για τώρα, θα πάμε να χρησιμοποιήσετε πάρει, διότι πάρετε ήταν αυτό που χρησιμοποιήθηκε αρχικά στο αρχείο PHP της P που 6. Και στην πραγματικότητα, αν πάμε στο και να δούμε πριν έχουμε επεξεργαστεί οτιδήποτε άλλο, Πάω να πω ένα γεια to-- τι είναι το όνομά σου; Κοινό: Elliot. SAM LEVATICH: Ω, Θεέ. Δεν ξέρω πώς να διευκρινίσει ότι. Θα μπορούσατε να σημάνει αυτό για μένα; Κοινό: Ε-Ε-Ε-Ι-Ο-Τ. SAM LEVATICH: Ι-Ο-Τ; Κοινό: Ναι. SAM LEVATICH: Τέλεια. ΕΝΤΆΞΕΙ. Υποθέτω ότι δεν ήξερα πώς να σημάνει αυτό. Συγνώμη γι αυτό. Αλλά αν πούμε "Υποδεχτείτε,« δεν είναι δεν πρόκειται να εμφανιστεί στην οθόνη αλλά επειδή εμείς τροποποιημένο ο κώδικας λίγο. Αλλά αν δεν το κάνουμε "Υποδεχτείτε" - Εντάξει, έτσι ώστε «γεια» είναι εδώ. Αλλά αν πάρουμε μια πιο προσεκτική εξετάσουμε την ίδια διεύθυνση URL, θα δούμε ότι τελειώνει με hello.php; όνομα = Elliot. Έτσι, αυτό είναι ένας τρόπος επικοινωνία με την επόμενη ιστοσελίδα οι παράμετροι που έχουμε περάσει. Είπαμε name = Elliot. Και αυτό είναι τελικά το πώς P που 6 προσεγγιστεί η μεταβλητή που περάσαμε στο μέσω της φόρμας. Και αυτό είναι κάτι που είναι χαρακτηριστική μια αίτηση GET. Μια αίτηση GET κάνει τις παραμέτρους γνωστή στο URL της ιστοσελίδας. Και θα θυμάστε, επίσης, στο P ορίζεται ότι 6 Έπρεπε να γράψω μια συνάρτηση ότι ασχολήθηκε με το γεγονός ότι αυτή η συμβολοσειρά ερωτήματος θα μπορούσε να υπάρξει μετά από ένα αρχείο. Θα μπορούσε να υπάρξει ένα ερωτηματικό που ακολουθείται με βάση οποιοδήποτε αριθμό χαρακτήρων. Και αυτό είναι ακριβώς ό, τι συμβαίνει εδώ. Και ο λόγος που έπρεπε να αναλύσει ότι στην εφαρμογή σας server.c σε P 6 που είναι τόσο ότι θα μπορούσατε να πείτε ο κώδικας PHP που name = Elliot. Θα έπρεπε να είναι σε θέση να αναλύσει ότι από το URL έτσι ώστε το αρχείο PHP εν λόγω ήξερε τι ήταν αυτό που εξετάζουμε. Έτσι, ελπίζουμε ότι αυτό δίνει το κίνητρο για να server.c Τώρα που είμαστε κινείται έξω από C σε PHP. Ας εστιάσουμε στην πραγματικότητα σχετικά με την πρόσβαση του τα πράγματα πέρασαν μέσα από μια αίτηση GET τώρα σε αυτό το σημείο. Πάω να σώσει αυτό. Δεν αλλάζει τίποτα. Μοιάζει έχουμε ένα πεδίο εισαγωγής. Είμαστε καθορισμό κάποιων ιδιοτήτων, όπως μπορούμε να κάνουμε μια HTML. Αυτά είναι απλά πράγματα. Δεν χρειαζόμαστε αυτά. Αλλά έχουμε αυτόματης συμπλήρωσης μακριά, η οποία ουσιαστικά says-- ξέρετε, όταν πληκτρολογείτε τα πράγματα στο διαδίκτυο, μερικές φορές προσπαθεί να καλύψει αυτό για σας. Γι 'αυτό είναι ένα ωραίο πράγμα. Θέλουμε να το απενεργοποιήσετε για το σκοπό αυτό. Αυτή ήταν μια απόφαση CS50. Έτσι, μπορούμε να διαγράψουμε ότι αν θέλαμε. Autofocus κολλά ακριβώς τον κέρσορα στη σωστή μορφή στην αρχή. Και πάλι, δεν είναι πολύ σημαντικό. Αλλά name = "name" - είναι μια μικρή δύσκολο γιατί το όνομά του και το όνομα. Αλλά θα μπορούσαμε να έχουμε αλλάξει Αυτό το κάτι άλλο. Και στην πραγματικότητα, αυτό είναι τι θα κάνουμε τώρα. Θα πούμε «πρόσωπο», η οποία Είναι περίπου όπως το όνομα εάν ένα πρόσωπο που ορίζεται από το όνομά τους. Ας κλείσουμε αυτό, επαναλάβει την ιστοσελίδα μας δεδομένου ότι ο διακομιστής μας εξακολουθεί να λειτουργεί Apache 50, και θα πω, γεια σου, εδώ είναι Elliot και πάλι. Γιατί όχι? Χαίρετε. Και αν πάμε μέχρι εδώ, θα δούμε τότε αντί για το όνομά = Elliot, λέει άτομο = Elliot. Και αυτό είναι ένα άμεσο αποτέλεσμα του γεγονότος ότι αλλάξαμε μόλις name = "πρόσωπο". Έτσι, σε ένα στοιχείο εισόδου του μια μορφή HTML, το όνομα τομέα είναι το αναγνωριστικό για το παράμετρος που είναι να περάσει. Είναι σαν να δημιουργείτε μια λειτουργία "προσθήκη" που πραγματοποιήθηκε σε δύο ακέραιους αριθμούς και είπατε int a και b int. Αυτό θα ήταν ένα όνομα, και αν θα ήθελε μια άλλη μορφή, η οποία μπορούμε να κάνουμε απλά με αντιγραφή και επικόλληση, τότε θα έχουμε το όνομα β. Έτσι τώρα θα έχουμε δύο παραμέτρους που είναι να περάσει από φτάσετε στο επόμενο website-- η επόμενη ιστοσελίδα, hello.php. Και μπορούμε πραγματικά να δείτε ότι και πάλι, αν θέλουμε. Αυτός είναι ο ευκολότερος τρόπος για να ασχοληθεί με ο κωδικός διαδίκτυο στο IDE, βασικά. Μπορείτε να ξεκινήσετε το διακομιστή, να το πάρει τρέχει, και στη συνέχεια κάθε φορά που κάνει κάποιες αλλαγές, μόνο κοντά αυτό το αρχείο ακριβώς για να είναι ασφαλής. Πατώντας το πλήκτρο BACK είναι λίγο δύσκολο διότι μπορεί να φορτώσει μια παλαιότερη εκδοχή, δεν είναι το πιο ενημερωμένο μία. Και τότε απλά κάντε κλικ σας κουμπί ξανά, ποπ δεξιά up-- ω, και τώρα υπάρχουν δύο μορφές. Και έτσι αν γράψουμε ένα πράγμα σε κάθε ένα-- "Jason hirshhorn," για instance-- θα πω ένα γεια. Εμείς κοιτάζει παραμέτρους μας. Μοιάζει έχουμε, όπως αναμένεται, α = Jason και β = hirshhorn, το οποίο αντιπροσωπεύει το δύο παραμέτρους ότι περάσαμε σε αυτή τη λειτουργία. Έτσι τώρα ας πραγματικά να εφαρμογή του εν λόγω λειτουργικότητα που θα είχε οριστεί P 6. Έτσι τώρα είμαστε απλά επαναλαμβάνοντας γεια. Και αυτό δεν είναι πολύ χρήσιμο. Θέλουμε να επαναλάβω κάποια μεταβλητή ότι πέρασε σε εμάς. Και γνωρίζουμε το όνομα της μεταβλητής αυτής. Έχουμε μια και έχουμε b. Έτσι, θα μπορούσαμε να επιλέξουμε να επαναλάβω είτε ένα. Αλλά πώς θα αποκτήσετε πρόσβαση; Λοιπόν, υπάρχουν ορισμένες global μεταβλητές στην PHP. Και Πάω να γράψω τους στα σχόλια εδώ. Τα δύο πιο σημαντικά από αυτά είναι get και μετά για τους σκοπούς μας τώρα. Αυτές είναι οι συστοιχίες ή, τεχνικά, τα λεξικά όπου οι μεταβλητές μας που είμαστε πέρασμα στην επόμενη live web σελίδα. Και σύντομα θα δούμε πώς να τα χρησιμοποιούν. Μια άλλη σύντομη σημείωση σχετικά με κώδικα PHP και κάποιες ιδιαιτερότητες του it-- σε C, να δηλώσει μια μεταβλητή ή να χρησιμοποιούν μεταβλητές, θα έπρεπε πρώτα να τους δηλώσουν. Και τι θα έπρεπε να κάνετε όταν κήρυξε τους ήταν να πω μια int ή char b. Θα έπρεπε να δηλώσουν τα είδη αυτά μεταβλητές, πριν να τους δημιουργήσει. PHP-- δεν χρειάζεται να κάνει τίποτα από αυτά. PHP δεν ζητά ο τύπος της μεταβλητής. Και ο τρόπος που δημιουργήσετε ένα μάλλον variable-- από ό, τι λέει int, char, string-- το οποίο είναι πραγματικά char *, όπως know-- αντί να κάνει όλα ότι, επειδή τα πάντα είναι του ίδιου τύπου, typeless, μπορούμε μόνο χρησιμοποιήστε ένα χαρακτήρα, η οποία είναι το σύμβολο του δολαρίου. Και θα δείτε ότι είναι ήδη βρεθώ up, μικρά πράγματα αυτόματης συμπλήρωσης. Και λέει ότι _GET και _POST είναι δύο επιλογές που έχω στη διάθεσή μου σε μένα. Μερικά από αυτά τα άλλα πράγματα είναι άλλες καθολικές μεταβλητές στην PHP ότι θα πρέπει να χρησιμοποιείτε πάνω η πορεία του Ρ οριστεί 7. Για τώρα θα πάμε να επικεντρωθεί σε πάρει και μετά. Αλλά αυτό είναι μια χρήσιμη πράγμα που το κάνει IDE όπου μόλις έχετε πληκτρολογήσει σε αυτό το σύμβολο του δολαρίου, θα αρχίσουν τη συμπλήρωση καθολικές μεταβλητές ή μεταβλητές έχετε ήδη οριστεί. Έτσι, αν θέλετε να ορίσετε μια μεταβλητή που ονομάζεται "string" θα μπορούσατε απλά να το θέσει ίσο με ένα «γεια». Και είναι ουσιαστικά τόσο απλό. Και τότε θα μπορούσαμε να κάνουμε κάτι σαν "echo $ string." Ο IDE θα πρέπει να ρίχνουν μερικά σφάλματα, αν κάνω κάτι λάθος, οπότε ελπίζω πως μπορεί να κάνει τα πάντα σωστά. Αλλά σφάλματα πάντα θα προκύψουν. Ένα άλλο δύσκολο πράγμα για PHP είναι ότι δεν είναι καταρτίζονται. Έτσι, με προγράμματα C, θα κάνετε η καθημερινή ρουτίνα of-- βασικά, θα κάνει αλλαγές για να κωδικό σας, θέλετε να το αποθηκεύσετε, και στη συνέχεια θα καθιστούν, όπου κάνουν ήταν το βήμα που ονομάζεται compiler, κλαγγή, για να κάνουν τον κωδικό σας, αυτό το κείμενο αρχείο, σε ένα εκτελέσιμο. PHP είναι C-όπως, αλλά είναι εκτελεστεί σχετικά με την πετάξει από το web browser σας. Έτσι, δεν υπάρχει τρόπος να γνωρίζουμε. Βεβαιωθείτε θα ρίξει εκείνων χρήσιμες λάθη, σωστά; Θα ήθελα, θα σας δεν δήλωσε ότι είναι μεταβλητή πριν δοκιμάσετε να το χρησιμοποιήσετε. Έκανες όλο αυτό το κακό stuff-- segfault, segfault, όλα τα τέτοιου είδους διασκέδαση φορές ότι ήρθε με τη μάρκα. PHP είναι ένα δίκοπο μαχαίρι γιατί δεν θα πάρετε αυτά τα σφάλματα, αλλά αυτό σημαίνει επίσης ότι δεν θα γνωρίζετε πραγματικά τι είναι λάθος με το πρόγραμμά σας αν απλά τρέξτε το και δεν λειτουργεί. Αλλά το πρόγραμμα εντοπισμού σφαλμάτων πρέπει να επισημάνουμε μερικές χρήσιμες ελπίζουμε μικρά πράγματα συντακτικά ότι μπορείτε να διορθώσετε. Έτσι τώρα, αν πάει πάνω to-- λένε, ας κλείσουμε αυτό. Ξανανοίγω. Και είμαστε πίσω εδώ. Έτσι έχουμε μια μεταβλητή και μια μεταβλητή b. Και αυτά τελικά δεν θα έχει σημασία. Θα τους καλέσει h και g χωρίς ιδιαίτερο λόγο. Και λέμε γεια. Τώρα μοιάζει με κορδόνι μας "γεια" είναι πράγματι εκτύπωση. Δημιουργήσαμε μια μεταβλητή που ονομάζεται "χορδών", που είναι ίσο με ένα «γεια». Παρατηρήστε ότι δεν είχαμε να κάνουμε malloc ή να κάνει μια σειρά χαρακτήρων. Στην PHP, επειδή οι μεταβλητές είναι typeless, ένα string είναι το ίδιο με ένα char για όλες οι προθέσεις και τους σκοπούς. Αυτό θα μπορούσε να είναι "γεια". Αυτό θα μπορούσε να είναι ακριβώς το χαρακτήρα k. Αυτό μπορεί να είναι ένας αριθμός 1. Και δεν με νοιάζει. Η PHP δεν νοιάζονται για ο τύπος της μεταβλητής σας. Ή, νοιάζεται. Είναι νοιάζεται όταν προσπαθείτε και να κάνουμε τα πράγματα με αυτό, αλλά δεν με νοιάζει σε το βήμα δήλωση. Και ακριβώς όπως μπορείτε σε C, μπορείτε να δηλώνουν χορδές στη στοίβα όπως αυτό αν και λέγοντας «στοίβα» είναι μια μικρή κομμάτι μιας πιθανής ψευδεπίγραφος, όταν μιλάμε για την PHP. Αλλά δεν χρειάζεται να ανησυχείτε γι 'αυτό. Έτσι πήραμε εγχόρδων μας "γεια", και θα επαναλάβω εγχόρδων. Έτσι τώρα έχουμε συζητήσει μεταβλητές. Έτσι τώρα πρέπει να μιλήσουμε για get και δημοσιεύσετε και να εκτελέσει το τελευταίο πράγμα που είναι που απαιτούνται για να πάρει πραγματικά αυτό το back up με τη λειτουργικότητα του Ρ καθορίζεται 6. Έτσι τώρα είμαστε απηχώντας το string, αλλά εμείς έχουν αυτές οι μεταβλητές παίρνουν και μετά. Και επειδή είμαστε χρησιμοποιώντας η μέθοδος να πάρει, το φαίνεται φυσικό ότι οι μεταβλητές που μας μας ενδιαφέρει, τόσο α και β, θα βρίσκεται στη συστοιχία ή λεξικό, τεχνικά πάρει. Έτσι, αν έχουμε δημιουργήσει πάρει σαν αυτό με groups-- σας πίεσα να εισαγάγετε και δεν ήθελε it-- αλλά εδώ έχουμε πάρει. Και να πάρει έτσι υπάρχει ήδη. Έτσι, μπορούμε ήδη να αρχίσουν να έχουν πρόσβαση μερικά από τα στοιχεία του get. Αν το κάνουμε να πάρει, αυτή η σύνταξη για συστοιχίες στην PHP είναι πολύ C-όπως. Έχουμε δύο αγκύλες μας. Έτσι, αν λέμε να πάρετε σε ένα κανονικό συστοιχίας, θα μπορούσαν να έχουν πρόσβαση ο δείκτης μηδενικής, ο πρώτος δείκτης. PHP είναι μηδέν δείκτη. Θα μπορούσαμε να πούμε μηδέν, ένα, two-- πράγματα όπως αυτό. Και έχω πει ότι παίρνουν είναι τεχνικά ένα λεξικό. Έτσι, αυτό που κάνει η PHP είναι κάτω από την κουκούλα, το οποίο είναι λίγο καλύτερο από C, είναι ήδη σας δίνει κάποια λεξικό λειτουργικότητα, η οποία Είναι πραγματικά hash πίνακες, ή προσπαθεί να, υποτίθεται. Ή, από τεχνική άποψη θα μπορούσε να είναι μια δοκιμή, καθώς και. Αλλά η PHP υλοποιεί ένα πίνακα κατακερματισμού, το οποίο αποτελεί μια αποτελεσματική λεξικό. Και έτσι ξέρουμε το όνομα της μεταβλητής μας, σωστά; Είναι που πέρασε στο η συμβολοσειρά ερωτήματος από την PHP. Έχουμε Α = Η και b = g, όπου και β είναι τα ονόματα των μεταβλητών. Έτσι, ο τρόπος με τον οποίο μπορούμε να έχουμε πρόσβαση το τιμή που αντιστοιχεί στο κλειδί στο λεξικό μας είναι απλά λέγοντας _GET_GET ["a"]. Έτσι τώρα έχουμε _GET ["a"]. Και αν εμείς απλά αντικαταστήστε μέσα ηχώ μας, αν θέλουμε echo _GET_GET ["a"] - και θα δούμε αν το πρόγραμμα εντοπισμού σφαλμάτων ρίχνει τυχόν λάθη σχετικά με this-- θα σώσουμε αυτό και να κλείσει αυτό έξω. Ανοίξτε το επάνω. Έτσι, είμαστε απλά κάνοντας δεξί τώρα, έτσι ώστε β δεν πρέπει να έχει σημασία. "της" και "τον" - "βουητό." "της" και "βουητό". Ακούγεται καλό. Και εκτυπώνεται "της," η οποία είναι τρελό. Αλλά αυτό είναι ακριβώς ό, τι συνέβαινε στο P που 6. Βασικά, αυτό που P 6 Ήταν doing-- echo hello, name-- όπου είχε μια όνομα της μεταβλητής και αυτό ακριβώς σας ζητά να πληκτρολογήσετε σε αυτό το κομμάτι του κειμένου. Υπήρξε επίσης κάποια Πρόσθετος κωδικός όπου περιλάμβανε δηλώσεις if, το οποίο μπορούμε να κάνουμε αυτή τη στιγμή. Μπορούμε να πούμε, αν υπάρχει, το οποίο είναι μια λειτουργία μέσα σε PHP, _GET Με το χαρακτήρα υπογράμμισης, "όνομα" - η οποία είναι βασικά λέγοντας, "εάν το όνομα έχει συμπληρωθεί" γιατί θα μπορούσαμε να είχαμε μόλις πάτησε το κουμπί να υποβάλει το έντυπο χωρίς πληκτρολογώντας τίποτα σε αυτόν τον τομέα. Και τυλίγουμε ότι σε μας φιλικό αγκύλες. Μπορούμε να έχουμε μια δήλωση αλλού. Και αυτό είναι όλο εντός της γωνίας της PHP βραχίονα, ερωτηματικό, αγκύλη, αν θέλετε. Και τώρα θα δούμε αν αυτό λειτουργεί. Κρατάω περιμένοντας να debug και χάλια από πάνω μου, βασικά, αλλά δεν έχει ακόμη. Ίσως τώρα θα γιατί μίλησα. Ναι. Το έκανε, στην πραγματικότητα. Έτσι, τίποτα δεν δείχνει μέχρι. Αυτό συμβαίνει γιατί κάτι λάθος ότι έγραψα στον κώδικα PHP. Και ανέφερα το debugging Είναι δύσκολο γιατί σε PHP, μπορούμε δεν το υπολογίσουν εκ των προτέρων και ο compiler δεν αρέσει, Εδώ είναι όπου είναι τα λάθη σας. Αλλά τι μπορούμε να κάνουμε is-- κάνουν οι άνθρωποι θυμούνται πώς να δούμε το άλλο δίκτυο τα αιτήματα που PHP-- ή ότι οι δικτυακοί τόποι στέλνω? [? Malin?] Έκανε αυτό διάλεξη μία ή δύο φορές. Θυμάστε όταν πάμε να βρούμε τα διάφορα χρέη και τα 200 OKs, όλοι αυτοί οι κωδικοί που αποστέλλονται μέσω HTTP από την ιστοσελίδα σε ιστοσελίδα; Υπάρχει κάποιος που θυμάται όπου πάμε να το κάνουμε αυτό; Κοινό: Σελίδα Πηγή. SAM LEVATICH: Σελίδα πηγή. Ακριβώς. Αν πάτε στη σελίδα Source-- τέλεια. Έτσι Σελίδα Πηγή σηκώνει τον επιθεωρητή. Και είμαι χρησιμοποιώντας το Safari. Πολλοί από εσάς θα είναι πιθανώς να χρησιμοποιείτε Chrome ή το Firefox. Αλλά εφ 'όσον είστε σε κάθε σύγχρονο browser-- και να αισθάνονται ελεύθεροι να ακολουθήσουν μαζί, αν θέλετε. Μπορείτε να πληκτρολογήσετε έως και αυτόν τον κώδικα ή απλά κοιτάξτε στο εσωτερικό του συνόλου P 6 κατάλογο για κάποια παρόμοια πράγματα. hello.php είναι ό, τι είμαστε επί του παρόντος εργάζεται για μίμηση. Έτσι, υπάρχει μια ποικιλία των καρτελών. Μπορούμε να δούμε όλους τους πόρους. Μπορούμε να δούμε τον πηγαίο κώδικα. Έτσι, μοιάζει να μην το έκανε ξεπεράσουμε το σώμα στο τέλος. Η Επιτροπή διαπίστωσε σφάλμα σε PHP και σταμάτησε τη φόρτωση της ολόκληρη την ιστοσελίδα. Δεν χρειάζεται καν να έχουν ένα τέλος ετικέτα για HTML ή οτιδήποτε. Και αν κοιτάξουμε το δίκτυο, μπορούμε βλέπουμε ότι είμαστε αποστέλλεται ένα αίτημα. Αυτή είναι η περιοχή. Αυτή είναι η διεύθυνση. Είναι ένα έγγραφο. Είμαστε χρησιμοποιώντας τη μέθοδο GET. Και είναι κόκκινο. Ή, ήταν κόκκινο όταν δεν είναι επιλογή. Πώς μπορώ να καταργήσετε την επιλογή; Λοιπόν, αυτό ήταν κόκκινο. Επιτρέψτε μου να ανανεώσετε. Εκεί είναι. Τώρα είναι κόκκινο. Έτσι είναι το κόκκινο, το οποίο σημαίνει απέτυχε, το οποίο είναι κακό. Ας εξετάσουμε γιατί απέτυχε. Έτσι, όλα ότι η πηγή μπορεί Σελίδα βασικά σας πω είναι το πράγμα σας δεν λειτούργησε, το οποίο μπορούμε ήδη να δούμε. Έτσι, στην ιδανική περίπτωση θα υπάρχει είναι ένα πιο χρήσιμο εργαλείο. Και υπάρχουν μερικές επεκτάσεις του προγράμματος περιήγησης που επιτρέπουν σε σας για να διορθώσετε PHP, αλλά εμείς δεν πρόκειται να να γράφει ένα τόνο της PHP, έτσι είναι πιθανώς ακριβώς καλύτερα να δούμε μέσα από τον κωδικό σας προσεκτικά και απλά βεβαιωθείτε ότι δεν κάνει τίποτα άλλο. Ας δούμε αν η μορφή αυτού του αν η δήλωση είναι πού είναι το πρόβλημα. Θέλω να φορτώσει ότι πίσω εδώ. Γεια γεια. Έτσι, υπάρχει ένα πρόβλημα εκεί. Έτσι, για την σωστή σύνταξη της PHP, η PHP θα να είναι C-όπως το ότι θα δείτε βρόχους. Θα δούμε αν καταστάσεων. Θα δείτε όλους αυτούς τους φίλους ότι έχετε εξοικειωθεί με την πάροδο του παρόντος CS50 εξαμήνου. Αλλά ο καλύτερος τρόπος για να καταλάβω πώς να κάνει κάτι στην PHP είναι να το Google ή να δούμε μερικά παραδείγματα κώδικα PHP γιατί ξέρετε τη λειτουργικότητα. Ξέρετε τι μπορείτε να κάνετε κάνει με το πρόγραμμα. Μπορείτε βρόχο. Μπορείτε βρόχο όσες φορές θέλετε. Μπορείτε βρόχος σε όλα τα είδη των διαφορετικών τρόπων. Μπορείτε να δημιουργήσετε λειτουργίες. Μπορείτε να δημιουργήσετε λειτουργίες που καλούν άλλες λειτουργίες, λειτουργίες που αυτοαποκαλούνται. Και έχετε ονόματα για αυτές τις έννοιες. Έχετε αναδρομή, βρόχους, εάν, άλλες ροές ελέγχου. Και έτσι το Google είναι ο καλύτερος φίλος σας. Ακόμη και λένε, "αν PHP Δήλωση "και θα υπάρξει να τους τόνους των θέσεων με απαντήσεις σε άλλους ανθρώπους που είχα παρόμοιες ερωτήσεις σας, που αρχίζουν ακριβώς με την PHP και είναι περίεργος για ένα πράγμα σύνταξη. Επειδή έχουμε την πολυτέλεια να είναι σε θέση να δούμε τον κώδικα στο σύνολο P 6, μπορούμε να το τραβήξει στην πραγματικότητα και να δείτε ότι Εντάξει, εδώ είναι κάτι ενδιαφέρον. Έτσι, αυτό είναι ό, τι είναι στην πραγματικότητα έμοιαζε P οριστεί 6. Έτσι, αν πάμε μέσα από αυτό, μπορούμε να δούμε ότι έχουμε πήρε πολλά από αυτά τα μικρά PHP-σαν τα κομμάτια ερωτηματικό. Και δεν υπάρχουν αγκύλες. Υπάρχουν παχύ έντερο. Και υπάρχουν σγουρά τιράντες σε PHP, αλλά αυτό είναι μια μορφή και ένας τρόπος για να γίνει PHP που λειτουργεί καλά με την HTML γιατί όπως θα δείτε, είμαστε κλείσιμο εκτός αυτών PHP bits-- την elses και το IFS και όλα that-- και, στη συνέχεια, είμαστε interspersing HTML στο εσωτερικό τους ενώ ακολουθούν ακόμα το ροή ελέγχου που καθορίζονται από την PHP. Έτσι, είμαι απλώς πρόκειται να γρήγορη βόλτα μέσα από αυτό γιατί είναι ένα μεγάλο μέρος της ίδιας έννοιες που κάναμε πριν. Έχουμε αν δεν είναι κενή, παρενθέσεις, _GET_GET ["όνομα"]. Αυτό είναι όλα τα ίδια πράγματα. Είμαστε χρησιμοποιώντας το λεξικό ότι _GET PHP στέλνει κατόπιν αιτήματος των μορφών, επειδή είναι οι παράμετροι του δράση, και η μέθοδος είναι να πάρετε. Και στη συνέχεια, ότι τελειώνει αυτό. Το παχύ έντερο είναι ένα σημαίνον να κάνει ακριβώς αυτό αν η δήλωση if είναι αληθής. Είναι σαν ένα σγουρά στήριγμα. Και στην πραγματικότητα, είναι μια σγουρά στήριγμα σε άλλες γλώσσες όπως Python, που μπορεί να συναντήσετε αν απλά το κάνουμε αυτό για το τελικό σχέδιο σας. Και τότε αυτή η γραμμή, γεια σου. Τότε έχουμε αυτό το περίεργο πράγμα. Έχουμε περισσότερα στηρίγματα. Δεν υπάρχει HTTP there-- ή PHP, συγγνώμη. Αλλά υπάρχει ένα σύμβολο ισότητας. Και τότε έχουμε μια λειτουργία, htmlspecialchars (_GEThtmlspecialchars (_GET ["name"]). Αυτό είναι το είδος του σαν μια πιο προηγμένη έκδοση της ηχούς. Όπως είχαμε αντηχούν ως ένας τρόπος να εκτυπώσετε τα πράγματα στην PHP. Αυτή είναι μια λειτουργία που είναι ορίζεται σε PHP που θα ασχοληθεί με κάποια πιο δυσάρεστο χαρακτήρες και τις αξίες byte ότι θα μπορούσε να περάσει. Είναι πάντα ασφαλέστερο να χρησιμοποιήσετε αυτό. Αλλά echo θα κάνει τη δουλειά μια χαρά, αν δεν είμαστε που ασχολούνται με κάτι πολύ δυσάρεστο. Και έτσι αυτό έχει το ίδιο επίδραση της ουσιαστικά, αυτά τα πράγματα στο μεταξύ το θέμα σήματα αξιολογείται από την PHP. htmlspecialchars επιστρέφει ένα ωραίο HTML τυπωμένο αξία των _GET_GET ["name"], δηλαδή Ό, τι πληκτρολογείτε στη μορφή. Και τότε θα πω ένα γεια, κόμμα χώρο, και στη συνέχεια αυτό. Όλο αυτό το πράγμα μεταξύ οι αγκύλες θα αντικατασταθεί από οτιδήποτε άλλο htmlspecialchars βάζει έξω. Έτσι, αυτό είναι βασικά παρόμοια σε ό, τι κάνουμε. Και έχουμε μια δήλωση άλλος που είναι Γεια σας κόσμο, το οποίο έχει νόημα. Έτσι τώρα ας πάμε πίσω σε μας κώδικα και να δείτε exactly-- oh. Είπα υπάρχει, το οποίο δεν είναι ένα πράγμα που θέλαμε να κάνουμε. Θέλαμε να πούμε δεν είναι κενή. Και έτσι αυτό θα πρέπει να εργαστεί λίγο λίγο καλύτερα, δεν είναι άδειο _GET_GET ["name"]. Και αυτό σγουρά στήριγμα ταιριάζει με αυτό σγουρά στήριγμα. Έχουμε αγκύλες μας εδώ. echo hello _GET ["name"]. Ας δούμε αν αυτό λειτουργεί λίγο καλύτερα. Είμαστε ακόμη σε εξέλιξη server μας. Γεια σου Jason. Γεια σου Jason. Και αυτό λειτούργησε αυτή τη φορά. Και έτσι αυτό είναι μια απόδειξη ότι μπορείτε πράγματι χρησιμοποιήστε τα άγκιστρα που εσείς ξέρουμε και αγάπη στην PHP κώδικα σε μορφή HTML. Ο κώδικας PHP παρέχεται σε σας σε PSET 6-- το chipset 6-- παρέχει έναν άλλο τρόπο κάνει αυτό το ίδιο πράγμα. Έτσι τώρα έχουμε τη δύναμη. Έχουμε τη λειτουργικότητα για την εφαρμογή ο κώδικας PHP που είδαμε στο PSET 6 από τον εαυτό μας, ουσιαστικά. Πριν προχωρήσουμε, τι είναι μερικά από τα ερωτήσεις που έχετε σε αυτό το σημείο; Ναι [δεν ακούγεται]. Κοινό: Έτσι όπως διατυπώνεται στον pset6, όταν το τρέξετε, υπάρχει ένα κενό. Και μπορώ να δω όπου ο χώρος είναι μετά το κόμμα. [Δεν ακούγεται] αρχή το ανοικτό στήριγμα. Πώς να ενσωματώσει το χώρο ο τρόπος που έγραψε τη δική σας κωδικούς; ΟΜΙΛΗΤΗΣ: Αυτή είναι μια καλή ερώτηση. Και έτσι ας καταλάβω. Έτσι, αυτό είναι μια πραγματικά καλή ερώτηση και ένα που δεν είχα εξετάσει. Αλλά ας το κάνουμε μαζί. Έτσι, πρώτα απ 'όλα, ό, τι Κάνω με ηχώ είναι όταν εμείς απλά echo Γεια σας, γεια σου εξόδους. Αν συνεχίσω τώρα αυτή να πάρει σε ένα ξεχωριστό γραμμή, ας εξετάσουμε τι συμβαίνει. Γι 'αυτό και κάντε κλικ στο κουμπί αυτό. Κρατάμε λέγοντας γεια Jason. Έτσι και πάλι, δεν έχουμε αυτό το χώρο. Και αυτό γιατί, σε PHP, όταν έχουμε ηχώ, δεν έχει σημασία πόσες spaces-- Όχι, δεν το V-- δεν έχει σημασία πόσες θέσεις θα θέσει σε here-- αν τώρα φορτώσει και πάλι ότι, Γεια σου Jason. Ναι, δείτε, όλα αυτά Απαγορεύεται πήρε τρώγονται. Και αυτό είναι κάτι που η ηχώ λειτουργία κάνει. Έτσι για να αναλάβει τη φροντίδα του ότι ο χώρος, και αυτό είναι ένας από τους λόγους γιατί δεν θέλετε να χρησιμοποιήσετε ηχώ και μπορείτε να χρησιμοποιήσετε htmlspecialchars αντ 'αυτού. Είμαι περίεργος τι θα συμβεί αν το κάναμε αυτό όπου έχουμε κλειστό χώρο σε μια σειρά. Δεν είμαι σίγουρος τι ειλικρινά θα συμβεί όταν το κάνω αυτό. Έτσι, αυτό είναι ένας τρόπος. Αυτός είναι ένας τρόπος για να ασχοληθούν με αυτό. Αν τυλίξετε το χώρο ένα string, τότε ο χώρος Θα είναι ωραία έξοδο από την ECHO. Το ασφαλέστερο πράγμα που πρέπει να κάνουμε είναι να να κάνει htmlspecialchars. Αυτό είναι πάντα το ασφαλές στοίχημα. Αλλά τώρα έχουμε έναν τρόπο να κάνουμε με ηχώ εάν είναι απαραίτητο. Και σε ένα παρόμοιο τρόπο, μπορούμε ηχώ νέες γραμμές, όλοι το είδος πράγματα είστε εξοικειωμένοι κάνει στην PHP. Οποιοσδήποτε άλλος, ποια είναι τα πλέον ερωτήσεις που οι άλλοι άνθρωποι έχουν σε αυτό το σημείο για την PHP; Αν οι άνθρωποι εμφανίστηκε λίγο αργά, Είμαι στην ευχάριστη θέση να μείνετε μετά από λίγο και να μιλήσουμε για μερικά από την αρχή. Και είναι, επίσης, όλα livestreamed, και αρχειοθετούνται, η οποία είναι τρελό. Τέλος πάντων, έτσι και τώρα ας κάνουμε μερικά πιο προχωρημένο πράγματα με την PHP. Και ένα από τα πρώτα πράγματα που εισήχθησαν στο C ήταν για βρόχους. Και η PHP έχει ένα πιο ισχυρό για βρόχος που ονομάζεται βρόχο foreach. Και μοιάζει this-- για κάθε κενή ως κενό, αγκύλες, κάνει το πράγμα. Έτσι, αυτό είναι βασικά μια συντομογραφία. Βλέπε, για το βρόχο ως συντακτική κατασκευή επινοήθηκε σε C και στη συναρμολόγηση τη γλώσσα και τα πράγματα αρέσει. Επινοηθεί C, ακριβώς, ως στενογραφίας για πολλά από τα είδη των βρόχων ότι οι άνθρωποι θα δουν. Όπως όταν έγραψε ένα βρόχο, εκεί ήταν συχνά ένα βήμα αρχικοποίησης εκτελούνται από την αρχή, ένα κατάσταση όπου ο βρόχος θα stop-- και αυτό είναι το χαρακτηριστικό γνώρισμα αυτό είναι μόνο σε ένα βρόχο while, ή ότι μια ενώ έχει ακριβώς ακριβώς αυτό feature-- και, στη συνέχεια, ένα βήμα αυξήσεως στο τέλος. Και έτσι θα βρείτε τον εαυτό σας συχνά τη σύνταξη κώδικα, όπως το παρακάτω. Πάω να διαγράψει μερικά από αυτό. Αλλά αν είμαστε επανάληψη μέσω χαρακτήρες σε μία συστοιχία, για παράδειγμα, όπως έχουμε πήρε μια σειρά από χαρακτήρες. Συγγνώμη για να φέρει πίσω C. ξέρω, νομίζατε ότι είχατε κάνει. Αλλά αυτό είναι μόνο για το σκοπό της μάθησης PHP, το υπόσχομαι. Έτσι, αν έχεις ένα char str μήκους 8, και ας λένε ότι λέει Hellooo με μηδενική υστερούντα. Μεγάλη, έτσι ώστε να είναι συμβολοσειρά μας. Και τότε είχαμε ένα για το βρόχο. Έχουμε int i ισούται με 0. Και θέλουμε να βγείτε όταν str του εγώ δεν ισούται ίση με null, γιατί βγείτε όταν ισούται με μηδενική. Και τότε κάνουμε i ++ σε κάθε σημείο στο βρόχο for. Να κάνει κάτι με την οδό Ι. Έτσι, η βασική φόρμουλα ήταν, είχαμε αυτό το array ότι εμείς ήθελαν να αντιμετωπίζονται ως ξεχωριστά στοιχεία. Αλλά αυτό που έπρεπε να κάνουμε είναι να έπρεπε να βασικά δημιουργήσετε μια ξεχωριστή ακέραιο μεταβλητή που μετρούσε κάθε φορά που πήγαμε μέσα από το βρόχο. Και τότε θα πρέπει να καλέσετε στη συνέχεια, strstr [i], όταν αυτό που θέλαμε πραγματικά να κάνουμε Είναι απλά πηγαίνετε χαρακτήρα από τον χαρακτήρα, έτσι δεν είναι; Δεν θέλουμε να αυξήσετε ένα ακέραιος και στη συνέχεια να χρησιμοποιήσετε αυτό το ακέραιο να έχουν πρόσβαση σε κάθε χαρακτήρα ξεχωριστά. Θέλουμε πραγματικά χαρακτήρα προς χαρακτήρα. Και έτσι για κάθε έξυπνα υπολογίζει ότι για μας. Αν έχουμε μια σειρά, η οποία μπορούμε να δηλώσουμε στην PHP όπως just-- αν έχουμε μια μεταβλητή ονομάζεται, ας το ονομάσουμε σειρά. Τα θαύματα δεν δακτυλογράφησης, είναι ακριβώς όπως οποιαδήποτε άλλη μεταβλητή. Είναι απλά μια σειρά. Και έχουμε ένα μικρό [δεν ακούγεται] όπως 1, 2, 3, μόνο ένα είδος αρχικοποιημένη πίνακα. Είναι εντάξει, δεν αρέσει foreach μου. Αλλά αν το κάνουμε πραγματικότητα foreach-- Έχω πληκτρολογήσει ότι ένα μικρό λάθος. Υπάρχουν δύο τρόποι για να κάνετε έναν βρόχο foreach. Υπάρχει η σύνταξη μέσα και η ως σύνταξη. Και θα πάμε να κάνουμε στην πρώτη σύνταξη, όχι ως. Αυτό είναι το λάθος μου. Έτσι foreach num στη σειρά, ηχώ num. Και PHP είναι φωνές μου για κάποιο λόγο. Είναι μια αναπάντεχη εύρεση σε σε κάτι, το οποίο είναι ένα μικρό κομμάτι της μια ενόχληση. Αλλά θα καταλάβω γιατί συμβαίνει αυτό σε μια στιγμή. Έτσι, δεν αρέσει αυτό. Ας προσπαθήσουμε να χρησιμοποιήσουμε το ως. Προτιμά η σύνταξη είναι όπως φαίνεται. Ας κάνουμε foreach πίνακα ως αρ. Έτσι, μια μικρή επεξήγηση του τι ακριβώς συνέβη είναι η όσο το συντακτικό saying-- καλά πρώτα, Ας δούμε τι εκτυπώνει αυτό. Έτσι, ανοίγουμε IDE μας. Εμείς πάμε εδώ. Εμείς λέμε, Γεια σας Jason. Και το έκανε 123, το οποίο ήταν το περιεχόμενο του πίνακα που δημιουργήσαμε επάνω στην κορυφή. Έτσι, καταδύσεις σε αυτόν τον βρόχο foreach, έχουμε μια μεταβλητή που ονομάζεται συστοιχία η οποία είναι μια σειρά τριών αριθμών. Και τότε κάνουμε foreach πίνακα ως num, num ηχώ. Και αυτό είναι περισσότερο έξυπνο από ό, τι ένα για lop. Λέμε, αντιμετωπίζοντας κάθε μία από τα πράγματα στη σειρά, όπως num, Θέλω να μου δώσετε num. Και αυτό είναι ακριβώς τι κάνει. PHP υπολογίζει ότι όταν λέτε πίνακα foreach, και έχουμε να κάνουμε με μια σειρά, τι θα πάμε να θέλουν να μετακινηθείτε πάνω είναι οι χαρακτήρες στην εν λόγω διάταξη, είναι οι ints στην εν λόγω διάταξη, είναι τα στοιχεία στην εν λόγω συστοιχία. Και αυτό είναι που σας επιτρέπει να αποθηκεύσετε αυτές οι μεταβλητές ως num, και στη συνέχεια απλά εξόδου num αμέσως, αντί να λέμε, Έχω μια μεταβλητή που ονομάζεται i, και τότε θέλω να strstr εξόδου [i]. Και έτσι αυτό μας επιτρέπει να κάνουμε δροσερά πράγματα. Όπως και στην ουσία δεν έχουμε να δημιουργήσουμε Αυτές οι μεταβλητές όπως εγώ και να κάνει όλα αυτά τα πράγματα προσαύξησης στο τέλος. PHP φροντίζει όλα αυτά για εσάς. Έτσι τώρα ας μιλήσουμε για foreach ως εφαρμόζεται σε λεξικό _GET μας. Έτσι θα σχολιάσει αυτό έξω γρήγορα. Έτσι, έχουμε σειρά _GET μας. Έχουμε αυτήν τη μεταβλητή. Και πήρε κάποια πράγματα σε αυτό. Αυτή τη στιγμή, έχουμε μόνο μια μεταβλητή μεταβιβάζονται σε αυτό, το οποίο είναι το όνομα. Αλλά αν πατήσετε το Enter, τώρα μπορούμε να έχουμε δυο μεταβλητές. Μπορούμε να έχουμε το όνομα και την ηλικία, για παράδειγμα, αν θέλουμε να πάρει την ηλικία και, επίσης, το όνομα ενός προσώπου, αρκετά αστεία. Έτσι τώρα _GET πρόκειται να είναι μια λεξικό με δύο στοιχεία, με δύο ζεύγη κλειδιών αξία. Και το πρώτο key-- Πάω να γράψω αυτό το ένα επάνω στο ταμπλό πάρα πολύ. Έχουμε λεξικό μας είναι _GET. Συγγνώμη, αυτό είναι λίγο δύσκολο να δούμε. Αλλά μέσα λεξικό μας έχουμε όνομα, το οποίο πρόκειται να είναι κάτι ότι μας δίνεται. Και θα έχουμε την ηλικία, η οποία είναι επίσης πρόκειται να είναι κάτι που μας δίνεται. Και αυτό είναι το σύνολο του λεξικού μας. Έτσι πήρε τα δύο στοιχεία σε αυτό. Και έτσι επειδή foreach βρόχοι είναι έξυπνοι, μπορούμε μπορούσε κανείς να σκεφτεί, και σωστά Να σκεφτείτε ότι foreach μπορεί να επαναλάβει μέσω αυτού λεξικό, εκτύπωση οι τιμές που δίνονται από το όνομα και την ηλικία. Οπότε ας, στην πραγματικότητα κάνουν ακριβώς αυτό. Ας κατασκευάσουμε ένα βρόχο foreach. Και θα πάμε να κάνουμε για _GET ως. Και θα πάμε να κάνουμε το εξής. Ας δούμε λοιπόν τι θα συμβεί αν γράψουμε μόνο λέξη, και στη συνέχεια να πω ηχώ λέξη. Είμαστε, επίσης, πρόκειται να επαναλάβω μια νέα γραμμή απλά για να γίνει λίγο πιο σαφής, τι συμβαίνει. Ας δούμε λοιπόν. Δεν μου δίνει κάποια λάθη. Και θα κλείσει αυτό. Στην ιστοσελίδα μας, θα πάμε να κάνουμε πολλά από ότι κατά τη διάρκεια του pset7. Έτσι λέμε το όνομά μου είναι Σαμ. Η ηλικία μου είναι 45. Δεν είναι. Αλλά εκτυπώνει, όπως αναμενόταν, ο Σαμ 45. Και έτσι θα παρατηρήσετε ότι τι βρόχο foreach did-- εδώ, Ας πάμε πίσω στο ότι έτσι είναι στο χέρι σχετικά με την board-- έχουμε _GET ως λέξη. Και υπήρχαν τέσσερα πράγματα στη _GET. Αλλά μόνο εκτυπώνονται δύο πράγματα. foreach, είναι ευφυΐα εαυτό του, Υποτίθεται ότι αυτό που πραγματικά ήθελε ήταν οι τιμές, δεν τα πλήκτρα. Αλλά υπάρχει ένας τρόπος που θα μπορούσαμε να εκτυπώσετε από τα πλήκτρα, καθώς, αν θέλαμε να. Αν θέλαμε να γνωρίζουμε επίσης τι Οι μεταβλητές αυτές ονομάζονται, υπάρχει ένας τρόπος που θα πρόσβαση σε αυτό, καθώς και. Και ο τρόπος για να είδος το κάνουμε αυτό, ώστε να μπορούμε να πούμε, ας πραγματικά διαχωρισμός σε βασικά ζευγάρια αξίας. Ας δούμε λοιπόν τι συμβαίνει τώρα. Έτσι, έχουμε το κλειδί. Έχουμε αξία. Έχουμε μια άλλη νέα γραμμή για λόγους αναγνωσιμότητας. Και ας δούμε τι θα συμβεί όταν το κάνουμε αυτό τώρα. Δεν ξέρω πόσο χρονών είναι ο Jason. Ιάσονα 15. Έτσι, έχουμε το όνομα Jason, ηλικίας 15. Γι 'αυτό και ήταν σε θέση να αποκτήσετε πρόσβαση στο κλειδί και τα ζεύγη τιμής αυτής λεξικό λέγοντας απλά ως βασικά σημεία για την αξία. Και αυτό είναι μια συντακτική foreach λίγο ζάχαρη που επιτρέπει μπορείτε να αποκτήσετε πρόσβαση σε πράγματα στο λεξικό. Έτσι, ελπίζουμε ότι αυτό το είδος της τονίζει η δύναμη του βρόχου foreach. Μπορείτε λίγο πολύ να ρίξει κάτι που φαίνεται iterable, όπως οτιδήποτε έχει πολλαπλές στοιχεία, όπως μια σειρά, σαν ένα dictionary-- πρόκειται για δύο πρωτογενή πράγματα που θα πρέπει να εργάζονται με τόσο στη ζωή και το chipset 7. Έτσι, μπορείτε να ρίξει αυτό το πράγμα σε αυτό, και θα καταλάβω τι θέλετε να κάνετε με αυτό. Θα πω, εντάξει, είμαι πρόκειται να πάρει αυτά τα πράγματα από τα δεδομένα που πέρασε για μένα. Και αυτό είναι κάτι που είστε πρόκειται να χρησιμοποιεί πολλά σε PSET 7. Πάω για γρήγορη κύλιση κάτω ακριβώς για να δούμε πού είμαι στο. Οι άνθρωποι έχουν ερωτήσεις σε αυτό το σημείο; Σε όλα τα ερωτήματα; Ναί? Κοινό: Έτσι, με το κλειδί και την αξία, θα μπορούσατε να το ονομάσετε οτιδήποτε άλλο και θα εξακολουθούν να εργάζονται; ΟΜΙΛΗΤΗΣ: Ωχ. Πω πω, έχω διαγράψει εντελώς το σύνολο της γραμμής. Καταπληκτική δουλειά. Έτσι, ένα, ένα. Κλειδί και η τιμή είναι απλά μια σύμβαση. Είναι χρήσιμο. Θα πάρετε κάποια σχεδιασμό σημεία, ίσως μερικά σημεία στυλ για να γίνει αυτό, διότι εκφράζει πραγματικά την πρόθεση. Αλλά λέμε και yarp. Κοινό: Δεν χρειάζεται να αλλάξει τίποτα στο αρχείο HTML προκειμένου να αντικατοπτρίζει το γεγονός ότι; ΟΜΙΛΗΤΗΣ: Καθόλου. Κοινό: Και αυτό ακριβώς γνωρίζει ότι λόγω της μεγαλύτερης ισούται than-- ΟΜΙΛΗΤΗΣ: Ναι. Κοινό: --that δείκτης που that's-- ΟΜΙΛΗΤΗΣ: Ναι. Αυτό είναι μια σύνταξη foreach, αλλά ναι. Κοινό: Δεν υπάρχουν είδη. Έτσι τι εάν θελήσατε ηλικίας είναι μόνο μια σειρά; Είναι ένας τρόπος για να το κάνουμε αυτό; ΟΜΙΛΗΤΗΣ: Υπάρχουν τρόποι για να ελέγξετε αν μεταβλητές να ανταποκρίνονται σε ορισμένα είδη. Έτσι PHP ζητά λίγο περισσότερο από σας γιατί δεν υπάρχουν οι τύποι του. Μερικοί τρόποι ζητά λιγότερο. Κατά κάποιο τρόπο ζητά περισσότερα. Διότι, αν έχετε μόνο κάτι σε μια μεταβλητή, δεν έχετε ιδέα τι είδους είναι. Αλλά εάν είστε έξυπνοι σχετικά με τις μεταβλητές η εκχώρηση των τύπων και να βεβαιωθείτε ότι οι λειτουργίες που return-- μόνο Θέλετε να λειτουργεί μόνο επιστροφή ένα είδος αξίας έτσι ότι μπορείτε βασικά Αναμένουμε ότι η μεταβλητή μπορείτε να πάρετε πίσω από μια συνάρτηση θα είναι του τύπου ότι νομίζετε ότι θα είναι, βασικά. Αλλά υπάρχουν μερικές μέθοδοι με το οποίο μπορείτε να ελέγξετε. Εγώ δεν τις θυμάμαι από την κορυφή του κεφαλιού μου. Είμαι σε αναμονή για να γίνει μπλε. isint; isstr; Υπάρχουν μέθοδοι χτισμένο σε PHP που μπορεί να ελέγξτε τον τύπο των μεταβλητών για εσάς. Αλλά αν ορίσετε μεταβλητές έξυπνα, δεν πρέπει να Πρέπει να το κάνουμε αυτό το πολύ σε 7 το chipset. Αλλά δεν υπάρχουν αυτές οι μέθοδοι. Και αυτό είναι κάτι που είναι στην ίδια τη γλώσσα. Και δεν θυμάμαι την ακριβή σύνταξη. Θα μπορούσαμε ακόμα και να κοιτάζω προς τα πάνω. Αλλά ο χρόνος είναι πολύτιμος. έχουν Μήπως κάποιος άλλος έχετε άλλες ερωτήσεις; Ναί. Κοινό: Έχω μόνο ένα περισσότερο. Έτσι, αναφέρατε τη μέθοδο GET, αλλά δεν αναφέρατε τη μέθοδο POST. Ερχόμαστε πίσω σε αυτό; ΟΜΙΛΗΤΗΣ: Ναι, θα το κάνουμε να έρχονται πίσω σε αυτό. Αυτό είναι ακριβώς αυτό που έψαχνα στο τηλέφωνό μου, η οποία τώρα αποκοιμήθηκε, αλλά εγώ θα το βρείτε. Απλά βεβαιωθείτε χτυπάμε όλα τα σημειώματα PHP. Ναι, δεν υπάρχει έκδοση εντοπισμού σφαλμάτων. Ναι, έχουμε μερικά περισσότερα πράγματα που θέλουμε να κάνουμε τώρα σε αυτό το σημείο. Έτσι μιλάμε για POST, που αναφέρατε, η μόνη διαφορά μεταξύ GET και POST είναι ότι θυμάμαι όταν κοιτάξαμε σε αυτή τη διεύθυνση URL και είδαμε, OH, ισούται με ένα όνομα και την ηλικία ισούται yarp ακριβώς στη διεύθυνση URL εκεί για εμάς. POST είναι λίγο πιο μυστικοπαθής με το πέρασμα της πληροφορίας. Έτσι, αν δεν θέλετε ένα χρήστη να γνωρίζουν, για παράδειγμα, δεν ήθελε το όνομα χρήστη και τον κωδικό πρόσβασης του ατόμου συνδεδεμένοι τη δεδομένη στιγμή να εμφανίζεται σε η διεύθυνση URL, το οποίο είναι ένα λογικό πράγμα Δεν θέλουν στο URL, επειδή κάποιος μπορεί να το δει. Αν συνδεθεί κάποιος σε μια σελίδα, μπορείτε Δεν θέλω URL τους μεθυσμένος εκεί, γιατί αυτό θα επιτρέψει στους ανθρώπους να συνδεθείτε ακριβώς με την επικόλληση μιας διεύθυνσης URL, αντί πράγματι τη συμπλήρωση μιας φόρμας. POST είναι λίγο πιο μυστικοπαθείς. Και τα μόνα πράγματα που θα πρέπει να αλλάξετε είναι αυτή η μέθοδος, η αλλαγή από πάρει για να δημοσιεύετε. Και στη συνέχεια στο εσωτερικό του HTTP, αντί πρόσβασης στο _GET σειρά, θα πάμε για να αποκτήσετε πρόσβαση στο _POST πίνακα. Και θα παρατηρήσετε ότι, αν ανοίγουμε αυτό πίσω πάλι, Jason μειώνεται αργά σε ηλικία. Ονομα Jason, ηλικίας 14. Το ίδιο υλικό αναδύεται. Αλλά πάμε στην διεύθυνση URL και αυτές οι μεταβλητές δεν είναι εκεί. Και ο τρόπος που POST passes-- ώστε να θυμάστε πώς να δούμε την πηγή μιας σελίδας. Εμείς πάμε με το δίκτυο. Εμείς ανανεώσετε. Και αυτό είναι ένα άλλο πράγμα που POST θα σας δώσει τις προειδοποιήσεις σχετικά. Μπορεί να έχετε δει ένα κουτί, ένα κείμενο κουτί σαν αυτό στο πρόγραμμά σας περιήγησης. Είστε σίγουροι ότι θέλετε να στείλουν ένα έντυπο και πάλι; POST είναι τι είναι η αποστολή των εντύπων αυτών. Γιατί ουσιαστικά αν στείλατε σας στοιχεία της πιστωτικής κάρτας σε κάποιον, ότι δεν πρόκειται να εμφανιστούν στο URL. Αυτό πρόκειται να είναι μια αίτηση POST. Έτσι, όταν ανανεώσετε τη σελίδα, αυτό είναι το αίτημα εκ νέου αποστολή των υστέρων. Έτσι, τώρα θέλουμε να στείλουμε το αποτελούν και πάλι, επειδή δεν πρόκειται να δημιουργήσει όλες τις διπλές αγορές. Και θα παρατηρήσετε ότι εδώ κάτω, η μέθοδος που χρησιμοποιούμε είναι POST. Και πράγματι μεταφέρει bytes. Μεταβίβασε 401 από αυτούς. Προγράμματος αρκετά μικρό. Αλλά υπάρχει πουθενά ότι μπορούμε να δούμε οι αξίες που μεταβιβάζονται. Οι ιστοσελίδες μπορούν να δουν τους εαυτούς τους, αλλά εμείς ως χρήστες δεν μπορούν να δουν, εκτός αν είστε ένας hacker. Αν είστε καλός hacker, μπορείτε να δείτε. Εάν γνωρίζετε τη βασική μορφή του HTML, οι τιμές θα καταστήσει αναγγέλθηκαν στις σελίδες. Θα μπορέσετε να δείτε. Οι τιμές θα είναι εκεί, είναι λίγο λιγότερο προφανής για σας να έχουν πρόσβαση, βασικά. Μήπως έχουμε πια ερωτήσεις σχετικά με GET, POST before-- τι θα πάμε να κάνουμε το επόμενο είναι στην πραγματικότητα μια ματιά σε μερικά από τον κώδικα ότι δίνετε σε PSET 7, μιλάμε για πώς χρησιμοποιεί μερικές από αυτές τις έννοιες, και να μιλήσουν για το πράγματα που θα έχετε την ευκαιρία για να έχετε να κάνετε λίγο στην PSET 7. Οποιεσδήποτε άλλες ερωτήσεις πριν από αυτό; Περισσότερες ερωτήσεις εσείς έχετε; Εξαιρετική. Εντάξει, ας ρίξουμε μια ματιά λίγο στο PSET 7, Αναμφίβολα αυτό που είσαι όλα τα πιο ενθουσιασμένοι. Θέλω να πω, αυτό είναι κάτι που David περνά μέσα από ένα μικρό κομμάτι. Αλλά θα έχουμε τρεις καταλόγους κατά τη κορυφή, καθώς και ένα αρχείο διαμόρφωσης. Αυτό είναι για τις βάσεις δεδομένων, η οποία θα μιλήσουμε για περίπου πέντε λεπτά. Περιλαμβάνει, δεν θα χρειαστεί ποτέ για να δούμε σε αυτόν τον κατάλογο αν δεν θέλετε να, αλλά είναι ωραίο να Γνωρίζω ότι υπάρχουν όλα τα είδη των βοηθών. Βοηθοί είναι σαν χρήσιμες λειτουργίες. Και τότε έχουμε config, το οποίο θέτει κάποια πράγματα επάνω. Υπάρχουν ορισμένες λειτουργίες που έχει CS50 γράψει ότι είναι αρωγός και config. Και μερικά από τα PHP που εξέρχεται ήδη στα αρχεία θα κάνει ένα μεγάλο μέρος της πιο Ταξινόμηση αμβλείες δουλειά πόδι για σας. Όπως και αν πάμε στη δημόσια login.php, η οποία είναι ό, τι εμφανίζεται σωστά όταν πηγαίνετε σε PSET 7. Θα δούμε ότι υπάρχει αυτό απαιτείται δήλωση. Και αυτό το είδος του σαν ένα απότομη περιλαμβάνουν, hashtag περιλαμβάνουν, αν είστε από μια νεότερη γενιά. Αλλά αυτό βασικά λέει ότι θα πρέπει να έχουν πρόσβαση σε όλες τις λειτουργίες στο αρχείο config.php. Και θα μπορούσατε να έχετε ένα απαιτήσει για όλα τα είδη των άλλων. config απαιτεί στην πραγματικότητα βοηθοί. Έτσι, κάθε φορά που χρειάζεστε config, είστε επίσης συμπεριλαμβανομένων ή απαιτώντας βοηθούς, καθώς και. Έτσι ώστε να σας δίνει πρόσβαση σε όλα τα δροσερό λειτουργίες που πρόκειται να χρησιμοποιήσετε, πράγματα, όπως να καταστήσει. Είμαι πραγματικά πρόκειται να διευκολύνει αυτό κάτω λίγο. Έτσι, η λειτουργία τότε είμαστε Θα περπατήσετε μέσα λίγο πριν περάσουμε στην SQL λίγο bit είναι η λειτουργία login.php, απλά επειδή χρησιμοποιεί μερικά από τα θέματα ότι μόλις μίλησα στην PHP. Βλέπετε το πρώτο πράγμα είναι αν το $ _SERVER. Αυτό είναι μια άλλη παγκόσμια μεταβλητή που θα πάμε να ασχολούνται με. Είναι σαν _GET και _POST, αλλά τι διακομιστής περιέχει είναι αυτό μπορεί να σας αφήσει ξέρω αν η μέθοδος αίτηση Ήταν ένα GET ή μια θέση. Όπως και στο παρελθόν αυτό που κάναμε είναι ακριβώς κώδικά μας που γράψαμε, είχαμε ακριβώς την αλλαγή να είναι GET και POST ανάλογα με το ποια είναι η HTML έχει. Αλλά υπάρχουν σελίδες που μπορεί να είναι προσεγγιστεί με δύο τύπους αιτήσεων. Και ίσως να θέλετε να κάνετε διαφορετικά πράγματα ανάλογα για τον τύπο της αίτησης, ακριβώς όπως κάνει login. Έτσι, μπορείτε να ελέγξετε το αίτημα αυτό μέθοδος μέσω της πρόσβασης σε κλειδιά, μέσω της χρήσης ενός κλειδιού και να πάρει το αξία του κάτι στο λεξικό _ΥΠΗΡΈΤΗΣ. Έτσι, αυτό είναι μια άλλη παγκόσμια μεταβλητή, όπως _GET και _POST. Αν πάρουμε, θέλουμε να καθιστούν τη φόρμα σύνδεσης. Render είναι μια λειτουργία που βασικά απλά βάζει το κατάλληλο HTML και περνάει μερικές παραμέτρους. Ο τίτλος αυτός είναι μια παράμετρος που είναι που χρησιμοποιείται στην εμφάνιση, περιέργως, Ο τίτλος της σελίδας ερώτηση, το πράγμα εδώ, πω ένα γεια ή στο προηγούμενο παράδειγμα μας. Τώρα έχουμε ένα διαφορετικό πράγμα. Αλλιώς αν είναι POST, εμείς κάνετε κάποια άλλα πράγματα. Είμαστε χρησιμοποιώντας αυτή τη μέθοδο άδειο. Δεν είναι υπάρχουν, είναι άδειο. Και είδαμε πριν, PHP έχει ένα δίκαιο ποσό του δομημένου σε μεθόδους που ο David will-- εάν υπάρχει είναι μέθοδοι που είναι χρήσιμο να σας, θα ειδοποιηθούν για εσάς σε απόσταση μέσω αυτού του Δαβίδ δίνει στις αρχές επισκόπηση, καθώς επίσης και χρήσιμες κομμάτια Zamyla του. Είναι πίσω ο καθένας. Μπορούμε όλοι να χαίρονται. συγγνώμη είναι μια λειτουργία που εύστοχα ονομάστηκε ότι απλά τυπώνει ουσιαστικά έξω Ορισμένα μηνύματα λάθους, γιατί CS50 είναι πολύ ευγενικό. Και τώρα, αυτό, αυτό είναι ένα λίγο δύσκολο γιατί αυτό είναι όπου είμαστε επερώτηση στη βάση δεδομένων. Τώρα δεν έχουμε μιλήσει για τις βάσεις δεδομένων. Και θα πάμε να τον επόμενο πέντε λεπτά ή έτσι, μέγιστο. Αλλά αυτό είναι μια συνάρτηση ότι CS50 έχει γράψει για να πάρετε ένα τραπέζι ουσιαστικά από μια βάση δεδομένων ότι δουλεύουμε με το chipset σε 7. Είμαι πολύ άσχημα με μου μηδέν ευρετηρίαση σήμερα. Αλλά ναι, είναι 7. Έτσι, το ερώτημα πρόκειται να επιστρέψει ένα συστοιχία, βασικά είναι το κλειδί για λίγο. Και επειδή αυτά τα πράγματα δεν έχουν δακτυλογράφηση, οπότε γραμμές είναι μια σειρά από πίνακες. Γιατί όταν σκεφτόμαστε ένα τραπέζι, τι θα πάμε να κάνουμε είναι, όπως μάθατε στο psets όπως το παιχνίδι των 15, έτσι κι αλλιώς όπου θα έπρεπε να χρησιμοποιήσετε ένα διπλή σειρά, έχουμε ουσιαστικά έχουν σειρά άλλων συστοιχίες κάνει ένα τραπέζι. Και έχετε γραμμές και στήλες. Και στη συνέχεια, μπορείτε να έχετε πρόσβαση, όπως [0] [1], μπορείτε να πάρετε το [0] [1]. Βασικές τέτοια πράγματα. Οπότε τι κάνουμε εδώ σε αυτή τη λειτουργία, ζητάμε από τη βάση δεδομένων εάν ο χρήστης που είναι προσπαθείτε να συνδεθείτε, ότι θα είναι αποστέλλονται με τη μέθοδο POST. Θα δούμε παίρνουμε το όνομα χρήστη από _POST. Θα έχουν στείλει, ο χρήστης ή εσείς, θα στείλει την τιμή μέσω μιας μορφής μέσω του ταχυδρομείου, λόγω Είναι το όνομα χρήστη και τον κωδικό πρόσβασης πράγματα. Είμαστε ελέγχοντας το όνομα χρήστη για να δούμε, είναι αυτό στο τραπέζι; Διότι, αν ένας χρήστης συνδέεται στην, τότε το όνομα χρήστη θα πρέπει να αποθηκεύονται στον πίνακα Οι χρήστες που υπάρχουν για αυτόν τον ιστότοπο. Έτσι, βασικά, αν η χρήστης στη βάση δεδομένων, ερώτημα πρόκειται να επιστρέψει ότι σειρά, η οποία είναι ένας πίνακας. Αλλά το δύσκολο μέρος είναι ότι εάν έστω και αν η διπλή σειρά είναι μόνο μία γραμμή, ακόμα κι αν είναι ένα από μία σειρά array-- σαν να έχεις basically-- αν έχετε ένα μέγεθος μια συστοιχία αυτό είναι που έχουν άλλη σειρά, είστε πραγματικά ασχολούνται με μία στήλη. Αλλά είναι ακόμα θεραπεία σαν ένα διπλό πίνακα. Και αυτό είναι όπου μπορείτε να πάρετε μερικές φορές δύσκολο, γιατί έχουμε σειρές εδώ. Μεταβλητή μας είναι σειρές. Και τότε δημιουργούμε μια νέα μεταβλητή που ονομάζεται σειρά και τον καθορισμό ίσο με η πρώτη σειρά των σειρών. Και θα παρατηρήσετε αυτό το σχόλιο λέει ότι είναι η πρώτη και μοναδική σειρά. Έτσι, αυτό είναι το δύσκολο μέρος όπου τώρα λειτουργεί μπορεί να επιστρέψει συστοιχίες πολύ εύκολα. Δεν υπάρχει mallocs. Δεν θα δείτε mallocs. Έτσι, δεν θα δείτε SEG βλάβες. Αλλά λειτουργίες θα εξακολουθεί να διέρχεται γύρω από συστοιχίες και τα στοιχεία σε ομάδες. Και θα πρέπει να είναι επιφυλακτικοί για το τι λειτουργεί ακριβώς σας θα επιστρέψει. Και ακόμα κι αν είναι ένα στήλη σαν αυτό, το ερώτημα είναι ακόμη σε εξέλιξη για να επιστρέψει μια διπλή σειρά. Έτσι για να πρόσβασης που column-- ή να σας μπορώ να σκεφτώ όλα αυτά ως ανεστραμμένο δεδομένου ότι μιλάμε για σειρές. Αλλά για να έχουν πρόσβαση στη συγκεκριμένη μία γραμμή, μπορείτε όχι μόνο να πω σειρές. Ακόμα κι αν είναι μια σειρά, θα πρέπει να δεν rowsrows [0] για να εξαλείψει το είδος αυτό εξωτερικό κομμάτι του πίνακα και έχουν μόνο μία σειρά σας. Κάνετε κάποια άλλα πράγματα. Υπάρχει μια συνάρτηση που ονομάζεται password_verify επαληθεύει ότι η κωδικό πρόσβασης που δημοσιεύτηκε. Και τότε θα δούμε μια άλλη παγκόσμια μεταβλητή εδώ, _SESSION. Βασικά id συνόδου είναι το πώς μπορείτε να παρακολουθείτε του αν κάποιος είναι συνδεδεμένος ή όχι. Έτσι, τώρα με login.php, είμαστε μια καταγραφή χρήστη. Έτσι, αυτό που θέλουμε να κάνουμε είναι να θέλουμε να λένε ότι η id συνεδρία είναι ίση με τη γραμμή id, το οποίο ακριβώς νόημα, διότι Κάθε σειρά θα έχει ένα διαφορετικό id αριθμός ως μέρος του πίνακα. Θα μπούμε σε μια SQL δευτερόλεπτα, έτσι ώστε αν κάποιο από αυτό Φαίνεται λίγο σαν μπλα, τότε όλα θα πρέπει να ξεκαθαριστεί. Αλλά θα πάμε για να ρυθμίσετε το id ίσο με η σωστή πράγμα, αποσύνδεση του χρήστη στο. Συγνώμη αν κάτι πάει στραβά. Και αυτό είναι συνδέσεις σκοπό ζωή ως καθηγητής Malan θα έλεγα. Έτσι, αυτό ήταν login.php. Και ένα μεγάλο μέρος του κώδικα PHP που γράφετε σε PSET 7, θα είναι λίγο. Μην ξεχάσετε να chmod για να τα κατάλληλα δικαιώματα. Θα υπάρξει ένα μικρό κομμάτι για ότι στην αρχή της spec. Αλλά η PHP που είστε γραφής θα είναι να κάνει πράγματα που είναι παρόμοια με το συγκεκριμένο. Θα πάμε να την πρόσβαση σε κάποια πράγματα που δίνονται σε σας με το global μεταβλητές της PHP που ασχολούνται με την τρέχουσα συνδεδεμένος χρήστης, αν υπάρχει έχουν αιτήματα που αποστέλλονται σε αυτό σελίδα, διαφορετικά τα πράγματα όπως αυτό. Και θα είναι επίσης δυνητικά επανάληψη με σειρές από αυτό το πράγμα. Σε μια διαφορετική λειτουργία, το ερώτημα δεν επιστρέψει αυτό το διπλό πίνακα. Και αν υπάρχουν περισσότερες από μία σειρές σε αυτό, αν are-- εκεί ναι, αν υπάρχει είναι περισσότερες από μία σειρές σε αυτό, τότε θα είναι ένα τραπέζι. Και ίσως να θέλετε να μετακινηθείτε μέσα από τις γραμμές του πίνακα, χρησιμοποιώντας ο βρόχος foreach που περιγράψαμε. Έτσι, αν κάνετε foreach σε ένα διπλό σειρά, ποια θα είναι η word-- εδώ, Θα γράψω πραγματικά. Θα το γράψω εδώ γρήγορα. Αν έχουμε μια foreach σειρών ως σειρά, ποιο είναι το είδος της γραμμής; Ξέρει κανείς; Το έχεις? Έτσι σειρές είναι μια διπλή σειρά. Έτσι, αυτό που foreach πρόκειται να συμπεράνουμε ότι θέλουμε από αυτή τη διπλή σειρά αν είμαστε επανάληψη πάνω από αυτό; Μπορούμε βασικά να υποθέσουμε ότι πρόκειται να είναι είτε στοιχεία, ή σειρές, ή στήλες, βασικά. Και έτσι γραμμών και στηλών που μπορεί να θεραπεύσει ως το ίδιο πράγμα. Βασικά αυτό ο βρόχος foreach θα να κάνετε είναι να πρόκειται να επιστρέψει σειρές. σειρά πρόκειται να είναι της σειράς τύπου, ενώ σειρές είναι μια διπλή σειρά. Έτσι, αν έχετε δώσει foreach διπλή σειρά, είναι δεν πρόκειται να επαναλάβει περισσότερα από ένα επίπεδα βαθιά. Ποια είναι βασικά να πω, αν υπάρχει οκτώ κύτταρα σε αυτό table-- 1,2, 3 4, 5, 6, 7, ο 8-- βρόχο foreach δεν είναι πρόκειται να περάσουν από το καθένα από αυτά τα κύτταρα. Τι ο βρόχος foreach θα κάνω ήταν ότι θα περάσει από αυτή τη σειρά, να σας δώσω όλη αυτή την σειρά. Και τότε θα περάσουν από αυτή τη σειρά. Γι 'αυτό επαναλαμβάνει μόνο ένα επίπεδο βαθιά. Εάν προσθέσετε μια ένθετη βρόχου foreach, τότε μπορεί να θεραπεύσει κάθε σειρά επέστρεψε από σειρές, κάνετε σειρά foreach ως στοιχείο, ας πουμε. Και τότε θα μπορούσε να απηχούν το στοιχείο. Έτσι, αυτό είναι μια σύντομη λίγο επανεκπαίδευση σχετικά με το πώς μπορεί να χρησιμοποιείτε foreach θηλιές στο πλαίσιο του ερωτήματος. Υπάρχουν ερωτήσεις σχετικά με την PHP εκεί; Τίποτα από όλα αυτά πριν προχωρήσουμε σε μιλάμε για τον SQL και η διασκέδαση της βάσης δεδομένων; Αισθάνομαι καλά? Αισθάνομαι καλά. Εντάξει. Ας προχωρήσουμε προς τα πίσω PowerPoint, η οποία ίσως να χάσετε. SQL, yay. Οι άνθρωποι που είναι στο τμήμα μου τυπικά θα γνωρίζουν ότι στις διακρίσεις των ακρωνυμίων είναι πάντα μόνο οι πρώτες λέξεις Νομίζω ότι αυτού του αγώνα που algorithm-- ότι ακρωνύμιο. Δεν είναι ένας αλγόριθμος. Έτσι SQL είναι μια βάση δεδομένων. Είναι μια γλώσσα που συνεργάζεται με τις βάσεις δεδομένων. Και όλες οι βάσεις δεδομένων είναι είναι τραπέζια, τουλάχιστον με τον τρόπο ότι ο SQL τους εκπροσωπεί. Ένας άλλος τρόπος για να σκεφτεί για τις βάσεις δεδομένων είναι βάσεις δεδομένων είναι ένα σύνολο κλειδιών και τιμών βασικά. Μπορείτε να σκεφτείτε μια βάση δεδομένων ένα λεξικό, αλλά και ως ένα τραπέζι. Βασικά είναι ένας τρόπος για να συνδέσει διαφορετικών δεδομένων με άλλα δεδομένα, συχνά μέσα από γραμμές και στήλες. Και αυτός είναι ο τρόπος ότι είναι SQL λειτουργεί καλύτερα. Έτσι, αυτό είναι ένα παράδειγμα ενός πίνακα. Έχω μερικά παραδείγματα οι άνθρωποι στο τμήμα μου, η οποία Δεν είχα χρόνο για να αλλάξουν. Αλλά έχουμε πράγματα όπως αναγνώριση, όνομα, υπερδύναμη, και πατρίδα. Δεν ξέρω, όπου ο καθένας είναι από στο τμήμα μου, έτσι είμαι απλώς πρόκειται να αναλάβει ο καθένας είναι από τη Νέα Υόρκη Πόλη, διότι έχω μια υψηλή στατιστική πιθανότητα να είναι σωστή. SQL θα λάβουν αυτόματα φροντίδα της στήλης ταυτότητας για σας. Εάν εισαγάγετε μια νέα γραμμή σε μια βάση δεδομένων SQL, θα αυξήσετε ότι Αριθμό ταυτότητας και απλά βασικά κολλήσει σαν πέντε ονόματα, υπερδύναμη, πατρίδα, όποιος στο τέλος του εν λόγω πίνακα. Έτσι ID είναι μια στήλη που θα Ποτέ δεν πρέπει να ανησυχούν. Όμως, όπως και στην περίπτωση της login.php, όταν ήταν να πάρει το αναγνωριστικό περιόδου από έναν πίνακα και μόνο με το όνομα, ID είναι ένας τρόπος για να προσδιορίσει επακριβώς ένα στοιχείο βάσης δεδομένων. Έτσι, αν είχαμε δύο Sams, τόσο της που διδάσκονται CS50, και οι δύο που ήταν από Μιλγουόκι, εκείνοι θα εξακολουθούν να έχουν διακριτούς αριθμούς ταυτότητας και έτσι να είναι σε διακριτές το πλαίσιο του πίνακα. Έτσι, αυτό είναι ό, τι SQL ασχολείται με, σε συνεργασία με το πίσω άκρο. Τώρα αυτοί είναι οι τέσσερις εντολές ότι θα πρέπει να συνεργαστεί με τον SQL. Και εγώ όλα αυτά έριξε επάνω σε μία πλάκα. Αλλά θα πάμε για να περάσει όλα αυτά ξεχωριστά. Η πρώτη εντολή είναι να ενημερώσετε, το οποίο κάνει ό, τι μπορείτε να φανταστείτε. Ας πούμε ότι έχετε κάποια δεδομένα Ο πίνακας που είναι ξεπερασμένο. Όπως και αν είστε κρατώντας παρακολουθείτε τα ονόματα των ανθρώπων και ηλικιών, αν κάποιος είναι αυξάνεται η ηλικία, στη συνέχεια, θα πάμε να θέλουν να πάνε μέσα και ενημερώνει ηλικία μόλις αυτού του ατόμου. Για ένα παράδειγμα που λειτουργεί με την πρώτη μας table-- Δεν χρειάζεται να ανησυχείτε για το γράψιμο όλα αυτές οι εντολές ταυτόχρονα. Αλλά αν έχετε την ενημέρωση προς τα κάτω, ότι θα είναι καλό για αυτό το μέρος, επειδή θα πάμε να πηγαίνετε πίσω στο τραπέζι. Έτσι, αν πάμε πίσω στο τραπέζι, ας πούμε κάτι που συνέβη ήταν ότι υπήρχε ένας σεισμός ή ένα ρήγμα που χωρίζουν απ 'ευθείας μέσα από τη Νέα Υόρκη. Και θέλαμε να ενημερώσετε όλους που έζησε στη Νέα Υόρκη. Όλοι έπρεπε να κινηθούν προς Πενσυλβάνια. Αυτό δεν είναι μια πατρίδα. Είχαν όλοι να κινηθούν προς Νιου Χέιβεν. Εκεί πάμε. Έτσι, ο καθένας στη Νέα Υόρκη κινείται προς Νιου Χέιβεν. Και έτσι αυτό είναι κάτι που είναι επεξεργασία τρεις σειρές σε αυτόν τον πίνακα. Αλλά σε SQL, μπορείτε να κάνετε ότι σε μία μόνο δήλωση. Έτσι, πάμε πίσω για να ενημερώσετε. Επιτρέψτε μου να σβήσει γρήγορα και πάλι αυτόν τον πίνακα. Όταν μιλάμε για ενημέρωση, υπάρχουν μερικά τμήματα της σύνταξης που είναι το κλειδί. Λοιπόν, όλα της σύνταξης είναι το κλειδί. Αλλά τα πράγματα στο πράσινο είναι προαιρετική. Το λευκό είναι υποχρεωτικά, όπως προκαθορισμένα ονόματα. Και το γαλάζιο είναι τα πράγματα τα οποία ποικίλουν ανάλογα με τον πίνακα. Έτσι, αυτό είναι ό, τι συμβαίνει με το χρώμα σχεδίου εδώ, εκεί. Έτσι, αν θέλουμε να ενημερώσετε μόνο αυτά σειρές των ανθρώπων που ζουν στη Νέα Υόρκη, ναι, τι θα κάναμε αν είχαμε πει ΕΝΗΜΕΡΩΣΗ; Έτσι, ο πίνακας είναι όταν βάζουμε το όνομα του πίνακα μας. Ας πούμε το όνομα από το τραπέζι μας είναι ένα τραπέζι. Θέλουμε, λοιπόν, να ενημερώσετε τον πίνακα μία. Και θέλουμε να set-- Τι θέλουμε να οριστεί; Λοιπόν θέλουμε να πούμε, έτσι column-- PHP αντιμετωπίζει σειρές όπως μοναδικά αναγνωριστικά. Και τότε οι στήλες τα διαφορετικά πεδία από τα στοιχεία αυτά της βάσης δεδομένων. Έτσι, το πρώτο στοιχείο της βάσης δεδομένων έχει ένα όνομα του Σαμ, υπερδύναμη CS50, και πατρίδα του Μιλγουόκι. Έτσι, αν το εν λόγω σύνολο, ας δούμε οι παράμετροι και πάλι ότι η σειρά λαμβάνει. Έχουμε στήλη ισούται με την αξία. Γι 'αυτό θέλω να πω μερικά column-- που θυμάμαι είναι μια field-- θέλουμε να δούμε μια πεδίο ίσο με κάτι νέο. Έτσι, αν λέγαμε απλά την ενημέρωση πίνακα 1, που το όνομά της ίσης Elliot. Πάρτε μερικά άτομα από το νέα ενότητα στο θέμα αυτό. Αλλά αν απλά κάναμε την ενημέρωση πίνακα 1 που το όνομά της ίσης Elliot, τι θα το βλέμμα σαν πίνακας μετά από αυτό; Οι άνθρωποι έχουν την παραμικρή ιδέα; Ναι. Κοινό: Τα πάντα σε ότι σειρά θα γίνει Elliot. ΟΜΙΛΗΤΗΣ: Τα πάντα σε ποια σειρά; Κοινό: Στην πρώτη γραμμή. ΟΜΙΛΗΤΗΣ: Στην πρώτη γραμμή; Γιατί η πρώτη σειρά; Δεν εννοώ να πάρει πάνω σας. Κοινό: Ίσως τα πάντα σε όλο το τραπέζι; ΟΜΙΛΗΤΗΣ: Τα πάντα στο ολόκληρος ο πίνακας, ναι. Και αυτό είναι ακριβώς σωστό because-- μου Απλώς να σας βοηθήσει να μάθετε λίγο there-- γιατί παραλείπονται το προαιρετικό όρο WHERE. Αν δεν έχετε τον ΠΟΥ ρήτρα, τι αυτή η εντολή θα κάνει είναι ότι θα συνεργαστεί με κάθε ενιαία γραμμή του πίνακα. Το όνομα του καθενός θα γίνει Elliott, ουσιαστικά, η οποία Elliot είναι πολύ ευχαριστημένοι. Ή Γιάννη, ένα από τα δύο. Αλλά το όνομα του καθενός θα αλλάξει. Έτσι ο τρόπος που χρησιμοποιούμε Πού clause-- και αυτό ισχύει για όλες τις Wheres που βρίσκονται σε κάθε ένα από αυτά τα διαφορετικά πράγματα. Έτσι, θα παρατηρήσετε ότι ΣΕΤ Έχει στήλη ίσης αξίας. Και το ίδιο κάνει και πού. Αλλά αυτά είναι διαφορετικά τύπους των καταστάσεων. Έτσι, η στήλη ισούται με την αξία στο SET είναι στην αποστολή. Όπως λέμε θέλουμε για να ορίσετε το όνομα ίσο με Elliot. Αλλά στις ρήτρες, όπου, αυτά είναι δηλώσεις της ισότητας. Ας πούμε ότι θέλουμε μόνο να αλλάξετε το όνομα του ατόμου να Elliot αν το όνομά τους ήταν Ryan, ας πούμε. Έτσι όταν λέμε ΕΦΟΣΟΝ όνομα ισούται Ryan, ότι θα με επιτυχία μόνο αλλαγή η name-- θα ήταν μόνο αλλάξτε το όνομα του πεδίου σε σειρές όπου το πεδίο όνομα είναι ίσος με τον Ryan. Έτσι, αν είχαμε πολλά άτομα που ονομάζεται Ryan, όλα τα ονόματα τους θα αλλάξει σε Elliot. Αυτό είναι παρόμοιο με το παράδειγμα του αν μια διαχωριστική γραμμή χωρίζει Νέα Υόρκη και ο καθένας έχει να μετακινηθείτε στο New Haven, τον τρόπο μπορούμε το κάνουμε αυτό σε μια δήλωση είναι UPDATE Πίνακας 1 SET πατρίδα = Νιου Χέιβεν όπου γενέτειρά ισούται Νέα Υόρκη. Αυτή είναι η δύναμη της η δήλωση UPDATE. Μπορούμε να επιλέξετε οποιοδήποτε αριθμό των σειρές μέσω αληθείς δηλώσεις για τα πεδία αυτών των σειρών. Δεν μπορούμε να πούμε σύνολο ΕΝΗΜΕΡΩΣΗ table1 name = Elliot ΟΠΟΥ σειρά = 1, εκτός από το ότι μπορούμε αν πούμε ID = 1. Έτσι θα πάμε να είναι σε συνεργασία με την ισότητα τομέων, η ισότητα των στηλών. Αλλά χρησιμοποιώντας το πεδίο ID είναι ένας τρόπος για να επιλέξετε μεμονωμένες σειρές συγκεκριμένα, επειδή το πεδίο ID είναι ένας μοναδικός αναγνωριστικό σε μια βάση δεδομένων SQL. Έτσι, όπως και ενημέρωση σειράς ένα, ID ισούται με 1. Ενημέρωση σειρά δύο, απλά να αλλάξει τον εν λόγω αριθμό. Αλλά η δύναμη του Όταν μια δήλωση είναι ότι εμείς μπορεί να ενημερώσει τα πράγματα με βάση το τι τους τρέχουσες τιμές για ορισμένα πράγματα είναι. Ναι Elliot; Κοινό: Και τι γίνεται αν θέλετε to-- και πάλι, αυτό είναι ένα άλλο ζήτημα. Αλλά η πρώτη μου ερώτηση ήταν, όπου συμβαίνει αυτό; Όταν κάνω ενημέρωση αυτή; Είναι αυτό σε κώδικα PHP; ΟΜΙΛΗΤΗΣ: Πού μπορείτε να ενημερώσετε, ναι. Εμείς πάμε να μιλήσουμε σχετικά με το πού όλα αυτά συμβαίνει το είδος της μια φορά πάμε μέσα από όλες τις εντολές. Αλλά ό, τι χρειάζεστε για να γνωρίζουμε τώρα είναι βασικά ότι η βάση δεδομένων SQL σας υπάρχει ως κάτι να είναι προσβάσιμο από το ερώτημα λειτουργία, το οποίο ορίζει CS50. Έτσι, αν χρησιμοποιείτε τη λειτουργία αναζήτησης, μπορείτε να αποκτήσετε πρόσβαση σε αυτόν τον πίνακα. Έτσι θα πρέπει να στείλει αυτά εντολές στο τραπέζι σας σε αρχεία PHP μέσω της λειτουργίας ερώτημα. Μπορείτε επίσης να παίξετε γύρω με το τραπέζι σας άμεσα. Και αυτός είναι ο καλύτερος τρόπος για να δοκιμάσετε αυτά τα είδη των εντολών. Και θα περάσει μέσα από το πώς ακριβώς για να το κάνουμε αυτό σε μόλις ένα μικρό κομμάτι. Έτσι, αυτό είναι εντολή UPDATE. Και το υπόλοιπο των εντολών πρόκειται να είναι είδος παρόμοιο, εργάζονται σε παρόμοια πράγματα. Του ενθέτου εντός είναι πιθανώς η πιο διαφορετική από την ενημέρωση. Πάω να αφήσει ότι μέχρι εκεί για μόνο ένα μικρό κομμάτι και το έργο εδώ. Έτσι εισάγετε στο, θα δείτε Ο πίνακας αυτός, εξακολουθεί να είναι το ίδιο. Θέλετε να εισαγάγει. Η κεφαλαιοποίηση, SQL είναι διάκριση πεζών-κεφαλαίων. Έτσι, δεν χρειάζεται να αξιοποιήσει αυτά τα πράγματα. Κατά σύμβαση, οι λέξεις σε λευκό κεφαλαιοποιούνται. Αλλά επίσης το χρώμα τους κωδικοποιημένα. Ο μόνος λόγος που θα κεφαλαιοποιήσει εκείνοι όταν τους πληκτρολογείτε Είναι ακριβώς για να τονίσει ότι αυτά είναι σταθερές. Και έτσι μπορείτε είτε να δείτε η κεφαλαιοποίηση ή το γεγονός ότι τους έχω διαφορετικό χρώμα. Έτσι έχουμε εισάγετε στο, ας κάνουμε ξανά πίνακα 1. Αυτό είναι όλα σε μια γραμμή. Είμαι απλά χωρίζει από οι διαφορετικές καταστάσεις. Έτσι, δεν χρειάζεται να ανησυχείτε για το γεγονός ότι table1 δεν έκανε σε δεύτερη γραμμή. Έτσι θέλουμε να εισάγετε ΣΕ Table1 κάποιες αξίες. Και θα παρατηρήσετε την προαιρετική bit, το οποίο θα πάρω σε ένα δευτερόλεπτο. Έτσι έχουμε ΤΙΜΕΣ. Ας πούμε ότι θέλουμε να προσθέσουμε Andi στο τραπέζι μας, γιατί μας λείπουν Andi. Andi είναι άρρωστος. Ας Andi προσθέσουμε στο τραπέζι μας. Να θυμάστε ότι ο αριθμός ταυτότητας ενημερώνεται αυτόματα. Έτσι, τα μόνα πεδία που χρειάζεται να ανησυχείτε για είναι το όνομα, υπερδύναμη, και πατρίδα. Και έτσι ο τρόπος που το κάνουμε αυτό, κοιτάζοντας σύνταξη μας, είναι έχουμε μόλις πήρε μια παρένθεση, με κόμμα τιμών διαχωρισμένων, καθένα από τα οποία είναι μια τιμή. Έτσι, αν θέλαμε να εισάγετε Andi σε μας τραπέζι, το μόνο που έχουμε να κάνουμε είναι σωστό Andi. Ποια είναι η υπερδύναμη του Andi, οι άνθρωποι στο τμήμα του Andi; Εκείνη ήθελε πτήση, ή επιθυμείτε ταχύτητας, ή κάτι τέτοιο. Τι έχουμε ήδη εκεί πάνω; Έχουμε CS50, πτήση, ταχύτητα και δύναμη. Κοινό: Ταξίδι στο χρόνο. ΟΜΙΛΗΤΗΣ: Ταξίδι στο χρόνο, καταπληκτικά. Έτσι έχουμε Andi, χρόνος ταξίδια, και γενέτειρά της. Αυτή είναι μια πολύ καλή ερώτηση. Νέα Υόρκη, εκτός αν κάποιος ξέρει. Ο καθένας από τη Νέα Υόρκη είναι η μάθημα για να πάρει μακριά από σήμερα. Έτσι, αυτή η δήλωση θα εισάγετε, ως πέμπτη σειρά, με χρόνο ταξιδιού υπερδύναμη και μια πατρίδα της Νέας Υόρκης. Αλλά το προαιρετικό πεδίο είναι ουσιαστικά ένας τρόπος για να καθορίσετε ακριβώς ποιες στήλες θέλετε να τοποθετήσετε τα πράγματα σε. Ο τρόπος που το κάνουμε τώρα, Andi, το ταξίδι στο χρόνο, στη Νέα Υόρκη, κινείται προς την ακριβή σειρά της μας table-- όνομα, υπερδύναμη, πατρίδα. Και αν θέλετε να κάνετε κάτι άλλο από εκείνο, όπως λένε δεν ξέρατε υπερδύναμη κάποιου, όπως το πώς δεν ήξερα Andi του υπερδύναμη στην αρχή. Έτσι, το μόνο που ήξερα ήταν της το όνομα και την ιδιαίτερη πατρίδα της. Τι θα μπορούσα να κάνω είναι θα μπορούσα do-- Θα διαγράψετε αυτό το γρήγορο. Θέλω να ενημερώσετε μόνο τις στήλες. Και αυτό είναι όπου η προαιρετική κατάλογος στήλη μπαίνει στο παιχνίδι. Το μόνο που θέλω να ενημερώσετε το όνομα και την πατρίδα. Και τότε θα πω ΤΙΜΕΣ. Θα κάνω Andi και Νέα Υόρκη. Αν είχα παραλείψει τον κατάλογο των στηλών και μόλις κάνει αυτά τα δύο πράγματα, όπου θα Νέα Υόρκη έχουν πάει; Ποια στήλη θα Νέα Υόρκη Πόλη έχουν τοποθετηθεί μέσα; Οι άνθρωποι έχουν την παραμικρή ιδέα; Υπερδύναμη, ακριβώς. Έτσι, αυτό θα πάει μόνο στην τάξη. Και τη στιγμή που θα φτάσει στο τέλος της λίστα, αυτό θα σταματήσει ακριβώς συμπληρώνοντας τα πράγματα μέσα. Και οι αξίες που θα κολλήσει στο όλες οι στήλες θα είναι μόνο άκυρη. Έτσι, επειδή προσδιορίζονται το όνομα και την ιδιαίτερη πατρίδα, θα πάμε να έχουν αναγνωριστικό 5, Ονομα Andi, υπερδύναμη NULL. Έτσι, είναι μια υπερδύναμη έχει προετοιμαστεί αξία. Δεν θα πάρετε απαραιτήτως η ίδια σφάλματα Valgrind αν προσπαθήσετε και πρόσβαση σε αυτό. Όλα θα είναι ωραία μηδενίζεται έξω, διότι είναι μια NULL τιμή σε SQL. Αυτή είναι μια σταθερά. Και τότε θα είναι πατρίδα της Νέας Υόρκης. Έτσι, αυτό είναι το Insert Into εντολή. Προτού προχωρήσουμε, υπάρχει δύο εντολές. Υπάρχουν άτομα που έχουν απορίες σχετικά με ΕΝΗΜΕΡΩΣΗ, περίπου εισάγετε σε, περίπου SQL γενικά πριν προχωρήσουμε σε τελική κομμάτια μας; Οι άνθρωποι αισθάνονται καλά, μεγάλη. Το λατρεύω. Ας μιλήσουμε για το SELECT. Πηγαίνοντας χαντάκι ΕΝΗΜΕΡΩΣΗ εδώ. Και επιλέξτε πρόκειται να είναι πολύ παρόμοια. Ο στόχος της SELECT, Σκοπός SELECT στη ζωή είναι να σας δώσει μια δέσμη των στηλών ότι πληρούν ορισμένες προϋποθέσεις. Και όταν λέω να πληρούν ορισμένες προϋποθέσεις, το μυαλό σας θα μπορούσε αμέσως επιστρέψω σε αυτό WHERE, ότι ήρθε στην ενημέρωση. Και η ρήτρα αυτή είναι ακριβώς εκεί SELECT. Αν δεν βάλετε την ΠΟΥ ρήτρας και λέμε επιλέξτε το όνομα, hometown-- γράφονται ότι λίγη wrong-- όνομα, από την πατρίδα πίνακα 1. Αν απλώς να πω ότι, ό, τι SELECT πρόκειται να μας δώσει είναι ότι είναι θα μας δώσει μια double-- έναν πίνακα, μάλλον. Μια διπλή σειρά, αν είμαστε σκεφτόμαστε σε PHP αισθήσεις. Αλλά είναι ακριβώς πρόκειται να μας δώσει μια διπλή σειρά των δύο columns-- όνομα, και την ιδιαίτερη πατρίδα. Και θα αγνοήσει ID. Και θα αγνοήσει υπερδύναμη. Και αυτό ακριβώς θα μας δώσει κάθε ενιαία γραμμή του εν λόγω πίνακα. Έτσι, αν εμείς απλά εισάγεται Andi, θα έχουμε Andi. Και θα έχουμε την αρχική τέσσερις. Αν έχουμε ήδη ενημερωθεί, ότι θα να αντικατοπτρίζεται, κ.λπ., και τα λοιπά. Έτσι, αυτό είναι επειδή εμείς δεν χρησιμοποίησε την πρόταση WHERE. Αλλά μπορούμε να το χρησιμοποιήσουμε ακριβώς την ίδιο τρόπο που το χρησιμοποιούσαν στην ενημέρωση. Αν θέλουμε μόνο έναν πίνακα με τα ονόματα και υπερδυνάμεις των ανθρώπων που ζουν στη Νέα Υόρκη, μπορούμε να εκτελέσουμε μια δήλωση όπως επιλέξτε το όνομα, superpower-- Είμαι ακριβώς πρόκειται να αφήσει that-- ΑΠΟ table1 ΠΟΥ πατρίδα = Νέα Υόρκη. Έτσι, αυτό πηγαίνει να δείξει ότι μπορείτε να πάρει εντελώς διαφορετικές στήλες, και στη συνέχεια να θέσει τις στήλες που δεν είστε ακόμη και να πάρει πίσω στην πρόταση WHERE. Εμείς δεν θέλουμε καν η πατρίδα του καθενός. Αλλά θέλουμε το όνομα και η υπερδύναμη των ανθρώπων των οποίων η πατρίδα είναι η Νέα Υόρκη. Έτσι, αυτό είναι κάτι που μπορεί να κάνει με την ΠΟΥ ρήτρα μπορούμε να αντιμετωπίσουμε με στήλες ότι δεν θέλουν απαραιτήτως πίσω. Με τον ίδιο τρόπο στην ενημέρωση, μπορούμε να αντιμετωπίσουμε με στήλες που δεν το κάνουμε αναγκαστικά θέλετε να ενημερώσετε. Μπορούμε να ενημερώσει την πόλη του καθενός που το όνομα είναι Σαμ, για παράδειγμα. Μπορούμε να ενημερώσει την πόλη της ο καθένας των οποίων το αναγνωριστικό αριθμό είναι 2. Έτσι απλά να ενημερώσετε το πόλη της δεύτερης σειράς όπου δεν έχουμε να ασχοληθεί με αναγκαία η κοινή ερώτηση. Και Διαγραφή είναι, όπως θα Αναμένουμε, ΔΙΑΓΡΑΦΗ ΑΠΟ πίνακα 1. Και τότε έχουμε μια άλλη πρόταση WHERE. Έτσι μπορούμε να πούμε ΟΠΟΥ ID = 1. Διαγράψτε την πρώτη σειρά. Και DELETE διαγράφει πάντα μια γραμμή, ή θα διαγράψει κάποιο αριθμό των γραμμών. Διαγραφή από το τραπέζι, όπου = πόλη Νέα Υόρκη θα διαγράψει ο καθένας στην πόλη της Νέας Υόρκης. Αυτό είναι αν υπήρχε ένα ξαφνική τραγική πανούκλα και απλά ήθελε να αφαιρέσει ο καθένας από τον πίνακα που έζησε σε μια συγκεκριμένη πόλη ότι χτυπήθηκε από την πανούκλα. Είθε να αναπαυθούν εν ειρήνη. Αυτές είναι οι τέσσερις εντολές SQL ότι θα πρέπει να χρησιμοποιήσετε. Μπορεί να μην χρειάζεται καν να τα χρησιμοποιήσετε όλα. Αλλά αυτά είναι τα τέσσερα ότι CS50 σας περιμένει να αισθάνονται άνετα με πηγαίνει σε τόσο κουίζ 1 και επίσης pset7 και pset8. Υπάρχει μόνο ο εν λόγω πίνακας και πάλι. Σε αυτό το ένα, υπερδύναμη του Roy έχει έχουν ενημερωθεί σε ακτίνες λέιζερ, η οποία είναι ένα παράδειγμα δεν είχα χρησιμοποιήσει. Δεν ξέρω ποιο από τα Roy προτιμά, αλλά δύναμη. Roy έχει μια υπερδύναμη της δύναμης. Katherine δεν το κάνει σήμερα. Αυτό είναι ατυχές. Αλλά έχει σούπερ ταχύτητα. Λοιπόν αυτό ήταν PHP. Πριν μιλήσουμε για το MVC, κάνει κάποιος που έχει ερωτήσεις για την PHP; Τώρα SQL, PHP ή αν έχετε ξαφνικά καταλήξουμε σε μια ερώτηση για την PHP; Εξαιρετική. Εντάξει, είμαστε έτοιμοι στη συνέχεια. Έτσι, μιλώντας λίγο περίπου ελεγκτές άποψη μοντέλο, ας πάμε πίσω σε μερικά από τα πράγματα σε pset7. Έτσι, ποια είναι η άποψη μοντέλο ελεγκτής is-- Δεν είμαι πρόκειται να αποθηκεύσετε τις αλλαγές μου για να συνδεθείτε γιατί μου σφαγιάστηκαν εντελώς. Αλλά βασικά έχουμε δύο ξεχωριστά πράγματα συμβαίνουν. Έχουμε μια δημόσια κατάλογο ο οποίος περιέχει ο κώδικας που πρόκειται να εκτελεστεί και οι ιστοσελίδες που θα επισκεφθεί. Και έχουμε επίσης αυτόν τον κατάλογο απόψεις. Και θέα περιέχει πρότυπα. Αυτό είναι ό, τι η λειτουργία render-- είδαμε το καθιστούν λειτουργία σε μια δέσμη των κώδικα PHP CS50 ότι έχει ήδη γράψει για σένα, που παίρνει σε ορισμένες παραμέτρους. Τι ότι ο κώδικας κάνει είναι αυτό που συμβαίνει σε απόψεις, που είναι σύνολα όπως prewritten κώδικα HTML, και αυτό είναι εισάγοντας τιμές σε ορισμένα σημεία. Αυτό είναι το πώς, όταν μπω σε CS50 Οικονομικών, η ίδια κεφαλίδα είναι σε κάθε σελίδα. Το ίδιο υποσέλιδο σε κάθε σελίδα. Αυτό συμβαίνει επειδή ο τρόπος που την καθιστούν τα έργα είναι ότι θα επιδιορθώσει αυτόματα σε αυτό το κεφαλίδα και θεατών, το οποίο μπορείτε να βρείτε στη θέα. Μπορούμε πραγματικά να πάει σε κεφαλίδα, και Κοίτα, είναι ένα αρχείο HTML με ένα κεφάλι. Έχει μερικές stylesheets. Δεν χρειάζεται να κοιτάξουμε CSS για pset7 εάν δεν θέλετε να. Αλλά μπορείτε να τροποποιήσετε τους, αν θέλετε, να Οικονομικών σας φαίνονται λίγο διαφορετικά. Είναι πήρε κάποια PHP σε η κεφαλίδα λίγο για να δούμε αν υπάρχει ένα διαφορετικό τίτλο θα πρέπει να τεθεί σε αυτήν την επικεφαλίδα. Αλλά μόλις μερικά άλλα σενάρια, και τις συνδέσεις, και άλλα πράγματα. Επικεφαλής τελειώνει, ξεκινά το σώμα, και ουπς, έχουμε αυτό το παράξενο μικρό τελικό κομμάτι. Και υπάρχει ένα div, όπως ακριβώς ένα άμορφο είδος του στοιχείου ότι έχει μια ιδέα της μέσης. Και στη συνέχεια, όταν βλέπουμε υποσέλιδο, έχουμε το τέλος μιας div. Έχουμε ένα πυθμένα, η οποία είναι όπου το κείμενο του υποσέλιδου είναι. Τέλος του div, άκρο του σώματος, τέλος της HTML. Έτσι τι είναι να καταστήσει κάνουν είναι να καταστήσει είναι είδος της μπαλώματα κεφαλίδα, ένα διαφορετικό αρχείο PHP που θα περιέχει τα πραγματικά πράγματα ότι θα δείτε, όπως το τραπέζι σας των αποθεμάτων εάν αγοράζετε ή πώληση μετοχών. Και τότε θα προσθέσουμε στο υποσέλιδο. Και η θέα μοντέλο ιδέα ελεγκτή είναι ότι εμείς θέλετε να διαχωρίσετε τον τρόπο τα πράγματα φαίνονται από τον κώδικα. Είναι θέλουμε να διαχωριστεί το frontend και το backend, όπου το frontend είναι τα πράγματα που βλέπει ο χρήστης, το ωραίο visuals-- HTML, CSS, τα πράγματα όπως ότι, εικόνες, κλπ. Και το backend είναι η PHP. Αυτός είναι ο κωδικός που γράφετε. Αυτό είναι όπου ο κώδικας που είναι κάνει πραγματικές λειτουργίες. Αυτό είναι όταν προσθέτετε ένα απόθεμα στο τραπέζι σας, όταν αγοράζετε και πώληση, αυτό είναι backend. Και μπορούμε, όπως είδατε, συμπεριλαμβανομένων PHP απευθείας σε μορφή HTML. Λοιπόν, τι θα μπορούσαμε να κάνουμε για Η ανάθεση αυτή είναι απλά έπρεπε ένα αρχείο HTML για κάθε σελίδα, όπως το login. Και τότε σε αυτή τη σελίδα, απλά είχε μια τεράστια μπλοκ του κώδικα PHP, συμπεριλαμβανομένων όλων των κώδικα προκύπτει ότι αυτή η σελίδα θα πρέπει συγκεκριμένα. Και τότε θα μπορούσαμε να έχουμε κάνει αυτό για το χαρτοφυλάκιο. Θα μπορούσαμε να έχουμε κάνει όλα τα αγορών και την πώληση εντός των επιμέρους σελίδες. Αλλά επειδή είμαστε καθιστώντας ξεχωριστά από όπου γράφουμε το backend κωδικό, μπορούμε εύκολα να αλλάξετε τον τρόπο φαίνονται τα πράγματα, χωρίς να αλλάζει κάθε ενιαίο αρχείο. Εμείς κάνουμε τα πράγματα όπως ακριβώς προσθέστε μια νέα div προς τον πυθμένα of-- Γεια σας, τροποποίησε το υποσέλιδο. Μπορείτε να το κάνετε απλά πράγματα όπως αυτό. Αλλά, επίσης, μπορείτε να αλλάξετε ολόκληρη η οπτική διάταξη χωρίς να επηρεάζει το τι είναι πηγαίνει στο backend. Και μπορείτε να αλλάξετε το ολόκληρο το backend και εξακολουθεί έχουν φανεί ακριβώς όπως έκανε πριν. Αυτό Είναι η ιδέα του μοντέλου προβολή ελεγκτή. Και είναι πραγματικά ένα παράδειγμα που επιβλήθηκαν σε ορισμένες από τις γλώσσες προγραμματισμού ίσως να θέλετε να χρησιμοποιήσετε για την τελική έργων. Αν το κάνετε iOS ανάπτυξη, Έχουν θέα, το οποίο είναι αυτό που βλέπετε για το iPhone, και τότε το σύστημα υποστήριξης όπως σαν ένα ξεχωριστό πράγμα. Μπορείτε να σκεφτείτε για λίγο. Υπάρχουν πολλά εκτελέσιμα επιστήμη των υπολογιστών, το οποίο είναι αστείο, γιατί τα πάντα είναι σε δυαδική. Εγώ δεν το σχέδιο αυτό. Αυτό ήταν ένα λογοπαίγνιο ακούσια. Ναι, λογοπαίγνιο δεν προορίζονται. Αλλά όπως .h αρχεία και τα αρχεία .c, υπάρχει πολλά διαχωρισμού πράγματα που εμείς να μην χρειαστεί. Έτσι μπορούμε να επεξεργαστείτε μόνο τα αρχεία ώρες, ή κάποιος μπορεί να δει μόνο ένα .h αρχείο και να ξέρετε ακριβώς οι λειτουργίες που βρίσκονται στο .c αρχείο χωρίς απαραίτητα να γνωρίζει εφαρμογή τους. Αυτή η ιδέα του διαχωρισμού συστατικών που εξαρτώνται από το άλλο αλλά μπορεί είδους πρόσβαση σε κάθε άλλο μέσω διαφόρων διαύλων, περνώντας των μεταβλητών, μόλις περιλαμβάνουν δηλώσεις, τα πράγματα έτσι, η αρχή αυτή συμβάλλει στη δημιουργία εφαρμογών ότι μπορεί να είναι πιο εύκολα επεξεργασία από πολλά άτομα, μπορεί να αλλάξει πιο εύκολα ή αλλαγές σε μεγάλη κλίμακα, και είναι ευκολότερο να τον εντοπισμό σφαλμάτων σε πολλούς τρόπους. Πραγματικά γρήγορη, έχω μερικές συμβουλές για pset7, που θα κάνω πλήρη οθόνη, έτσι ώστε να μην απλά κοιτάζοντας the-- Tippee άκρη άκρη. Δεν υπάρχουν ότι πολλές συμβουλές. Αλλά ανέφερα PHP είναι δύσκολο για τον εντοπισμό σφαλμάτων. Διπλά και τριπλά ελέγξτε. Αν ο κωδικός σας δεν είναι μόνο εμφανίζονται στη σελίδα, είναι πιθανώς ένα σφάλμα PHP, συγγνώμη. Δεν θα χρειαστεί ποτέ να δούμε CSS, αν δεν θέλετε να. Αλλά μόλις τελειώσετε, μπορεί να είναι ένα ωραίο μικρό πράγμα διασκέδασης που πήγαινε και το χάος με τις παραμέτρους CSS. CSS και HTML είναι ένα παράδειγμα ενός μοντέλου στυλ άποψη ελεγκτή πράγμα πάρα πολύ, έτσι δεν είναι; Θα μπορούσατε να έχετε ετικέτες στυλ στο εσωτερικό των στοιχείων HTML. Αλλά αν το είδος του εξωτερική ανάθεση τους σε CSS, που είναι ευκολότερο να επεξεργαστείτε, και το παιχνίδι γύρω με, και να διασκεδάσουν με. Αντιμετωπίστε CS50 βοηθός λειτουργεί ως μαύρα κουτιά. Δεν χρειάζεται να γνωρίζετε ακριβώς ό, τι εργασίας καθιστούν την κάνει, αλλά εμπιστεύεστε να κάνει πάντα το σωστό πράγμα ανάλογα με το τι μπορείτε να δώσετε, τα πράγματα όπως αυτό. Και θα ήθελα να συστήσω βλέποντας περιδιάβαση του Δαβίδ, να περάσει από όλα τα πράγματα, όχι μόνο τα todos, αλλά πραγματικά μπορεί να θεραπεύσει αυτά ως μαύρα κουτιά. Μην πηγαίνετε σε αυτά λειτουργίες ψάχνει για σφάλματα. Και χαιρετίζουμε την επιστροφή των άρχοντας μας Zamyla. Εξαιρετική. Υπάρχουν τελευταία ερωτήματα πριν την εκεί Είμαστε είδος αναπήδηση για την ημέρα; Εξακολουθώ να ζω; Εξαιρετική. Γεια Livestream ανθρώπους. Εξαιρετική. Υπάρχουν πια ερωτήσεις; Κανένα? Και τότε νομίζω ότι είμαστε καλό να πάει για σήμερα. Θα μείνω λίγο αργότερα, αν οι άνθρωποι είχαν ερωτήσεις φοβήθηκαν να ρωτήσω σχετικά με το ρεύμα. Αλλά κατά τα άλλα, έχουμε μια καλή μέρα.