![]() |
|
Editore: Mc Graw Hill Pagine: 1116 Autore: Converse Tim, Park Joyce, Morgan Clark Collana: Informatica professionale Acquistalo a prezzo scontato:
|
Data Pubblicazione: 2004-10-01 ISBN: 8838643962 Prezzo: 59.90 € Lingua: Italiano |
PHP e MySQL formano una squadra formidabile, e se si possiede una certa dimestichezza con l’HTML, questo manuale consentira' di creare siti Web database-backed/PHP-driven in pochissimo tempo. Insieme alle nuove caratteristiche di PHP5, si imparera' a installare, amministrare e utilizzare MySQL 4.0 nella progettazione dei database. In questo libro si trovera' tutto cio' che serve per trarre il maggior vantaggio da tutto cio' che questa dinamica coppia ha da offrire, a partire dai fondamenti di PHP, fino alla connessione di pagine Web HTML a MySQL, PostgreSQL e Oracle.
Tra gli argomenti:
Benvenuti nella guida completa a PHP5 e MySQL!
Gli autori di questo libro, sebbene ammettano di essere di parte, ritengono
che il linguaggio di scripting Web PHP possa essere considerato il vincitore
senza troppi sforzi fra tutti i prodotti della sua nicchia, di gran lunga il piu'
semplice e il piu' flessibile fra gli strumenti lato server per creare e far girare
velocemente ottimi siti Web. Anche se milioni di programmatori Web sparsi
in tutto il mondo potrebbero sbagliarsi, in questo caso particolare, non e' cosi.
MySQL e' la piattaforma per i database open source piu' conosciuta e rappresenta
la prima scelta per molti per creare siti Web database-backed/PHP-driven.
Cos’e' PHP?
PHP e' un linguaggio di scripting Web open source, lato server e incorporato in
HTML compatibile con tutti i maggiori server Web (in particolare con Apache).
PHP permette di includere parti di codice nelle normali pagine HTML – codice
che viene interpretato quando le pagine Web vengono passate all’utente dal
server. PHP inoltre svolge anche la funzione di linguaggio “collante”, rendendo
piu' semplice la connessione delle pagine Web ai database server-side.
Perche' PHP?
Quasi tutto il Capitolo 1 sara' dedicato a questa domanda. La risposta piu' breve
e' che PHP e' libero, open source, completo, adatto a tutte le piattaforme,
stabile, veloce, progettato in modo chiaro, facile da imparare e lavora bene
insieme agli altri sistemi.
Cosa c’e' di nuovo in questa edizione?
L’intento iniziale degli autori per la stesura di questo libro era di riorganizzare
semplicemente l’edizione precedente e aggiornarla alla versione 5 di PHP.
Tuttavia, si sono resi conto che sebbene le edizioni precedenti si fossero occupate
anche dell’interazione tra PHP e MySQL, i lettori erano stati lasciati
completamente all’oscuro sul modo in cui si potevano creare e amministrare
i database MySQL, e questo li aveva portati a fare molte domande. Di conseguenza,
gli autori hanno deciso di rafforzare la parte dedicata a MySQL e di
cambiare il titolo del libro.
Nuovi aspetti di PHP5
Sebbene la maggior parte delle funzionalita' di PHP4 rimangano immutate
in PHP5, ci sono stati alcuni profondi cambiamenti.
Fra le novita' trattate in questo libro, si possono citare:
Altro materiale nuovo
Oltre alle caratteristiche specifiche di MySQL e PHP5, sono state aggiunte:
Chi ha scritto il libro?
Le prime due versioni del libro sono state scritte da Converse e Park, con un
capitolo “ospite” scritto da Dustin Mitchell e technical editing di Richard
Lynch. Per questa versione, Clark Morgan si e' assunto la maggior parte del
lavoro di revisione, con l’aiuto di Converse e Park cosi come di David Wall
e Chris Cornell, che ha contribuito anche ai capitoli e si e' occupato del technical
editing.
A chi e' rivolto questo libro
Questo libro e' rivolto a tutti coloro che vogliono realizzare un sito Web che
abbia modalita' di funzionamento piu' complesse rispetto a quelle possibili con
una pagina HTML statica. All’interno di questo pubblico, sono stati presi in
considerazione i tre seguenti tipi di persone:
Questo volume non e' un manuale
Il gruppo per la documentazione di PHP ha realizzato un grande manuale in linea
all’indirizzo www.php.net, fatto (ovviamente) con PHP. Questo volume non e'
quel manuale o un suo sostituto. Lo si puo' vedere come complemento del manuale
e probabilmente si passera' da uno all’altro per ulteriori approfondimenti.
In generale si trovera' che il manuale in linea e' ben comprensibile, copre
tutti gli aspetti e le funzioni del linguaggio ma, inevitabilmente, non ha un
grande approfondimento dei singoli argomenti. Per contro, in questo libro,
sono stati sviluppati gli aspetti piu' utilizzati o di difficile comprensione, e si
sono forniti una base, spiegazioni ed esempi esaurienti.
Come e' organizzato il libro
Questo volume e' suddiviso in sei parti, come mostrato dalla sezione seguente.
Parte I: PHP: i fondamenti
Questa parte e' stata pensata con l’intento di introdurre velocemente il lettore
agli aspetti essenziali di PHP, rimandando alle Parti finali gli aspetti piu'
complessi.
Introduzione XV
PARTE PRIMA - PHP: i fondamenti 1
Capitolo 1 Perche' PHP e MySQL? 3
1.1 Cos’e' PHP? 3
1.2 Cos’e' MySQL? 4
1.3 La storia di PHP 5
1.4 La storia di MySQL 6
1.5 Le ragioni per amare PHP e MySQL 7
1.6 Sommario 21
Capitolo 2 Scripting Web lato server 23
2.1 HTML statico 23
2.2 Tecnologie lato client 26
2.3 Scripting lato server 30
2.4 A cosa serve lo scripting lato server? 36
2.5 Sommario 37
Capitolo 3 Iniziare con PHP 39
3.1 Hosting e DIY a confronto 39
3.2 Installare PHP 45
3.3 Sommario 58
Capitolo 4 Aggiungere PHP a HTML 59
4.1 HTML e' gia' compatibile con PHP 59
4.2 Uscire da HTML 59
4.3 Sommario 66
Capitolo 5 Sintassi e variabili 67
5.1 PHP e' indulgente 67
5.2 HTML non e' PHP 68
5.3 La sintassi di PHP e' simile a C 68
5.4 Commenti 73
5.5 Variabili 75
5.6 Tipi in PHP: non ci si deve preoccupare 80
5.7 Sommario dei tipi 81
5.8 I tipi semplici 82
5.9 Output 92
5.10 Sommario 94
Capitolo 6 Controllo e funzioni 97
6.1 Espressioni booleane 98
6.2 Diramazioni 103
6.3 Commenti 109
6.4 Sintassi di controllo alternative 117
6.5 Terminare l’esecuzione 118
6.6 Utilizzo di funzioni 121
6.7 Documentazione delle funzioni 122
6.8 Definire le proprie funzioni 124
6.9 Ambito di funzioni e variabili 128
6.10 Ambito delle funzioni 134
6.11 Sommario 137
Capitolo 7 Scambio di informazioni tra pagine 139
7.1 HTTP non ha stato 139
7.2 Argomenti GET 140
7.3 Un utilizzo migliore per gli URL in stile GET 143
7.4 Argomenti POST 145
7.5 Formattazione delle variabili di modulo 146
7.6 Array superglobali in PHP 153
7.7 Esempio esteso: un calcolatore di esercizi 155
7.8 Sommario 158
Capitolo 8 Stringhe 159
8.1 Le stringhe in PHP 159
8.2 Funzioni di stringa 164
8.3 Esempio esteso: un calcolatore di esercizi 176
8.4 Sommario 181
Capitolo 9 Array e funzioni di array 183
9.1 Utilizzi degli array 183
9.2 Cosa sono gli array di PHP? 184
9.3 Creazione di array 186
9.4 Recuperare valori 189
9.5 Array multidimensionali 190
9.6 Esaminare gli array 192
9.7 Cancellare dagli array 193
9.8 Iterazione 193
9.9 Esempio esteso: un calcolatore di esercizi 204
9.10 Sommario 216
Capitolo 10 Numeri 217
10.1 Tipi numerici 217
10.2 Operatori matematici 218
10.3 Funzioni matematiche semplici 222
10.4 Casualita' 223
10.5 Esempio esteso: un calcolatore di esercizi 228
10.6 Sommario 233
Capitolo 11 Risoluzione dei problemi di PHP 235
11.1 Problemi relativi all’installazione 235
11.2 Problemi di visualizzazione 237
11.3 Problemi nel caricamento di pagine 242
11.4 Errori di analisi 243
11.5 Permessi dei file 247
11.6 Include mancanti 247
11.7 Variabili non assegnate 248
11.8 Variabili sovrascritte 251
11.9 Problemi con le funzioni 252
11.10 Problemi matematici 253
11.11 Time-out 255
11.12 Sommario 256
PARTE SECONDA - PHP e MySQL 259
Capitolo 12 Scegliere un database per PHP 261
12.1 Cos’e' un database? 261
12.2 Perche' un database? 262
12.3 Scegliere un database 265
12.4 Funzioni avanzate 268
12.5 Database supportati da PHP 272
12.6 Astrazione del database (o no) 272
12.7 L’obiettivo: MySQL 274
12.8 Sommario 275
Capitolo 13 Tutorial di SQL 277
13.1 Database relazionali e SQL 277
13.2 Gli standard di SQL 278
13.3 I cavalli da tiro di SQL 278
13.4 Progetto di database 285
13.5 Privilegi e sicurezza 288
13.6 Sommario 292
Capitolo 14 Amministrazione di database MySQL 293
14.1 Licenza MySQL 293
14.2 Installazione di MySQL: passaggio alla Versione 4 295
14.3 Amministrazione di utenti in MySQL 302
14.4 Backup 309
14.5 Duplicazione 311
14.6 Recupero 314
14.7 Sommario 316
Capitolo 15 Funzioni PHP/MySQL 317
15.1 Connettersi a MySQL 318
15.2 Realizzare le query MySQL 319
15.3 Recuperare i set di dati 321
15.4 Ottenere i dati relativi ai dati 324
15.5 Connessioni multiple 325
15.6 Incorporare il controllo degli errori 327
15.7 Creare i database MySQL con PHP 328
15.8 Funzioni MySQL 332
15.9 Sommario 333
Capitolo 16 Visualizzazione di query in tabelle 335
16.1 Tabelle HTML e tabelle di database 336
16.2 Mappature complesse 342
16.3 Creazione delle tabelle di esempio 348
16.4 Sommario 350
Capitolo 17 Amministrazione di database MySQL 351
17.1 Moduli HTML 351
17.2 Invio di moduli di base a un database 352
17.3 Auto invio 354
17.4 Modificare i dati con un modulo HTML 362
17.5 Sommario 373
Capitolo 18 Efficienza PHP/MySQL 375
18.1 Connessioni: ridurre, riutilizzare, riciclare 375
18.2 Indicizzazione e design di tabelle 378
18.3 Realizzare un database che risponda alle proprie esigenze 385
18.4 Sommario 391
Capitolo 19 Risoluzione dei problemi con PHP/MySQL 393
19.1 Nessuna connessione 393
19.2 Problemi con i privilegi 396
19.3 Virgolette non codificate 397
19.4 Dichiarazioni SQL interrotte 400
19.5 Pochi dati, troppi dati 404
19.6 Funzioni specifiche di SQL 404
19.7 Debug e controllo del codice 406
19.8 Sommario 407
PARTE TERZA - Funzioni e tecniche avanzate 409
Capitolo 20 Programmazione a oggetti con PHP 411
20.1 Cos’e' la programmazione a oggetti? 411
20.2 Costrutti fondamentali PHP per OOP 418
20.3 Caratteristiche avanzate di OOP 425
20.4 Funzioni di introspezione 435
20.5 Esempio esteso: moduli HTML 446
20.6 Risoluzione di problemi 452
20.7 Stile OOP in PHP 453
20.8 Sommario 455
Capitolo 21 Funzioni di array avanzate 457
21.1 Trasformazioni di array 457
21.2 Stack e code 463
21.3 Corrispondenza tra variabili e array 465
21.4 Ordinamento 466
21.5 Funzioni di stampa per visualizzare gli array 467
21.6 Sommario 468
Capitolo 22 Funzioni di stringa ed espressioni regolari 471
22.1 Funzioni di suddivisione in token e analisi 471
22.2 Perche' utilizzare le espressioni regolari? 474
22.3 Espressioni regolari compatibili Perl 478
22.4 Funzioni di stringa avanzate 485
22.5 Sommario 489
Capitolo 23 Funzioni di filesystem e di sistema 491
23.1 Comprendere i permessi dei file PHP 491
23.2 Funzioni di lettura e scrittura dei file 492
23.3 Funzioni di filesystem e di directory 501
23.4 Funzioni di rete 503
23.5 Funzioni di data e ora 505
23.6 Funzioni di conversione del calendario 507
23.7 Sommario 509
Capitolo 24 Sessioni, cookie e HTTP 511
24.1 Cos’e' una sessione? 511
24.2 Alternative casalinghe 512
24.3 Come funzionano le sessioni in PHP 515
24.4 Codice di esempio di sessione 520
24.5 Funzioni di sessione 524
24.6 Questioni di configurazione 525
24.7 Cookie 526
24.8 Inviare intestazioni HTTP 534
24.9 Errori e risoluzione di problemi 537
24.10 Sommario 537
Capitolo 25 Tipi e conversioni di tipi 539
25.1 Sommario dei tipi 539
25.2 Le risorse 540
25.3 Verifica dei tipi 541
25.4 Assegnazione e coercizione 542
25.5 Sommario 548
Capitolo 26 Utilizzo avanzato delle funzioni 549
26.1 Numeri variabili di argomenti 549
26.2 Chiamata per valore 553
26.3 Chiamata per riferimento 554
26.4 Nomi di funzioni variabili 556
26.5 Un esempio esteso 557
26.6 Sommario 560
Capitolo 27 Operazioni matematiche 561
27.1 Costanti matematiche 561
27.2 Test sui numeri 562
27.3 Conversione di base 563
27.4 Esponenti e logaritmi 566
27.5 Trigonometria 567
27.6 Precisione arbitraria (BC) 570
27.7 Sommario 575
Capitolo 28 PEAR 577
28.1 Cos’e' PEAR? 577
28.2 Il sistema di pacchetti PEAR 579
28.3 PHP Foundation Classes (PFC) 586
28.4 PHP Extension Code Library (PECL) 586
28.5 Lo stile di codifica PEAR 586
28.6 Sommario 590
Capitolo 29 Sicurezza 593
29.1 Attacchi possibili 594
29.2 Globali di registro 604
29.3 Upload dei file 607
29.4 Cifratura 611
29.5 FYI: siti Web di sicurezza 619
29.6 Sommario 620
Capitolo 30 Configurazione 621
30.1 Visualizzazione delle variabili di ambiente 621
30.2 Capire la configurazione di PHP 621
30.3 Migliorare le prestazioni di PHP 634
30.4 Sommario 637
Capitolo 31 Eccezioni e gestione degli errori 639
31.1 Gestione degli errori in PHP5 639
31.2 Altri metodi per la gestione degli errori 646
31.3 Registrazione e debug 650
31.4 Sommario 651
Capitolo 32 Debug 653
32.1 Strategie generiche di risoluzione dei problemi 654
32.2 Un serraglio di bug 655
32.3 Utilizzo dei registri del server Web 656
32.4 Registrazione e comunicazione degli errori in PHP 659
32.5 Funzioni per la comunicazione degli errori 661
32.6 Strumenti di debug visivi 666
32.7 Sommario 668
Capitolo 33 Stile 671
33.1 Utilizzo dello stile 671
33.2 Leggibilita' 672
33.3 Facilita' di manutenzione 679
33.4 Robustezza 682
33.5 Efficienza e concisione 684
33.6 Modalita' HTML o modalita' PHP? 690
33.7 Separazione del codice dalla struttura 694
33.8 Sommario 697
PARTE QUARTA - Connessioni 699
Capitolo 34 PostgreSQL 701
34.1 Perche' scegliere PostgreSQL? 701
34.2 Perche' “relazionale a oggetti”? 702
34.3 Installazione di PostgreSQL 703
34.4 Verso il vero lavoro 707
34.5 PHP e PostgreSQL 708
34.6 Il database dei cartoni animati 709
34.7 Sommario 717
Capitolo 35 Oracle 719
35.1 Quando e' necessario Oracle? 719
35.2 Oracle e l’architettura Web 722
35.3 Utilizzo delle funzioni OCI8 725
35.4 Progetto: editor delle voci 730
35.5 Progetto: editor dei gruppi 740
35.6 Sommario 749
Capitolo 36 Funzioni per i database PEAR 751
36.1 La discutibile virtu' dell’indipendenza dal database 752
36.2 Concetti su PEAR DB 756
36.3 Funzioni di PEAR DB 761
36.4 Sommario 763
Capitolo 37 Posta elettronica 765
37.1 Comprensione della posta elettronica 765
37.2 Ricezione di posta elettronica con PHP 771
37.3 Invio di posta elettronica con PHP 773
37.4 Divertirsi con la posta elettronica PHP 777
37.5 Problemi di posta elettronica 787
37.6 Sommario 788
Capitolo 38 PHP e JavaScript 789
38.1 Output di codice JavaScript con PHP 789
38.2 PHP come backup per JavaScript 792
38.3 JavaScript statico e dinamico 794
38.4 Sommario 804
Capitolo 39 PHP e Java 805
39.1 PHP per i programmatori Java 805
39.2 Integrazione di PHP e Java 809
39.3 Sommario 817
Capitolo 40 PHP e XML 819
40.1 Che cos’e' XML? 819
40.2 Utilizzo di XML 823
40.3 Documenti e DTD 824
40.4 SAX e il DOM 829
40.5 DOM 830
40.6 SAX 833
40.7 API SimpleXML 837
40.8 Un’applicazione XML di esempio 839
40.9 Problemi e risoluzione 845
40.10 Sommario 845
Capitolo 41 Servizi Web 847
41.1 La fine della programmazione classica 847
41.2 REST, XML-RPC, SOAP, .NET 851
41.3 Problemi correnti dei servizi Web 855
41.4 Progetto: un client REST 857
41.5 Progetto: un client e un server SOAP 862
41.6 Sommario 866
Capitolo 42 Grafica 867
42.1 Opzioni a disposizione 867
42.2 Grafica HTML 868
42.3 Creazione di immagini con gd 872
42.4 Problemi e risoluzione 890
42.5 Sommario 892
PARTE QUINTA - Studi di casi 893
Capitolo 43 Weblog 895
43.1 Perche' i Weblog? 895
43.2 Il Weblog piu' semplice 896
43.3 Aggiunta di uno strumento di modifica HTML 902
43.4 Aggiunta della connettivita' al database 903
43.5 Modifiche e aggiunte 911
43.6 Sommario 911
Capitolo 44 Autenticazione utente 913
44.1 Progettazione di un sistema di autenticazione utente 913
44.2 Evitare i comuni problemi di protezione 915
44.3 Registrazione 918
44.4 Accesso e disconnessione 926
44.5 Strumenti per l’utente 931
44.6 Strumenti per l’amministratore 944
44.7 Sommario 948
Capitolo 45 Un sistema di valutazione per l’utente 949
45.1 Progettazione iniziale 949
45.2 Raccolta dei voti 952
45.3 Aggregazione dei risultati 960
45.4 Estensioni e alternative 962
45.5 Sommario 963
Capitolo 46 Il gioco delle banalita' 965
46.1 Concetti utilizzati nel capitolo 965
46.2 Il gioco 966
46.3 Il codice 969
46.4 Considerazioni generali sul progetto 1004
46.5 Sommario 1005
Capitolo 47 Conversione di siti HTML statici 1007
47.1 Pianificazione dell’aggiornamento 1007
47.2 Riprogettazione dell’interfaccia utente 1010
47.3 Pianificazione di un nuovo schema per il database 1013
47.4 Dump dei dati in un database 1018
47.5 Utilizzo di modelli 1028
47.6 Prestazioni e utilizzo della cache 1036
47.7 Sommario 1039
Capitolo 48 Visualizzazione dei dati con i diagrammi di Venn 1041
48.1 Diagrammi di Venn in scala 1041
48.2 Struttura del codice 1042
48.3 Trigonometria necessaria 1043
48.4 Pianificazione della visualizzazione 1047
48.5 Visualizzazione 1054
48.6 Visualizzazione di un database 1056
48.7 Estensioni 1062
48.8 Sommario 1063
PARTE SESTA - Appendici 1065
Appendice A PHP per i programmatori C 1067
A.1 Somiglianze 1067
A.2 Differenze 1068
A.3 Guida al libro 1071
A.4 Buonuscita: e' sufficiente osservare il codice! 1072
Appendice B PHP per gli hacker Perl 1073
B.1 Somiglianze 1073
B.2 Differenze 1075
B.3 Suggerimenti vari 1078
B.4 Guida al libro 1079
Appendice C PHP per autori di codice HTML 1081
C.1 Le buone notizie 1081
C.2 Le cattive notizie 1082
C.3 Un po’ di concentrazione 1084
C.4 Da evitare inizialmente 1087
C.5 Da vagliare 1088
Appendice D Risorse per PHP 1091
D.1 Il sito Web di PHP 1091
D.2 Le mailing list di PHP 1093
D.3 Altri siti Web su PHP 1098
Indice analitico 1103
Blog PHP di Pro PHP
Manuale di PHP 5 di advanced techno
Guida alla crittografia in PHP di advanced techno
Programmazione PHP ad oggetti di NETTUTS
Guida alla crezione di un blog in PHP senza usare MySQL di WebMasterPoint
5 ottimi Manuali PHP di Abelski
Guida a Code Igniter di Pro PHP
Guida su tipi e variabili PHP di Carmelo Scuderi
Guida introduttiva al PHP di Carmelo Scuderi
Tutorial Zend PHP Framework di Chris Shiflett
Yahoo PHP Developer Center di Yahoo!
PHP Book di ZioBudda
Come creare un framework applicativo di CreativeWeb
Articoli, FAQ e altre risorse per PHP di Html.it
Gestire database MySQL con PHP4 di Beta
SQL Injections in PHP di CreativeWeb
Guida PHP di Risorse.net
Manuale PHP di PHP.net
Corso di PHP di SoftwarePlanet