Interazione tra basi di dati e web

Slides:



Advertisements
Presentazioni simili
1.
Advertisements

VIA GIULIO RATTI, CREMONA – Tel. 0372/27524
Progetto di: Jody Padulano Giuliano Polverari
CORSO DI SICUREZZA SU RETI II PROF. A. DE SANTIS ANNO 2006/07 Informatica granata Gruppo 2 ISP Gruppo 3 ISP.
Database MySql.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
PHP.
Utilizzare PHP 5 Corso Interazione Uomo – Macchina AA 2005/2006.
Installazione di Apache 2, PHP5, MySQL 5
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
IL LINGUAGGIO HTML Il linguaggio html. Il linguaggio html. Utilizzo dei tag. Utilizzo dei tag. Script Browser I link I link Caricamento dei dati sul server.
Mobile.istat.it Dietro le quinte Paolo Di Domenico
Connessione con MySQL.
XmlBlackBox La presentazione Alexander Crea 7 Giugno 2010 La presentazione Alexander Crea 7 Giugno 2010.
Architettura Three Tier
Creazione di una classe virtuale e iscrizione dei corsisti alla classe: indicazioni generali per gli e-tutor (a cura di Francesca Rossi) RIMINI, 1 febbraio.
CORSO DI INFORMATICA LAUREA TRIENNALE-COMUNICAZIONE & DAMS
Corso di Informatica A.A
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.
JOOMLA! Installazione dellambiente di prova Accedere al sito per ottenere uno spazio web dove pubblicare il proprio sitohttp://
Daniel Stoilov Tesi di Laurea
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net Web Part e controlli di login Elaborazione di Franco Grivet Chin.
Ing. Enrico Lecchini BetaTre S.r.l.
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.
Dopo la Registrazione Collegarsi al sito Cliccare su Area Clienti
Primo accesso Dimenticato la password? Navigare in piattaforma Come accedere a un corso.
Configurazione di outlook express Se utilizzate o volete utilizzare Outlook Express per gestire la vostra posta elettronica, potete avviarlo cliccando.
Monitoraggio Pratiche Didattiche della provincia di Reggio Calabria Copyright©2007 DARGAL Web Solutions. È vietata la riproduzione anche parziale.
Progettazione multimediale
Usare la posta elettronica con il browser web
Guida IIS 6 A cura di Nicola Del Re.
Tutorial su Access 2003 Obiettivi :
Federfarma Nuoro Istruzioni per la trasmissione dei file ricette dalla Farmacia alla struttura Federfarma Provinciale. Attraverso un browser Web , Internet.
Analisi (Analista) Progettazione (Progettista) Sviluppo o Traduzione (Sviluppatore) Documentazione.
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
Sistemi Informativi sul Web
Internet Explorer I preferiti Stampa di pagine web Salvataggio di pagine web Copia di elementi di pagine web in altri applicativi.
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 41 ALTRO ESEMPIO ANCORA Progettare il comando di creazione di una tabella di pubblicazioni scientifiche. Come chiave usare un numero.
Applicazione Web Informatica Abacus Informatica Classe VIA 2008/2009 N.Ceccon INF (01) Revisione 4.0 settembre 2008.
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
1 Applicazione per la gestione dei progetti di “Laboratorio e Tecnologie Web” Ilaria Iannantuono.
Corso di WebMaster Mercoledì 14 Novembre. Parte I – Introduzione al Corso Lezione 1: Presentazione Descrizione Breve del Corso Semplice Valutazione.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
Diventa blogger Analisi degli obiettivi Piattaforma Wordpress Francesca Sanzo -
A cura di: Mola Michele Perna Gabriele Rea Giovanni
Primi passi in Moodle ottobre 2011 Giuliana Zucchi.
Fabrizio Felici LAMP workshop GROsseto Linux Users Group.
Laboratorio 4: PHP e MySQL
DIGITAL RECIPE Progetto Realizzato da: Vitiello Pier Angelo Il progetto si trova all’indirizzo :
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Programmazione Web PHP e MySQL 1. 2Programmazione Web - PHP e MySQL Esempio: un blog.
INTERNATIONAL INNER WHEEL DATABASE A livello di MEMBRO: Per tutte le Socie. Solo per la consultazione dell’intero Database. A livello di CLUB:
PoctEvo Point of Care Testing Evolution Gestione diagnostica Web.
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;
MySQL Database Management System
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Registrazione degli ospiti INFN e gestione del database via web M.Corosu, A.Brunengo INFN Sezione di Genova Linguaggio di programmazione: perl Web server:
Reti di calcolatori e sicurezza “Configurare il web-server Apache” a cura di Luca Sozio.
Joomlahost.it1 Presentato da Fustini Alessandro Myslq DBA e Developer certified Joomlahost.it.
Corso WEB DESIGN Aprile – Maggio C M S (Content Management System)
Manuale Utente – i-Sisen Questionario dei Consumi
Registrare un nome a dominio spazio web - supporto PHP - MySql Registrazione di un sito web  Service Provider Tophost Aruba.....
PHP.  HTML (Hyper Text Markup Language)  CSS (Cascading Style Sheets)  Javascript (linguaggio di programmazione client)  PHP ( Hypertext Preprocessor.
Make Your Identity Card Realizzazione di una carta d’identità su computer Francesco Fasulo Istituto Tecnico Industriale Don Orione Fano Esame di Stato.
Le Pagine Web.. Pagine Statiche VS Pagine Dinamiche  Pagine Dinamiche sono pagine in genere gestite da un CMS (Content Management System),ovvero modificare.
ASP – Active Server Pages - 1 -Giuseppe Tandoi ASP – Active Server Pages Tecnologia per lo sviluppo di pagine dinamiche.
Dati in rete Appunti.
Transcript della presentazione:

Interazione tra basi di dati e web Php e MySQL PhpMyAdmin Smarty template Francesco Brancati – francesco.brancati@gmail.com Cristina Pucci – cristinapucci@inwind.it

Php e MySQL Gestire intere sezioni di siti web in modo semplice e veloce Gestione efficiente: possibilità di effettuare modifiche frequenti di contenuto ed eventualmente di veste grafica Ci vengono in aiuto i linguaggi di programmazione orientati al web publishing come Php Php ottimo per la creazione di pagine dinamiche, ma non offre nessuna possibilità di memorizzazione dei dati Soluzione: utilizzare parallelamente un linguaggio di programmazione e un database Interazione tra basi di dati e web Php e MySQL

Connessione al database: config.inc.php Parametri per la connessione: host: da cui si può raggiungere MySQL (generalmente è localhost) username e password: per l'accesso al database nome del database. Questi parametri vengono forniti dall'amministratore dello spazio web Interazione tra basi di dati e web Php e MySQL

config.inc.php (1) Creiamo una pagina di nome config.inc.php con i parametri necessari: <? // parametri del database $db_host = "localhost"; $db_user = "cristina"; $db_password = "pucci"; $db_name = "bdd"; // password per inserimento articoli $password = "master"; ?> Interazione tra basi di dati e web Php e MySQL

config.inc.php (2) config indica che il file contiene dei dati relativi alla configurazione dello script. .inc ci ricorderà che questo file non è una pagina che verrà visualizzata direttamente, ma verrà inclusa all'interno di altre. .php invece viene inserito per motivi di sicurezza. Se qualcuno cercherà di visualizzare questa pagina con il browser, vedrà solo una pagina vuota. Interazione tra basi di dati e web Php e MySQL

Connessione al database: connect.inc.php Possiamo realizzare la connessione al db attraverso la funzione mysql_connect. Creiamo una pagina di nome connect.inc.php da includere in ogni file che effettua una operazione sul db <? $db = mysql_connect($db_host, $db_user, $db_password); if ($db == FALSE) die ("Errore nella connessione. Verificare i parametri nel file config.inc.php"); Interazione tra basi di dati e web Php e MySQL

connect.inc.php Se la connessione ha buon esito restituisce un identificatore alla connessione in $db Se la connessione non va a buon fine viene restituito FALSE. Dobbiamo specificare su quale database vogliamo lavorare e verificare nuovamente la riuscita dell'operazione: mysql_select_db($db_name, $db) or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php"); ?> Interazione tra basi di dati e web Php e MySQL

Creazione delle tabelle: install.php Dopo aver creato la connessione possiamo finalmente agire sul database Il file install.php crea le tabelle necessarie al funzionamento dell’applicazione Le query vengono comunicate al database attraverso la funzione mysql_query: $query = "CREATE TABLE news ( " ."id INT (5) UNSIGNED not null AUTO_INCREMENT, " ."titolo VARCHAR (255) not null, " ."testo TEXT not null, " ."data INT (11), " ."autore VARCHAR (50), " ."mail VARCHAR (50), " .”PRIMARY KEY (id))"; Interazione tra basi di dati e web Php e MySQL

