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



Похожие документы
RELAZIONE TECNICA GESTIONE CARTE DI CREDITO. a cura di EMANUELE CESARI

Invio SMS. DM Board ICS Invio SMS

MySQL Database Management System

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

COSTER. Import/Export su SWC701. SwcImportExport

ISTRUZIONI XCODE. Autore: Luca Florio (luca.florio<at>polimi.it)

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

STAMPA UNIONE DI WORD

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

Guida all uso. Esso sarà riportato nell intestazione. Vediamo:

2 Fortino Lugi. Figura Errore. Nel documento non esiste testo dello stile specificato Finestra attiva o nuovo documento

Le query di raggruppamento

Istruzioni Iscrizione Portale Stage e Placement per L Azienda

INVIO SMS

Raggruppamenti Conti Movimenti

Amministrare MySQL con PhpMyAdmin

GESGOLF SMS ONLINE. Manuale per l utente

Figura 1 Le Icone dei file di Excel con e senza macro.

Guida all uso del servizio

1.0 GUIDA PER L UTENTE

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN

File, Modifica, Visualizza, Strumenti, Messaggio

Guida all uso di Java Diagrammi ER

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

Moduli (schede compilabili) in Word Esempio: scheda di alimentazione per un degente

Sviluppare un DB step by step

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

I DATABASE Database relazionale

CREAZIONE DI UN AZIENDA

Progetto di Ingegneria del Software 2. SWIMv2

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

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

LA CASELLA PEC Dipartimentale

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

LA FATTURAZIONE DEI SERVIZI COMMISSIONATI

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico)

PHP e Structured Query Language

Da:

DFY Flight Center - Manuale d uso

ISCRIZIONE GARE NUOTO ON LINE ISTRUZIONI OPERATIVE PER LE SOCIETA

Gestione Risorse Umane Web

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

[Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina

Gestione Filtri. InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11

L amministratore di dominio

Basi di dati Microsoft Access

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

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

Guida - acquistare online sul sito

Vlan Relazione di Sistemi e Reti Cenni teorici

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Stampa unione - prof. Enzo Mardegan - 2

1. Le macro in Access 2000/2003

17 Gli scenari. cartelle di lavoro; unendoli poi in un

CONTABILITA ON LINE GUIDA ALL USO PER I CIRCOLI INSERIRE IN PRIMA NOTA I COSTI

TUTORIAL Come compilare il modulo di spedizione per spedire un pacco con SpedireSubito.com

COME CREARE UN SONDAGGIO CON SCELTA SU MOODLE

Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...).

CONTABILITA ON LINE GUIDA ALL USO PER COMITATI PROVINCIALI E REGIONALI INSERIRE IN PRIMA NOTA I RICAVI

5.2.1 RELAZIONI TRA TABELLE Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Circolari e lettere da Word con anagrafiche e indirizzi da Metodo

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

GESTIONE RICHIESTE ESTENSIONE DI GARANZIA

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

ESEMPIO DI QUERY SUL FILE Formario_minuscolo

Funzioni non documentate Openoffice.org. 3 Base mini-howto

Progetto di Ingegneria del Software 2. SWIMv2

Procedura SMS. Manuale Utente

La Stampa Unione. Individuare la lista indirizzi per la Stampa Unione

10 - Disegno di sezioni e profili da punti topografici.

Product Shipping Cost Guida d'installazione ed Utilizzo

Il calendario di Windows Vista

Aprire, preparare un documento da utilizzare come documento principale per una stampa unione.

G S M C O M M A N D E R Duo S

Sistema GEFO. Guida all utilizzo Presentazione delle domande

2.7 La cartella Preparazioni e CD Quiz Casa

StoneFax User Guide. (Settembre 2011 ver.1.1) StoneFax-User-Guide-ita-1.1.docx

GUIDA AL PRONTUARIO MOBILE

INSERIMENTO DATI BASILARI

PROCEDURA DI PROTOCOLLAZIONE CON IL SOFTWARE IRIDE

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

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta

Manuale Richiesta di Accesso

COME UTILIZZARE ARCHIVE-HOST

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

