Realizzare una bacheca dei visitatori
Con questa nuova lezione realizzeremo una bacheca online, persaperne di più vi rimandiamo alla lezione apposita (
La sua realizzazione è molto semplice, in quanto ciforniamo di un database e due semplici pagine asp.
Funzionamento
Avremo una pagina asp dove consultare tutti i messaggi,una dove poter scrivere il nuovo messaggio e un database dovememorizzare il tutto. In questo caso non sarànecessario registrarsi, ma chi vorrà, potràaggiungere qualche riga per l'autentificazionedell'utente, in tal caso sono disponibile degli script aspgià pronti.
Aggiungere messaggi (nome pagina :invia.asp)
Per inserire nuovi messaggi c'è bisognologicamente di un modulo, nel nostro caso richiedere solonome (o nickname), email e messaggio. Tali campi, tranne ilmessaggio, non sono obbligatori. Ecco come apparirà:
Nome (o nickname) : (nome campo:nickname)
Email : (nome campo:email)
Oggetto : (nome campo:oggetto)
Messaggio :
(nome campo: msg)
Ecco il codice del modulo:
Come si vede una volta premuto il tasto INVIA si vienereindirizzati sempre alla stessa pagina asp cheprocesserà i dati e li inserirà nel database.
Ecco il codice (utilizzando ADO) :
<%if Request.QueryString("modo") = "ok" then'Connessione al databaseSet conn = Server.CreateObject("ADODB.Connection")conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("dati/bacheca.mdb") Set rs = Server.CreateObject("ADODB.Recordset")rs.Open "messaggi" , conn, 3, 3rs.AddNewrs("nickname") = Request.Form("nickname")rs("email") = Request.Form("email")rs("oggetto") = Request.Form("oggetto")rs("msg") = Request.Form("msg")rs("data") = Date()rs.Updaters.Closeset rs = Nothingconn.Closeset conn = Nothingresponse.redirect ("leggi.asp")else%>
Questo codice va inserita prima di ogni tag html, quindiprima di <html>. In fondo alla pagina asp, infinec'è da aggiungere anche <% End If %> (dopoil tag </html>)
Database
Come abbiamo notato il database è formato daun'unica tabella che contiene 5 campi, ecco come èstrutturato :
MESSAGGI | ||
Nome campo | Tipo dati | Descrizione |
Nickname | Testo | consigliato: max 100 caratteri |
Testo | consigliato: max 150/200 caratteri | |
Oggetto | Testo | consigliato: 255 caratteri |
Msg | Memo | |
Data | Data/Ora | Data inserimento messaggio |
Lettura Messaggi
Per leggere i messaggi niente di più semplice.Basta una semplice connessione al database e la lettura ditutti i campi. Quindi ecco il codice da utilizzare (dainserire tra i tag BODY)
<%' Connessione databaseSet conn = Server.CreateObject("ADODB.Connection")sql = "SELECT * FROM messaggi ORDER BY data DESC"dsnpath = "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; "dsnpath = dsnpath & "DBQ=" & Server.MapPath("../dati/bacheca.mdb")conn.open dsnpathSet rs = Conn.Execute(sql)Set nickname=rs("nickname")Set email=rs("email")Set oggetto=rs("oggetto")Set msg=rs("msg")Set data=rs("data")If rs.EOF = False Then%><% Do Until rs.EOF I = I + 1%><table width="520" border="0" bordercolor="#C0C0C0" style="font-size: 8pt; font-family: Tahoma"><td width="499" bgcolor="#0000FF" style="color: #FFFF00; font-weight: bold">Messaggio di : <a href="mailto:<%=email%>"><%=nickname%></a> inviato il <%=data%> <tr><td width="497" valign="top">Oggetto: <%=Oggetto%><br><br><%=Msg%></tr></table> <% rs.movenext loopEnd ifrs.closeSet rs = nothing End if%>
Conclusione
Ecco come realizzare una semplice bacheca online.Naturalmente è possibile far scrivere i msg solo adutenti registrati, in tal caso consigliamo di aggiungere unanuova tabella all'interno del database che mantiene tuttele info sugli utenti. E' anche possibile dividere imessaggi in categoria eo visualizzare solo quelli nuovirispetto all'ultimo accesso attraverso un semplice
- Articolo precedente Realizzare una Chat completa e funzionante (2)
- Articolo successivo Protezione con Password