install.php Se si verifica un errore durante l’esecuzione della query, questo viene visualizzato con la funzione mysql_error() if (mysql_query($query, $db)) echo "L'installazione è stata eseguita correttamente"; else echo "Installazione fallita: " .mysql_error()." durante l'esecuzione della query:".$query; include(“disconnect.inc.php"); ?> Interazione tra basi di dati e web Php e MySQL

Connessione al database: disconnect.inc.php Al termine dello script è sempre bene terminare la connessione al database includendo il file disconnect.inc.php : <? mysql_close($db); ?> Interazione tra basi di dati e web Php e MySQL

Intestazione e piè di pagina: top_foot.inc.php Creiamo una pagina top_foot.inc.php con i codici html che caratterizzano la veste grafica. <? function top() { ?> <HTML> <HEAD> <meta name=generator content="Script di esempio"> </HEAD> <BODY bgcolor=ffffff text=000000> <font face=verdana,tahoma,arial size=-1> <h1>News</h1><br> <? } function foot() { ?> </body></HTML> <? } ?> Interazione tra basi di dati e web Php e MySQL

Creazione del modulo: insert.php Creiamo il modulo per l'inserzione degli articoli: insert.php questa pagina contiene la form necessaria a raccogliere i dati non ci sono accessi al database separazione tra interfaccia grafica e interazione con db Interazione tra basi di dati e web Php e MySQL

insert.php (1) <? include ("top_foot.inc.php"); //intestazione top(); ?> <form method=post action=save.php> Titolo:<br> <input type=text size=40 name=titolo><br> <br> Data:<br> <select name=giorno> <? for ($i=1; $i<=31; $i++) echo "<option value=$i>$i"; ?> Interazione tra basi di dati e web Php e MySQL

insert.php (2) </select> <select name=mese> <option value=1>Gennaio <option value=2>Febbraio ... <option value=12>Dicembre </select> <select name=anno> <option value=2001>2001 <option value=2002>2002 <option value=2003>2003 <option value=2004>2004 <option value=2005>2005 </select><br> <br> Interazione tra basi di dati e web Php e MySQL

insert.php (3) Autore:<br> <input type=text size=40 name=autore><br> <br> E-mail:<br> <input type=text size=40 name=mail><br> <br> Testo:<br> <textarea cols=60 rows=40 name=testo></textarea><br> <br> Password:<br> <input type=password size=40 name=pass><br> <br> <input type=submit value=Invia> </form> <? // chiusura pagina foot(); ?> Interazione tra basi di dati e web Php e MySQL

Inserimento nel database: save.php Creiamo la pagina save.php controllo della password controllo dei campi not null controllo ed escaping dei caratteri particolari dentro le stringe conversione delle date in formato timestamp connessione al db e esecuzione della query Interazione tra basi di dati e web Php e MySQL

save.php (1) <? include("top_foot.inc.php"); include("config.inc.php"); top(); if (!strcmp($pass,$password)) die ("Password errata"); if (trim($titolo) == "" OR trim($testo) == "") die("I campi Titolo e Testo devono essere riempiti!"); Interazione tra basi di dati e web Php e MySQL

save.php (2) $titolo = addslashes(stripslashes($titolo)); $autore = addslashes(stripslashes($autore)); $mail = addslashes(stripslashes($mail)); $testo = addslashes(stripslashes($testo)); $titolo = str_replace("<", "<", $titolo); $titolo = str_replace(">", ">", $titolo); $autore = str_replace("<", "<", $autore); $autore = str_replace(">", ">", $autore); $testo = str_replace("<", "<", $testo); $testo = str_replace(">", ">", $testo); $testo = nl2br($testo); $data = mktime("0", "0", "0", $mese, $giorno, $anno); Interazione tra basi di dati e web Php e MySQL

save.php (3) $db = mysql_connect($db_host, $db_user, $db_password); if ($db == FALSE) die ("Errore nella connessione. Verificare i parametri nel file config.inc.php"); mysql_select_db($db_name, $db) or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php"); $query = "INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('$titolo', '$testo', '$data', '$autore', '$mail')"; Interazione tra basi di dati e web Php e MySQL

Visualizzazione degli ultimi articoli: index.php Si estraggono dal db i titoli degli articoli tramite mysql_query() La funzione ci restituisce un identificatore nella variabile $result Si scorre riga per riga il risultato dell’interrogazione tramite mysql_fetch_assoc(), che ci restituisce un array associativo Si visualizzano gli articoli Interazione tra basi di dati e web Php e MySQL

index.php <? include("top_foot.inc.php"); include("config.inc.php"); top(); include("connect.inc.php"); $query = "SELECT id" .",data" .",titolo " ."FROM news " ."ORDER BY data DESC " ."LIMIT 0,5"; $result = mysql_query($query, $db); while ($row = mysql_fetch_array($result)) { echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row[data]) . " - $row[titolo]</a><br>"; } include("disconnect.inc.php"); foot(); ?> Interazione tra basi di dati e web Php e MySQL

