Guestbook (Parte VII)

Pagina 7 di 7


In questo script noterete anche la presenza di codiceJavaScript
 

<script><!--function residuo(info, n, max) {Lunghezza = info.value.length;if (Lunghezza > max ) {info.value = info.value.substring(0,max);}n.value = max - info.value.length; }//--></script>


Questo funzione JavaScript viene utilizzata in sede didigitazione del testo del messaggio nel form di inserimentiper contare i caratteri residui
rispetto al limite massimo consentito (in questo caso1000)
 

<form action="firma.asp" method="post" name="firma">...<tr><td valign="top" width=10><font face="Tahoma" size=2 color="<%=coloretesto1%>">*</font></td><td valign="top" width=100><font face="Tahoma" size=2 color="<%=coloretesto1%>"><b>Messaggio:</b></font></td><td width=390><textarea rows="5" name="Testo" cols="50" style="font-family: Tahoma; font-size: 10 pt" onFocus="residuo(this, document.firma.resto, 1000)" onKeyUp="residuo(this, document.firma.resto, 1000)"></textarea></td></tr><tr><td valign="top" width=10></td><td valign="top" width=100></td><td width=390><input type="text" name="resto" value="1000" size="3" disabled><font face="Tahoma" size="1" color="<%=coloretesto1%>">&nbsp;Residuo</font></td></tr>...</form>



Lo script è praticamente pronto, i più attentisi domanderanno che fine abbia fatto la paginaadmin_guestbook.asp. Non è stata dimenticata!
Questa ulteriore pagina viene utilizzata per effettuare unaspecie di amministrazione dello script, ovvero èpossibile decidere la cancellazione
di messaggi poco graditi al webmaster o poco ortodossi.
 

+-------------------+|admin_guestbook.asp|+-------------------+<%@ Language=VBScript%><%Option ExplicitResponse.Buffer = True%><!--#include file = "database.asp"--><html><title>Amministra Guestbook</title><body><%Dim AzioneIf Request.Form("Azione") ThenAzione = Request.Form("Azione")ElseAzione = "view"End If Dim ID, Data, Nominativo, Citta, NAzioneSelect Case AzioneCase "view"Dim objRSDim objConnSet objConn = GetDatabaseConn()Set objRS = Server.CreateObject("ADODB.Recordset")sql = "SELECT * FROM Guestbook ORDER BY ID DESC"objRS.Open sql, objConn, 1, 3 If objRS.EOF ThenResponse.Write "<font face='tahoma' color='red' size=2><b>NON ci sono record nel GUESTBOOK</b><br></font>"Else%> <table width=100% border=0><tr><td colspan=6><font face='tahoma' color='#000080' size=2><b>Cancella record dal GUESTBOOK</b><br></font></td></tr><tr bgcolor="#CCCCCC"><td><font face='tahoma' color='#000080' size=2><b>Canc</b></font></td><td><font face='tahoma' color='#000080' size=2><b>ID</b></font></td><td><font face='tahoma' color='#000080' size=2><b>Data</b></font></td> <td><font face='tahoma' color='#000080' size=2><b>Nome</b></font> </td><td><font face='tahoma' color='#000080' size=2><b>Città</b></font> </td><td><font face='tahoma' color='#000080' size=2><b>Nazione</b></font> </td> </tr><form action='admin_guestbook.asp' method='post'><% Do While Not objRS.EOFID = objRS("ID")Data = objRS("Data")Nominativo = Replace(objRS("Nominativo"),"''" ,"'")Citta = Replace(objRS("Citta"),"''" ,"'")Nazione = Replace(objRS("Nazione"),"''" ,"'")%><tr bgcolor="#FFCCCC"><td><input type="checkbox" name="ID" value="<%=ID%>"></td><td><font face="tahoma" color="#000080" size="2"><%=ID%></font></td><td><font face="tahoma" color="#000080" size="2"><%=Data%></font></td> <td><font face="tahoma" color="#000080" size="2"><%=Nominativo%></font></td><td><font face="tahoma" color="#000080" size="2"><%=Citta%></font></td><td><font face="tahoma" color="#000080" size="2"><%=Nazione%></font></td></tr><%objRS.MoveNextLoop %><tr><td colspan=6 align="center"><br><br><input type='hidden' name='Azione' value='delete'><input type="submit" value="Cancella Record"></td></tr></form><%End IfCase "delete"If IsEmpty(request.form("ID")) thenResponse.Write "<center><font face='tahoma' size='4' color='red'>"Response.Write "Oops! Devi smarcare i record da cancellare"Response.Write "<form action='admin_guestbook.asp' method='post'>"Response.Write "<input type='hidden' name='Azione' value='1'>"Response.Write "<input type='submit' value='Torna alla lista'>"Response.Write "</form></center>" Response.EndEnd Ifset objRS = nothingID = request.form("ID")Set objConn = GetDatabaseConn()For Each Record In request("ID")sql = "DELETE * FROM Guestbook WHERE ID=" & recordSet objRS = objConn.Execute(sql)NextResponse.Write "<center><font face='tahoma' size='4' color='#000080'><b>"Response.Write "Record cancellato/i.</b></font>"Response.Write "<form action='admin_guestbook.asp' method='post'>"Response.Write "<input type='hidden' name='Azione' value='1'>"Response.Write "<input type='submit' value='Torna alla lista'>"Response.Write "</form></center>"End SelectSet objRS = nothingSet objConn = nothing%></table></center></body></html>



Anche in questo caso le azioni di questo script sono gestiteda una varibile di controllo che discrimina
la cancellazione dei dati dalla visualizzazione a video. Inquesto caso specifico è stato implementato il ciclodi
controllo Select Case
 

<%Dim AzioneIf Request.Form("Azione") ThenAzione = Request.Form("Azione")ElseAzione = "view"End If Select Case AzioneCase "view"'codice per visualizzareCase "delete"'codice per aggiornare il dbEnd Select%>



In sede di visualizzazione sarà possibile selezionarei messaggi da cancellare cliccando su gli appositi checkbox,qualora si tentasse
di effettuare la cancellazione senza aver selezionato unmessaggio il codice genererà un invito a selezionare imessaggi da cancellare.

<%Case "delete"If IsEmpty(request.form("ID")) thenResponse.Write "<center><font face='tahoma' size='4' color='red'>"Response.Write "Oops! Devi smarcare i record da cancellare"Response.Write "<form action='admin_guestbook.asp' method='post'>"Response.Write "<input type='hidden' name='Azione' value='1'>"Response.Write "<input type='submit' value='Torna alla lista'>"Response.Write "</form></center>" Response.EndEnd Ifset objRS = nothingID = request.form("ID")Set objConn = GetDatabaseConn()For Each Record In request("ID")sql = "DELETE * FROM Guestbook WHERE ID=" & recordSet objRS = objConn.Execute(sql)NextResponse.Write "<center><font face='tahoma' size='4' color='#000080'><b>"Response.Write "Record cancellato/i.</b></font>"Response.Write "<form action='admin_guestbook.asp' method='post'>"Response.Write "<input type='hidden' name='Azione' value='1'>"Response.Write "<input type='submit' value='Torna alla lista'>"Response.Write "</form></center>"End Select%>


Ora non vi rimane che provare lo script ed implementarenuove funzioni.
Lo script funzionante può essere testato sul sitowww.byluciani.com