Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "http://forum.masterdrive.it/showthread.php?t=9825"

Transcript

1 Pagina 1 di 25 File in allegato: CMS_News 11,6 Kb Introduzione La maggior parte dei siti web a scopo informativo, come portali tematici o comunità online, necessitano di un sistema per la gestione dei propri contenuti, detti anche CMS (Content Management System), oggi, il sistema piu' utilizzato per tenere sempre aggionati i propri utenti e' quello di *News*, che permette la visualizzazione delle ultime notizie riguardanti diversi argomenti trattati, direttamente nella homepage del sito, provviste di un titolo, di una data di pubblicazione e di una breve descrizione. Successivamente l'utente stesso, potra' leggere la notizia completa oppure consultare tutte le altre notizie relative a quell'argomento stesso. In questo Tutorial, oltre a realizzare un completo sistema per gestire le Notizie del nostro sito, cercheremo di capire quali sono i passaggi fondamentali per iniziare a sviluppare un nostro CMS. Un giornale online Cosa c'entra il giornale? Bene, se abbiamo in mente di sviluppare un gestore di notizie dobbiamo fare affidamento a dei casi reali che saranno successivamente trasformati in formato elettronico. In questo caso, prendiamo in considerazione la struttura di una rivista o di un qualiasi giornale. La domanda che ora ci poniamo e' "cosa costituisce un giornale?", la risposta e' semplice, beh, da articoli e dai rispettivi autori, almeno nella maggior parte dei casi. Sicuramente ogni ogni articolo sara' cosi strutturato: 1. Titolo 2. Introduzione 3. Articolo completo 4. Data di pubblicazione 5. Argomento di interesse (es. Calcio) 6. Autore Mentre ogni autore presentera' questi dati: 1. Nome 2. Cognome 3. Indirizzo di posta elettronica 4. Eventuali Note Probabilmente questi sono i dati piu' importanti che potrebbero costituire un articolo e/o un autore, ma in questo tutorial ci baseremo su questi. Progettare il Database Tutti i dati che saranno elaborati e serviti dal nostro sistema dovranno essere salvati in un database mysql (se stiamo parlando di PHP, mi sembra ovvio utilizzare mysql :-)) quindi, prima di iniziare a scrivere del codice, e' bene soffermarci sulla probabile struttura che il database, presenterà. Le tabelle, quindi le entità che costituiranno il Database sono principalmente 3: -> Autori -> Articoli -> Sezioni Perche' *principalmente*? In effetti il nostro database dovra' contenere anche una quarta entità relativa ai dati di accesso per l'amministrazione del sistema, che chiameremo: *login*. Una volta individuate le entità (in questo caso, Articolo, Autore e Sezioni), pensiamo a come gestire gli autori, gli articoli e le Sezioni, per facilitarne la gestione, suggerisco sempre di attribuire a tutte le entità un campo chiave univoco di tipo numerico e auto incrementale, in questo modo, avremo per ogni autore, per ogni articoli e per ogni sezione un numero identificativo generato in modo del tutto automatico, spesso chiamato: *ID*. A questo punto, quindi, preoccupiamoci di realizzare un valido modello relazionale, da seguire per la creazione del Database, in questo schema potremo facilmente notare che tipo di relazione associare alle varie entità.

2 Pagina 2 di 25 Commentiamo lo schema Soffermiamoci sullo schema proposto, probabilmente i nomi assegnati alle varie entità (tabelle) potrebbero non essere di vostro gradimento, ma vediamo perche' e' consigliabile seguire uno schema del genere. In passato, come ho proposto in altri miei tutorials che trattavano Database, associavo sempre ad ogni tabella, nomi del genere *tbl_prodotti*, *tbl_autori*, etc... Insomma, aggiungendo il prefisso *tbl_* e successivamente completavo specificando il plurale dei dati presenti nella tabella. Ovviamente, questo tipo di interpretazione non e' sbagliata ma personalmente preferisco seguire lo schema sopra proposto, per una serie di validi motivi, eccoli qui: presenta una migliore leggibilità dall'occhio umano; cerchiamo di porre tutto al singolare, visto e considerato che rappresenteremo entità appartenenti al mondo reale; utilizziamo dei prefissi differenti per ogni colonna delle nostre tabelle, questi individuano facilmente il tipo di dato contenuto, ad esempio: int (intero numerico), str (stringa) e dtm (data ora) e ne denoterà una migliore gestione da parte del programmatore stesso, durante la fase di programmazione; infine, notiamo il suffiso ID posto alla fine di alcune colonne per evidenziare la presenza di chiavi (campi contatori di tipo auto incrementale), interne o esterne che esse siano. Lo schema, inoltre potra' essere facilmente letto e intepretato da tutti, non solo dal programmatore ma anche da terzi, fornendo loro una piccola interpretazione, a differenza invece di tanti schemi quasi incomprensibili da *comuni mortali*. Tutto questo perchè lo schema rappresenta al meglio le entità del mondo reale. Sviluppare il sistema Dopo una breve introduzione ed una piccola parentesi riguardo la corretta progettazione del Database, e' arrivato il momento di iniziare a scrivere un po di codice, ma prima vediamo da quali files sara' costituito il nostro sistema per la gestione di News. Ma ci stiamo dimenticando qualcosa? si, effettivamente non ho specificato da quali sezioni sara' costituito il sistema e successivamente parleremo dei files. Le aree principali che costituiscono ogni CMS, sono 2, una di *Front-End*, quindi, lato pubblico, ciò che vede l'utente durante la navigazione del sito, e un'altra di *Back-End*, la sezione riservata esclusivamente all'amministratore del sistema. Introduzione ai CMS Come accennavo nell'introduzione, l'acronimo CMS sta per Content Management System, ovvero Sistema per la gestione dei contenuti. Di questi sistemi, oggi e' possibile trovarne tanti in rete, ad esempio, esistono CMS specifici a determinati casi, come: Blogs, Forums, Gallerie di Immagini, Gestori di Files, Gestori di News, E- Commerce e tanti altri ancora. In alternativa ai CMS specifici, per gli utenti che necessitano diverse funzionalita' in un unico sistema, sono nati gli ACMS (Advanced Content Management System) la loro peculiarita' è quella di gestire diversi CMS contemporaneamente in un unico Sistema e quindi, con una sola sezione di Back-End, ad esempio sono in grado di offrire all'utente finale (amministratore del sito), sia un completo gestore di News che un altro per le Immagini, il tutto, amministrabile da un'unica sezione. Alcuni dei ACMS oggi piu diffusi, sono: phpnuke, Xoops, Mambo, MaxWebPortal, PostNuke e ASPNuke. In questo Tutorial, ovviamente, andremo a realizzare un semplice CMS per News e non ci imbatteremo in sistemi avanzati. Probabilmente un Tutorial non basterebbe a contenere tutto quello che c'e' da dire su questo argomento, ma un libro da 300/400 pagine sarebbe l'ideale ;-)