Guida all'esportazione dei contratti di noleggio per l'agenzia delle Entrate con il programma MyRent

Eclipse - Nozioni Base

GUIDA ALLA PROMOZIONE SUL SITO

MANUALE UTENTE INFOCAR REPAIR ACCESSO SMARTPHONE/TABLET

ISTRUZIONI PER L INSERIMENTO DEI BONIFICI

LA CREAZIONE DI FLUSSI F24 E LA TRASMISSIONE TRAMITE ENTRATEL

Транскрипт:

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 verrà reindirizzati alla pagina insert_data.php che verificherà la correttezza dei dati inseriti, li scriverà nel database e ci riporterà nella pagina precedente. Iniziamo con il file insert.php: Si tratta di un semplice form dove inserire i dati. In seguito aggiungeremo parte del sistema per gestire gli errori, ma per il momento iniziamo con il form. include './include/page.php'; HtmlHeader(); Navigation(); <br> <br> <form action="insert_data.php" method="post"> Nome:<br> <input type="text" maxlength="20" name="nome" /><br><br> Cognome:<br> <input type="text" maxlength="20" name="cognome" /><br><br> Numero telefonico:<br> <input type="text" maxlength="15" name="numero" /><br><br> <input type="submit" value="inserisci" /> </form> HtmlFooter(); Come vedete, una volta inseriti i dati veniamo indirizzati alla pagina insert_data.php. In questa pagina inizieremo con il fare dei controlli sui dati appena inseriti. Come prima cosa potremo verificare che nessun campo sia stato lasciato vuoto.

if (empty($_post['nome']) OR empty($_post['cognome']) OR empty($_post['numero'])) header("location: insert.php?alert=1"); Come vedete, se il campo nome o cognome o numero risultano vuoti, facciamo in modo di venire reindirizzati alla pagina insert.php ed interrompiamo l esecuzione del codice tramite die in modo da essere certi che non verrà più eseguito nulla. Con il metodo GET passiamo la variabile alert settata a 1. Questo ci permetterà, nella pagina insert.php, di capire che genere di errore si è verificato (ricordate che vi ho detto che non era finita?). Ora verificheremo che il nome e il cognome abbiano un formato corretto; diciamo che siano un minimo di tre lettere ed un massimo di 20 e che siano lettere e non simboli o numeri. Costruiamo allora un semplice pattern per un espressione regolare. $NamePattern = "^[a-za-z]3,20$"; Creiamo ora un pattern per il numero di telefono, dove accetteremo un eventuale + per il prefisso internazionale ed un numero di cifre da 8 (meno di 8 non è un numero di telefono) a 15. $NumberPattern = "^(\+)?[0-9]8,15$"; Ed ora verifichiamo nome, cognome e numero assegnando ad ogni eventuale errore un valore diverso ad alert. if (!ereg($namepattern, $_POST['nome'])) header("location: insert.php?alert=2");

if (!ereg($namepattern, $_POST['cognome'])) header("location: insert.php?alert=3"); if (!ereg($numberpattern, $_POST['numero'])) header("location: insert.php?alert=4"); Notate il punto esclamativo prima di ereg, necessario in quanto è un errore se la condizione NON viene soddisfatta. Ora se abbiamo superato questa serie di if, i dati sono corretti e possiamo quindi passare ad inserirli nel nostro database. Come prima cosa dobbiamo connetterci, semplicemente includendo il nostro db_connect.php. include "./include/db_connect.php"; Dovremo quindi preparare la query. Una query non è altro che una stringa contenente dei comandi che andremo ad eseguire sul database. Per inserire dati, il comando che si utilizza è INSERT INTO ed ha questo formato: INSERT INTO nome_tabella (campo,campo,campo,.) VALUES (valore, valore,valore, ) Nel nostro caso per semplicità metteremo la query in una variabile. $sql = "INSERT INTO rubrica_telefonica (nome,cognome,numero) VALUES ('$_POST[nome]','$_POST[cognome]','$_POST[numero]')"; Notate la sintassi. Gli apici nei quali racchiudo i valori sono obbligatori in quanto si tratta di stringhe.

