• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida [Completa]Inizio del php (1° guida)

maxsteiontt

Utente bannato
Autore del topic
10 Febbraio 2010
418
0
Miglior risposta
0
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):

Iniziamo( lezione 1/2)
Nostro primo script:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Analizziamo il codice
Le righe 1-5 e 9-10 sono le istruzioni base di una pagina html.
Nella riga 6 e 8 sono le due tag speciali che fanno capire al web server che stiamo per scrivere delle istruzioni in php "<?php (tag di apertura) mentre ?>(tag di chiusura)"...Tutte le istruzioni comprese tra questi due tag saranno considerate come script php.
Nella riga 7 c'è l'unica istruzione di questo file che è "echo" con questa funzione diciamo al web server di stampare una stringa...Al termine della riga troviamo il punto e virgola di chiusura istruzione.


Lezione (2/2)
Adesso vi voglio insegnare una funzione che non è molto utile questa funzione è "date("j/n/Y")" cosa e? questa funzione permette di scrivere la data ad esempio "01/02/2010"
Apriamo una breve parentesi, visto che vorrete di sicuro provare la funzione date().
Aprite il vostro bel notepad e provate:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Cosa abbiamo fatto? A php gli abbiamo detto di stampare la frase oggi è aggiungendo la data di oggi quindi uscirà: "oggi è: 05/11/2010" spero avrete capito.


Per ottenere il giorno della settimana corrente, dovremo usare il parametro "w":
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Viene restituito 0 se è oggi è domenica, 1 se è lunedi, 2 se è martedi 3 mercoledi 4 giovedi 5 venerdi 6 sabato.


Struttura logica di uno script
Analizzato il problema, il passo successivo è quello di creare la struttura logica.
Dobbiamo dire al nostro interprete php qualcosa del genere:
se oggi è domenica, colora lo sfondo di giallo;
se oggi è lunedi, colora lo sfondo di verde;
se oggi è martedi, colora lo sfondo di blu;
e cosi via.
I moderni linguaggi di programmazione usano una sintassi molto simile a quella della lingua parlata (inglese, ovviamente..):
if(condizione){
comportamento
}

Quindi, avvicinandoci al PHP:
if(oggi è domenica){
colora lo sfondo di giallo;
}
if(oggi è lunedi){
colora lo sfondo di verde;
}



Ecco il nostro codice (sembra difficile ma non lo è):
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Analizziamo il codice
Tra la linea 1-5 sono sempre le funzioni principali di una pagina html.
La linea 6 e una nuova tag e sarebbe la tag per la tabella.
il <tr> (Riga 7) va ad aprire la tabella e nella riga 31 va a chiudere.
Analizziamo il codice php:
Sta dicendo if(se) la data "w" e uguale a 0 (cioe domenica) devi stampare Ciao!oggi e domenica attenzione c'è un <td bgcolor=FFFF00 vuol dire che in questa frase devi mettere lo sfondo rosso e poi chiude con </td> il codice e uguale per tutti cambia solo il numero "1,2,3 ecc... e il nome del giorno e ovviamente il colore dello sfondo(bgcolor)


Miglioriamo il nostro codice
Lo script funziona ma va migliorato.Guardate bene il codice scritto sopra. Ipotizziamo che oggi sia domenica: se è verificata quindi la prima condizione, che senso ha controllare le altre? Ovviamente, oggi non può essere sia domenica che giovedì.. bisogna far capire al programma che, quando trova il giorno odierno, deve fermarsi e non controllare le condizioni successive.
PHP mette a disposizione un altro operatore, else if ("altrimenti, se.. ") che fa al caso nostro. Riscriviamo lo script precedente con questa piccola correzione:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Credo non ci sia bisogno di ulteriori commenti: se è verificata la prima condizione, il programma stampa il codice relativo alla domenica. Il resto non viene eseguito perchè, essendo verificato il primo "se(condizione)", non esiste un "altrimenti se..".
Se oggi è venerdi, abbiamo comunque risparmiato l'ultima verifica.
Nel primo script elaborato, invece, venivano verificate sempre tutte le 7 condizioni, perchè non avevamo indicato un "altrimenti" e quindi potevano essere -teoricamente- vere tutte quante.

Possiamo far di meglio

