Esercitazione 6 MySQL Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR - [email protected] Caratteri speciali Per poter inserire un testo nella base di dati dobbiamo verificare che tale testo non contenga caratteri speciali che farebbero fallire l’istruzione SQL. $nuovastringa= addslashes($stringa) per introdurre degli slash (\) ovunque ci sia un carattere speciale (ad esempio l’apostrofo) Se i caratteri speciali devono essere tradotti in HTML (ad esempio '&' diventa '&’) possiamo usare htmlspecialchars(stringa) Istruzione di stampa Sintassi alternativa della echo – si chiama heredoc <?php echo <<<MESSAGGIO Questo e’ il messaggio che verra’ stampato MESSAGGIO; ?> E’ importante che il termine sia definito solo dalla stringa iniziale e dal ;. Niente spazi!!! Esercizio 6.1 Realizzare (a partire da esercizi precedenti gia’ svolti) una parte di applicazione web che realizzi il login utente con password cifrata, verificando che login e password siano presenti nella base di dati (se non lo avete gia’ fatto quindi creare una tabella utenti ad inserire alcuni record di prova). Visualizzare un messaggio di errore quando il login / password non sono presenti nella base di dati. Esercizio 6.2 Realizzare una form di inserimento opere che sia accedibile solo da utenti che abbiamo effettuato il login. La form dovra’ permettere l’inserimento di dati nella tabella opere. Ogni opera e’ caratterizzata da un identificatore dell’opera, il titolo, una descrizione e un file contenente l’opera – puo’ essere una foto, un video, un file di testo o altro. Esercizio 6.3 Creare una Form HTML e lo script PHP per l’upload di immagini. L’immagine caricata dovra’ essere memorizzata nella base di dati. Ci sono due modi per riferire un’immagine nella base di dati: 1. Caricare l’immagine in una cartella sul server e memorizare il path dell’immagine nella base di dati (come campo varchar) 2. Caricare l’immagine nella base di dati in formato binario (campo blob) Creare una tabella “immagini” nella base di dati con campi: ID immagine (autoincrement), titolo immagine (varchar), path (varchar), file (blob) in modo da usare entrambi i modi contemporaneamente. Esercizio 6.4 Realizzare una pagina di ricerca di immagini (vedi esercizio precedente) tramite FORM. Dovra’ essere possibile ricercare le immagini per titolo con testo libero (usare una <input type=text>) e visualizzare l’immagine inserita