Visualizzione dell'articolo completo: view.php Si estrae dalla tabella la riga corrispondente all’articolo interessato Si visualizzano le informazioni Interazione tra basi di dati e web Php e MySQL

view.php <? include("top_foot.inc.php"); include("config.inc.php"); include("connect.inc.php"); $query = "SELECT titolo,testo,data,autore,mail FROM news WHERE id='$id'"; $result = mysql_query($query, $db); $row = mysql_fetch_assoc($result); $data = date("j/n/y", $row[data]); echo "<b>$row[titolo]</b><br><br>"; echo "$row[testo]<br><br>"; if ($row[mail] != "") echo "$data, <a href=mailto:$row[mail]>$row[autore]</a><br>"; else echo "$data, $row[autore]<br>"; echo "<br><a href=index.php>Torna alla pagina iniziale</a><br>"; echo "<a href=all.php>Visualizza tutti gli articoli</a><br>"; include("disconnect.inc.php"); foot(); ?> Interazione tra basi di dati e web Php e MySQL

Elenco di tutti gli articoli: all.php Si stabilisce quanti titoli visualizzare per pagina Si estraggono dal db i solo i titoli necessari per la pagina corrente Interazione tra basi di dati e web Php e MySQL

all.php (1) <? include("top_foot.inc.php"); include("config.inc.php"); top(); include("connect.inc.php"); if (!isset($start) OR $start<0) $start = 0; $step = 10; $query = "SELECT id,data,titolo FROM news ORDER BY data DESC LIMIT $start,$step"; $result = mysql_query($query, $db); while ($row = mysql_fetch_array($result)) { echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row[data]) . " - $row[titolo]</a><br>"; } ?> Interazione tra basi di dati e web Php e MySQL

all.php (2) <br><br> <table width=90% border=0><tr> <td width=20% align=left> <? if ($start>0) { $start_back = $start - $step; echo "<a href=all.php?start=$start_back>precedenti</a>"; } ?> </td> $query = "SELECT count(*) AS tot FROM news"; $result = mysql_query($query, $db); $row = mysql_fetch_array($result); $pages = intval(($row[tot]-1) / $step)+1; <td width=60% align=center> for ($i=0; $i<$pages AND $i<20; $i++) { $start_page = $i * $step; echo "<a href=all.php?start=$start_page>" . ($i+1) . "</a> "; Interazione tra basi di dati e web Php e MySQL

all.php (3) </td> <td width=20%> <? if ($start + $step < $row[tot]) { $start_next = $start + $step; echo "<a href=all.php?start=$start_next>successivi</a>"; } ?> </tr></table> <br> echo "<a href=search.php>Cerca negli articoli</a>"; include(“disconnect.inc.php”); foot(); Interazione tra basi di dati e web Php e MySQL

Il motore di ricerca: search.php – result.php Creiamo una form per immettere le parole da cercare Supponiamo le chiavi divise da virgole ed usiamo la funzione array explode (string separator, string string [, int limit]); per ottenere un array di chiavi Per ogni chiave facciamo una ricerca nel titolo, nel testo, e nell’autore Visualizziamo i risultati Interazione tra basi di dati e web Php e MySQL

search.php <? include("top_foot.inc.php"); include("config.inc.php"); top(); ?> <form method=post action=result.php> <input type=text name=chiave><input type=submit value=cerca><br> </form> foot(); Interazione tra basi di dati e web Php e MySQL

result.php <? include("top_foot.inc.php"); include("config.inc.php"); top(); include("connect.inc.php"); $keys = explode (",", $chiave); $query = ""; reset ($keys); foreach ($keys as $parola) { $parola = trim($parola); if ($parola != "") $query .= "titolo LIKE '%$parola%' OR testo LIKE '%$parola%' OR autore LIKE '%$parola%' OR "; } $query .= "0"; $query = "SELECT id, titolo, data FROM news WHERE " . $query; $result = mysql_query($query, $db); while ($row = mysql_fetch_array($result)) { echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row[data]) . " - $row[titolo]</a><br>"; } include("disconnect.inc.php"); foot() ?> Interazione tra basi di dati e web Php e MySQL

PhpMyAdmin PhpMyAdmin è un'interfaccia grafica che permette di amministrare MySql Con PhpMyAdmin, possiamo: Visualizzare il contenuto del nostro database Creare, modificare, cancellare database, intere tabelle o singoli record Fare un backup (dump) dei dati contenuti Importare grosse quantità di dati in diversi formati cvs, excel, sql… Visualizzare informazioni interessanti sul db Gestire gli utenti di MySQL ed i loro privilegi Interazione tra basi di dati e web PhpMyAdmin

Home Page Interazione tra basi di dati e web PhPMyAdmin

Struttura database Interazione tra basi di dati e web PhPMyAdmin

Struttura tabella Interazione tra basi di dati e web PhPMyAdmin

Query SQL

Dump Interazione tra basi di dati e web PhPMyAdmin

Dump (2) Interazione tra basi di dati e web PhPMyAdmin

Cos'è Smarty? Smarty è un motore di template per PHP Consente di separare logica e contenuto dell'applicazione dalla sua presentazione/layout Programmatore e progettista non sono la stessa persona Possibilità di apportare modifiche alla struttura logica dell’applicazione senza dover modificare il layout grafico e viceversa Il programmatore (che si occupa della logica applicativa) può modificare il suo codice senza chiedere aiuto al grafico e viceversa Interazione tra basi di dati e web Smarty

Compilazione dei template Smarty legge i file dei template Crea script PHP a partire da questi una volta creati, questi script vengono eseguiti da quel momento in poi Vantaggio: si evita una costosa analisi dei template ad ogni richiesta Interazione tra basi di dati e web Smarty

