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