Warning: Trying to access array offset on value of type null in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Trying to access array offset on value of type null in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113
Messaggeria con avviso in popup di nuovi messaggi | HTML.it
Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Messaggeria con avviso in popup di nuovi messaggi

Creare un sistema di messaggeria interno dedicato agli utenti di un'area riservata
Creare un sistema di messaggeria interno dedicato agli utenti di un'area riservata
Link copiato negli appunti

Questo articolo spiega in che modo sia possibile creare un sistema di messaggeria interno dedicato agli utenti registrati di un'area riservata.

Ogni utente registrato che acceda alla propria area personale può inviare e ricevere messaggi da tutti gli altri appartenenti alla community. Quando si collega di nuovo al sito dopo essere stato offline, potrà quindi verificare se, dall'ultima volta in cui ha avuto accesso all'elenco dei propri messaggi, ve ne siano di nuovi ancora non letti.

L'esistenza di nuovi messaggi da leggere viene comunicata all'utente in modo molto visibile, tramite la comparsa di una popup temporanea (la cui chiusura automatica avviene dopo pochi secondi).

La messaggeria creata è completa di area di registrazione e di procedura di login ma, poiché questi sono argomenti già trattati in altri articoli di questa sezione, saranno commentati celermente per lasciare spazio all'analisi della procedura di invio e ricezione dei messaggi. Lo zip disponibile per il download contiene lo script completo. Le parti principali sono commentate per una migliore comprensione dei singoli passaggi.

L'installazione è semplicissima: basterà modificare il path del database presente nel file common.asp per adeguarlo alla cartella in cui vorrete inserirlo sul vostro server. Tutti gli altri file vanno copiati in una stessa directory. Per fruire della ricezione di messaggi sarà necessario registrarsi con 2 user diversi, dal momento che lo script impedisce l'invio di messaggi all'utente loggato. In uno scenario reale, ovviamente, un utente conosce già i nomi degli altri membri della community.

Il database

Il database utilizzato contiene due tabelle. Nella prima

tabella, denominata tUtenti, sono contenute

le informazioni di base relative agli iscritti acquisite in fase di registrazione

e necessarie per il login e per l'identificazione degli utenti medesimi.

Vista della tabella tUtenti

I singoli campi della tabella indicano quanto segue:

utente_id: contatore degli utenti

utente_nome: nome dell'utente registrato

utente_cognome: cognome dell'utente

utente_email: email dell'utente

utente_user: user dell'utente scelta in fase di registrazione

utente_password: password dell'utente scelta in fase di registrazione.

Nella seconda tabella, denominata tMessaggi, sono contenute tutte le informazioni relative ai messaggi inviati e ricevuti da ogni utente, nonché l'oggetto ed il contenuto di ciascun messaggio.

Vista della tabella tMessaggi

I singoli campi della tabella indicano quanto segue:

messaggio_id: contatore dei messaggi

messaggio_mittente: identificativo del mittente del messaggio

messaggio_destinatario: identificativo del destinatario del messaggio

messaggio_oggetto: oggetto del messaggio inviato

messaggio_corpo: corpo del messaggio inviato

messaggio_data: data di invio del messaggio

messaggio_letto: campo che indica se il messaggio non è stato ancora letto oppure lo è stato (0/1).

Gli script utilizzati dal sistema di messaggeria sono idealmente racchiusi
all'interno di tre categorie a seconda che riguardino "registrazione", "login" o "invio e ricezione di nuovi messaggi".

Come anticipato sopra, gli script appartenenti alle prime
due categorie non saranno commentati in quanto già noti per essere stati trattati in forma simile all'interno di altri articoli. Relativamente ad essi mi limito a porre in evidenza solamente quanto segue:

  1. le informazioni di registrazione richieste all'utente all'inizio sono tutte obbligatorie: in caso di campi incompleti o mancanti, questi vengono evidenziati nel form in colore diverso in modo da facilitarne la correzione;
  2. non possono esserci - per ovvi motivi - utenti che utilizzano lo stesso
    user user
  3. al login effettuato con successo segue la creazione di due variabili di
    sessione: Session("utente_id") Session("utente_user") user
  4. tutte le operazioni sul database (connessione, selezione, inserimento, modifica, cancellazione di dati) sono effettuate dal codice contenuto all'interno della pagina common.asp, Listato 1

La pagina iniziale è denominata default.asp ed all'interno di essa è possibile effettuare il login (se si è già in possesso dei parametri di accesso) oppure registrarsi. Come ricordato, una volta registrati è possibile accedere alla propria area riservata (pagina_personale.asp) semplicemente inserendo la user e la password prescelte.

Una volta ottenuto l'accesso alla propria pagina personale,
possono verificarsi tre eventi, uno automatico e due come conseguenze di scelte
effettuate dall'utente:

  1. apparizione di un popup a tempo dal basso dello schermo con l'indicazione
    di eventuali nuovi messaggi non ancora letti (evento automatico);
  2. lettura e cancellazione dei messaggi vecchi e nuovi nella propria casella
    da parte dell'utente;
  3. scrittura di un nuovo messaggio da parte dell'utente.

Popup di avviso per nuovi messaggi

Quando un utente accede alla propria pagina personale sono
automaticamente valorizzati, tramite sub routine

  1. totaleMessaggi byRef
  2. contaMessaggi byRef messaggio_letto = 0 tMessaggi

Nel caso in cui la sub contaMessaggi restituisse un valore maggiore
di 0, tramite Javascript è possibile far apparire una piccola popup a tempo che
avvisa l'utente della presenza di nuovi messaggi non letti, come evidenziato nella figura sottostante.

Il popup di avviso della presenza di nuovi messaggi

Leggere/cancellare i messaggi in elenco

La lettura e la cancellazione dei messaggi (vecchi e nuovi) da parte dell'utente sono rese possibili da due procedure:

  1. listaMessaggi byRef messaggio_letto
  2. cancellaMessaggio

Scrivere un nuovo messaggio

La scrittura di un nuovo messaggio richiede la compilazione
di un modulo al quale occorre fornire le seguenti informazioni obbligatorie:

  1. destinatario del messaggio: deve corrispondere obbligatoriamente ad uno
    degli user
  2. . oggetto del messaggio da inviare;
  3. corpo del messaggio da inviare.

Le informazioni, se correttamente inserite, attivano una
procedura dedicata:

- inserisciMessaggio

La messaggeria è così completa e perfettamente funzionante.

Possibili implementazioni ulteriori possono riguardare la possibilità di indicare i mittenti dei messaggi direttamente nella popup oppure elencare gli user

Ti consigliamo anche