Ora per eseguire la query sul nostro database, utilizzeremo la funzione mysql_query(), nella quale passeremo la query e l identificativo di connessione. In seguito torneremo a insert.php portandoci alert settato a 0 (che corrisponderà al messaggio di successo dell operazione). mysql_query($sql, $conn); header("location: insert.php?alert=0"); Il listato completo: $NamePattern = "^[a-za-z]3,20$"; $NumberPattern = "^(\+)?[0-9]8,15$"; if (empty($_post['nome']) OR empty($_post['cognome']) OR empty($_post['numero'])) header("location: insert.php?alert=1"); if (!ereg($namepattern, $_POST['nome'])) header("location: insert.php?alert=2"); if (!ereg($namepattern, $_POST['cognome'])) header("location: insert.php?alert=3"); if (!ereg($numberpattern, $_POST['numero'])) header("location: insert.php?alert=4");

include "./include/db_connect.php"; $sql = "INSERT INTO rubrica_telefonica (nome,cognome,numero) VALUES ('$_POST[nome]','$_POST[cognome]','$_POST[numero]')"; mysql_query($sql, $conn); header("location: insert.php?alert=0"); Ora andiamo a rimaneggiare insert.php tenendo conto di quanto ci viene inviato da insert_data.php. Potremmo inserire qualcosa del genere: $message = ""; if (isset($_get['alert'])) if ($_GET['alert'] == 0) $message = "Dati scritti correttamente nel database"; if ($_GET['alert'] == 1) $message = "ERRORE: Nessun dato scritto nel database.<br>tutti i campi devono essere completati!"; if ($_GET['alert'] == 2) $message = "ERRORE: Nessun dato scritto nel database.<br>campo nome non nel formato corretto!"; if ($_GET['alert'] == 3)

$message = "ERRORE: Nessun dato scritto nel database.<br>campo cognome non nel formato corretto!"; if ($_GET['alert'] == 4) $message = "ERRORE: Nessun dato scritto nel database.<br>campo numero telefonico non nel formato corretto!"; echo "<br><br>"; echo $message; Come vedete, se alert è settata, scattano i controlli per stabilire che messaggio debba apparire. Ecco il listato completo di insert.php include './include/page.php'; HtmlHeader(); Navigation(); $message = ""; if (isset($_get['alert'])) if ($_GET['alert'] == 0) $message = "Dati scritti correttamente nel database"; if ($_GET['alert'] == 1) $message = "ERRORE: Nessun dato scritto nel database.<br>tutti i campi devono essere completati!"; if ($_GET['alert'] == 2)

$message = "ERRORE: Nessun dato scritto nel database.<br>campo nome non nel formato corretto!"; if ($_GET['alert'] == 3) $message = "ERRORE: Nessun dato scritto nel database.<br>campo cognome non nel formato corretto!"; if ($_GET['alert'] == 4) $message = "ERRORE: Nessun dato scritto nel database.<br>campo numero telefonico non nel formato corretto!"; echo "<br><br>"; echo $message; <br> <br> <form action="insert_data.php" method="post"> Nome:<br> <input type="text" maxlength="20" name="nome" /><br><br> Cognome:<br> <input type="text" maxlength="20" name="cognome" /><br><br> Numero telefonico:<br> <input type="text" maxlength="15" name="numero" /><br><br> <input type="submit" value="inserisci" /> </form> HtmlFooter(); Bene. Ora possiamo iniziare ad inserire un po di dati.

Concludo con due note: 1. Potrete osservare i dati inseriti nel database da phpmyadmin semplicemente selezionando la tabella e cliccando su mostra. 2. Osservate che, se viene commesso un errore di inserimento, i dati del form spariscono. Nella nostra situazione è un problema trascurabile in quanto si tratta solo di tre campi, ma immaginate un form molto complesso. Per ovviare a questo problema esistono diverse soluzioni. Se vogliamo utilizzare unicamente PHP, la strada più semplice è quella di inserire i dati in una sessione e farli ricomparire nei campi. altrimenti, tramite javascript, è possibile eseguire i controlli prima che i dati vengano inviati (onsubmit) ed eventualmente interrompere il flusso con un alert.