3 Pagina 3 di 25 Infine, vorrei mostrare le diverse strutture di questi sistemi, giusto per farci una migliore idea sulle differenze che intercorrono tra CMS e ACMS. In primo luogo analizzeremo la struttura dei CMS per passare successivamente a quella dei ACMS: Perfetto, una volta che abbiamo introdotto il funzionamento dei CMS, specificato e descritto le due aree di Front-End e di Back-End, non ci resta che passare dunque alla visualizzazione della struttura dei files che costituiranno il sistema per la gestione delle News. Un file per il setup del sistema -> /setup.php Files di uso comune -> /includes/db_conn.php -> /includes/funzioni_php.php -> /includes/verify.php Sezione di Back-End: -> /admin -> /admin/index.php -> /admin/pages/amministratore.php -> /admin/pages/autori.php -> /admin/pages/articoli.php -> /admin/pages/sezioni.php Sezione di Front-End: -> /index.php -> /menu.php -> /pager.php -> /pages/last_news.php -> /pages/info_autore.php

4 Pagina 4 di 25 -> /pages/leggi_news.php -> /pages/sezione_news.php Grosso modo, questi saranno tutti files necessari al corretto funzionamento del nostro sistema, durante la lettura di questo Tutorial, inizieremo la realizzazione della sezione di *Back-End*, quindi lato amministrativo per poi passare a quella di *Front-End*. Ovviamente nel tutorial non saranno presenti tutti i listati completi per ogni file poiche' la lettura potrebbe diventare noiosa. Mi limitero' ad illustrare esclusivamente la funzione dei files piu' importanti e come dovranno essere strutturati per offrire al programmatore stesso una migliore gestione del codice. Per chi comunque, volesse risalire al codice completo del CMS, può farlo semplicemente scaricando il file in allegato, all'inizio del tutorial. Il file di Setup? La maggior parte dei CMS, dispongono di un proprio file per installare il sistema, in definitiva, questo file non fa altro che preparare il Database, le Tabelle e infine popolarle con dei dati *standard*, rendendo in pochi instanti il sistema attivo e funzionante. Ma ora, dopo tante parole e' arrivato il momento di buttar giu' qualche riga, iniziamo col visualizzare il codice completo del file Setup.php File: Setup.PHP (Codice completo) Codice PHP:

5 Pagina 5 di 25

6 Pagina 6 di 25

7 Pagina 7 di 25

8 Pagina 8 di 25

9 Pagina 9 di 25

10 Pagina 10 di 25

11 Pagina 11 di 25

12 Pagina 12 di 25

13 Pagina 13 di 25 <?php /*CMS - News * Giuseppe Leone (Master85) * Copyright (c) MasterDrive.it 2005 */ /*File di Setup * Suddiviso a Steps: * 1: Crea db_news * 2: Crea tabella "Articolo" * 3: Crea tabella "Autore" * 4. Crea tabella "Sezione" * 5: Crea tabella "Login" * 6: Popola tabella "Autore" * 7: Popola tabella "Sezione" * 8: Popola tabella "Login" * 9: Fine Setup */ //Connesione a MySQL mysql_connect("localhost", "root") or die("non riesco a connettermi"); //Creazione Database $strsql = "CREATE DATABASE `db_news`"; mysql_query($strsql); //Creazione Tabella mysql_select_db("db_news") or die("non riesco a selezionare il Database"); //Query CREATE TABLE - Articolo $strsql = 'CREATE TABLE `articolo` ('. ' `intarticoloid` INT NOT NULL AUTO_INCREMENT, '. ' `intsezioneid` INT NOT NULL, '. ' `intautoreid` INT NOT NULL, '. ' `strtitolo` VARCHAR(100) NOT NULL, '. ' `strintroduzione` VARCHAR(255) NOT NULL, '. ' `strarticolo` TEXT NOT NULL, '. ' `dtmpubblicazione` INT(12) NOT NULL,'. ' PRIMARY KEY (`intarticoloid`)'. ' )'; //Creo la tabella mysql_query($strsql); //Query CREATE TABLE - Autore $strsql = 'CREATE TABLE `autore` ('. ' `intautoreid` INT NOT NULL AUTO_INCREMENT, '. ' `strnome` VARCHAR(25) NOT NULL, '. ' `strcognome` VARCHAR(25) NOT NULL, '. ' `str ` VARCHAR(100) NOT NULL, '. ' `strnote` VARCHAR(255) NOT NULL,'. ' PRIMARY KEY (`intautoreid`)'. ' )'; //Creo la tabella mysql_query($strsql); //Query CREATE TABLE - Sezione $strsql = 'CREATE TABLE `sezione` ('. ' `intsezioneid` INT NOT NULL AUTO_INCREMENT, '. ' `strnome` VARCHAR(25) NOT NULL,'. ' PRIMARY KEY (`intsezioneid`)'. ' )'; //Creo la tabella mysql_query($strsql);

14 Pagina 14 di 25 Questo file andra' eseguito una sola volta e a procedura completata, quindi, sistema installato e funzionante, consiglio vivamente di cancellarlo. Ricordiamoci inoltre i dati di accesso che abbiamo specificato durante la creazione del Database. In questo caso, ho utilizzato come Username: giuseppe e come password: mypass. La sezione di Back-End Una volta che abbiamo preparato il Database, le Tabelle e successivamente popolate con dei records di esempio, dobbiamo pensare alla realizzazione della sezione di Back-End. Ovviamente il codice non verra' mostrato completamente in questo tutorial, come accennavo in precedenza. Ma per tutti i curiosi, ho messo a disposizione il codice completo e funzionante di questo sistema in formato *.zip. Tornando al sistema di Back-End, mi limitero' ad illustrare il funzionamento e la struttura principale *generica* per ogni file. Ma prima di ciò, consiglio di dare uno sguardo a questo schema che illustrera' in semplici passaggi il funzionamento del lato di Back-End. Come si puo' ben notare, la sezione di back-end è principalmente basata su di un file *index.php*. Commentiamo quindi lo schema sopra proposto: Possiamo dire che il file /admin/index.php è suddiviso in 3 sezioni distinte e separate. La prima è necessaria all'inclusione dei vari files di utilizzo comune, come ad esempio la connessione al database e il file di verifica utente. La seconda, si preoccupa di selezionare e infine servire le determinate aree amministrative, nel caso in cui l'utente abbia effettuato il login, correttamente. Mentre la terza e ultima sezione, restituisce a video un semplice pannello di login nel caso in cui l'utente abbia effettuato il logout o non sia ancora loggato. Visualizzo di seguito il codice sorgente completo delle varie sezioni che compongono il file index.php: 1 Sezione - File: /includes/db_conn.php (codice sorgente completo) Codice PHP: <?php //Connessione al Database db_news mysql_connect("localhost", "root") or die("non riesco a connettermi"); mysql_select_db("db_news") or die("non trovo il Database");?> 2 Sezione - File: /includes/verify.php (codice sorgente completo) Codice PHP:

15 Pagina 15 di 25 <?php //Avvio o continuo la sessione session_start(); //Controllo che la sessione sia attiva if(!isset($_session['id_user'])){ //Controllo se l' utente vuole loggarsi $username $password //Controllo se l' username e la password non sono vuoti if((!strlen($username) == 0) and (!strlen($password) == 0)){ //Effettuo il controllo dei dati $strsql = "SELECT * FROM login"; $strsql.= " WHERE struser = '".$username."' AND strpass = MD5('".$password."')"; $result = mysql_query($strsql); $row = mysql_fetch_row($result); //Controllo se l' utente e' stato trovato if(!strlen($row[0]) == 0){ //Effettuo il login $_SESSION['intUserID'] = $row[0]; //Libero la memoria mysql_free_result($result); if(@$_get['logout'] == 1){ //Effettuo il Logout $_SESSION = array(); //Desetto tutte le variabili di sessione session_destroy(); //Distruggo le sessioni?> 3 Sezione - File: /admin/index.php (codice sorgente completo) Codice PHP:

