Fabrizio Felici LAMP workshop GROsseto Linux Users Group.

Slides:



Advertisements
Presentazioni simili
Come si crea un Sito Web a cura del Prof. Sampognaro Giuseppe
Advertisements

Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
Database MySql.
(Appunti da Scott Mitchell, James Atkinsons - Active Server Pages 3.0 – ed. Apogeo) Le pagine ASP.
PHP.
Utilizzare PHP 5 Corso Interazione Uomo – Macchina AA 2005/2006.
Installazione di Apache 2, PHP5, MySQL 5
Guida rapida all’installazione per tutte le release
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Connessione con MySQL.
Dr. Giovanni Stracquadanio
Interazione tra basi di dati e web
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Active Server Pages.
Installazione pacchetti sotto Linux. Linux: Installare le applicazioni Adesso che abbiamo configurato Linux vogliamo imparare a installare qualche programma.
Esercitazione 5 MySQL Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Esercitazione 6 MySQL Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
IL PROGRAMMA CLIC INSTALLARE IL PROGRAMMA CLIC SUL PC LINDIRIZZO INTERNET E: SCEGLIERE LA LINGUA (noi.
Internet Explorer Il browser.
CORSO DI INFORMATICA LAUREA TRIENNALE-COMUNICAZIONE & DAMS
Corso di Informatica A.A
Tutorial Utilizzo Folder Viewer Requisiti: AFS Client Utenza AFS Questo tool consente la navigazione nelle cartelle AFS in modalità grafica via Web, permettendo.
SIMULAZIONE RETE INTERNET INTERNET SERVICE PROVIDER GRUPPO 2 COMMESSA – INFORMATICA GRANATA Corso Sicurezza su Reti II Prof. A. De Santis Anno Accademico.
1 Linux day /11/2003 ADA. Dai requisiti al progetto Come nasce il progetto di una piattaforma e-learning Open Source.
Pubblicare il sito di joomla sviluppato in locale Attraverso un software di FTP (WS FTP, Filezilla, ecc ) trasferire la cartella di joomla nel sito di.
INSTALLAZIONE IN LOCALE
Cos’è un CMS? Content Management System
Il linguaggio ASP Lezione 3 La connessione al database con ASP
ASP Lezione 1 Concetti di base. Introduzione ad ASP ASP (che è la sigla di Active Server Pages) è un ambiente di programmazione per le pagine web. La.
Lezione 2 Programmare in ASP
JDBC(TM) Database Access
Corso di PHP.
DBMS ( Database Management System)
JavaScript 3. Commenti in JS Come in altri linguaggi di programmazione anche javascript offre la possibilità di inserire i commenti all'interno delle.
Creiamo una cartella nel nostro hard disk dove andremo ad inserire le risorse che costituiranno i contenuti del sito. Apriamo il programma Dopo aver cliccato.
e per generare Bibliografie
Installare Code::Blocks su macchine LINUX
dell’Istituto G.Marconi
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Maria Vittoria Avolio Laurea.
Sistemi Informativi sul Web
Creare pagine web Xhtlm. Struttura di una pagina.
Introduzione alla programmazione web
Installazione di Drupal: requisiti. (sistemista) Installazione, struttura dei file, nodi speciali.
Presentazione Data Base Ovvero: il paradigma LAPM (Linux - Apache - PHP - mySQL) come supporto Open Source ad un piccolo progetto di Data Base relazionale,
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
BIOINFO3 - Lezione 41 ALTRO ESEMPIO ANCORA Progettare il comando di creazione di una tabella di pubblicazioni scientifiche. Come chiave usare un numero.
Amministrazione della rete: web server Apache
BASI DI DATI - MySql Centro di Ateneo per i Servizi Informatici
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
Corso di WebMaster Mercoledì 14 Novembre. Parte I – Introduzione al Corso Lezione 1: Presentazione Descrizione Breve del Corso Semplice Valutazione.
Il linguaggio PHP.
Diventa blogger Analisi degli obiettivi Piattaforma Wordpress Francesca Sanzo -
7ª Lezione: Martedì 13 Marzo - Dreamweaver
Programmazione Web PHP e MySQL 1. 2Programmazione Web - PHP e MySQL Esempio: un blog.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
Esercizio ODBC. Configurare il driver ODBC Start  Control Panel  Administrative Tools Aprire: Data Source(ODBC) User DSN  Add…. Selezionare il driver.
MySQL Database Management System
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
PHP MySQL Accesso a database via web. Connessione Script PHP per la connessione a un server MySQL mysql_connect(nomeServer,nomeUtente,password);
Joomlahost.it1 Presentato da Fustini Alessandro Myslq DBA e Developer certified Joomlahost.it.
Corso WEB DESIGN Aprile – Maggio C M S (Content Management System)
Sistemi Informativi A. A. 2010/11 Installazione Oracle DB 11gR2.
PHP.  HTML (Hyper Text Markup Language)  CSS (Cascading Style Sheets)  Javascript (linguaggio di programmazione client)  PHP ( Hypertext Preprocessor.
Corso base Lezione 1: affrontare l'emergenza. Il pc è come una casa... Ogni parte ha una sua funzione e utilità...
Corso Web Developer Lezione 4 – Installare Joomla.
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
ASP – Active Server Pages - 1 -Giuseppe Tandoi ASP – Active Server Pages Tecnologia per lo sviluppo di pagine dinamiche.
Transcript della presentazione:

Fabrizio Felici LAMP workshop GROsseto Linux Users Group

Perché impegnarsi nel LAMP ● È (relativamente) facile da imparare ● È un'architettura completamente libera ● Sta diventando la piattaforma di riferimento in molti ambiti ● C'è interoperabilità di sistemi ● Si rivolge decisamente e funziona su internet e intranet ● Permette di fare molto anche da soli La cosa a cui bisogna stare attenti è... la facilità del linguaggio, che può portare a uno stile di programmazione superficiale; generamente un buon programma dev'essere: ● ben commentato; ● orientato al riuso del codice (niente copia e incolla ma funzioni richiamabili); ● scalabile (quello che funziona per due oggetti deve farlo per dieci milioni). LAMP workshop

Conoscenze da sviluppare ● Linguaggio HTML (e javascript, css) ● Linguaggio PHP ● Linguaggio SQL ● Analisi dei problemi ● Cenni di amministrazione di sistemi Con l'autoistruzione e la buona volontà si può ben colmare lacune e mancanze. Questo workshop vuole far vedere che anche in un'ora si hanno dei risultati e delle soddisfazioni inaspettate. LAMP workshop

LAMP = Linux Apache Mysql Php (Perl, Python) ● Istallare Linux Fedora, Debian, Ubuntu, Suse... ● Istallare Apache yum install httpd (Fed), apt-get install httpd (Deb,Ub) ● Istallare Php yum install php (Fed), apt-get install php (Deb,Ub) ● Istallare Mysql yum install mysql (Fed), apt-get install mysql (Deb,Ub) ● Istallare librerie per mysql yum install php-mysql (Fed), apt-get install php- mysql (Deb,Ub) E' tutto ok? TEST: ● /etc/init.d/mysqld start (Fed), /etc/init.d/mysql-ctl start (Deb,Ub) ● /etc/init.d/httpd start (Fed), /etc/init.d/apachectl start (Deb,Ub) ● Aprire browser su ● echo " " > /var/www/html/phpinfo.php ● Aprire browser su Se tutto OK: ● Istallare PhpMyAdmin da prendiamo e scompattiamo il file in /var/www/html, creando una dir chiamata phpmyadmin. LAMP workshop

Creazione del database Vogliamo informatizzare la lista della nostra collezione di dischi/Cd. Dopo l'analisi scegliamo per ogni disco di inserire: autore, titolo, note, prezzo. Per esigenze di integrità, un database relazionale deve avere una chiave primaria, un campo distintivo diverso da record a record. Noi sceglaimo di mettere un numero, detto id. Dall'interfaccia di phpmyadmin ( : ● scriviamo il nome del database: “dischi” e clic su crea ; ● creiamo una nuova tabella “oggetti” con il nome, 5 campi e clic su esegui ; ● inseriamo in ogni campo i nomi con i giusti tipi (numerici mediumint, float e varchar con lunghezza 100), per l'id extra auto_increment e accanto il bottone “primaria”, e salva. Adesso abbiamo un database vuoto, che possiamo popolare come ci piace con la funzione “inserisci” e poi vedere a schermo con la funzione “mostra”. Ma il nostro scopo è costruire con le nostre mani una piccola applicazione che faccia questo, e altro. LAMP workshop

Primo compito: connettersi al db La prima cosa da fare è stabilire una connessione al database mysql, tramite le funzioni del modulo php-mysql; facciamo un file chiamato conn.php dentro /var/www/html con questo contenuto: <?php # gli scritti preceduti da un # sono commenti # connessione al db, $ precede il nome di ogni variabile $db_nome = "dischi"; $connessione = mysql_connect ("localhost", "root", "") or die ("Impossibile stabilire una connessione a $db_nome."); $db = mysql_select_db ($db_nome, $connessione) or die("Impossibile selezionare il database $db_nome."); ?> Come si vede, serve il nome del db (dischi), del nostro pc (localhost), il nome e la password di un utente valido del mysql (root e niente password, il che è una falla di sicurezza ma per provare va bene, ricordatevi poi di mettercela!). Proviamo sul browser: schermo bianco = tutto ok! LAMP workshop

Arriva l'output (grezzo) Ora è il momento di creare lo script che tirerà fuori tutti i nostri dati, pur se in modo piuttosto banale e sbrigativo; facciamo un file chiamato lista.php dentro /var/www/html con questo contenuto: <?php # include nel file lo script di connessione include "conn.php"; # prepara la query che seleziona tutti i campi di tutte le righe di oggetti $sql = "SELECT * FROM oggetti"; # esegue la query e mette tutto dentro $ris, si ferma se c'è un errore $ris = mysql_query ($sql, $connessione) or die (mysql_error()); # seleziona a turno ogni riga del risultato fino a che ce ne sono while ($row=mysql_fetch_object($ris)) { # stampa la linea presa nel formato 'oggetto' con un a capo in html print_r ($row); echo " "; } ?> LAMP workshop

Preparare un output migliore Sul browser con potete vedere il risultato che sarà un elenco con righe simili a questa: stdClass Object ( [id] => 2 [autore] => BEATLES [titolo] => Let it be [note] => Apple Ita [stato] => buono [prezzo] => ) che non è di tutta questa bellezza, e ovviamente può (deve!) essere migliorato! Come vedete ogni oggetto $row è composto dai campi id, autore etc, ognuno col suo valore 2, BEATLES etc... Per estrarre questi valori dentro il while basta riferirsi alla variabile $row->id, $row->autore etc... Per cui il nostro codice si modificherà leggermente in: LAMP workshop

Prepara un output migliore <?php # include nel file lo script di connessione include "conn.php"; # prepara la variabile che conterrà l'output $out = ""; # prepara la query che seleziona tutti i campi di tutte le righe di oggetti $sql = "SELECT * FROM oggetti"; # esegue la query e mette tutto dentro $ris, si ferma se c'è un errore $ris = mysql_query ($sql, $connessione) or die (mysql_error()); # seleziona a turno ogni riga del risultato fino a che ce ne sono while ($row=mysql_fetch_object($ris)) { # aggiunge la riga a $out $out.= "$row->autore - $row->titolo ($row->note, $row->stato) $row- >prezzo € "; } # stampa tutto a schermo echo $out; ?> Il risultato è apprezzabile, con righe simili: BEATLES - Let it be (Apple Ita, buono) € LAMP workshop

Un tocco di HTML <?php include "conn.php"; # include nel file lo script di connessione # prepara la variabile che conterrà l'output $out = " Autore Titolo Note, stato Prezzo(€) "; # prepara la query che seleziona tutti i campi di tutte le righe di oggetti $sql = "SELECT * FROM oggetti"; # esegue la query e mette tutto dentro $ris, si ferma se c'è un errore $ris = mysql_query ($sql, $connessione) or die (mysql_error()); # seleziona a turno ogni riga del risultato fino a che ce ne sono while ($row=mysql_fetch_object($ris)) { # aggiunge la riga a $out $out.= " $row->autore $row->titolo ($row->note, $row->stato) $row->prezzo "; } $out.= " "; echo $out; # stampa tutto a schermo ?> Finalmente tutti i nostri risultati sono bellini in colonna! E ora se volessimo fare una ricerca per autore?... LAMP workshop

Arriva la ricerca <?php include "conn.php"; # include nel file lo script di connessione # prepara la variabile che conterrà l'output con la casella per la ricerca $out = " Autore Titolo Note, stato Prezzo(€) "; # prepara la query che seleziona tutti i campi delle righe che rispettano la condizione "where" $sql = "SELECT * FROM oggetti WHERE autore LIKE '%$ricerca%'"; # esegue la query e mette tutto dentro $ris, si ferma se c'è un errore $ris = mysql_query ($sql, $connessione) or die (mysql_error()); # seleziona a turno ogni riga del risultato fino a che ce ne sono while ($row=mysql_fetch_object($ris)) { # aggiunge la riga a $out $out.= " $row->autore $row->titolo ($row->note, $row->stato) $row->prezzo "; } $out.= " "; echo $out; # stampa tutto a schermo ?> LAMP workshop

Arriva la ricerca... Commentiamo brevemente le nuove aggiunte: $PHP_SELF è la variabile col nome dello script, usato per far puntare la form su sé stessa; il primo input è la casella di testo che si chiama “ricerca”, che quando premete il bottone cerca viene passata allo script stesso come variabile chiamata $_POST[ricerca]. Notare i doppi apici tutti con la backslash \ davanti, necessaria essendo dentro a una variabile. A questo punto la SQL viene completata con la condizione autore LIKE '%$_POST[ricerca]%', cioè viene ricercato ogni nome di autore che contiene il testo che avete immesso, grazie alla presenza dei % che fungono da carattere jolly (l'equivalente dello * per i nomi di file). Adesso non vi resta che provare a cambiare un po' di cose, come cercare per titolo, ordinare per prezzo con il comando ORDER BY prezzo aggiunto in coda alla $sql, selezionare solo un campo cambiando il * con il nome del campo stesso... LAMP workshop

...e questo è solo l'inizio! Avete visto come in breve tempo e con poche righe di codice sia facile estrarre dei dati da un database, usando pochissime funzioni PHP e una query. Io trovo che sia elettrizzante riuscire a fare in questo modo una cosa che fino a poco fa magari ritenevate di chissà quale complessità. Ovviamente è solo la punta dell'iceberg. Il resto tocca a voi!... Potete appoggiarvi a phpmyadmin e vedere le query che fa lui per compiere operazioni come inserimenti, aggiornamenti e provare a implementarli ingrandendo la form, potete approfondire l'HTML, che vi serve per fare pagine più accattivanti, andare avanti a esplorare il PHP, che raccoglie migliaia di funzioni. Benchè avete molta strada da fare da soli, nessuno vi vieta di rivolgervi ancora a noi, tramite il forum del nostro gruppo. LAMP workshop

Risorse utili ● manuale online delle funzioni del PHP; ● sito ufficiale del Mysql; ● manuale di riferimento HTML; ● miriadi di script già pronti per esempi e tutorial ● il mio programma preferito per scrivere in PHP ● il miglior programma libero di authoring per il web, disponibile per Linux, Win, Mac ● il posto giusto per fare tutte le vostre domande LAMP workshop

26/11/2005Grosseto, LinuxDay Per maggiori informazioni: