Originariamente inviata da
Casco
ciao a tutti io volevo sapere se qualcuno di voi riusciva a darmi delle guide basi sul linguaggio PHP e sull'utilizzo di database come
MySQL,
MS-SQL,
PostgreSQL o
Access/ODBC.
mi andrebbero bene anche delle indicazioni per FTP.
Ringrazio in anticipo chiunque mi fornirà risposte. grazie
Cosa vuoi sapere esattamente? A cosa ti serve?
In linea di principio PHP è un linguaggio lato server che viene interpretato ogni volta che viene eseguito, per cui tu scrivi uno script php (come se fosse una pagina HTML), e questo, quando viene richiesto l'URL dello script, viene eseguito dal server su cui è ospitato, interpretato e restituito al server web, il quale poi ti rimanda indietro una pagina HTML.
Uno script PHP è quindi un file di testo scritto in un determinato modo; il codice PHP può essere accompagnato da codice HTML. Per definire un blocco di codice PHP devi necessariamente includere il tuo codice tra i tag <? e ?> oppure <?php e ?>. Ad esempio, se crei un file di testo vuoto e scrivi dentro:
Codice PHP:
<?
print "Questo ` del testo non formattato";
?>
ti uscirà
codice HTML:
Questo è del testo non formattato
Se scrivi:
Codice PHP:
<?
print "<b>Questo ` del testo formattato</b>";
?>
ti uscirà
codice HTML:
<b>Questo è del testo formattato</b>
Puoi anche combinare PHP e HTML:
Codice PHP:
<?
print "Questo viene interpretato come php<br/>";
?>
questo come html<br/>
<?
print "questo come php";
?>
<p>Questo è un paragrafo</p>
<?
print "<p>anche questo</p>";
?>
ti uscirà:
codice HTML:
Questo viene interpretato come php<br/>questo come html<br/>
questo come php<p>Questo è un paragrafo</p>
<p>anche questo</p>
Questo è per farti capire che PHP è un linguaggio di scripting interpretato dall'interprete PHP, il quale viene chiamato in causa dal server web ogni volta che viene richiesto un URL che prevede l'esecuzione di uno script php. Questo "script" può essere anche una riga di codice in un mare di codice HTML, oppure può essere un file con tutto e solo codice PHP.
Quello che vedi nel browser è l'output in HTML di quello che ha eseguito PHP. Per "scrivere" html da PHP si usa la funzione print() o la funzione echo(), come ho fatto negli esempi su.
Ma PHP non serve solo per generare HTML. Si può infatti anche dialogare con database management system, come ad esempio MySQL, Oracle, PostgreSQL, etc..
Io sinceramente ho avuto a che fare con MySQL e PostgreSQL, ma in linea di principio i concetti sono simili anche per gli altri.
Lavori tutto con funzioni di libreria. Mi spiego meglio: devi lavorare appoggiandoti alla documentazione ufficiale di PHP: Hypertext Preprocessor, dove trovi tutto quello che ti serve per fare quello che vuoi.
Se devi interagire con un DBMS devi, in generale, seguire questo percorso:
- ti colleghi al server tramite la funzione mysql_connect()
- selezioni un database tramite la funzione mysql_select_db()
- esegui una query tramite la funzione mysql_query()
- fetchi il risultato della query tramite alcune funzioni, ciascuna mirata per l'uso che ne devi fare; hai mysql_fetch_assoc(), mysql_fetch_array(), mysql_fetch_row(), etc...
- una volta che hai fatto tutte le query che devi, chiudi la connessione al DMBS con la funzione mysql_close()
Ricordati che appena esegui mysql_connect(), viene creata una connessione che rimane a livello globale nel tuo script. Questa connessione non la utilizzerai mai esplicitamente nel caso in cui fosse l'unica connessione in uso. Se lavori con più connessioni, devi ovviamente eseguire query su quella connessione.
Un esempio:
Codice PHP:
//creo una connessione al server MySQL
$conn = mysql_connect("127.0.0.1", "user", "password");
//seleziono il database negozio
mysql_select_db("negozio");
//eseguo la query "select * from articoli" e salvo il risultato in $res
$res = mysql_query("select * from articoli");
//scorro tutte le righe della tabella contenuta in $res in modo associativo
while($row = mysql_fetch_assoc($res))
{
//l'aver usato mysql_fetch_assoc mi consente di associare il nome del campo alla chiave dell'array $row
//qui ad esempio stampo il valore del resulset in corrispondeza del campo 'descrizione_articolo'
print $row['descrizione_articolo'];
//print_r() stampa il contenuto grezzo dell'argomento
//in questo caso stampa il contenuto di un array, la riga considerata considerata del resulset $res
print_r($row);
}
mysql_close($conn);
Questo premesso che tu abbia conoscenze di SQL.
Se non le hai, ti dico in due parole come funziona.
Hai un server (DBMS ovvero Database Management System) che gestisce delle enormi basi dati. Un utente, un programma o uno script, può dialogare con questo server tramite delle query. Le query consentono di ottenere i dati tramite delle selezioni mirate, consentono di effettuare operazioni di amministrazione, consentono di caricare dati, etc..
Ogni DBMS contiene dei database. Un database è un insieme di tabelle. Avrai ad esempio il database del supermercato sotto casa tua, il database dell'anagrafica degli abitanti di Milano,etc..
Ogni tabella contiene delle colonne, chiamate campi. Ogni riga è un record, ovvero un insieme di dati che fanno riferimento ad un evento, ad un aggregato di cose.
Nei DBMS tutto è progettato in modo che le tabelle siano collegate tra di loro e rappresentanti in modo semplice una realtà complessa.
Avrai ad esempio, nel database del supermercato, la tabella dei prodotti, la tabella degli acquisti, la tabella dei dipendenti, la tabella dei pagamenti, etc.. La tabella degli acquisti contiene tanti dati quanti sono stati gli acquisti, ed è collegata da un campo (detto chiave) alla tabella dei prodotti. Per cui avrai che ad un prodotto corrispondono più acquisti e ad un acquisto un prodotto. E così via.
Quello che fai con PHP è semplicemente eseguire query, tutto qui.
FTP è invece un protocollo usato da certi server per trasferire file (File Transfer Protocol).
Generalmente su internet per caricare i tuoi file sul server web ti interfacci ad un server FTP sito allo stesso indirizzo ma su porta differente dalla 80 (la 80 è la porta dedicata al protocollo HTTP, quello dei siti web tanto per intenderci).
FTP generalmente è sulla porta 21. Per poterlo utilizzare ti serve un client FTP (un programma). Se sei su windows basta che vai in risorse del computer e scrivi nella barra degli indirizzi: ftp://www.tuosito.it:21
ti verrà chiesto utente e password, i quali sono forniti da chi ti offre il servizio ftp.
Una volta che hai effettuato l'accesso, potrai utilizzare il tuo sito come se fosse una cartella del tuo computer. Tutto qui =)
Questo ovviamente non c'entra nulla con MySQL. Ti serve, ad esempio, per caricare le tue pagine HTML, i tuoi script PHP e le tue immagini.