16 Pagina 16 di 25 <?php require_once('../includes/db_conn.php');?> <?php require_once('../includes/verify.php');?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>amministrazione News</title> </head> <body> <?php //Controllo che l' utente sia loggato if(isset($_session['id_user'])) { //Recupero la pagina da visualizzare $page //Effettuo lo switch switch($page) { case 'amministratore': require_once('pages/amministratore.php'); break; case 'autore': require_once('pages/autore.php'); break; case 'sezione': require_once('pages/sezione.php'); break; case 'articolo': require_once('pages/articolo.php'); break; default: require_once('pages/menu.php'); break; else{ //Visualizzo il LOGIN?> <table align="center"> <form method="post" action="index.php"> <tr height="20"> <td colspan="2" align="center" bgcolor="#e9e9e9">login Amministrazione</td> </tr> <tr> <td>username:</td> <td><input type="text" name="txt_username"></td> </tr> <tr> <td>password:</td> <td><input type="password" name="txt_password"></td> </tr>

17 Pagina 17 di 25 Come funziona la pagina /admin/index.php? Ammettiamo di essere già loggati e quindi la pagina index.php deve essere in grado si fornirci una determinata area di amministrazione. Nel caso in cui non è stata ancora selezionata una determinata area da visualizzare, la pagina index.php ne visualizzerà una di default (vedere nella struttura switch, il caso default). Inoltre, se l'utente fornisse alla pagina index.php un'area che il sistema non è in grado di riconoscere, verrà sempre visualizzata la pagina presente nel caso di default. Ma l'area da selezionare da cosa è determinata? Il tutto è dovuto ad una varibile $page passata tramite GET alla pagina index.php, ad esempio: index.php?page=amministratore, in questo caso, l'area da visualizzare sarà *amministratore*. Una volta esaminata la struttura del file index.php è arrivato il momento di studiare il funzionamento delle varie aree amministrative. Se facciamo caso al codice sopra proposto, potremo notare che per ogni area amministrativa da visualizzare viene inclusa una pagina, ma qui, la domanda sorge spontanea: "Come fa una pagina a gestire più funzionalità allo stesso tempo?" Ecco come, ogni pagina a sua volta sarà suddivisa in sotto sezioni che verranno individuate da una variabile $azione, in base al valore assunto da questa variabile, la pagina visualizzerà un contenuto diverso. Di seguito visualizzo il codice sorgente completo dell'area amministrativa, *amministratore.php*. Tutti questi files saranno contenuti in una directory /admin/pages File: /admin/pages/amministratore.php (codice corgente completo) Codice PHP:

18 Pagina 18 di 25 <a href="index.php">menù amministrazione</a> <hr> <?php //Prelevo l' azione $action //Azione di default if(strlen($action) == 0){?> <script language="javascript"> function CheckForm(form){ //Boolean var booreturn = true; //strmessage var strmessage = "Attenzione, compilare i seguenti campi:\n" //recupero dati var username = form.txt_new_username.value; var userpass_1 = form.txt_new_password.value; var userpass_2 = form.txt_new_password_2.value; //Effettuo i controlli if(username == ""){ strmessage += "* Nuovo Username\n"; booreturn = false; if(userpass_1 == ""){ strmessage += "* Nuova Password\n"; booreturn = false; if(userpass_2 == ""){ strmessage += "* Ripeti Password\n"; booreturn = false; //Controllo le due password if(booreturn){ if(userpass_1!= userpass_2){ strmessage = "Attenzione\n"; strmessage += "* Le due pasword non coincidono"; booreturn = false; //Ritorno booreturn if(booreturn == false){ alert (strmessage); return booreturn; </script> <h1>modifica dati di Accesso</h1> <form method="post" action="index.php?page=amministratore&action=registra" onsubmit="return CheckForm( Nuovo Username: <input type="text" name="txt_new_username" maxlength="25"> <p>nuova Password: <input type="password" name="txt_new_password" maxlength="25"> <p>ripeti Password: <input type="password" name="txt_new_password_2" maxlength="25"> <p> <input type="submit" value="applica modifiche"> </form> <?php //Registra Modifiche if($action == "registra"){ //Recupero i nuovi dati utente $struser = $_POST['txt_new_username']; $strpass = $_POST['txt_new_password']; //Query SQL UPDATE

19 Pagina 19 di 25 Con la stessa metodologia con cui è stata sviluppata questa pagina verranno create anche tutte le altre. Ripeto, che per questioni di *spazio* non posso pubblicare in questo tutorial il codice sorgente di tutte le pagine del pannello di amministrazione. A questo punto, una volta che abbiamo capito come sviluppare nuove sezioni amministrative, è arrivato il momento di dare uno sguardo al lato di Front-End del nostro CMS. La sezione di Front-End Dire che siamo quasi agli *sgoccioli* di questo tutorial forse è troppo, comunque possiamo dire di essere a metà strada :-) e di aver capito il funzionamento principale del nostro CMS: Sezioni suddivise in moduli e moduli suddivisi in azioni, ecco come funziona principalmente il sistema. Comunque, senza perdere altro tempo in chiacchiere, iniziamo con lo sviluppo della sezione di Front-End. Solitamente i CMS di News non rchiedono una sezione di Front-End complicata e utilizzo di funzioni PHP particolari, tutto quello di cui avremo bisogno è visualizzare tutte le ultime news nella pagina principale (/last_news.php) oppure le news suddivise nelle rispettive sezioni (/pages/sezione_news.php). Rendiamo meglio l'idea osservando la struttura della Home Page del nostro CMS: Per questo tutorial, ho deciso di utilizzare una semplice struttura costituita da una tabella suddivisa in due colonne. Una prima, contenente il menu di navigazione, mentre la seconda, includerà il file /pager.php che si preoccuperà di selezionare e fornire le pagine richieste al nostro CMS. Una volta analizzata la struttura /index.php non ci resta che mostrare un po di codice della stessa pagina e successivamente visualizzare /menu.php e /pager.php: File: /index.php (Codice sorgente completo) Codice PHP:

20 Pagina 20 di 25 <?php require_once("includes/db_conn.php"); require_once("includes/funzioni_php.php");?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>articoli</title> </head> <body> <table width="80%" align="center" border="1"> <tr> <td width="20%" valign="top"> <?php require_once("menu.php");?> </td> <td width="80%" valign="top"> <?php require_once("pager.php");?> </td> </tr> </table> </body> </html> Come possiamo ben notare, nella parte superiore della pagina vengono inclusi due files: /includes/db_conn.php (la connessione al Database) che abbiamo visto in precedenza, e un nuovo file: /includes/funzioni_php.php, a cosa serve questo file? Solitamente, la maggior parte dei programmatori dedica un file.php esclusivamente al mantenimento di tutte le funzioni comuni, utilizzate durante la navigazione del sito, per non dover fare un *copia/incolla* di codice appesantendo notevolmente tutte le pagine complicandone la gestione delle stesse. Questo file, nel nostro caso conterra' la funzione per interpretare il testo appartenente all'articolo stesso, ad esempio tutti i pseudo tags (anche chiamati BBCodes. Argomento gia' discusso in altre guide presenti in questa sezione) come accade nei forum di discussione più diffusi oggi su internet per consentire all'utente di formattare come meglio crede il testo pubblicato. Quindi, osserviamo il contenuto del file /includes/funzioni_php.php: File: /includes/funzioni_php.php (codice sorgente completo) Codice PHP:

21 Pagina 21 di 25 <?php //Funzione per interpretare il testo function finterpreta($string) { //No HTML $string = trim(str_replace("<", "<", $string)); $string = trim(str_replace(">", ">", $string)); //CHR 13 $string = trim(str_replace(chr(13), "<br>;", $string)); $string = trim(str_replace(";", "", $string)); //BBCODE $string = trim(str_replace("[g]", "<b>", $string)); $string = trim(str_replace("[/g]", "</b>", $string)); $string = trim(str_replace("[c]", "<i>", $string)); $string = trim(str_replace("[/c]", "</i>", $string)); $string = trim(str_replace("[s]", "<u>", $string)); $string = trim(str_replace("[/s]", "</u>", $string)); $string = trim(str_replace("[hr]", "<hr>", $string)); $string = trim(str_replace("[li]", "<li>", $string)); $string = trim(str_replace("[image=", "<img border='0' src='", $string)); $string = trim(str_replace("[url=", "<a href='", $string)); $string = trim(str_replace("[/url]", "</a>", $string)); $string = trim(str_replace("[al=left]", "<div align='left'>", $string)); $string = trim(str_replace("[al=center]", "<div align='center'>", $string)); $string = trim(str_replace("[al=right]", "<div align='right'>", $string)); $string = trim(str_replace("[/al]", "</div>", $string)); $string = trim(str_replace("[posta=", "<a href=mailto:", $string)); $string = trim(str_replace("[/posta]", "</a>", $string)); $string = trim(str_replace("[colore=", "<font color=", $string)); $string = trim(str_replace("[/colore]", "</font>", $string)); $string = trim(str_replace("]", "'>", $string));?> //Ritorno il valore return $string; Perfetto, dopo questa piccola parentesi sulla formattazione del testo e quindi sui BBCodes, continuiamo ad analizzare la pagina /index.php. Restano ancora altri due file che costituiscono questa pagina: /menu.php e /pager.php. Il file menu.php visualizza le sezioni disponibili e offre un url per visionare solamente gli articoli delle sezioni interessate: File: /menu.php (Codice sorgente completo) Codice PHP:

22 Pagina 22 di 25 <?php //Visualizzo le sezioni $strsql = "SELECT DISTINCT articolo.intsezioneid,". " sezione.intsezioneid,". " sezione.strnome FROM articolo". " INNER JOIN sezione". " ON articolo.intsezioneid = sezione.intsezioneid". " ORDER BY sezione.strnome ASC"; $result = mysql_query($strsql); //url torna in Homepage echo "<a href=\"index.php\">homepage</a><br>\n"; //Elenco le sezioni while($row = mysql_fetch_array($result)){ $intsezioneid = $row['intsezioneid']; $strnome = $row['strnome']; echo "<a href=\"index.php?page=sezione&id=$intsezioneid\">$strnome</a><br>\n"; //Libero la memoria mysql_free_result($result);?> Mentre il file /pager.php provvede come accennato in precedenza al recupero ed alla visualizzazione delle pagine (moduli) interessati, ecco il codice completo, potrebbe ricordare vagamente /admin/index.php, in concetto è sempre lo stesso. File: /pager.php (Codice sorgente completo) Codice PHP:

23 Pagina 23 di 25 <?php //Recupero la pagina da visualizzare $page //Effettuo lo switch switch($page) { case 'sezione': require_once('pages/sezione_news.php'); break; case 'articolo': require_once('pages/leggi_news.php'); break; case 'autore': require_once('pages/info_autore.php'); break;?> default: require_once('pages/last_news.php'); break; Come si nota dal codice, il *caso* di default di questa struttura switch restituisce la pagina /pages/last_news.php che provvederà alla visualizzazione degli ultimi 10 articoli inseriti nel Database. I moduli di Front-End Una volta che abbiamo studiato il funzionamento del CMS e avere scritto i files principali che costituiscono la sezione di Front-End, non ci resta che sviluppare alcuni dei Moduli (pagine) che il CMS provvederà a visualizzare. Sembra ovvio, analizzare in primo luogo la pagina (modulo) /pages/last_news.php, come accennavo in precedenza, si occuperà della visualizzazione degli ultimi 10 articoli inseriti: File: /pages/last_news.php (codice sorgente completo) Codice PHP:

24 Pagina 24 di 25 <?php echo "<h1>ultime News Pubblicate</h1>\n"; //Query SQL per visualizzare le ultime News $strsql = "SELECT articolo.intarticoloid, ". " articolo.intsezioneid, ". " articolo.intautoreid, ". " articolo.strtitolo, ". " articolo.strintroduzione, ". " articolo.dtmpubblicazione, ". " sezione.intsezioneid, " //Evito conflitti con strnome di autore. " sezione.strnome AS strsezionenome, " *.*.*.*.*.*.*.*.*. " autore.intautoreid, ". " autore.strcognome, ". " autore.strnome FROM ((articolo". " INNER JOIN sezione ON". " articolo.intsezioneid = sezione.intsezioneid)". " INNER JOIN autore ON". " articolo.intautoreid = autore.intautoreid)". " ORDER BY articolo.dtmpubblicazione DESC". " LIMIT 0, 10"; //Eseguo la query SQL $result = mysql_query($strsql); //Scorro gli ultimi 10 articoli inseriti while($row = mysql_fetch_array($result)){ //Recupero i Dati essenziali $intarticoloid = $row['intarticoloid']; $intsezioneid = $row['intsezioneid']; $intautoreid = $row['intautoreid']; $strtitolo = $row['strtitolo']; $strintroduzione = $row['strintroduzione']; $dtmpubblicazione = $row['dtmpubblicazione']; $strsezionenome = $row['strsezionenome']; $strcognome = $row['strcognome']; $strnome = $row['strnome']; //Visualizzo a video l'articolo echo "<a href=\"index.php?page=articolo&id=$intarticoloid\">$strtitolo</a>\n<br>"; echo "Pubblicato: ".date("d-m-y", $dtmpubblicazione)." "; echo "da: $strnome $strcognome<hr>"; echo finterpreta($strintroduzione)."<p>"; //Libero la memoria mysql_free_result($result);?> Commenti: L'unica particolarità di questo codice è la query SQL, per eseguire una interrogazione dal Database che fosse in grado di estrapolare tutti i dati più significativi per elencare gli ultimi articoli, nel nostro caso, abbiamo utilizzato le INNER JOIN, quindi, ci preoccupiamo di collegare le vari tabelle (entità) del database per mezzo di un campo *comune*, ad esempio: articolo.intsezioneid con sezione.intsezioneid per recuperare tutti i dati relativi alla sezione di appartenenza dell'articolo. Inoltre, altra particolarità e' la riga: sezione.strnome AS strsezionenome in questo caso, abbiamo associato al campo *virtuale* strsezionenome il valore di sezione.strnome. Tutto ciò, per evitare conflitti con il campo autore.strnome poichè i due, presentano la stessa denominazione. Conclusioni

25 Pagina 25 di 25 Come conclusioni? Il tutorial finsce qui? Già! Una volta che abbiamo studiato il meccanismo del sistema e visualizzato il codice della pagina /pages/last_news.php, non credo sia necessario andare oltre con la visualizzazione del codice delle altre pagine, in fondo, tutto quello che dobbiamo fare per lo sviluppo di altri moduli (pagine) per la visualizzazione degli articoli di una determinata sezione oppure per la lettura di un singolo articolo, è semplicemente andare a modificare la query SQL e qualche riga di codice PHP. Tutto qui. Ovviamente in questo tutorial ho voluto introdurre gli aspetti principali che individuano il funzionamento dei CMS, ma ovviamente su questo argomento ci si potrebbe scrivere benissimo un testo completo, esistono ancora tanti altri metodi e concetti per lo sviluppo di CMS che variano da programmatore a programmatore... A questo punto, tutto quello che mi resta da dire è: "Buona programmazione!" e alla prossima :-)

CONTENT MANAGEMENT SY STEM

CONTENT MANAGEMENT SY STEM CONTENT MANAGEMENT SY STEM I NDI CE I NTRODUZI ONE Accesso al CMS 1) CONTENUTI 1.1 I nserimento, modifica e cancellazione dei contenuti 1.2 Sezioni, categorie e sottocategorie 2) UTENTI 3) UP LOAD FILES

Dettagli

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server 2) Il Server richiama l'interprete PHP il quale esegue i comandi contenuti nel file.php specificato nell'attributo action del tag form creando un file HTML sulla base dei dati inviati dall utente 1) Il

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System II parte Progetto gestione booking prenotazioni on-line 1. Progettazione e creazione struttura database che chiameremo booking. 2. Progettazione e creazione di un form

Dettagli

Guida alla registrazione on-line di un DataLogger

Guida alla registrazione on-line di un DataLogger NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

Guida all'uso del CMS (Content Management System, Sistema di Gestione dei Contenuti)

Guida all'uso del CMS (Content Management System, Sistema di Gestione dei Contenuti) GUIDE Sa.Sol. Desk: Rete Telematica tra le Associazioni di Volontariato della Sardegna Guida all'uso del CMS (Content Management System, Sistema di Gestione dei Contenuti) Argomento Descrizione Gestione

Dettagli

Come modificare la propria Home Page e gli elementi correlati

Come modificare la propria Home Page e gli elementi correlati Come modificare la propria Home Page e gli elementi correlati Versione del documento: 3.0 Ultimo aggiornamento: 2006-09-15 Riferimento: webmaster (webmaster.economia@unimi.it) La modifica delle informazioni

Dettagli

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN Il metodo migliore per creare nuovi DB è quello di usare l interfaccia del PHPMYADMIN (che viene installata automaticamente con il pacchetto easy

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

CONTENUTI 1. INTRODUZIONE...3 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 3. ACCESSO A EQUINOX CMS XPRESS...9 4. PAGINA D INIZIO...

CONTENUTI 1. INTRODUZIONE...3 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 3. ACCESSO A EQUINOX CMS XPRESS...9 4. PAGINA D INIZIO... CONTENUTI 1. INTRODUZIONE...3 DEFINIZIONE...3 ELEMENTI DEL SERVIZIO...3 TECNOLOGIA E OPERAZIONE...3 WORKFLOW E GRAFICO DI PROCESSI...4 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 STRUTTURA...5 OGGETTI...5

Dettagli

MANUALE UTENTE Fiscali Free

MANUALE UTENTE Fiscali Free MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato

Dettagli

File, Modifica, Visualizza, Strumenti, Messaggio

File, Modifica, Visualizza, Strumenti, Messaggio Guida installare account in Outlook Express Introduzione Questa guida riguarda di sicuro uno dei programmi maggiormente usati oggi: il client di posta elettronica. Tutti, ormai, siamo abituati a ricevere

Dettagli

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste versione 2.1 24/09/2015 aggiornamenti: 23-set-2015; 24-set-2015 Autore: Francesco Brunetta (http://www.francescobrunetta.it/)

Dettagli

GESGOLF SMS ONLINE. Manuale per l utente

GESGOLF SMS ONLINE. Manuale per l utente GESGOLF SMS ONLINE Manuale per l utente Procedura di registrazione 1 Accesso al servizio 3 Personalizzazione della propria base dati 4 Gestione dei contatti 6 Ricerca dei contatti 6 Modifica di un nominativo

Dettagli

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE CHIARA FERRARI 5I MERCURIO INDICE: 1. TRACCIA DEL PROBLEMA 2. SVILUPPO DEL PROGETTO (ENTITA, ATTRIBUTI) 3. SCHEMA E-R DELLA BASE DEI

Dettagli

Vi ricordiamo che per qualsiasi problema tecnico o informazione potete contattare info@eduitalia.org oppure Francesco al 3357761103.

Vi ricordiamo che per qualsiasi problema tecnico o informazione potete contattare info@eduitalia.org oppure Francesco al 3357761103. Gentili Associati, in questi ultimi tempi abbiamo lavorato per sviluppare un software capace di far gestire direttamente alle scuole la propria presenza sul sito di Eduitalia. Tramite la registrazione

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

OSSIF WEB. Manuale query builder

OSSIF WEB. Manuale query builder OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI

Dettagli

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress Copyright Andrea Giavara wppratico.com Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress 1. Il pannello amministrativo 2. I dati importanti 3. Creare il database - Cpanel - Plesk

Dettagli

MANUALE UTENTE UTILIZZO MODULO FILE-STORAGE DI ACS - CANALE AMBIENTE PROVINCIA DI TORINO

MANUALE UTENTE UTILIZZO MODULO FILE-STORAGE DI ACS - CANALE AMBIENTE PROVINCIA DI TORINO Pag. 1 di 17 VERIFICHE E APPROVAZIONI VERSIONE REDAZIONE CONTROLLO APPROVAZIONE AUTORIZZAZIONE EMISSIONE NOME DATA NOME DATA NOME DATA V01 CORA 15/01/03 FERRARESI 21/01/03 FERRARESI 21/01/03 STATO DELLE

Dettagli

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

Dettagli

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag.

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag. Gentile Cliente, benvenuto nel Portale on-line dell Elettrica. Attraverso il nostro Portale potrà: consultare la disponibilità dei prodotti nei nostri magazzini, fare ordini, consultare i suoi prezzi personalizzati,

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore ARPA Fonte Dati Regione Toscana 1 Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.1 Data emissione 09/10/13 Stato FINAL 2 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 1.1 09/10/2013

Dettagli

Guida Joomla. di: Alessandro Rossi, Flavio Copes

Guida Joomla. di: Alessandro Rossi, Flavio Copes Guida Joomla di: Alessandro Rossi, Flavio Copes Estensioni e moduli 1. 11. I componenti Come scaricare ed utilizzare i componenti più comuni 2. 12. Gestire i moduli Organizzare la visualizzazione dei moduli

Dettagli

GUIDA AL SITO DELLE RIPARAZIONI BARWARE SOMMARIO

GUIDA AL SITO DELLE RIPARAZIONI BARWARE SOMMARIO GUIDA AL SITO DELLE RIPARAZIONI BARWARE SOMMARIO Introduzione...2 1. Registrazione al sito delle riparazioni...2 2. Login e Home page...6 3. Assistenza...8 3a. Nuova richiesta di riparazione...8 3b. Lista

Dettagli

FISH Sardegna ONLUS. www.fishsardegna.org. Manuale Utente. www.fishsardegna.org

FISH Sardegna ONLUS. www.fishsardegna.org. Manuale Utente. www.fishsardegna.org FISH Sardegna ONLUS Manuale Utente Note generali: Il sito è costruito su CMS Drupal 7. Per avere maggiori informazioni su Drupal si puo consultare online il portale ufficiale http://drupal.org/( in inglese)

Dettagli

Spazio Commerciale. Le tue vendite, il nostro successo. Manuale Operativo. Guida inserimento articoli tramite Area di amministrazione.

Spazio Commerciale. Le tue vendite, il nostro successo. Manuale Operativo. Guida inserimento articoli tramite Area di amministrazione. Manuale Operativo Guida inserimento articoli tramite Area di amministrazione Pagina 1 di 8 Indice Generale 1. Sommario 2. Introduzione 3. Glossario 4. Accesso all'interfaccia 5. Icone e funzionalità 5.1.

Dettagli

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia Scuola Digitale Manuale utente Copyright 2014, Axios Italia 1 SOMMARIO SOMMARIO... 2 Accesso al pannello di controllo di Scuola Digitale... 3 Amministrazione trasparente... 4 Premessa... 4 Codice HTML

Dettagli

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1 PROGRAMMA GESTIONE TURNI MANUALE UTENTE INDICE 1 PREMESSA 3 2 COMANDI COMUNI 3 3 SEDI 3 4 FESTIVITÀ 4 5 PERIODI TURNI 4 6 COD. TURNI 6 7 TURNI SPORTIVI 9 8 COD. EQUIPAGGI 9 9 DISPONIBILITÀ 10 10 INDISPONIBILITÀ

Dettagli

Questa guida vi illustrerà i principali passaggi da eseguire per l'inserimento dei Bandi di gara.

Questa guida vi illustrerà i principali passaggi da eseguire per l'inserimento dei Bandi di gara. Piccolo Manuale Manuale Pt 1ª Registrazione (Login) Questa guida vi illustrerà i principali passaggi da eseguire per l'inserimento dei Bandi di gara. Riceverete una email contenente: Link della vostra

Dettagli

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Dettagli

www.monferratostradadelvino.it GUIDA ALL USO DEL PORTALE

www.monferratostradadelvino.it GUIDA ALL USO DEL PORTALE www.monferratostradadelvino.it GUIDA ALL USO DEL PORTALE Come accedere La login e la password vi arriverà nella casella di posta elettronica con una mail. Questi dati andranno inseriti in queste caselle

Dettagli

A tal fine il presente documento si compone di tre distinte sezioni:

A tal fine il presente documento si compone di tre distinte sezioni: Guida on-line all adempimento Questa guida vuole essere un supporto per le pubbliche amministrazioni, nella compilazione e nella successiva pubblicazione dei dati riguardanti i dirigenti sui siti istituzionali

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti

Dettagli

PHP e MySQL. Guida scaricata da www.webstyling.it

PHP e MySQL. Guida scaricata da www.webstyling.it Home -> Manuali & Tutorials -> Guida PHP PHP e MySQL E' possibile realizzare delle applicazioni in php appoggiandosi ad un database, quale ad esempio MySQL. Con le novità introdotte ai tempi di MySQL 4.1

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

Invio SMS. DM Board ICS Invio SMS

Invio SMS. DM Board ICS Invio SMS Invio SMS In questo programma proveremo ad inviare un SMS ad ogni pressione di uno dei 2 tasti della DM Board ICS. Per prima cosa creiamo un nuovo progetto premendo sul pulsante (Create new project): dove

Dettagli

DATA BASE ON LINE (BANCA DATI MODULI SPERIMENTALI)

DATA BASE ON LINE (BANCA DATI MODULI SPERIMENTALI) Progetto regionale antidispersione per favorire l adempimento dell obbligo d istruzione 2 a annualità DATA BASE ON LINE (BANCA DATI MODULI SPERIMENTALI) MANUALE DI UTILIZZO Indice Premessa 3 Ingresso nel

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti 20120300 INDICE 1. Introduzione... 3 2. Consultazione... 4 2.1 Consultazione Server Fidati... 4 2.2 Consultazione Servizi Client... 5 2.3 Consultazione Stato richieste... 5 3. Amministrazione... 6 3.1

Dettagli

Cerca Compra Vendi. Guida passo per passo all utilizzo del sito

Cerca Compra Vendi. Guida passo per passo all utilizzo del sito Cerca Compra Vendi Guida passo per passo all utilizzo del sito La registrazione Prima di poter iniziare ad inserire annunci sul sito cerca compra vendi è necessario procedere alla registrazione di un account

Dettagli

FtpZone Guida all uso Versione 2.1

FtpZone Guida all uso Versione 2.1 FtpZone Guida all uso Versione 2.1 La presente guida ha l obiettivo di spiegare le modalità di utilizzo del servizio FtpZone fornito da E-Mind Srl. All attivazione del servizio E-Mind fornirà solamente

Dettagli

Il tutor è a disposizione per ogni chiarimento

Il tutor è a disposizione per ogni chiarimento INDICAZIONI PER ESSERE OPERATIVI Alcune istruzioni per rendervi la vita più facile e accedere alle risorse del percorso online di Sociologia intuitivamente Il tutor è a disposizione per ogni chiarimento

Dettagli

2003.06.16 Il sistema C.R.M. / E.R.M.

2003.06.16 Il sistema C.R.M. / E.R.M. 2003.06.16 Il sistema C.R.M. / E.R.M. Customer / Enterprise : Resource Management of Informations I-SKIPPER è un sistema di CONOSCENZE che raccoglie ed integra INFORMAZIONI COMMERCIALI, dati su Clienti,

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

Guida alla registrazione on-line di un NovaSun Log

Guida alla registrazione on-line di un NovaSun Log Guida alla registrazione on-line di un NovaSun Log Revisione 4.1 23/04/2012 pag. 1 di 16 Contenuti Il presente documento è una guida all accesso e all utilizzo del pannello di controllo web dell area clienti

Dettagli

I tutorial di MadLabs.. Installazione e prima configurazione

I tutorial di MadLabs.. Installazione e prima configurazione I tutorial di MadLabs.. Installazione e prima configurazione Come installare php nuke Introduzione PHP Nuke è uno dei CMS (content management System) più usati del web. Per chi non lo sapesse, un CMS è

Dettagli

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB Per visualizzare i dati di una tabella in una pagina web, dobbiamo utilizzare l'oggetto ADODB.Recordset

Dettagli

Introduzione a Emptypage FTP. I problemi che il software Emptypage FTP si propone di risolvere sono: Usare il tutorial

Introduzione a Emptypage FTP. I problemi che il software Emptypage FTP si propone di risolvere sono: Usare il tutorial Introduzione a Emptypage FTP Emptypage FTP è un software che permette di pubblicare sul proprio sito web immagini, miniature e files in generale. Tutti i giorni, per chi ha un sito dinamico (basato cioè

Dettagli

1 Copyright ChateXpert

1 Copyright ChateXpert Manuale D Uso di ChateXpert FREE 1 Copyright ChateXpert Per in inserire uno dei nostri servizi di community nel proprio sito è necessario prima registrarsi sul sito di ChateXpert.it http://www.chatexpert.it/planet/webmaster.asp

Dettagli

Dispensa DB Mercato del Lavoro

Dispensa DB Mercato del Lavoro Dispensa DB Mercato del Lavoro Assumiamo come partenza che nella tabella Stato presente nel DB sono elencati tre codici, con i quali possiamo agevolmente sviluppare delle query che poi, a sua volta saranno

Dettagli

RELAZIONE PROGETTO DATABASE GESTIONE BIBLIOTECA PERSONALE

RELAZIONE PROGETTO DATABASE GESTIONE BIBLIOTECA PERSONALE RELAZIONE PROGETTO DATABASE GESTIONE BIBLIOTECA PERSONALE Mameli Salvatore-M01/000153 SOMMARIO 1 INTRODUZIONE 1.1 Project Overview 1.2 Ambiente del prodotto 1.3 Document Overview 2 - PROGETTAZIONE 2.1

Dettagli

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE S O. S E. B I. P R O D O T T I E S E R V I Z I P E R I B E N I C U L T U R A L I So.Se.Bi. s.r.l. - via dell Artigianato, 9-09122 Cagliari Tel. 070 / 2110311

Dettagli

FtpZone Guida all uso

FtpZone Guida all uso FtpZone Guida all uso La presente guida ha l obiettivo di spiegare le modalità di utilizzo del servizio FtpZone fornito da E-Mind Srl. All attivazione del servizio E-Mind fornirà solamente un login e password

Dettagli

MICHELANGELO Piattaforma autorizzativa per la gestione di interventi riservata ai fornitori

MICHELANGELO Piattaforma autorizzativa per la gestione di interventi riservata ai fornitori MICHELANGELO Piattaforma autorizzativa per la gestione di interventi riservata ai fornitori Questa documentazione conterrà tutti i dettagli operativi relativi all impatto della nuova applicazione web di

Dettagli

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 1 di 38 Portale tirocini Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 2 di 38 INDICE 1. INTRODUZIONE... 3 2. ACCESSO AL SISTEMA...

Dettagli

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Sistema inoltro telematico domande di nulla osta, ricongiungimento e conversioni Manuale utente Versione 2 Data creazione 02/11/2007 12.14.00

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

GERARCHIE RICORSIVE - SQL SERVER 2008

GERARCHIE RICORSIVE - SQL SERVER 2008 GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER

Dettagli

L amministratore di dominio

L amministratore di dominio L amministratore di dominio Netbuilder consente ai suoi clienti di gestire autonomamente le caselle del proprio dominio nel rispetto dei vincoli contrattuali. Ciò è reso possibile dall esistenza di un

Dettagli

Guida Joomla. di: Alessandro Rossi, Flavio Copes

Guida Joomla. di: Alessandro Rossi, Flavio Copes Guida Joomla di: Alessandro Rossi, Flavio Copes Grafica e template 1. 15. La grafica e i template Personalizzare l'aspetto del sito aggiungendo nuovi template e customizzandoli 2. 16. Personalizzare il

Dettagli

GUIDA ALL UTILIZZO DEL PORTALE DELLA RETE DEI COMUNI OGLIO PO

GUIDA ALL UTILIZZO DEL PORTALE DELLA RETE DEI COMUNI OGLIO PO GUIDA ALL UTILIZZO DEL PORTALE DELLA RETE DEI COMUNI OGLIO PO Il portale della Rete dei Comuni Oglio Po risponde all url: http://www.comuniogliopo.it Il portale è un contenitore per i siti comunali degli

Dettagli

RELAZIONE TECNICA GESTIONE CARTE DI CREDITO. a cura di EMANUELE CESARI

RELAZIONE TECNICA GESTIONE CARTE DI CREDITO. a cura di EMANUELE CESARI RELAZIONE TECNICA GESTIONE CARTE DI CREDITO a cura di EMANUELE CESARI 1 INDICE ARGOMENTO: PAGINA 1. Traccia del problema 3 2. Analisi di massima e spiegazione 4-11 3. Modello Er 12 4. Scema Relazionale

Dettagli

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web Corso di PHP 6.1 PHP e il web 1 1 Prerequisiti Conoscenza HTML Tecnica della programmazione Principi di programmazione web 2 1 Introduzione In questa Unità illustriamo alcuni strumenti di programmazione

Dettagli

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013]

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013] MOCA Modulo Candidatura http://www.federscacchi.it/moca moca@federscacchi.it [Manuale versione 1.0 marzo 2013] 1/12 MOCA in breve MOCA è una funzionalità del sito web della FSI che permette di inserire

Dettagli

<?php include './include/page.php';

<?php include './include/page.php'; Il modulo di inserimento Per creare il modulo di inserimento creeremo due file per semplicità: insert.php sarà il file contenente il form dove inserire i dati. Premendo infine il pulsante inserisci si

Dettagli

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte. I TUTORI Indice Del Manuale 1 - Introduzione al Manuale Operativo 2 - Area Tutore o Area Studente? 3 - Come creare tutti insieme i Tutori per ogni alunno? 3.1 - Come creare il secondo tutore per ogni alunno?

Dettagli

[1] Cross Site Scripting [2] Remote / Local File Inclusion [3] SQL Injection

[1] Cross Site Scripting [2] Remote / Local File Inclusion [3] SQL Injection ---------------------------------------------------------------------..... _/ / _ / / \ \/ / / / / \ / \ \ \ / /_/ \ /\ / \ \ \ / /_/ > Y \ \ \ >\_/ / > / \ / / \/ \/ \/ \/ / / \/ ---------------------------------------------------------------------

Dettagli

Guida utente alla compilazione delle richieste di contributo on-line per le Associazioni dei Consumatori

Guida utente alla compilazione delle richieste di contributo on-line per le Associazioni dei Consumatori Guida Utente RCP2 Agenzia nazionale per l attrazione degli investimenti e lo sviluppo d impresa SpA Guida utente alla compilazione delle richieste di contributo on-line per le Associazioni dei Consumatori

Dettagli

Guida all accesso al portale e ai servizi self service

Guida all accesso al portale e ai servizi self service Guida all accesso al portale e ai servizi self service INDICE PREMESSA 2 pag. 1 INTRODUZIONE 2 2 MODALITÀ DI PRIMO ACCESSO 2 2.1 LA CONVALIDA DELL INDIRIZZO DI POSTA ELETTRONICA 2 2.2 L INSERIMENTO DELLA

Dettagli

Manuale. Gestione biblioteca scolastica by Rosset Pier Angelo is licensed under a Creative Commons

Manuale. Gestione biblioteca scolastica by Rosset Pier Angelo is licensed under a Creative Commons Manuale Gestione biblioteca scolastica by Rosset Pier Angelo is licensed under a Creative Commons Premessa Gestione Biblioteca scolastica è un software che permette di gestire in maniera sufficientemente

Dettagli

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE

Dettagli

Guida rapida per i docenti all'uso della piattaforma di e-learning dell'istituto Giua

Guida rapida per i docenti all'uso della piattaforma di e-learning dell'istituto Giua Guida rapida per i docenti all'uso della piattaforma di e-learning dell'istituto Giua Moodle è la piattaforma didattica per l'e-learning utilizzata dall'istituto Giua per consentire ai docenti di creare

Dettagli

Lezione nr. 7. >> Come posso recuperare un valore da un campo TEXT?

Lezione nr. 7. >> Come posso recuperare un valore da un campo TEXT? Lezione nr. 7 >> Come posso recuperare i valori di un modulo web? Siamo finalmente giunti alla lezione che inizierà ad introdurti nel mondo della programmazione web avanzata. Niente di difficile, ovviamente,

Dettagli

Indice generale. Il BACK-END...3 COME CONFIGURARE JOOMLA...4 Sito...4 Locale...5 Contenuti...5

Indice generale. Il BACK-END...3 COME CONFIGURARE JOOMLA...4 Sito...4 Locale...5 Contenuti...5 Guida a Joomla Indice generale Il BACK-END...3 COME CONFIGURARE JOOMLA...4 Sito...4 Locale...5 Contenuti...5 Il BACK-END La gestione di un sito Joomla ha luogo attraverso il pannello di amministrazione

Dettagli

Progettazione di una base di dati Ufficio della Motorizzazione

Progettazione di una base di dati Ufficio della Motorizzazione Corso di Gestione dell Informazione Studenti NON frequentanti A.A. 2008/2009 1 Scopo del progetto Progettazione di una base di dati Ufficio della Motorizzazione Si vuole realizzare un applicazione base

Dettagli

GUIDA ALL USO DELL AREA RISERVATA

GUIDA ALL USO DELL AREA RISERVATA GUA ALL USO DELL AREA RISERVATA Sommario PREMESSA... 2 1 Come accedere all Area Riservata... 3 2 del Pannello di gestione del sito web... 4 3 delle sezioni... 7 3.1 - Gestione Sito... 7 3.1.1 - AreaRiservata...

Dettagli

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

Dettagli

GUIDA AL PORTALE PARTE 1

GUIDA AL PORTALE PARTE 1 GUIDA AL PORTALE PARTE 1 1 L HOME PAGE Al primo ingresso nel portale www.farmaciefvg.it è visualizzata l Home page (letteralmente pagina di casa ma meglio conosciuta come pagina iniziale ) la cui parte

Dettagli

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7 ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni

Dettagli

A tal fine il presente documento si compone di tre distinte sezioni:

A tal fine il presente documento si compone di tre distinte sezioni: Guida on-line all adempimento Questa guida vuole essere un supporto per le pubbliche amministrazioni, nella compilazione e nella successiva pubblicazione dei dati riguardanti i dirigenti sui siti istituzionali

Dettagli

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE Che cosa sono e a cosa servono le caratteristiche? Oltre a descrivere le qualità di un prodotto con un testo generico (descrizione) è possibile dettagliare

Dettagli

Istruzioni per l accesso all area riservata EFPA Italia Per gli Enti formatori

Istruzioni per l accesso all area riservata EFPA Italia Per gli Enti formatori Istruzioni per l accesso all area riservata EFPA Italia Per gli Enti formatori NB. Le istruzioni riportate qui di seguito valgono sia per corsi EFA che per i corsi EFP Per eseguire l accesso al sito, occorre

Dettagli

monitoraggio dei locomotori via Internet

monitoraggio dei locomotori via Internet monitoraggio dei locomotori via Internet Pagina 1 di 23 Sommario 1 Sito internet-home page... 3 2 Descrizione delle sezioni... 4 2.1 Invia nuove misurazioni sul sito... 5 2.2 Speed Control... 8 2.3 Controllo

Dettagli

Sommario. Introduzione... 11. 1. L ambiente di lavoro... 13. 3. Configurazioni generali e la struttura di Joomla... 35 La struttura di Joomla...

Sommario. Introduzione... 11. 1. L ambiente di lavoro... 13. 3. Configurazioni generali e la struttura di Joomla... 35 La struttura di Joomla... Sommario Introduzione... 11 1. L ambiente di lavoro... 13 XAMPP...15 Installare XAMPP e attivarlo...18 Creare un database MySQL con phpmyadmin...21 Configurare XAMPP in modo che il sito possa inviare e-mail...22

Dettagli

Guida alla procedura di inserimento materiale didattico sui minisiti degli insegnamenti

Guida alla procedura di inserimento materiale didattico sui minisiti degli insegnamenti Guida alla procedura di inserimento materiale didattico sui minisiti degli insegnamenti Inserimento materiale Rendere il materiale accessibile tramite inserimento di user e password (autenticazione) Impostazioni

Dettagli

www.reputazioneonline.it

www.reputazioneonline.it 1 INDICE 1.INTRODUZIONE 3 1.1 Cosa è 3 1.2 Obiettivo 3 1.3 A cosa serve 3 1.4 A chi è rivolto 3 2.ACCESSO AL PORTALE 4 2.1 Registrazione 5 2.2 Login 7 3.STRUTTURA DEL PORTALE 8 3.1 Identità Digitale 8

Dettagli

Progetto ittorario Anno scol. 2013-2014

Progetto ittorario Anno scol. 2013-2014 PROGETTO ittorario Scopo: Creazione di una pagina web che mostri l orario di un docente, della classe della materia o dell aula a discrezione dell utente. Sviluppatori: Progetto sviluppato dalla classe

Dettagli

Guida all'installazione del CMS Os-Commerce

Guida all'installazione del CMS Os-Commerce Guida all'installazione del CMS Os-Commerce VOLA S.p.A. - Traversa Via Libeccio snc - zona industriale Cotone, 55049 Viareggio (LU) tel +39 0584 43671 - fax +39 0584 436700 http://www.vola.it info@vola.it

Dettagli

Manuale servizio Webmail. Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8

Manuale servizio Webmail. Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8 Manuale servizio Webmail Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8 Introduzione alle Webmail Una Webmail è un sistema molto comodo per consultare la

Dettagli

MANUALE D USO DELLA PIATTAFORMA ITCMS

MANUALE D USO DELLA PIATTAFORMA ITCMS MANUALE D USO DELLA PIATTAFORMA ITCMS MANULE D USO INDICE 1. INTRODUZIONE... 2 2. ACCEDERE ALLA GESTIONE DEI CONTENUTI... 3 3. GESTIONE DEI CONTENUTI DI TIPO TESTUALE... 4 3.1 Editor... 4 3.2 Import di

Dettagli

CONCETTO DI ANNIDAMENTO

CONCETTO DI ANNIDAMENTO LEZIONE14 SQL ANNIDAMENTI PAG. 1 / 5 PROF. ANDREA ZOCCHEDDU LEZIONE14 SQL ANNIDAMENTI CONCETTO DI ANNIDAMENTO LINGUAGGIO SQL QUERY ANNIDATE Per annidamento si intende la possibilità che, all interno di

Dettagli

www.associazioni.milano.it - Il sito dedicato alle associazioni no-profit di Milano e provincia

www.associazioni.milano.it - Il sito dedicato alle associazioni no-profit di Milano e provincia Utilizzo del Forum NEWS Il forum news è stato pensato per dare ad ogni associazione la possibilità di pubblicare una pagina di novità all intero del proprio sito (scheda o pagina autocomposta). E la sezione

Dettagli

GUIDA ALLA PROMOZIONE SUL SITO

GUIDA ALLA PROMOZIONE SUL SITO GUIDA ALLA PROMOZIONE SUL SITO Introduzione L attività di promozione è un momento molto importante per la crescita dell organismo. Specialmente nella fase iniziale, dove maggiore è il peso della concorrenza,

Dettagli

Manuale d uso Lexun Area Riservata proprietà di logos engineering - Sistema Qualità certificato ISO 9001 Det Norske Veritas Italia

Manuale d uso Lexun Area Riservata proprietà di logos engineering - Sistema Qualità certificato ISO 9001 Det Norske Veritas Italia Pag. 1/5 Vi permetterà di gestire lo scambio di file con colleghi o clienti in maniera semplice, veloce e sicura. Potrete creare delle cartelle da condividere con i Vostri utenti e inserirvi all interno

Dettagli

Progettazione di un Database

Progettazione di un Database Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di

Dettagli