Il Sito per imparare gratuitamente a fare pagine Web

Oggi: Martedì 07 Ottobre 2008   Ore: 22:03
 
Home · XHTML con Style · Primi Passi · Guida HTML · Guida CSS · Guida PHP · F.A.Q. · Scripting · Applets · Grafica Web · Forum · Comunicazioni Scrivimi
 
  Guida PHP
web-link
·Prefazione
·Introduzione al PHP
·Condizioni e variabili
·switch, cicli ed array
·gli editors PHP
·commenti, cicli while, array associativi
·MySQL
·MySQL parte II
·Inviare una mail e gestire un Form
·Un guestbook in PHP
·Un guestbook "ROBUSTO"
·Un guestbook un solo file
·Iscriviamo i nostri utenti!
·Un servizio di statistiche
web-link
  Fare Web
web-link
·Applets
·Banners
·Blog
·Chat
·Contatori
·DHTML
·E-Commerce
·Editors CSS
·Editors HTML
·Flash
·Forum
·F.T.P.
·Guestbooks
·Grafica
·Iscriz.Mot.Ricerca
·Java Applets
·Java Script
·Mailling List
·Mappe Cliccabili
·Meta Tags
·Mot.ricerca interno
·Scripting
·Sondaggi on-line
·Spazi Web
·Tag Boards
·URL forwarding
·Validatori HTML
·W3C Specifiche
·Web Designer
·Web Master
web-link
web-link


GUIDA A PHP di Claudio Curci - lezione 1: introduzione al PHP

Sommario lezione

. Cos'è il PHP? A cosa serve?
. Esistono altri linguaggi simili a PHP?
. Cosa occorre per creare pagine PHP?
. Il mio primo script!



Cos'è PHP? A cosa serve?
PHP è un linguaggio di scripting interpretato lato server. Credo che tutti conosciamo un linguaggio di scripting lato client come il Javascript.
Il javascript viene elaborato dal nostro browser (ecco perchè spesso una stessa istruzione può funzionare su Internet Explorer e non su Netscape); PHP viene invece elaborato da un motore presente sul server web.
Quando andiamo sul nostro browser e digitiamo un indirizzo, del tipo "http://www.sito.com/maradona.html", il nostro browser esegue (passando per diversi nodi, ma questo è un altro discorso) una richiesta al server che ospita il sito "sito.com" e la pagina "maradona.html". Il server si limita a restituire il file. Se nella pagina esistono degli script javascript, sarà compito del nostro browser leggerli, interpretarli ed eseguirli mano mano.
Se invece richiediamo una pagina contenente script php, il server interpreterà le istruzioni e soltanto dopo restituirà la pagina al nostro computer.
Cosa significa questo?
Riassumiamo in questa tabella le differenze tra un linguaggio di scripting interpretato dal client (javascript) ed uno interpretato dal server (PHP):

 JavascriptPHP
InterpreteLe istruzioni vengono lette ed interpretate dal browser dell'utenteIl webserver (solitamente Apache) ospita un "motore" che interpreta le istruzioni PHP e restituisce la pagina al client
Codice visibileIl codice, essendo interpretato dal browser, viene comunque scaricato sul pc dell'utenteIl codice, una volta interpretato, non viene mostrato nel file html restituito all'utente
Possibilità interagire eventiPuò interagire su tutti gli eventi dell'utente (click, mouseOver, doubleClick, submit, select..)Essendo interpretato lato server, non è in grado di interagire con gli eventi del client. Una volta caricato il file, per eseguire una nuova istruzione PHP è necessaria una nuova richiesta al server (un reload o una nuova pagina)
Controllo campi formPermette di verificare che tutti i campi siano compilati prima che la form venga inviata; tuttavia è possibile disabilitare i javascript nel browser e tale controllo potrebbe rivelarsi inutileCome detto, PHP necessita di una nuova richiesta al server per eseguire operazioni. Per controllare i campi della form sarà quindi necessario l'invio del modulo. L'utente dovrà attendere il caricamento di una nuova pagina (in javascript invece il controllo è in "tempo reale"); tuttavia è un check più sicuro perchè via browser non è possibile disabilitare le istruzioni PHP.
Possibilità interagire file lato clientJavascript offre delle istruzioni per aprire e leggere file presenti sul client. Tuttavia sono comandi poco utilizzati, anche perchè richiedono l'autorizzazione dell'utente.PHP non offre alcun supporto alla lettura di file lato client. Consente tuttavia l'upload di file e gestisce anche sessioni FTP.
Possibilità interagire file lato serverRisiedendo sul client dell'utente, Javascript non può creare o cancellare file sul filesystem del server.E' possibile creare, modificare, eliminare, aprire, leggere file sul server.
Scambio dati con databaseNon offre alcun supporto ai database (tranne qualche "simulazione" di db in formato array-oggetti memorizzato su file di testo)Supporta i db più diffusi, compresi Access, Oracle, SQlserver e sopratutto MySql.

