Luca Vassalli's Website - Home page


Home
Indice

1.Introduzione

2.Centro Solidarietà di Genova

3.Politeama Genovese

 

2.4 Modifica notizie

Appena si seleziona la seconda voce del menu principale o la seconda voce del menu a tendina di "News_box" si accede alla pagina "modifica_brevi.PHP". In questa schermata vengono visualizzate tutte le notizie al momento memorizzate con alcuni campi d'interesse: il titolo e la data per individuare immediatamente la notizia che si desidera modificare; lo stato, per sapere se sia visualizzata nella bacheca elettronica della "home page"; il testo (fig.4).

Fig.4 Schermata per la modifica di notizie
Fig. 4 Schermata per la modifica di notizie

Appena si seleziona la seconda voce del menu principale o la seconda voce del menu a tendina di "News_box" si accede alla pagina "modifica_brevi.PHP". In questa schermata vengono visualizzate tutte le notizie al momento memorizzate con alcuni campi d'interesse: il titolo e la data per individuare immediatamente la notizia che si desidera modificare; lo stato, per sapere se sia visualizzata nella bacheca elettronica della "home page"; il testo (fig.4).
Ancora una volta ho cercato di attenermi il più possibile allo stile grafico dell'intero sito e di visualizzare le informazioni in maniera non solo ordinata, ma anche esteticamente piacevole.
In cima alla pagina, si possono notare alcune righe per indicare all'utente le pagine corrette secondo la funzione desiderata. Si chiarisce che per modificare soltanto la news estesa della notizia, o aggiungerlo ad una che al momento è collegata ad un sito esterno, bisogna selezionare la parola "qui" in grassetto alla seconda riga, se al contrario si vuole modificare un qualunque altro parametro oppure cambiare un collegamento ad un sito esterno con un altro analogo, si deve selezionare una notizia tra quelle mostrate.
Le varie notizie sono visualizzate all'interno di una tabella HTML. Effettuando un'interrogazione al database essa restituisce tutte le tuple memorizzate, successivamente, tramite un ciclo ('while'), si visualizza per ogni tupla una riga separatrice e i campi d'interesse prima indicati (titolo, data, stato, testo). Selezionando con il mouse uno qualunque di questi campi si viene indirizzati ad un modulo contenente già le informazioni della notizia selezionata, pronte per essere modificate. La pagina richiamata è sempre "modifica_brevi.PHP", però sono passati in "Get", come parametri, il titolo e la data ed una variabile che indica che devono essere visualizzati i vari attributi della notizia. I dati saranno dunque prelevati dal database e verranno visualizzati come valore attuale all'interno del medesimo modulo utilizzato per l'inserimento delle notizie senza "upload" della news estesa (fig.5).

Fig. 5 Modulo per la modifica di una notizia
Fig. 5 Modulo per la modifica di una notizia

Sarà possibile modificare un qualunque attributo della news compreso il "Link", contenente il percorso di collegamento; pertanto indicando in questo campo il nome di un file già caricato, sarà possibile, se si desidera, far puntare due notizie allo stesso file.
Sotto al modulo è inoltre presente un collegamento a "elimina.PHP", nel caso si decidesse di eliminare la notizia invece di modificarla, e, ancora una volta, la pagina è richiamata con i nuovi valori delle chiavi del database in "Get" per conoscere la notizia da eliminare senza doverlo nuovamente chiedere all'utente.
Una volta che si invia il modulo, i meccanismi di modifica di una news, per quanto riguarda l'inserimento dei dati modificati nel database ed il caricamento del nuovo file, non differiscono da quelli già analizzati nel paragrafo precedente. Quindi una volta che l'utente avrà modificato una news bisognerà verificare che il suo titolo e data non siano già presenti in memoria e che siano validi, che il file caricato non abbia lo stesso nome di un altro file già presente nella cartella e che nel caso il titolo presenti uno o più apici sia correttamente inserito in memoria.
Diversi controlli rispetto al caso d'inserimento si hanno quando si riscontra che l'utente ha cambiato il valore del campo "Link". In questo caso è presente un blocco logico nel codice che si attiva per verificare la precedente condizione della notizia: se questa prima era una notizia non collegata ad una news estesa non si incorre in alcun problema; se invece la notizia "puntava" ad una news estesa precedentemente caricata dall'utente, poiché non è data all'utente la possibilità di cancellare i file caricati nella cartella "News_estese" se non quando cancellano la notizia loro collegata, si corre il rischio che questa news estesa rimanga inutilmente memorizzata nella cartella senza che sia richiamata da alcuna notizia. Per questa ragione, prima si verifica tramite un'interrogazione al database se vi sono altre notizie collegate alla news estesa in questione e, in caso negativo, la si cancella.
Non è stata realizzata un'apposita funzione per consentire agli utenti di cancellare una news estesa sia per il rischio di accidentali cancellazioni sia per evitare di complicare ulteriormente una procedura giudicata già piuttosto complessa a detta degli utenti finali del prodotto. Come analizzerò in seguito, nel paragrafo dedicato all'eliminazione delle notizie, per gli utenti più esperti sarà comunque possibile lasciare registrate news estese nella cartella apposita e collegare "manualmente" nuove notizie ad esse scrivendo il giusto percorso nel campo "Link".
La pagina richiamata quando si seleziona la prima opzione della schermata iniziale di modifica oppure la seconda voce del menu a tendina di "News estese" è "modifica_estese.PHP" che inizialmente è quasi uguale alla pagina precedente. Mancano infatti le poche righe in cima alla pagina con il collegamento che ha mandato qui, ma vengono visualizzate tutte le notizie in memoria per selezionare quella a cui si vuole collegare una news estesa.
Una volta scelta dall'elenco la notizia da modificare, si passa ad una schermata che mostra un modulo con un solo campo destinato proprio a contenere l'indirizzo, sul calcolatore dell'utente, del file da caricare.
E' una pagina molto semplice con una breve spiegazione di cosa si sta facendo per evitare che un utente distratto pensi di usare il modulo per far puntare la notizia ad un indirizzo Internet assoluto.
Come in "inserisci_estese.PHP" avremo il controllo che il nome del file caricato non sia già presente nella cartella "News_estese" e, in caso affermativo, avremo la richiesta all'utente di cosa si debba fare. E' inoltre presente il controllo già analizzato in "modifica_brevi.PHP" che verifica se il precedente collegamento della notizia è un semplice indirizzo assoluto o un file e nel secondo caso, se il file non è collegato ad altre notizie, lo cancella. Nel caso tutti i controlli abbiano un esito positivo si farà un'interrogazione "Sql" del tipo "Update News Set Url=\"$Nomefile\" Where Titolo=\"$Titolo\" and Data=\"$Data\" " per aggiornare il collegamento del file. Verrà dunque visualizzata una schermata che notifica l'avvenuto caricamento del file e conterrà i collegamenti necessari per modificare nello stesso modo una nuova notizia oppure tornare al menu principale.