<%@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; %> Aeritel - Lascia il feedback dopo la vendita

Aeritel.com

Lascia un feedback dopo l'acquisto


Ci sono <%=conta("id")%> feedback

<% if (azione == "undefined") { %> <% // MOSTRO I MESSAGGI A VIDEO if (Mostra.EOF) { Response.Write("

Non ci sono feedback...

"); } else while (!Mostra.EOF && i <% i++; colore++; Mostra.MoveNext(); } %>
" 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, "
"); // 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 = "

"; if (codice == "1") { Response.Write("

Inserisci il tuo nome per favore

" + correggi); } else if (codice == "2") { Response.Write("

Inserisci il valore del feedback

" + correggi); } else if (codice == "4") { Response.Write("

Inserisci il corpo del feedback

" + correggi); } else { Response.Redirect("feedback.asp"); } } else if (azione == "Login") { // LOGIN PER L'AMMINISTRATORE var password = new String(Request.Form("password")); if (password == admin_password) { Session("amministratore") = "OK"; } Response.Redirect("feedback.asp"); } else if (azione == "Logout") { // LOGOUT PER L'AMMINISTRATORE Session.Abandon(); Response.Redirect("feedback.asp"); } else if (azione == "Cancella") { // EFFETTUO LA CANCELLAZIONE DEL MESSAGGIO (SOLO SE AUTENTICATO) if (Session("amministratore") != null) { var id = parseInt(Request.QueryString("id")); connessione.Execute("DELETE * FROM feed WHERE id LIKE '" + id + "'"); } Response.Redirect("feedback.asp"); } else { Response.Redirect("feedback.asp"); } %>

 


 

Nome

Valore del feedback  

positivo - negativo - neutro

 
Messaggio

 

">

<%if (Session("amministratore") == null) {%> <%}%> ">

<%connessione.Close()%>