%@LANGUAGE = JScript%> <% /* Autore: Luca Ruggiero - http://www.lukeonweb.net Fonte: freeAsp.it - http://freeasp.html.it */ // ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- // QUESTA E' LA PASSWORD DI AMMINISTRATORE PER ELIMINARE MESSAGGI INDESIDERATI... CAMBIALAAAAAAAAAAAAAAA :-) var admin_password = "anciste"; // ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- /* ASPETTI DELLA CONFIGURAZIONE DELL'APPLICAZIONE NON CONTEMPLATI NEI SINGOLI PASSAGGI DI CODICE Pur trattandosi di un semplice Guestbook, questo singolo file consente di effettare tutte le operazioni possibili. A tal proposito è necessario puntualizzare alcune cose: 1. E' importante, qualora dovessi decidere di rinominare questo file, modificare tutti i punti in cui si fa riferimento al file guestbook.asp sostituendo col nome del file che hai utilizzato per la rinomina. 2. La grafica è personalizzabile in tutti i minimi particolari, ma è importante non confondere alcuna condizione del codice Asp evitando che generino errori. Gli altri punti cardine dell'applicazione sono contemplati seguendo i vari passi del codice. */ // ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- Response.Buffer = true; // APRO LA CONNESSIONE VERSO IL DATABASE // SE SUL TUO SERVER HAI NECESSITA' DI SPOSTARE IL DATABASE IN UNA CARTELLA DI SISTEMA DEDICATA // DEVI MODIFICARE IL PERCORSO NELLA PORZIONE DI CODICE Server.MapPath("percorso/guestbook.mdb") var connessione = new ActiveXObject("ADODB.Connection"); var stringa = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/mdb-database/feedback.mdb"); connessione.Open(stringa); // UTILIZZEREMO UN SOLO FILE PER ESEGUIRE TUTTE LE OPERAZIONI POSSIBILI // INSERIMENTO DEI MESSAGGI, VISUALIZZAZIONE DEI MESSAGGI, CANCELLAZIONE DI MESSAGGI DA PARTE DELL'AMMINISTRATORE, ECC... // QUINDI DICHIARO UNA VARIABILE QUERYSTRING PER OTTENERE RISULTATI DIVERSI A SECONDA DEL LORO VALORE var azione = new String(Request.QueryString("azione")); // CONTO I MESSAGGI PREDENTI SUL DATABASE var conta = connessione.Execute("SELECT COUNT(*) AS id FROM feed"); // EFFETTUO LA PAGINAZIONE PER MOSTRARE SOLO UN CERTO NUMERO DI MESSAGGI A VIDEO // IN QUESTO CASO 10 var quanti = 50; var Mostra = new ActiveXObject("ADODB.Recordset"); Mostra.Open("SELECT * FROM feed ORDER BY id DESC",connessione,1); var pagina = parseInt(Request.QueryString("pagina")); if (isNaN(pagina) || pagina < 1) pagina = 1; if (!Mostra.EOF) { Mostra.PageSize = quanti; Mostra.AbsolutePage = pagina; } var i = 0; // IMPOSTO IL COLORE DI SFONDO DELLE CELLE CHE CONTENGONO I MESSAGGI var colore = 0; %>
Lascia un feedback dopo l'acquisto
Ci sono <%=conta("id")%> feedback
<% if (azione == "undefined") { %>| " style="border-bottom: Dashed 1px #CCCCCC;">
Nome: <%=Mostra("nome")%><%Session("amministratore") == "OK" ? Response.Write(" (cancella)") : Response.Write("")%> Valore: <%=Mostra("valore")%> <%=Mostra("messaggio")%> |
<%
}
else if (azione == "Inserisci")
{
// RECUPERO I DATI DAL MODULO PER EFFETTUARE LA REGISTRAZIONE
var nome = new String(Request.Form("nome"));
var valore = new String(Request.Form("valore"));
var messaggio = new String(Request.Form("messaggio"));
// CREO LA DATA
var oggi = new Date();
var data = oggi.getDate() + "/" + (oggi.getMonth() + 1) + "/" + oggi.getFullYear();
// VALIDAZIONE DEI DATI INSERITI DALL'UTENTE
var errore = "feedback.asp?azione=errore&codice=";
if (nome == "" || nome == "undefined" || nome.charAt(0) == " ")
{
Response.Redirect(errore + "1");
}
else if (valore == "" || valore == "undefined" || valore.charAt(0) == " ")
{
Response.Redirect(errore + "3");
}
else if (messaggio == "" || messaggio == "undefined" || messaggio.charAt(0) == " ")
{
Response.Redirect(errore + "4");
}
else
{
var r_messaggio = messaggio.replace(//g, ">");
var rrr_messaggio = rr_messaggio.replace(/&/g, "&");
var rrrr_messaggio = rrr_messaggio.replace(/\n/g, " ";
if (codice == "1")
{
Response.Write(" Inserisci il tuo nome per favore Inserisci il valore del feedback Inserisci il corpo del feedback
");
// CASO IN CUI TUTTE LE CONDIZIONI SONO STATE SODDISFATTE
// QUINDI PROCEDO CON LA REGISTRAZIONE DEL MESSAGGIO
var recordset = new ActiveXObject("ADODB.Recordset");
recordset.Open("feed",connessione,3,3);
recordset.AddNew();
recordset("nome") = nome;
recordset("valore") = valore;
recordset("messaggio") = rrrr_messaggio;
recordset("data") = data;
recordset.Update();
recordset.Close();
Response.Redirect("feedback.asp");
}
}
else if (azione == "errore")
{
// GESTIONE DEI MESSAGGI DI ERRORE
var codice = parseInt(Request.QueryString("codice"));
var correggi = "
<%connessione.Close()%>