Funzionalità di Smarty E' estremamente veloce E' efficiente, perché è l'analizzatore di PHP a fare il "lavoro sporco" Non c'è sovraccarico per l'analisi del template, che viene compilato una sola volta E' abbastanza furbo da saper ricompilare solo i template che sono stati modificati Si possono creare funzioni personalizzate e modificatori di variabili personalizzati Ciò rende il linguaggio dei template estremamente estensibile La sintassi dei tag di delimitazione dei template è configurabile Si possono usare {}, {{}}, <!--{}-->, ecc E' consentito nidificare in maniera illimitata sezioni, test, ecc E' possibile incorporare direttamente codice PHP nei file di template Sebbene non dovrebbe essercene bisogno Supporto nativo al caching Funzioni personalizzate di gestione della cache Architettura a plugin Interazione tra basi di dati e web Smarty

Sintassi Il concetto della programmazione con i template è semplice: nel codice Php si definiscono variabili per l’utilizzo nel template nel template si visualizzano queste variabili index.php include('Smarty.class.php'); // crea l’oggetto $smarty = new Smarty; // assegna un contenuto ad una variabile. // NB. di solito il contenuto è assegnato dinamicamente. $smarty->assign('name', 'mario rossi'); $smarty->assign('address', 'via forlì 42'); // lo visualizza $smarty->display('index.tpl'); Interazione tra basi di dati e web Smarty

Sintassi Il concetto della programmazione con i template è semplice: nel codice php si definiscono variabili per l’utilizzo nel template nel template si visualizzano queste variabili index.tpl output <html> <head> <title>Info Utente</title> </head> <body> Utente:<p> Name: {$name}<br> Address: {$address}<br> </body> </html> Name: mario rossi<br> Address: via forlì 42<br> Interazione tra basi di dati e web Smarty

Modificatori delle variabili Sono usati per modificare l’output di una variabile, una funzione utente o una stringa da dentro il template Per applicare un modificatore bisogna indicare il valore seguito da | (pipe) e dal nome del modificatore Un modificatore può accettare parametri addizionali che modificano il suo comportamento Questi parametri seguono il nome del modificatore e sono separati da : (due punti) Interazione tra basi di dati e web Smarty

output header.tpl footer.tpl index.tpl <html> <head> <title>{$title|default:"no title"}</title> </head> <body> </body> </html> index.tpl output {include file="header.tpl" title="Info Utente"} Utente:<p> Name: {$name|capitalize}<br> Address: {$address|escape:”htmlall”} <br> Date: {$smarty.now|date_format: "%Y-%m-%d"}<br> {include file="footer.tpl"} <title>Info Utente</title> Name: Mario Rossi<br> Address: via forl&igrave 42<br> Date: 2005-04-29<br>

La funzione include Permette l’uso delle variabili locali nell’esempio precedente la variabile $title non è definita direttamente nel template ma è passata come parametro della funzione include() così facendo $title può essere cambiata dinamicamente ogni volta che si include il file header.tpl Usando il modificatore default è possibile dichiarare un valore predefinito nel caso la variabile non sia definita nella include() Interazione tra basi di dati e web Smarty

Generare un elenco di dati Si crea un array con i dati da elencare e si passa al template Nel template si cicla sull’array tramite il costrutto section Con la funzione cycle values alterniamo lo sfondo $smarty->assign('name', array('franco','marco','joe','lucia','carla')); <table> {section name=mysec loop=$name} <tr bgcolor="{cycle values="#eeeeee,#dddddd"}"> <td>{$name[mysec]}</td> </tr> {/section} </table> Interazione tra basi di dati e web Smarty

Generare un elenco di dati L’output generato è questo: <table> <tr bgcolor="#eeeeee"><td>franco</td></tr> <tr bgcolor="#dddddd"><td>marco</td></tr> <tr bgcolor="#eeeeee"><td>joe</td></tr> <tr bgcolor="#dddddd"><td>lucia</td></tr> <tr bgcolor="#eeeeee"><td>carla</td></tr> </table> Interazione tra basi di dati e web Smarty

Risorse http://freephp.html.it/ http://www.risorse.net/ http://www.php.net/ http://smarty.php.net/ http://www.mysql.com/ Interazione tra basi di dati e web Risorse