Vi sarà sicuramente capitato di non sapere il giorno della settimana. Cosa fate? Guardate l'orologio, o avvicinate il mouse sopra l'ora segnata da windows in attesa del box di data.
Se dopo un pò un vostro collega vi chiede il giorno, non andate a ripetere l'operazione fatta prima. Una volta vista la data nell'orologio, questa rimane memorizzata nel vostro cervello e potete rispondere immediatamente alla domanda del vostro collega.
Nello script elaborato in precedenza abbiamo invece fatto ricorso sempre alla funzione date(). E' come se avessimo detto a PHP "vedi che data è oggi, e poi vedi se è domenica", "vedi che data è oggi, e poi vedi se è lunedi".
Ogni volta PHP è costretto a richiamare la funzione date(), per risalire sempre allo stesso valore ritornato.
Se la nostra mente riesce a riservare un'area di memoria per ricordare, una volta per tutte (almeno fino a domani..), la data odierna, perchè non dovrebbe farlo un computer?
Senza volerlo (ecco l'utilità dell'approccio pratico), siamo arrivati a parlare delle variabili.
Una variabile è una "scatola", un contenitore, un'area di memoria destinato a conservare un valore per l'utilizzo durante il programma. L'utilità delle variabili emerge quando un valore deve essere utilizzato più volte (come il risultato di date() nel nostro caso), o quando serve un'appoggio per memorizzare informazioni per delle istruzioni.
Le variabili in PHP devono sempre iniziare con il segno di "dollaro" ($), e devono essere seguite almeno da una lettera o da un'underscore.

Per inserire un valore in una variabile viene usato il segno di "=" singolo (con il doppio "==" eseguiamo invece dei confronti, ricordate?)
A differenza di altri linguaggi, PHP non necessita di una dichiarazione esplicita delle variabili. Quando ne occorre una, basta utilizzarla (come in Javascript) e php destinerà un'area di memoria automaticamente.
Rivediamo allora il nostro script utilizzando una variabile per memorizzare il risultato di "date()":
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Nelle prime 5 righe sempre le funzioni basi per una pagina html.
nella 6-7 c'è la tag per la tabella e la tag di apertura.
Iniziamo con il php.
Per prima cosa diciamo a php che la Variabile giorno_odierno è uguale al giorno della settimana ("w").
Poi ci sono un sacco di if e noi analizziamo solo il primo che vale per tutti.
inziao con if(se) la variabile giorno_odierno (il giorno della settimana) è uguale (==) a 0 allora devi stampare(echo) "Ciao!Oggie domenica!" con sfondo rosso poi chiudiamo e c'è elseif(altrimenti se) la variabile giorno_odierno e uguale(==) a 0 allora devi stampare(echo) "Ciao!Oggi e lunedi! e chiudiamo... facciamo la stessa cosa con gli altri ma cambiamo il numero della variabile(cioe $giorno_odierno==1,2,3,4,5 ecc..) e poi il nome del giorno della settimana(martedi,mercoledi ecc...)
e poi ci sara </tr> che chiudera l'inizio della tabella e poi </table> che chiude la tabella



Per ogni dubbio non esitate a chiedere a me :emoji_slight_smile:

A breve scrivero la 2 guida con nuove funzioni :emoji_slight_smile:

Guida by weblink ma modificata da me :emoji_slight_smile:
 
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Uhm...Teoricamente questo codice non ha alcun senso, perchè l'istruzione .date("w"); non c'è, e quindi il browser non esegue nulla ( teoricamente ). Si dovrebbe prima scrivere l'istruzione :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

E successivamente :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Può darsi che mi sbaglio, però se il mio ragionamento è corretto, chi legge dovrebbe capire che le istruzioni si devono scrivere, e non possono essere sottintese.
 
Si il ragionamneto e giusto nel fatto che non ha senso sbagli perche io ho messo che se il giorno risulta 0 allora devi mostrare che oggi e domenica ecc... quindi ha senso e come ;)
Tanto farò un video per sciax2 per far capire meglio :=)
 
Ma vaffambagno... sempre copiare guide senza citare... mi sembra giusto. Fonte: Ptm Forum
Se non volete inserirla togliete pure questa discussione.
 
Ultima modifica da un moderatore:
Non ho copiato niente da li se leggi alla fine della guida c'è scritto "Guida by weblink ma modificata da me" non conosco questo ptm