1 00:00:00,000 --> 00:00:05,720 2 00:00:05,720 --> 00:00:07,620 >> DOUG LLOYD: Così nel nostro video su sintassi di PHP, 3 00:00:07,620 --> 00:00:10,480 abbiamo parlato molto di come PHP può essere utilizzato nella linea di comando 4 00:00:10,480 --> 00:00:13,620 per eseguire programmi in modo che siamo abbastanza familiarità con da C. 5 00:00:13,620 --> 00:00:15,370 Ma, come Ho anche detto in quel video, PHP 6 00:00:15,370 --> 00:00:19,572 è stato inizialmente sviluppato per attuare una programmazione web, siti web. 7 00:00:19,572 --> 00:00:21,780 E così in questo video siamo andando a parlare di come noi 8 00:00:21,780 --> 00:00:23,890 utilizzare PHP nel contesto di sviluppo web. 9 00:00:23,890 --> 00:00:26,360 >> Sappiamo già, da il nostro video su HTML, 10 00:00:26,360 --> 00:00:29,820 che i siti web sono costruiti da una serie di tag HTML 11 00:00:29,820 --> 00:00:32,850 che definiscono semanticamente la struttura di una pagina web. 12 00:00:32,850 --> 00:00:35,910 Ma i siti web che sono costruito con HTML puro 13 00:00:35,910 --> 00:00:39,510 soffrono di una molto, limitazione molto grave. 14 00:00:39,510 --> 00:00:42,690 >> E per illustrare questa limitazione, prendiamo in considerazione quanto segue. 15 00:00:42,690 --> 00:00:45,665 Così ora voglio costruire una pagina web che, ogni volta che l'utente lo visita, 16 00:00:45,665 --> 00:00:49,760 mi dà la corrente ora a Cambridge, Mass., 17 00:00:49,760 --> 00:00:52,620 visualizzarlo all'ultimo minuto. 18 00:00:52,620 --> 00:00:57,910 Se stavo facendo questo proprio ora, Potrei dire qualcosa di simile. 19 00:00:57,910 --> 00:01:01,330 Ora attuale in Cambridge-- così ho Tag HTML, tag head, tag title, 20 00:01:01,330 --> 00:01:04,610 corpo tags-- la corrente tempo a Cambridge è 14:08, 21 00:01:04,610 --> 00:01:06,690 tempo militare stampare. 22 00:01:06,690 --> 00:01:11,390 >> Che cosa succede se ora è 02:09, 14:09? 23 00:01:11,390 --> 00:01:16,470 Bene finora, con HTML, ho per andare in e modificarlo in 14:09. 24 00:01:16,470 --> 00:01:19,390 E poi un minuto dopo, Devo cambiare di nuovo. 25 00:01:19,390 --> 00:01:22,132 E poi un minuto dopo, Devo cambiare di nuovo. 26 00:01:22,132 --> 00:01:24,590 E come si può immaginare, questo è probabilmente il lavoro peggiore mai. 27 00:01:24,590 --> 00:01:29,420 Tu sei il webmaster per una pagina web, e ogni minuto, 24 ore al giorno, 28 00:01:29,420 --> 00:01:35,970 è necessario aggiornare l'ora corrente apertura manuale time.html e cambiando 29 00:01:35,970 --> 00:01:41,750 solo che frammento di codice per non dire ora corrente in ore e minuti. 30 00:01:41,750 --> 00:01:45,850 Che probabilmente non è molto buon uso delle nostre risorse, 31 00:01:45,850 --> 00:01:48,880 sia umane che computazionale. 32 00:01:48,880 --> 00:01:51,297 >> I siti web che sono tutti HTML sono completamente statici. 33 00:01:51,297 --> 00:01:53,630 L'unico modo è possibile aggiornare contenuti, come abbiamo appena visto, 34 00:01:53,630 --> 00:01:56,339 è quello di aprire manualmente quelli fonte file, modificarli e salvarli. 35 00:01:56,339 --> 00:01:58,088 E poi, quando l'utente aggiorna la pagina 36 00:01:58,088 --> 00:02:01,080 o visita la pagina per la prima tempo, che otterranno il contenuto più recente. 37 00:02:01,080 --> 00:02:03,970 Ma solo perché abbiamo modificato manualmente. 38 00:02:03,970 --> 00:02:07,980 >> Se cominciamo a mescolare PHP in là, il nostro codice può ottenere molto più flessibile. 39 00:02:07,980 --> 00:02:11,940 E possiamo avere un modo per le nostre pagine di essere dinamico, o aggiornare se stessi, 40 00:02:11,940 --> 00:02:15,360 senza richiedere il nostro povero webmaster nell'esempio precedente 41 00:02:15,360 --> 00:02:16,662 per essere manualmente l'aggiornamento le cose. 42 00:02:16,662 --> 00:02:17,870 Possono farlo automaticamente. 43 00:02:17,870 --> 00:02:19,130 Noi non dobbiamo intervenire. 44 00:02:19,130 --> 00:02:20,410 Siamo in grado di dormire un po '. 45 00:02:20,410 --> 00:02:24,850 Che è probabilmente una buona cosa se si sta facendo un sacco di programmazione web. 46 00:02:24,850 --> 00:02:28,360 >> Quindi, in CS50 IDE, corriamo un web server chiamato Apache. 47 00:02:28,360 --> 00:02:35,250 E 'molto comunemente usato, aperto sistema web server di origine. 48 00:02:35,250 --> 00:02:37,320 Questo sistema ha il capacità di interpretare 49 00:02:37,320 --> 00:02:41,260 PHP, che sta per essere utile se si vuole fare alcuna programmazione PHP. 50 00:02:41,260 --> 00:02:45,230 >> E in CS50 IDE, abbiamo un comando per rendere questo molto facile da fare, 51 00:02:45,230 --> 00:02:47,280 apache50 iniziare. 52 00:02:47,280 --> 00:02:49,445 E poi quel barra percorso, tagliare a, slash 53 00:02:49,445 --> 00:02:53,350 dir, che è solo un modo davvero comune indicando ciò che hai specificato qui 54 00:02:53,350 --> 00:02:56,510 è un percorso di un particolare directory che 55 00:02:56,510 --> 00:03:00,800 vuole essere la radice sito, o la pagina principale, 56 00:03:00,800 --> 00:03:05,430 o la cartella da cui il server web inizierà a esaminare i file e servire 57 00:03:05,430 --> 00:03:07,850 li fino a clienti che ne facciano richiesta. 58 00:03:07,850 --> 00:03:12,110 Quindi cerchiamo di pop verso CS50 IDE, solo per mostrare, molto veloce, come funziona. 59 00:03:12,110 --> 00:03:30,930 60 00:03:30,930 --> 00:03:36,240 >> Così qui in CS50 IDE, io sono in un directory chiamata Settimana Zero Nove. 61 00:03:36,240 --> 00:03:38,890 E devo two-- ho eseguito un comando LS solo 62 00:03:38,890 --> 00:03:41,910 sopra per dimostrare che non ho due directory in qui, PHP, 63 00:03:41,910 --> 00:03:46,410 che è l'insieme di file che ho usato in la sintassi di video di PHP, e poi PHP-web, 64 00:03:46,410 --> 00:03:49,380 che è l'insieme di file che vorrebbe usare in questo video. 65 00:03:49,380 --> 00:03:53,480 >> E vorrei iniziare un'istanza del server web 66 00:03:53,480 --> 00:03:59,089 con il contenuto della cartella PHP-web come i file vengono serviti. 67 00:03:59,089 --> 00:04:00,130 Così che cosa sto andando a fare? 68 00:04:00,130 --> 00:04:05,710 Ho intenzione di scrivere apache50 spazio avviare, spazio PHP, trattino web. 69 00:04:05,710 --> 00:04:08,100 Questo è il percorso della directory da dove attualmente sono. 70 00:04:08,100 --> 00:04:09,127 Poi mi ha colpito Invio. 71 00:04:09,127 --> 00:04:10,960 Sta andando a fare un po 'di roba qui. 72 00:04:10,960 --> 00:04:14,030 E poi sta per dire, Apache avviato correttamente. 73 00:04:14,030 --> 00:04:20,689 Il tuo sito è ora disponibile e at-- poi c'è l'URL del sito. 74 00:04:20,689 --> 00:04:21,730 Così che cosa sto andando a fare? 75 00:04:21,730 --> 00:04:26,234 Ho intenzione di copiare rapidamente questo. 76 00:04:26,234 --> 00:04:28,900 E io vado ad aprire e up-- Io zoom out un po 'qui-- 77 00:04:28,900 --> 00:04:31,570 Sto per aprire una nuova scheda in Chrome. 78 00:04:31,570 --> 00:04:34,320 E ho intenzione di visitare questo URL. 79 00:04:34,320 --> 00:04:35,299 >> Ho intenzione di premere Invio. 80 00:04:35,299 --> 00:04:36,090 Sta andando a caricare. 81 00:04:36,090 --> 00:04:37,510 E io lo zoom di nuovo. 82 00:04:37,510 --> 00:04:41,350 E possiamo vedere qui è il contenuti della mia directory web PHP. 83 00:04:41,350 --> 00:04:45,290 >> Così ora che cosa sta accadendo in fondo ecco, la mia istanza di CS50 IDE 84 00:04:45,290 --> 00:04:49,620 sta scontando di questi file a chiunque ne faccia richiesta. 85 00:04:49,620 --> 00:04:51,620 E nel corso di questo video, faremo di ordinare 86 00:04:51,620 --> 00:04:55,400 dare un'occhiata a un po 'di questi diversi file in un contesto. 87 00:04:55,400 --> 00:04:57,614 >> Per verificare che Apache server è funzionante, 88 00:04:57,614 --> 00:04:59,780 che è generalmente in corso essere il caso in CS50 IDE, 89 00:04:59,780 --> 00:05:02,696 ma se lo fai, più in generale, e di iniziare a costruire il proprio web 90 00:05:02,696 --> 00:05:04,990 server, c'è un davvero specie comuni di analogico, 91 00:05:04,990 --> 00:05:08,500 "ciao mondo", che di solito è utilizzato per lo sviluppo web PHP. 92 00:05:08,500 --> 00:05:12,855 Che è quello di avere un file costituito da appena questo code-- 93 00:05:12,855 --> 00:05:18,247 un delimitatore PHP set con PHP info, parentesi, punto e virgola in mezzo. 94 00:05:18,247 --> 00:05:20,580 Che è fondamentalmente un speciale Funzione PHP che ti dice 95 00:05:20,580 --> 00:05:23,970 quale versione di PHP è in esecuzione. 96 00:05:23,970 --> 00:05:26,850 >> Quindi, in CS50 IDE, ho quel file disponibile solo 97 00:05:26,850 --> 00:05:28,680 per mostrarvi ciò che questa sarà simile. 98 00:05:28,680 --> 00:05:32,860 Così sto guardando il mio indice dal mio esempio PHP. 99 00:05:32,860 --> 00:05:35,870 Il mio esempio Apache è in esecuzione il contenuto di PHP-web. 100 00:05:35,870 --> 00:05:39,290 E ho un file chiamato qui info.php. 101 00:05:39,290 --> 00:05:41,164 >> Io vado a fare clic su di esso, zoom out. 102 00:05:41,164 --> 00:05:43,080 Questo è ciò che si sta andando di vedere, più o meno. 103 00:05:43,080 --> 00:05:45,729 Questo è solo mi dice che il mio server Apache è in funzione. 104 00:05:45,729 --> 00:05:48,270 E questo è, a quanto pare, il versione di PHP che sto correndo. 105 00:05:48,270 --> 00:05:51,590 Questa è la mia analogico a "ciao mondo". 106 00:05:51,590 --> 00:05:53,070 >> Così So che le cose sono operativi. 107 00:05:53,070 --> 00:05:54,150 Quindi siamo a posto. 108 00:05:54,150 --> 00:05:55,730 Siamo in grado di procedere da qui. 109 00:05:55,730 --> 00:05:57,790 >> Quindi cerchiamo di rivisitare che Esempio volta eravamo 110 00:05:57,790 --> 00:06:01,950 parlando con il nostro povero webmaster che ha dovuto aggiornare la pagina costantemente. 111 00:06:01,950 --> 00:06:05,020 Questo potrebbe essere una soluzione per quanto Vorrei realizzare cose 112 00:06:05,020 --> 00:06:08,080 in modo che il webmaster non ha devono tenere aggiornata l'ora. 113 00:06:08,080 --> 00:06:10,270 Sarebbe appena sorta di avverrà automaticamente. 114 00:06:10,270 --> 00:06:13,710 >> Il basso, il codice HTML, è abbastanza simile, con una sola eccezione. 115 00:06:13,710 --> 00:06:16,720 Ma qui ho un po 'di PHP in alto. 116 00:06:16,720 --> 00:06:19,940 Ho, a quanto pare, chiamato questo Funzione date_default_timezone_set. 117 00:06:19,940 --> 00:06:22,106 >> E non parliamo di tutto queste funzioni in CS50, 118 00:06:22,106 --> 00:06:24,670 perché PHP ha probabilmente decine di migliaia. 119 00:06:24,670 --> 00:06:27,540 Questo potrebbe essere un po 'di un esagerazione, ma non potrebbe essere. 120 00:06:27,540 --> 00:06:29,490 Ha un sacco di funzioni incorporate in. 121 00:06:29,490 --> 00:06:33,290 E quindi questa è una funzione apparentemente imposta il fuso orario come US / Eastern, 122 00:06:33,290 --> 00:06:36,320 che è il fuso orario che io sono attualmente nel fare questo video. 123 00:06:36,320 --> 00:06:38,430 >> Poi faccio una chiamata a funzione chiamata, data. 124 00:06:38,430 --> 00:06:43,850 E, a quanto pare, sto memorizzare il HIS di qualcosa chiamato, tempo. 125 00:06:43,850 --> 00:06:45,320 Allora, cosa sta succedendo qui? 126 00:06:45,320 --> 00:06:48,040 >> Beh, in fondo ciò che è accadendo è, sto facendo una chiamata 127 00:06:48,040 --> 00:06:51,650 ad un server che sta per dimmi che cosa il tempo è attualmente. 128 00:06:51,650 --> 00:06:56,150 E sono la conversione in un formato di ore, minuti, secondi. 129 00:06:56,150 --> 00:07:00,540 E la ragione è maiuscola è questo sta per darmi il tempo di 24 ore, non 12 130 00:07:00,540 --> 00:07:02,362 tempo ora, che sarebbe minuscolo h. 131 00:07:02,362 --> 00:07:04,570 E sto solo memorizzazione che in una variabile denominata, tempo. 132 00:07:04,570 --> 00:07:07,028 In modo che la seconda linea di PHP lì, la chiamata alla funzione, 133 00:07:07,028 --> 00:07:09,037 oggi, è solo ottenere qualche stringa, che è 134 00:07:09,037 --> 00:07:12,120 andando a darmi la data, e il tempo, e un sacco di altre informazioni. 135 00:07:12,120 --> 00:07:16,480 E il primo argomento lì che il suo, è solo estraendo la parte importante 136 00:07:16,480 --> 00:07:20,614 che mi preoccupo per questo esempio, che è l'ora, i minuti ei secondi. 137 00:07:20,614 --> 00:07:22,030 Ecco, questo è il tutto che sta succedendo. 138 00:07:22,030 --> 00:07:23,562 Così ho negozio che in un $ tempo variabile. 139 00:07:23,562 --> 00:07:25,270 E poi giù al fondo lì, 140 00:07:25,270 --> 00:07:28,980 avere che una scorciatoia per l'ora corrente stampare. 141 00:07:28,980 --> 00:07:32,050 Così sto solo andando a stampare che cosa l'ora corrente è. 142 00:07:32,050 --> 00:07:37,220 >> Quindi, diamo uno sguardo a questo CS50 IDE e vedere come siamo ora 143 00:07:37,220 --> 00:07:40,002 risparmio che webmaster un sacco di guai. 144 00:07:40,002 --> 00:07:42,570 Va bene, quindi eccomi qui di nuovo indietro nella directory principale 145 00:07:42,570 --> 00:07:45,040 della mia istanza di Apache. 146 00:07:45,040 --> 00:07:51,585 E ho un file chiamato qui time.php. 147 00:07:51,585 --> 00:07:53,559 Sto solo andando a cliccare su questo. 148 00:07:53,559 --> 00:07:55,850 E farò scorrere in su, perché stiamo ingrandita abbastanza lontano. 149 00:07:55,850 --> 00:07:57,257 L'ora corrente è 14:20:34. 150 00:07:57,257 --> 00:07:59,090 Quindi lo sto facendo ora, minuti e secondi. 151 00:07:59,090 --> 00:08:01,910 E posso aggiornare il pagina e ottenere nuova ora. 152 00:08:01,910 --> 00:08:02,420 --41. 153 00:08:02,420 --> 00:08:07,240 Ho intenzione di aggiornare la pagina e ottenere nuovo tempo, 44, 46, 47. 154 00:08:07,240 --> 00:08:10,490 >> Quindi, io non sono chiaramente cambiare nulla me stesso. 155 00:08:10,490 --> 00:08:11,720 Sto qui ad aggiornare la pagina. 156 00:08:11,720 --> 00:08:13,711 Quindi non posso tornare lì modificarlo. 157 00:08:13,711 --> 00:08:15,710 E vi prometto, non lo faccio avere confederati 158 00:08:15,710 --> 00:08:18,230 che stanno modificando il file a mio nome sul lato. 159 00:08:18,230 --> 00:08:21,260 >> Sto solo utilizzando tale funzione PHP, tempo, per generare il tempo per me 160 00:08:21,260 --> 00:08:22,340 automaticamente. 161 00:08:22,340 --> 00:08:24,800 In modo che anche se sto dormendo, e il mio server Web è in esecuzione, 162 00:08:24,800 --> 00:08:28,884 l'utente che visita la pagina è ancora intenzione di ottenere esattamente l'ora corrente. 163 00:08:28,884 --> 00:08:29,800 In modo che è abbastanza buono. 164 00:08:29,800 --> 00:08:33,609 Ho fatto il mio sito più dinamico con non troppo codice PHP. 165 00:08:33,609 --> 00:08:36,650 Era solo due righe di codice e poi un po 'di una dichiarazione di stampa. 166 00:08:36,650 --> 00:08:38,441 E già ho un sito molto più dinamico 167 00:08:38,441 --> 00:08:42,750 quello primo esempio abbiamo visto all'inizio del video. 168 00:08:42,750 --> 00:08:46,660 >> Quindi, richiamare dal video su sintassi di PHP che quando l'interprete PHP eseguito 169 00:08:46,660 --> 00:08:50,000 il nostro programma, ignora tutto che non è all'interno di delimitatori di PHP, 170 00:08:50,000 --> 00:08:51,500 sputare fuori. 171 00:08:51,500 --> 00:08:54,410 In questo esempio, ciò che la cosa che sputava fuori era HTML. 172 00:08:54,410 --> 00:08:58,080 E questo significa che può ora intervallare HTML e PHP insieme. 173 00:08:58,080 --> 00:09:01,920 Perché l'interprete sarà solo ignorare il codice HTML e letteralmente output. 174 00:09:01,920 --> 00:09:04,140 Il che è buono, giusto? 175 00:09:04,140 --> 00:09:06,100 >> Poiché presumibilmente, alla fine del giorno, 176 00:09:06,100 --> 00:09:08,360 Vorrei che il mio sito per essere costruito di HTML. 177 00:09:08,360 --> 00:09:12,880 In modo che qualsiasi browser web in grado di interpretare esso, o capire il codice HTML della pagina 178 00:09:12,880 --> 00:09:17,270 e renderlo come qualcosa che noi può effettivamente capire come gli esseri umani. 179 00:09:17,270 --> 00:09:19,430 E posso solo usare PHP per le parti del mio sito 180 00:09:19,430 --> 00:09:23,390 la richiedono dinamismo, che mi richiedono di avere le cose che aggiornano costantemente. 181 00:09:23,390 --> 00:09:26,630 Le informazioni statiche può rimanere lo stesso. 182 00:09:26,630 --> 00:09:27,540 >> Ok, va bene. 183 00:09:27,540 --> 00:09:28,540 Ma perché dovrei farlo? 184 00:09:28,540 --> 00:09:30,400 Perché dovrei mescolare HTML e PHP? 185 00:09:30,400 --> 00:09:33,850 Ho potuto solo stampare tutte le HTML, utilizzando la funzione di stampa di PHP. 186 00:09:33,850 --> 00:09:35,870 Perché non farlo? 187 00:09:35,870 --> 00:09:37,100 Pensateci per un secondo. 188 00:09:37,100 --> 00:09:41,220 >> Perché, quando ho potuto solo stampare fuori-- I potrebbe avere linee di PHP che appena dicono, 189 00:09:41,220 --> 00:09:43,841 tag HTML stampa, testina di stampa. 190 00:09:43,841 --> 00:09:44,840 Perché non farlo? 191 00:09:44,840 --> 00:09:48,230 Perché sto mescolando il PHP e HTML? 192 00:09:48,230 --> 00:09:50,080 >> Beh, se si pensa su di esso per un secondo. 193 00:09:50,080 --> 00:09:52,824 PHP, l'interprete ha di interpretare ciò che vede. 194 00:09:52,824 --> 00:09:54,990 E così sta per avere eseguire una riga di codice. 195 00:09:54,990 --> 00:09:56,450 Stampare HTML. 196 00:09:56,450 --> 00:09:57,700 Stampare tag testa aperta. 197 00:09:57,700 --> 00:09:58,969 Stampare tag title aperto. 198 00:09:58,969 --> 00:10:00,760 Sta andando ad avere per eseguire e interpretare 199 00:10:00,760 --> 00:10:02,671 che ogni singolo passo del cammino. 200 00:10:02,671 --> 00:10:04,670 Perché non lasciare che il interprete appena sorvolare 201 00:10:04,670 --> 00:10:06,878 cose che non capisce e farlo automaticamente? 202 00:10:06,878 --> 00:10:11,365 Sta andando a me risparmiare un sacco di tempo per mescolare il mio HTML e il mio PHP insieme. 203 00:10:11,365 --> 00:10:16,220 >> Ed è per questo che non lo facciamo appena hanno aperto delimitatore PHP 204 00:10:16,220 --> 00:10:19,450 e poi basta stampare l'intero il contenuto della nostra pagina di PHP come uno gigante 205 00:10:19,450 --> 00:10:24,330 chiamata alla funzione, di stampa, e quindi delimitatore di chiusura PHP e abbiamo finito. 206 00:10:24,330 --> 00:10:27,620 Ecco perché noi li mescoliamo insieme. 207 00:10:27,620 --> 00:10:32,345 >> Finora, non abbiamo visto troppo di una differenza di sintassi di PHP. 208 00:10:32,345 --> 00:10:33,720 E 'stato piuttosto semplice. 209 00:10:33,720 --> 00:10:35,553 Abbiamo già visto la punto interrogativo, uguali. 210 00:10:35,553 --> 00:10:39,012 Abbiamo visto un paio di nuove chiamate di funzione, ma niente di veramente voglia di andare avanti. 211 00:10:39,012 --> 00:10:40,720 Facciamo forse fare le cose un po 'di fantasia. 212 00:10:40,720 --> 00:10:44,360 Che cosa succede se si vuole passare informazioni tra i diversi file PHP, 213 00:10:44,360 --> 00:10:47,280 in modo che l'utente può forse inviare informazioni a me. 214 00:10:47,280 --> 00:10:50,230 E poi ho potuto fare qualcosa con in un'altra pagina. 215 00:10:50,230 --> 00:10:52,990 >> Così ha il supporto per PHP qualcosa chiamato Super globale 216 00:10:52,990 --> 00:10:55,297 Le variabili, che suona abbastanza impressionante. 217 00:10:55,297 --> 00:10:57,130 Sono davvero solo giganti array associativi 218 00:10:57,130 --> 00:10:59,900 che contribuire all'attuazione questo funzionalità di passaggio 219 00:10:59,900 --> 00:11:05,010 informazioni tra i file PHP che sono esistenti sul nostro web server. 220 00:11:05,010 --> 00:11:07,760 >> Il primo di questi super- globali è chiamato $ _GET. 221 00:11:07,760 --> 00:11:10,140 Ed è probabilmente la più semplici da capire. 222 00:11:10,140 --> 00:11:12,430 Che cosa succede con $ _GET? 223 00:11:12,430 --> 00:11:16,240 Ebbene, in sostanza, l'utente è andando a digitare le informazioni supplementari 224 00:11:16,240 --> 00:11:18,390 alla fine del nostro URL. 225 00:11:18,390 --> 00:11:21,460 E qualunque cosa che tipo, assumendo è formattato in modo particolare 226 00:11:21,460 --> 00:11:25,830 chiamato una stringa di query, che è solo una serie di coppie di valori chiave separate 227 00:11:25,830 --> 00:11:27,810 per ampersands. 228 00:11:27,810 --> 00:11:32,362 Queste coppie di valori chiave saranno memorizzati in un array associativo $ _GET. 229 00:11:32,362 --> 00:11:34,070 E dal nostro video Sintassi di PHP, sappiamo 230 00:11:34,070 --> 00:11:40,080 come lavorare con array associativi già. 231 00:11:40,080 --> 00:11:44,090 Così qui è un esempio di po 'di PHP, dove forse sono 232 00:11:44,090 --> 00:11:50,180 estrarre tutte le coppie di valori chiave che l'utente fornito nell'URL. 233 00:11:50,180 --> 00:11:51,970 Così ho il mio Aprire PHP delimitatore. 234 00:11:51,970 --> 00:11:53,410 Ho un ciclo foreach. 235 00:11:53,410 --> 00:11:57,410 Sto iterazione attraverso il Super Array globale chiamata $ _GET. 236 00:11:57,410 --> 00:12:00,160 >> E io voglio essere in grado di fare riferimento sia la chiave e il valore. 237 00:12:00,160 --> 00:12:02,410 E sto solo stamparli out, ognuna su apparentemente 238 00:12:02,410 --> 00:12:03,780 il proprio punto tag. 239 00:12:03,780 --> 00:12:07,620 Sto stampando alcuni HTML e interpolando i valori 240 00:12:07,620 --> 00:12:12,900 di chiave e il valore in questa affermazione. 241 00:12:12,900 --> 00:12:16,980 >> Quindi, diamo un'occhiata a come questo sarebbe effettivamente lavorare sul nostro IDE. 242 00:12:16,980 --> 00:12:18,980 E forse questo aiuterà illustrare un po ' 243 00:12:18,980 --> 00:12:21,880 di ciò che sta effettivamente facendo GET. 244 00:12:21,880 --> 00:12:23,610 Così sono tornato qui nel mio spazio web. 245 00:12:23,610 --> 00:12:25,318 E io lo zoom in un po 'di mostrarvi 246 00:12:25,318 --> 00:12:28,620 che ho un file chiamato, get1.php. 247 00:12:28,620 --> 00:12:31,830 >> Quindi cerchiamo di fare clic su get1.php. 248 00:12:31,830 --> 00:12:36,600 E non sto vedendo alcun contenuto. 249 00:12:36,600 --> 00:12:38,390 Questo è strano, giusto? 250 00:12:38,390 --> 00:12:39,740 Beh, non proprio in realtà. 251 00:12:39,740 --> 00:12:42,030 Perché non ho fornisco nulla nell'URL. 252 00:12:42,030 --> 00:12:46,270 Io vado a get1.php, ma io non ha fornito coppie di valori chiave 253 00:12:46,270 --> 00:12:47,450 come parte della mia stringa di query. 254 00:12:47,450 --> 00:12:50,510 Quindi aggiungiamo una stringa di query e vedere che cosa questo file può fare. 255 00:12:50,510 --> 00:12:53,040 >> Per iniziare una stringa di query si basta digitare punto interrogativo. 256 00:12:53,040 --> 00:13:00,820 Poi magari dirò name = & Doug anno = 2015. 257 00:13:00,820 --> 00:13:02,914 E poi io premete Invio. 258 00:13:02,914 --> 00:13:04,080 Ora notate cosa sta succedendo. 259 00:13:04,080 --> 00:13:05,480 Sono ancora in get1.php. 260 00:13:05,480 --> 00:13:08,445 Ma ora ho fornito coppie di valori chiave, e sono 261 00:13:08,445 --> 00:13:14,940 stamparli in proprio nome paragraph--, anno Doug-- 2015. 262 00:13:14,940 --> 00:13:17,970 Questo è esattamente il codice che abbiamo appena ha visto sul vetrino un momento fa. 263 00:13:17,970 --> 00:13:22,290 >> E se voglio aggiungere forse un altro coppia di valori chiave, e class = CS50. 264 00:13:22,290 --> 00:13:25,325 265 00:13:25,325 --> 00:13:27,580 Ora ho un altro valore chiave coppia che viene stampato 266 00:13:27,580 --> 00:13:30,025 quando ho rivisitare di nuovo l'URL. 267 00:13:30,025 --> 00:13:31,900 Ora, forse questo non è formattato terribilmente bene. 268 00:13:31,900 --> 00:13:33,660 Così ho un'altra versione di get.php. 269 00:13:33,660 --> 00:13:36,350 E 'get2.php. 270 00:13:36,350 --> 00:13:39,070 >> La differenza in questo uno è che ho file CSS, 271 00:13:39,070 --> 00:13:41,690 e formatta le cose un poco più bene per me. 272 00:13:41,690 --> 00:13:43,940 Non è forse il più bella CSS nel mondo. 273 00:13:43,940 --> 00:13:45,650 Ma è solo un altro modo di farlo. 274 00:13:45,650 --> 00:13:52,840 Così posso ancora ottenere l'accesso ai miei variabili tramite $ _GET. 275 00:13:52,840 --> 00:13:56,610 E in questo caso, io sono solo un po ' rendendo il CSS un po 'più di fantasia. 276 00:13:56,610 --> 00:13:58,360 E se abbiamo pop verso il mio IDE per un secondo, 277 00:13:58,360 --> 00:14:06,870 Vi mostrerò nel mio PHP web elenco qui, get2.php. 278 00:14:06,870 --> 00:14:10,010 Apriremo in su, un po 'di HTML qui. 279 00:14:10,010 --> 00:14:13,220 A quanto pare sono collegati che File CSS stavo parlando. 280 00:14:13,220 --> 00:14:14,570 Apro un tag table. 281 00:14:14,570 --> 00:14:15,970 E poi ecco il mio ciclo foreach. 282 00:14:15,970 --> 00:14:18,450 >> Ecco che, quello che ho mostrato sul vetrino prima. 283 00:14:18,450 --> 00:14:21,007 L'unica differenza è che avere questa chiave e il valore CSS 284 00:14:21,007 --> 00:14:22,340 stile che sto applicando ad esso. 285 00:14:22,340 --> 00:14:25,622 Ma questo è tutto quello che sto facendo, si sono l'iterazione tra $ _GET per ottenere tutti 286 00:14:25,622 --> 00:14:26,580 delle coppie di valori chiave. 287 00:14:26,580 --> 00:14:28,890 >> E io li sto stampando come la tabella. 288 00:14:28,890 --> 00:14:33,230 E, a quanto pare, sto formattare le chiavi in un modo, con la classe "chiave" 00:14:40,057 Quindi, apparentemente, che vale per alcuni selettore di classe nel mio file CSS GET.CSS. 290 00:14:40,057 --> 00:14:42,890 E, a quanto pare, sto stampando i miei valori di un modo totalmente diverso. 291 00:14:42,890 --> 00:14:45,530 Che è più o meno quello che abbiamo visto qui, dove 292 00:14:45,530 --> 00:14:47,710 i nostri valori sono stati stampati con uno sfondo blu, 293 00:14:47,710 --> 00:14:49,969 e le nostre chiavi sono state stampate con uno sfondo giallo. 294 00:14:49,969 --> 00:14:52,010 Ecco come sto ottenendo questi stili diversi. 295 00:14:52,010 --> 00:14:54,054 Perché sto utilizzando diverse classi CSS. 296 00:14:54,054 --> 00:14:55,470 Ma che è praticamente per GET. 297 00:14:55,470 --> 00:14:58,380 Come Sto solo l'estrazione di informazioni. 298 00:14:58,380 --> 00:15:01,000 E in questo caso, io sono solo stampa allo schermo. 299 00:15:01,000 --> 00:15:04,310 Io sto fuori dell'URL, e questo è quello che fa per noi GET. 300 00:15:04,310 --> 00:15:06,470 >> Vedete un possibile problema qui però? 301 00:15:06,470 --> 00:15:11,720 Perché dovremmo forse Non voglio utilizzare $ _GET? 302 00:15:11,720 --> 00:15:15,440 Che cosa succede se, forse, stavo facendo questa ricerca? 303 00:15:15,440 --> 00:15:18,000 get3.php --to, che ho non hanno il mio IDE. 304 00:15:18,000 --> 00:15:19,640 E 'solo un file ipotetico. 305 00:15:19,640 --> 00:15:22,187 Ma si noti qui che, apparentemente, passando la mia password. 306 00:15:22,187 --> 00:15:23,770 E forse la mia password è imbarazzante. 307 00:15:23,770 --> 00:15:28,070 O forse io non voglio che la gente sapere che cosa la mia password è, a destra. 308 00:15:28,070 --> 00:15:33,140 >> Se sto passando though-- se sto utilizzando il metodo $ _GET, ciò che accade è, 309 00:15:33,140 --> 00:15:34,970 che sta per essere l'URL. 310 00:15:34,970 --> 00:15:39,890 Così alcuni utente malintenzionato potrebbe essere in grado di vedere quello che sto facendo. 311 00:15:39,890 --> 00:15:42,040 Posso loro essere di passaggio informazione sensibile. 312 00:15:42,040 --> 00:15:43,310 O forse non è nemmeno un utente malintenzionato. 313 00:15:43,310 --> 00:15:45,790 Forse è solo il tuo amico che è in piedi sopra la spalla. 314 00:15:45,790 --> 00:15:47,650 E ora conoscono la password al tuo account Facebook. 315 00:15:47,650 --> 00:15:49,483 >> E forse non avrebbero fare qualsiasi cosa con esso. 316 00:15:49,483 --> 00:15:53,749 Ma se la vostra password fosse presentate attraverso $ _GET a Facebook, 317 00:15:53,749 --> 00:15:55,290 ora sanno la password di Facebook. 318 00:15:55,290 --> 00:15:59,000 Perché è proprio lì nella URL quando hai fatto l'invio di informazioni. 319 00:15:59,000 --> 00:16:01,887 >> E così forse non è la migliore modo per passare le informazioni sensibili. 320 00:16:01,887 --> 00:16:04,470 E 'un buon modo per passare informazioni che noi non particolarmente 321 00:16:04,470 --> 00:16:05,886 preoccupano di come troppo sensibile. 322 00:16:05,886 --> 00:16:09,347 Perché GET è abbastanza veloce, rispetto agli altri globali eccellenti 323 00:16:09,347 --> 00:16:10,430 stiamo andando a parlare. 324 00:16:10,430 --> 00:16:13,330 Ma forse non il migliore strumento per le informazioni sensibili. 325 00:16:13,330 --> 00:16:15,990 >> Per questo si potrebbe desiderare di utilizzare qualcosa chiamato $ _POST, 326 00:16:15,990 --> 00:16:18,560 che è un altro variabile Super globale. 327 00:16:18,560 --> 00:16:20,750 E 'un altro array associativo. 328 00:16:20,750 --> 00:16:23,240 Così funziona più o meno esattamente come GET. 329 00:16:23,240 --> 00:16:26,850 Tranne, invece di estrarre informazioni dall'URL, 330 00:16:26,850 --> 00:16:29,870 lo fa qualcosa attraverso le intestazioni HTTP. 331 00:16:29,870 --> 00:16:32,080 Quindi richiamare dal nostro video su HTTP, abbiamo parlato 332 00:16:32,080 --> 00:16:34,850 su come browser, server, e client comunicano. 333 00:16:34,850 --> 00:16:38,070 E le informazioni viene ripassato e indietro nelle intestazioni HTTP. 334 00:16:38,070 --> 00:16:43,330 >> Con $ _POST, informazioni è tipicamente inviati attraverso queste intestazioni HTTP. 335 00:16:43,330 --> 00:16:49,770 E faremo più comunemente vediamo $ _POST in il contesto di presentare moduli HTML. 336 00:16:49,770 --> 00:16:52,390 È comunque possibile utilizzare moduli HTML di presentare le cose da ottenere. 337 00:16:52,390 --> 00:16:56,120 Ma sono solitamente utilizzati nel contesto di POST. 338 00:16:56,120 --> 00:17:00,280 >> Quindi, ecco un esempio di un modulo HTML. 339 00:17:00,280 --> 00:17:06,750 Ora che abbiamo visto questi prima, ma abbiamo Non visto questo parte, action = "post.php". 340 00:17:06,750 --> 00:17:10,756 Così, quando abbiamo parlato di forme nel contesto di HTML, ho avuto un pulsante Invia. 341 00:17:10,756 --> 00:17:13,630 E se vi ricordate, mi piacerebbe fare clic su Invia e quindi la pagina appena aggiornata, 342 00:17:13,630 --> 00:17:14,660 non ha fatto nulla. 343 00:17:14,660 --> 00:17:18,250 >> In questo caso, sto presentando qualunque cosa io batto in questo modulo, 344 00:17:18,250 --> 00:17:20,750 a un file PHP chiamato post.php. 345 00:17:20,750 --> 00:17:25,810 E, a quanto pare, il modo in cui sto facendo che in questa forma sta utilizzando il metodo POST. 346 00:17:25,810 --> 00:17:29,040 Così ogni pezzo di informazione che scriv in questa forma 347 00:17:29,040 --> 00:17:31,470 sarà presentato attraverso le intestazioni HTTP. 348 00:17:31,470 --> 00:17:36,440 >> Sarà accessibile in post.php, perché questo è l'azione della mia forma. 349 00:17:36,440 --> 00:17:39,811 Sarà accessibile andando a $ _POST. 350 00:17:39,811 --> 00:17:42,310 E a quanto pare, il modo in cui posso arrivare a ogni singolo elemento 351 00:17:42,310 --> 00:17:44,765 con quel array associativo è con questo attributo, 352 00:17:44,765 --> 00:17:48,130 l'attributo Name dei nostri tag di ingresso. 353 00:17:48,130 --> 00:17:53,540 >> Quindi, apparentemente posso dire $ _POST piazza staffe nome per ottenere ciò che l'utente 354 00:17:53,540 --> 00:17:55,440 digitato nel primo campo. 355 00:17:55,440 --> 00:18:01,030 E $ _POST password di pw piuttosto, per arrivare a qualunque l'utente ha digitato 356 00:18:01,030 --> 00:18:03,650 nel secondo campo. 357 00:18:03,650 --> 00:18:06,414 >> Quindi, diamo uno sguardo a questo oltre a CS50 IDE. 358 00:18:06,414 --> 00:18:08,330 Ed eccoci qui, e io zoom in per un secondo. 359 00:18:08,330 --> 00:18:12,380 E abbiamo un file chiamato post.html. 360 00:18:12,380 --> 00:18:13,690 Clicco su post.html. 361 00:18:13,690 --> 00:18:16,300 Nella parte superiore qui ho una molto semplice modulo web. 362 00:18:16,300 --> 00:18:18,750 E 'il modulo che abbiamo appena visto sul vetrino un secondo fa. 363 00:18:18,750 --> 00:18:25,610 >> Posso scrivere, Doug, e posso digitare la password, che tutti 364 00:18:25,610 --> 00:18:27,340 sapere è squadgoals. 365 00:18:27,340 --> 00:18:30,100 E io colpirò Invia. 366 00:18:30,100 --> 00:18:32,290 E a quanto pare, che sottopone a post.php. 367 00:18:32,290 --> 00:18:33,810 E sto a quanto pare di stampare tale. 368 00:18:33,810 --> 00:18:36,490 Così sto sbarazzarsi di tutta la sicurezza che POST mi dà semplicemente stampando 369 00:18:36,490 --> 00:18:37,720 il nome utente e la password. 370 00:18:37,720 --> 00:18:38,960 >> Il nome dell'utente è Doug. 371 00:18:38,960 --> 00:18:40,810 La password dell'utente è squadgoals. 372 00:18:40,810 --> 00:18:42,480 Come ho fatto questo? 373 00:18:42,480 --> 00:18:44,800 Beh, andare su un IDE ancora per un secondo. 374 00:18:44,800 --> 00:18:51,340 Faremo scorrere verso il basso per prendere uno sguardo al post.php, che era 375 00:18:51,340 --> 00:18:54,040 l'azione che ho usato per presentare qui. 376 00:18:54,040 --> 00:18:55,739 Quello era l'azione della mia forma HTML. 377 00:18:55,739 --> 00:18:56,780 E questo è tutto quello che sto facendo. 378 00:18:56,780 --> 00:19:01,370 Il nome utente è, e io sono la stampa il contenuto di $ _POST "nome". 379 00:19:01,370 --> 00:19:04,660 E poi la password dell'utente è $ _POST "password". 380 00:19:04,660 --> 00:19:08,920 Così mi è stato dato che le informazioni inviando il modulo HTML. 381 00:19:08,920 --> 00:19:13,790 E ora posso estrarre utilizzando $ _POST perché il metodo che ho usato per trasmettere 382 00:19:13,790 --> 00:19:17,470 dati con quella forma era il metodo POST. 383 00:19:17,470 --> 00:19:20,640 >> Ora probabilmente non è così great-- Vado 384 00:19:20,640 --> 00:19:24,510 di tornare per un secondo al nostro set qui-- 385 00:19:24,510 --> 00:19:30,120 probabilmente non è così grande, se io sono trasmissione delle informazioni con il POST, 386 00:19:30,120 --> 00:19:32,532 che è apparentemente più sicuro. 387 00:19:32,532 --> 00:19:34,740 Probabilmente non è così grande se sto facendo questo e poi 388 00:19:34,740 --> 00:19:36,470 stampare la password dell'utente. 389 00:19:36,470 --> 00:19:38,540 Si suppone che sia più sicuro. 390 00:19:38,540 --> 00:19:40,870 >> OK, ma non è del tutto sicuro. 391 00:19:40,870 --> 00:19:42,910 E così in questo piccolo Snippet qui voglio 392 00:19:42,910 --> 00:19:46,410 per attirare la vostra attenzione solo per un po ' problemi di sicurezza dei dati, solo qualcosa 393 00:19:46,410 --> 00:19:51,200 di pensare a come si sta lavoro o utilizzando internet. 394 00:19:51,200 --> 00:19:53,890 Questo è solo una cosa da considerare. 395 00:19:53,890 --> 00:19:57,980 >> Ti ho detto che l'informazione è presentata attraverso le intestazioni HTTP 396 00:19:57,980 --> 00:19:59,724 quando si utilizza il metodo POST. 397 00:19:59,724 --> 00:20:01,390 Il che significa che non sono del tutto sicuro. 398 00:20:01,390 --> 00:20:05,610 Sono più difficili da trovare rispetto utilizzando il metodo GET, dove 399 00:20:05,610 --> 00:20:06,882 è giusto nell'URL. 400 00:20:06,882 --> 00:20:08,340 Ma c'è ancora un modo per trovarlo. 401 00:20:08,340 --> 00:20:10,423 E voglio solo mostrare questo in modo che forse 402 00:20:10,423 --> 00:20:12,940 iniziare a pensare a questo come si sta lavorando, o utilizzando 403 00:20:12,940 --> 00:20:14,560 siti web e presentare password e magari utilizzando 404 00:20:14,560 --> 00:20:16,518 la stessa password in un sacco di posti diversi. 405 00:20:16,518 --> 00:20:22,060 Sappiate che è ancora in realtà piuttosto facile per scoprire la password di qualcuno. 406 00:20:22,060 --> 00:20:25,190 >> Ed ecco, io vado per andare a post2.html. 407 00:20:25,190 --> 00:20:28,850 E la differenza con post2.html e post2.php è piuttosto sottile. 408 00:20:28,850 --> 00:20:31,420 La differenza è solo che non vengono stampati 409 00:20:31,420 --> 00:20:33,520 la password quando presento il modulo. 410 00:20:33,520 --> 00:20:35,260 >> Quindi ho intenzione di digitare, Doug. 411 00:20:35,260 --> 00:20:38,365 E ho intenzione di scrivere in, squadgoals, anche 412 00:20:38,365 --> 00:20:40,770 se sappiamo che è la password. 413 00:20:40,770 --> 00:20:42,540 Prima di inviare il formo però, sto andando 414 00:20:42,540 --> 00:20:45,864 aprire Strumenti di sviluppo, solo per mostrare ciò che sta per succedere qui. 415 00:20:45,864 --> 00:20:47,530 Così in Chrome, sto solo andando a colpire F12. 416 00:20:47,530 --> 00:20:54,120 417 00:20:54,120 --> 00:20:57,230 E che sta per aprire il mio Strumenti di sviluppo sul lato destro. 418 00:20:57,230 --> 00:20:59,480 Non ho ancora inviato il modulo. 419 00:20:59,480 --> 00:21:02,680 Ora sto andando a colpire Submit sulla mia forma. 420 00:21:02,680 --> 00:21:05,370 E a quanto pare, ho fatto un chiamo, o ho fatto una richiesta 421 00:21:05,370 --> 00:21:07,620 a post2.php, che ha un senso. 422 00:21:07,620 --> 00:21:10,040 Io vado a cliccare su quel. 423 00:21:10,040 --> 00:21:13,802 >> Poi qui, ho intenzione a fare clic su intestazioni. 424 00:21:13,802 --> 00:21:15,410 C'è un sacco di roba in corso qui. 425 00:21:15,410 --> 00:21:21,310 Ma se ho scorrere verso il basso fino alla in basso, a destra avviso there-- mio calendario 426 00:21:21,310 --> 00:21:25,180 ha bloccato per un giusto secondo-- lì in un angolo molto basso, 427 00:21:25,180 --> 00:21:27,386 nome-- Doug, squadgoals pw--. 428 00:21:27,386 --> 00:21:30,010 Così, anche se sto usando il POST metodo, che è più sicuro, 429 00:21:30,010 --> 00:21:33,570 basta essere consapevoli che quando si fa così, si sta ancora trasmettendo informazioni 430 00:21:33,570 --> 00:21:34,430 tramite HTTP. 431 00:21:34,430 --> 00:21:36,770 E può essere ancora trovata da un avversario. 432 00:21:36,770 --> 00:21:39,270 E 'solo qualcosa che stiamo andando di avere a che fare con davvero. 433 00:21:39,270 --> 00:21:41,980 Forse c'è qualche modo per crittografare il nostro le password prima di inviarli finita, 434 00:21:41,980 --> 00:21:44,410 che sarebbe meglio, che io non sto facendo qui. 435 00:21:44,410 --> 00:21:47,010 >> Ma basta essere consapevoli che il POST metodo ha dei limiti troppo. 436 00:21:47,010 --> 00:21:49,801 Si tratta di un miglioramento rispetto a GET termini di essere immediatamente visibile. 437 00:21:49,801 --> 00:21:51,280 Ma non è una soluzione completa. 438 00:21:51,280 --> 00:21:53,280 Quindi, ecco un esempio di un veloce a casa esercizio 439 00:21:53,280 --> 00:21:56,350 che è possibile utilizzare per ottenere un po ' pratica lavorando con PHP. 440 00:21:56,350 --> 00:21:58,300 Creare la seguente coppia di pagine web. 441 00:21:58,300 --> 00:22:00,960 Il primo dovrebbe essere solo una semplice formare con un solo campo e un Submit 442 00:22:00,960 --> 00:22:01,460 pulsante. 443 00:22:01,460 --> 00:22:04,070 Quindi, molto simile a quello che abbiamo appena fatto con post.html. 444 00:22:04,070 --> 00:22:07,450 >> E poi il secondo file che si dovrebbe creare 445 00:22:07,450 --> 00:22:11,687 è un file, un file PHP, che si aspetta di ingresso, via posta, 446 00:22:11,687 --> 00:22:14,770 e sulla base di ciò digitato dall'utente, che si può presumere sarà un numero intero. 447 00:22:14,770 --> 00:22:16,160 Non dovete fare qualsiasi controllo di errore o simili. 448 00:22:16,160 --> 00:22:18,284 Si può assumere l'utente si digita un valore intero, 449 00:22:18,284 --> 00:22:22,230 o qualcosa come un interpretata da PHP come un intero, in quella forma. 450 00:22:22,230 --> 00:22:24,790 Hai voglia di creare un n da tavolo n moltiplicazione. 451 00:22:24,790 --> 00:22:28,480 >> Quindi, se l'utente invia 10, vogliamo avere un tavolo 10 del 10 moltiplicazione. 452 00:22:28,480 --> 00:22:31,832 Se l'utente invia un 12, che vogliamo una tabella 12 del 12 moltiplicazione. 453 00:22:31,832 --> 00:22:33,790 Solo così è possibile vedere ciò che noi stiamo guidando a qui, 454 00:22:33,790 --> 00:22:36,040 daremo uno sguardo a questo file nel mio IDE. 455 00:22:36,040 --> 00:22:38,080 >> Così qui in IDE, ho mult_form.html. 456 00:22:38,080 --> 00:22:41,370 457 00:22:41,370 --> 00:22:43,100 Farò clic esso. 458 00:22:43,100 --> 00:22:46,020 Tutto quello che voglio fare è inviare un valore. 459 00:22:46,020 --> 00:22:47,590 Digitare 10, ha colpito Submit. 460 00:22:47,590 --> 00:22:51,190 E a quanto pare, mult_table.php, che possiamo vedere in cima c'è nella URL, 461 00:22:51,190 --> 00:22:53,970 Sto creando un 10 da 10 tavola pitagorica. 462 00:22:53,970 --> 00:22:59,365 >> Se digito 15 e ha colpito Submit, ora avere un tavolo 15 per 15 moltiplicazione. 463 00:22:59,365 --> 00:23:02,240 Sono, ovviamente, non andando a mostrare i contenuti di mult_table.php, 464 00:23:02,240 --> 00:23:04,781 perché che avrebbe preso il divertimento da questo a casa esercizio. 465 00:23:04,781 --> 00:23:07,480 Ma è un ottimo modo per ottenere qualche praticare lavorare con loop PHP 466 00:23:07,480 --> 00:23:10,889 e POST, molto semplice, si spera lo stress esempio gratuito, basta 467 00:23:10,889 --> 00:23:12,180 per fare un po 'di pratica. 468 00:23:12,180 --> 00:23:16,540 E ho un po 'di CSS in corso qui per fare il mio tavolo singolo 469 00:23:16,540 --> 00:23:19,710 cellule solo tipo di pop fuori una po 'e guardare un po' di più 470 00:23:19,710 --> 00:23:22,205 come una tavola pitagorica, al contrario di testo appena appena 471 00:23:22,205 --> 00:23:23,261 tipo di seduta lì. 472 00:23:23,261 --> 00:23:26,260 L'ultima super-globale parleremo in questo video è una cosa chiamata 473 00:23:26,260 --> 00:23:27,597 $ _SESSION. 474 00:23:27,597 --> 00:23:29,930 E forse questo è in realtà il miglior esempio di qualcosa 475 00:23:29,930 --> 00:23:31,700 potremmo considerare globale. 476 00:23:31,700 --> 00:23:33,189 Si tratta di un altro array. 477 00:23:33,189 --> 00:23:34,480 E 'un altro array associativo. 478 00:23:34,480 --> 00:23:40,580 Ma è accessibile attraverso ogni File PHP che esiste sul nostro sistema. 479 00:23:40,580 --> 00:23:43,410 >> Non abbiamo di presentare informazioni di una pagina per volta 480 00:23:43,410 --> 00:23:45,400 come facciamo con GET e POST con. 481 00:23:45,400 --> 00:23:46,380 E 'sempre lì. 482 00:23:46,380 --> 00:23:50,040 E così questo è ottimo per una pagina dove si è connessi, ad esempio, 483 00:23:50,040 --> 00:23:53,120 e si desidera che le informazioni di accesso a persistere da pagina a pagina all'altra. 484 00:23:53,120 --> 00:23:58,180 >> Si può solo avviare una sessione e poi utilizzare $ _SESSION per salvare le cose come 485 00:23:58,180 --> 00:24:02,320 il nome dell'utente, o l'utente del Informazioni ID, e così via. 486 00:24:02,320 --> 00:24:07,600 E che le informazioni rimarranno in $ _SESSION Fino a quando si distrugge la sessione 487 00:24:07,600 --> 00:24:09,550 un po 'più tardi. 488 00:24:09,550 --> 00:24:12,375 >> Scrittura di siti web dinamici con PHP li rende molto meglio. 489 00:24:12,375 --> 00:24:14,250 I siti diventano molto dinamica, e non fare 490 00:24:14,250 --> 00:24:17,670 hanno a che fare anche molto di più di quello che altrimenti avresti fatto solo 491 00:24:17,670 --> 00:24:18,920 farlo con HTML. 492 00:24:18,920 --> 00:24:21,630 Ma richiede pratica, un sacco di pratica. 493 00:24:21,630 --> 00:24:26,897 >> Sapete già come lavorare con C, e così il salto di PHP non è troppo difficile. 494 00:24:26,897 --> 00:24:28,730 Che cosa è forse un po ' po 'complicato sta lavorando 495 00:24:28,730 --> 00:24:33,180 con questa nuova idea di GET e POST, e magari mescolando il codice HTML e PHP 496 00:24:33,180 --> 00:24:34,220 insieme. 497 00:24:34,220 --> 00:24:37,570 Ma anche essere consapevoli del fatto che Internet è un vasto archivio di informazioni. 498 00:24:37,570 --> 00:24:41,670 E la documentazione di PHP è disponibile in molti luoghi, ma forse più 499 00:24:41,670 --> 00:24:43,354 canonicamente a php.net. 500 00:24:43,354 --> 00:24:45,520 E si possono trovare lì, un sacco di funzioni diverse, 501 00:24:45,520 --> 00:24:48,330 Utilizzando casi ed esempi upon esempi, su esempi. 502 00:24:48,330 --> 00:24:51,340 Dove se si vuole cercare di figura il modo di fare qualcosa, le probabilità sono, 503 00:24:51,340 --> 00:24:52,964 qualcuno sta probabilmente fatto prima di voi. 504 00:24:52,964 --> 00:24:55,840 E si possono usare come ispirazione per realizzare qualunque 505 00:24:55,840 --> 00:24:58,230 è si sta cercando di attuare anche. 506 00:24:58,230 --> 00:24:59,230 >> Sono Doug Lloyd. 507 00:24:59,230 --> 00:25:01,210 Questo è CS50. 508 00:25:01,210 --> 00:25:02,608