Un guestbook in ASP | |
![]() |
|
|
ASP Center
Articoli
Referenze
Script
FAQ
Downloads
Siti utili
Menu Javascript
Ricette
Cocktail
Corsi online
Registrazione domini
Area Aziende
|
Un guestbook in ASP
Introduzione
Un guestbook, in italiano libro degli ospiti, è un sistema di messaggistica molto semplice per ricevere commenti sul proprio sito Web dagli utenti, utilizzato per lo più da siti amatoriali. Tecnicamente stiamo parlando di una semplice applicazione input/output di dati su di un database attraverso ASP. In un recente articolo abbiamo visto come realizzare un guestbook in ASP, XML, XSLT ed XMLDOM, ma la soluzione ideale per l'archiviazione dei dati, comunque, è un database. Lo scopo di questo articolo non è solo quello di fornire il prodotto finale, ma anche quello di insegnare effettivamente al lettore come realizzare un guestbook in ASP o qualsiasi applicazione simile. Il database del guestbook Iniziamo col creare nel nostro Web Server la cartella guestbook, abilitiamo i permessi in lettura ed in scrittura, posizioniamo all'interno di questa cartella il file guestbook.mdb e creiamo la tabella guestbook corredata dai seguenti campi:
Anche la grafica del guestbook in oggetto è men che scarna, allo scopo di focalizzare l'attenzione sulla fase tecnica di interazione tra ASP ed il database. Il file di configurazione Creiamo all'interno della cartella guestbook il file config.asp e corrediamolo del seguente codice:
<%
Option Explicit
On Error Resume Next
Response.Buffer = True
Response.Expires = 0
Dim cn, rs, sc
sc = "driver={Microsoft Access Driver (*.mdb)};dbq="
sc = sc & Server.MapPath("guestbook.mdb")
Function ConnOpen()
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
cn.Open sc
End Function
Function ConnClose()
cn.Close
Set rs = Nothing
Set cn = Nothing
End Function
%>
Non facciamo altro che gestire gli eventuali errori ed impostare delle intestazioni; in secondo luogo usiamo due funzioni per aprire e chiudere la connessione al database, e per disporre degli oggetti che ci interessano.Si tratta dunque di un file che opera in back-office e lo includeremo nei file di front-office. Modulo di inserimento e lettura dei messaggi Creiamo adesso, nella cartella guestbook, il file default.asp che, come in oggetto, contiene il modulo di inserimento dei messaggi e l'elenco dei messaggi già presenti. Segue il codice:
<%@LANGUAGE = VBScript%>
<!--#include file="config.asp"-->
<%
Call ConnOpen()
%>
<html>
<head>
<title>Un guestbook in ASP</title>
</head>
<body>
<h1>Un guestbook in ASP</h1>
<form method="post" action="guestbook.asp">
<b>Il tuo nome</b><br>
<input type="text" name="nome" maxlength="50"><br><br>
<b>Inserisci il messaggio</b><br>
<textarea name="messaggio" rows="10" cols="50"></textarea><br><br>
<input type="submit" value="Firma il Guestbook">
</form>
<h2>Elenco dei messaggi</h2>
<%
rs.Open "SELECT * FROM guestbook ORDER BY id DESC", cn, 1
If rs.EOF Then
%>
<p>Non ci sono messaggi...</p>
<%
Else
While rs.EOF = False
%>
<p>
<b><%=rs("nome")%></b><br><br>
<%=rs("messaggio")%>
</p>
<hr>
<%
rs.MoveNext
Wend
End If
rs.Close
%>
</body>
</html>
<%
Call ConnClose()
%>
Esaminiamo il codice. Per prima cosa includiamo il file di configurazione ed apriamo la connessione al database. Nel corpo della pagina creiamo il codice HTML del modulo di inserimento e, in un secondo momento, andiamo a leggere nel database, stampando a video l'elenco dei messaggi già presenti, dal più recente al più vecchio, oppure mostriamo un messaggio che avvisa che non ci sono messaggi, qualora questo sia vero. Alla fine chiudiamo la connessione al database.Inserimento di un nuovo messaggio Nel paragrafo precedente abbiamo visto che il modulo di inserimento di un nuovo messaggio punta al file guestbook.asp, oggetto di questo paragrafo. Creiamolo nella cartella guestbook e corrediamolo del seguente codice:
<%@LANGUAGE = VBScript%>
<!--#include file="config.asp"-->
<%
Call ConnOpen()
%>
<html>
<head>
<title>Un guestbook in ASP</title>
</head>
<body>
<p align="center">
<%
Dim nome, messaggio
nome = Request.Form("nome")
messaggio = Request.Form("messaggio")
If nome = "" Or messaggio = "" Then
%>
Attenzione: tutti i campo sono obbligatori!<br><br>
<a href="javascript:window.history.back();">Torna indietro</a>
<%
Else
rs.Open "guestbook", cn, 3, 3
rs.AddNew
rs("nome") = nome
rs("messaggio") = messaggio
rs.Update
rs.Close
%>
Messaggio inserito con successo!<br><br>
<a href="default.asp">Torna indietro</a>
<%
End If
%>
</p>
</body>
</html>
<%
Call ConnClose()
%>
Oltre all'inclusione del file di configurazione, all'apertura della connessione all'inizio, e della chiusura alla fine, espletiamo le seguenti operazioni nel corpo della pagina: recuperiamo i campi dal modulo, verifichiamo che siano stati valorizzati, lanciamo un messaggio di errore nel caso in cui le condizioni non siano soddisfatte e, a condizioni soddisfatte, effettuiamo l'inserimento nel database, lanciando un messaggio di successo.Conclusioni e spunti Probabilmente molti si aspettavano che la realizzazione di un guestbook in ASP, o con qualsiasi altro linguaggio, fosse compito spettante solo a grandi programmatori, ed invece è possibile notare che, in pochi e semplici passaggi, abbiamo creato un prodotto finito! Come anticipato all'apertura dell'articolo, per quanto completo, il guestbook che abbiamo realizzato è graficamente molto scarno e potrebbe raccogliere molte più informazioni. Colgo l'occasione per offrire alcuni link, interni a questo sito, che spiegano come realizzare singole utility da integrare al guestbook: |
Newsletter
Stringhe di Conn.
|
||
| © 2008 ASP Center di Luca Ruggiero - P. IVA 05564851219 - Utenti online: 28 - Disclaimer | Pubblicità | Supportaci | Staff | Contatti | ||||
| Appunti PHP | Giornale Webmaster | Mr.Webmaster | Download | DevSpy.com | ASPCode.it | ClaudioGarau.it | Webmaster Facile | Come Faccio | AlVerde.net | CodiceFacile.it | I Programmatori | By Luciani | VoiceXML Italian User Group | Giochi | Extro Web Site | Morpheus Web | AG Web Solutions | Net-Free | PC Sicuro | PC Self | Tutorial Web | Dablones | ||||