Come vedete dalla tabella, PHP e Javascript sono linguaggi complementari. Scordatevi, con PHP, di cambiare un'immagine al passaggio del mouse (il classico "mouseover" per i rollover) perchè PHP gira sul server, e non può sapere quando voi cliccate o passate il mouse in una determinata area; di contro, scordatevi con Javascript di interrogare un database, eseguire un login di un utente e magari memorizzare la sessione...



Esistono altri linguaggi simili a PHP?
Di sicuro avrete sentito parlare di altri linguaggi di scripting utilizzati nel web: Asp, Cold Fusion, JSP..
Per quale motivo dovreste preferire PHP ad ASP, Cold Fusion o a JSP? In effetti PHP ed ASP servono più o meno alle stesse cose; ASP è preferito su ambienti Microsoft, PHP su UNIX/LINUX (attenzione: stiamo parlando dell'utilizzo lato server, potrete testare i vostri script php su un pc-windows senza problemi, come vedremo in seguito).
Tra i due, personalmente consiglio PHP perchè utilizza una sintassi C-LIKE, quindi simile al C, al C++, al Perl, al Java, al Javascript. Se già conoscete uno di questi linguaggi, PHP è una passeggiata. Se non li conoscete, grazie a PHP potrete apprenderli più facilmente. Niente male per il vostro curriculum.
ASP invece ha una sintassi più simile al Visual Basic.
Altra differenza: ASP è un linguaggio di mamma Microsoft, PHP è open source. Sappiamo bene la differenza tra il dipendere dai capricci dell'uno e dalla competenza degli sviluppatori dell'altro no? (vedi Microsoft - Unix). In effetti, i dev PHP non stanno deludendo le attese visto che sono in cantiere progetti da brivido (tipo PHP-GTK, ovvero librerie che consento di creare applicazioni e finestre con PHP come se fosse un linguaggio di programmazione vero e proprio..)
Cold Fusion ve lo sconsiglio vivamente. Poco supportato in Italia, sia tra i provider che tra gli sviluppatori. MacroMedia, proprietaria del linguaggio, sbandiera spesso il fatto che per eseguire una query e mostrare i risultati bastano 6 righe di codice. A parte che in PHP ne servono poche di più, semplicità e potenza sono concetti che spesso si escludono a vicenda. E sul web non si fanno solo query... In ogni caso ricordate: in Italia lo usano in pochi, quando avrete un problema con uno script Cold Fusion non sarà facile trovare un forum o un newsgroup che se ne occupi e che vi fornisca un aiuto. PHP ed ASP hanno alle spalle una marea di programmatori e di script (e se parliamo di script intendiamo interi forum o portali, non solo banali istruzioni per stampare la data e l'ora a video) gratuiti...
Infine, le JSP, ovvero le Java Server Pages. Sono uno strumento potente, ma prima di usarle dovete aver dimestichezza con Java.



Cosa occorre per creare pagine PHP?
In sostanza due cose:
- un web server (ovvero il software che si occupa di gestire le connessioni e restituire le pagine interpretate), nel nostro caso il famoso Apache
- il motore che interpreta gli script PHP.
Per prima cosa occorre cercare un provider che ospiti le nostre pagine e che, ovviamente, supporti PHP.
Non tutti i provider supportano PHP, altri usano Asp, alcuni Cold Fusion.. informatevi prima.
Questo ovviamente nel caso in cui vogliate mettere online i vostri script; ma se voleste solo eseguire dei test e imparare PHP sul pc di casa? Oppure se voleste mettere online i vostri script ma non possedeste una connessione ADSL (bella spesa eseguire una connessione ftp e trasferire file ad ogni modifica..)?

La soluzione è installare il web server e il motore PHP in locale, proprio sul nostro computer.
Potete installare Apache e PHP sia su Linux (ambiente in cui sono nati) sia su Windows. L'installazione e la configurazione non è semplice, ma qualcuno ha avuto la felice idea di creare un pacchetto che con un semplice doppio click si occupa di tutto: EasyPHP!
EasyPHP fa anche di più: oltre ad installare il web server e configurarlo adeguatamente per il motore PHP, mette a nostra disposizione nientemeno che MySQl (si pronuncia "maisiquel", non fatevi sentire con il "maiesquel" tipico dei neofiti -tra un paio di lezioni non lo sarete più.. -), un database con il quale potremo interagire da subito.
Tutti questi prodotti (il web server, il motore PHP, il database) sono freeware quindi possiamo utilizzarli senza problemi (in barba al caro Access..)

L'installazione di EasyPHP è immediata, il solito doppio click e seguiamo il wizard. Al termine, anche se non richiesto, riavviamo il sistema. A questo punto basta cliccare sulla "e" nella cartella dei programmi ed il web server è a nostra disposizione!
La configurazione è immediata, EasyPHP mette a disposizione poche opzioni nella schermata iniziale. Vediamo quali:


Quando cliccate sulla "e" dovete attendere che i due semaforini in alto diventino verdi: vuol dire che è stato avviato sia il web server Apache, sia il database Mysql (quest'ultimo sarà oggetto di una lezione a parte, per ora non preoccupatevi di cosa significhi "avviare il demone Mysql").
Le altre opzioni che trovate sotto possono essere lasciate come in figura, volevo farvi notare la prima che vi consente di lanciare EasyPHP all'avvio di Windows (personalmente lo sconsiglio perchè rallenta il sistema ad ogni sessione, anche se avete acceso il computer soltanto per una partita a FreeCell).
A questo punto possiamo chiudere la finestra, una "e" lampeggiante vicino l'orologio di windows conferma che l'applicazione è in esecuzione, pronta a rispondere alle vostre richieste di connessione.


Il mio primo script!
Eseguiamo il nostro primo script che, come di rito è "Hello World!".
Per scrivere il codice possiamo usare un qualsiasi editor di testo, anche l'edit del prompt DOS. Nelle prossime lezioni impareremo anche ad usare un editor PHP, che renderà più veloce il nostro lavoro. Per ora usiamo il caro notepad, creiamo un nuovo documento e scriviamo il codice qui in basso.
Attenzione: a fianco del codice ho inserito il numero della riga relativa. Questo per facilitare il commento successivo, ma ovviamente quando copiate questi script NON dovete inserire il numero d'inizio riga!



Adesso salviamo il file creato chiamandolo "mio_primo_script.php".
Il nome del file ("mio_primo_script") può ovviamente essere qualsiasi, proprio come per una pagina html. Quello che è necessario è invece l'estensione: non salvate il file come "nomefile.html" ma come "nomefile.php".
Se il web server vede un file .html non andrà alla ricerca di tag php da interpretare, per cui quello che avete scritto verrà visualizzato sul browser come normale testo.
In realtà è possibile configurare il web server perchè ricerchi tag php anche in file con estensione .html, ma è sconsigliato perchè il sistema viene ovviamente appesantito.
Se state usando notepad, attenzione a selezionare "tutti i file" dal menù "salva come:", altrimenti vi trovereste con un file del tipo "mio_primo_script.php.txt".
Altra cosa importante è dove salvare il file. Non potete salvarlo dove volete perchè va messo nella root del web server.
Precisamente, va salvato dentro la cartella WWW che trovate nella directory di EasyPHP (verosimilmente, in C:\Programmi\EasyPHP\www).
Questo perchè il web server Apache è in ascolto sul suo sito locale, che punta a quella directory.
Per eseguire il file occorre aprire Internet Explorer e digitare nella url http://localhost/mio_primo_script.php
Adesso dovrebbe essere visibile lo script interpretato: nella pagina bianca del browser dovrebbe apparire la scritta "hello world"!

Cosa è successo? Analizziamo il codice che abbiamo scritto. Le righe 1-5 e 9-10 non necessitano di commento, sono le classiche istruzioni base di una pagina html. Come vedete, PHP viene integrato in un normale file html.
Per far capire al web server che stiamo per scrivere delle istruzioni PHP, occorre usare due tag speciali: "<?php" (tag di apertura) e "?>" (tag di chiusura codice).
Tutte le istruzioni comprese tra questi due tag saranno considerate come script php. E' possibile inserire anche più istruzioni all'interno dei tag di apertura/chiusura codice, cosi come è possibile usare in più volte nella pagina script php.
La riga 7 contiene l'unica istruzione di questo file. Con echo richiamiamo una delle funzioni predefinite di PHP, che ha il compito di stampare a video una stringa. PHP offre al programmatore centinaia di funzioni predefinite, che vedremo mano mano nelle prossime lezioni e che potete trovare sul manuale in italiano.
La seconda parte dell'istruzione contiene la stringa da stampare, compresa tra i classici doppi apici (altrimenti PHP non potrebbe sapere quando inizia e quando finisce ciò che deve stampare).
Al termine della riga troviamo il punto e virgola di chiusura istruzione.
Ricordate: Ogni istruzione PHP deve sempre essere terminata con il punto e virgola.
Sotto questo aspetto, PHP è più rigido di javascript, che interpreta correttamente le istruzioni anche se non viene messo il punto/virgola: viene considerato delimitatore di codice la fine riga. Se dimenticate anche un solo ";" al termine di una istruzione PHP, otterrete una pagina bianca con la descrizione dell'errore e (meno male!) la riga nella quale ricercare il problema.


Termina qua la prima lezione del corso php. In attesa della prossima, non esistate a segnalare i vostri dubbi sul forum di web-link!






  Potete fare domande e discutere l'argomento sul Forum



  Risorse
· Forum
· F.A.Q.
· Frames
· Scripting
· Applets
· Grafica Web
· Banner Exchange
· Novità
  Servizi
· News Letter
· Sondaggio
· I Files Scaricati
· Segnala il sito
· Leggi Guestbook
· Firma Guestbook
· Banners
  Linguaggi
· A.J.A.X.
· A.S.P.
· C.G.I.
· C.S.S.
· Flash
· H.T.M.L.
· X.H.T.M.L.
· Java
· JavaScript
· P.E.R.L.
· P.H.P.
· X.M.L.
  Download
· Primi Passi
· Guida HTML
· Guida CSS
· Tutorial XHTML
 
· Home Page Home Page · Aggiungi ai preferiti Aggiungi ai preferiti · Segnala ad un amico Segnala il sito ai tuoi amici ·
 

Valid CSS!
Valid HTML 4.01!

Questa pagina è esclusiva proprietà di © Web-Link © Andrea Bianchi 1997 ~ 2008
Vietata la copia e la distribuzione, anche parziale, senza la previa autorizzazione scritta di Web-Link