Ho inserito un guestbook nel mio sito, visto che nn sono pratico di asp volevo chiedervi un aiuto:
Ho capito leggendo varie discussioni che il codice mi da errore (too many task) perchè non uccido o chiudo le connessioni (nothing), mi potete scrivere dove devo ucciderle e con che sintassi? vi scrivo il codice grazie sareste molto gentili :
codice:<%@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 = "mattorock78"; // ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- /* 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("guestbook.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 messaggi"); // EFFETTUO LA PAGINAZIONE PER MOSTRARE SOLO UN CERTO NUMERO DI MESSAGGI A VIDEO // IN QUESTO CASO 10 var quanti = 10; var Mostra = new ActiveXObject("ADODB.Recordset"); Mostra.Open("SELECT * FROM messaggi 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; %> <html> <head> <title>Guestbook</title> <link rel="stylesheet" type="text/css" href="guestbook.css"> </head> <body scroll=yes> <h2><font face="sans-serif">Guestbook</font></h2> <table class="MODULO" width="500" align="center" cellpadding="3" cellspacing="0"> <form name="guestbook" method="post" action="guestbook.asp?azione=Inserisci"> <tr> <td width="150">Nome</td> <td width="350"><input type="text" name="nome" maxlength="50" style="width: 100%;"></td> </tr> <tr> <td>Email</td> <td><input type="text" name="email" maxlength="50" style="width: 100%;"></td> </tr> <tr> <td>Homepage (opzionale)</td> <td><input type="text" name="homepage" maxlength="50" style="width: 100%;" value="http://"></td> </tr> <tr> <td>Titolo</td> <td><input type="text" name="titolo" maxlength="70" style="width: 100%;"></td> </tr> <tr> <td colspan="2">Messaggio</td> </tr> <tr> <td colspan="2"><textarea name="messaggio" style="width: 100%; height: 100px;"></textarea></td> </tr> <tr> <td colspan="2" align="right"><input type="submit" value=" Firma il Guestbook "></td> </tr> </form> </table> <p align="center">Ci sono <%=conta("id")%> messaggi</p> <% if (azione == "undefined") { %> <table width="500" align="center" cellpadding="3" cellspacing="0"> <% // MOSTRO I MESSAGGI A VIDEO if (Mostra.EOF) { Response.Write(" Non ci sono messaggi...</p>"); } else while (!Mostra.EOF && i<quanti) { %> <tr> <td bgcolor="#<%colore%2 == 0 ? Response.Write("FFFFFF") : Response.Write("EEEEEE")%>" style="border-bottom: Dashed 1px #CCCCCC;"> <font color="#800000"><%=Mostra("titolo")%></font><%Session("amministratore") == "OK" ? Response.Write(" (<a href=\"guestbook.asp?azione=Cancella&id=" + Mostra("id") + "\">cancella</a>)") : Response.Write("")%> Autore: "><%=Mostra("nome")%> Data: <%=Mostra("data")%> ore <%=Mostra("ora")%> <%=Mostra("messaggio")%> <%Mostra("homepage") == "http://" || Mostra("homepage") == "" || Mostra("homepage") == "undefined" ? Response.Write("") : Response.Write(" <a href=\"" + Mostra("homepage") + "\" target=\"_blank\">" + Mostra("homepage") + "</a>")%> </td> </tr> <% i++; colore++; Mostra.MoveNext(); } %> </table> <% } else if (azione == "Inserisci") { // RECUPERO I DATI DAL MODULO PER EFFETTUARE LA REGISTRAZIONE var nome = new String(Request.Form("nome")); var email = new String(Request.Form("email")); var homepage = new String(Request.Form("homepage")); var titolo = new String(Request.Form("titolo")); var messaggio = new String(Request.Form("messaggio")); // ESPRESSIONE REGOLARE PER LA VERIFICA DELL'INDIRIZZO EMAIL var verifica = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/; // CREO LA DATA var oggi = new Date(); var data = oggi.getDate() + "/" + (oggi.getMonth() + 1) + "/" + oggi.getFullYear(); var ora = oggi.getHours() + ":" + oggi.getMinutes(); // VALIDAZIONE DEI DATI INSERITI DALL'UTENTE var errore = "guestbook.asp?azione=errore&codice="; if (nome == "" || nome == "undefined" || nome.charAt(0) == " ") { Response.Redirect(errore + "1"); } else if (!verifica.test(email)) { Response.Redirect(errore + "2"); } else if (titolo == "" || titolo == "undefined" || titolo.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 rr_messaggio = r_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("messaggi",connessione,3,3); recordset.AddNew(); recordset("nome") = nome; recordset("email") = email; recordset("homepage") = homepage; recordset("titolo") = titolo; recordset("messaggio") = rrrr_messaggio; recordset("data") = data; recordset("ora") = ora; recordset.Update(); recordset.Close(); recordset = nothing; Response.Redirect("guestbook.asp"); } } else if (azione == "errore") { // GESTIONE DEI MESSAGGI DI ERRORE var codice = parseInt(Request.QueryString("codice")); var correggi = "<p align=\"center\"><input type=\"button\" value=\"Correggi\" onClick=\"window.history.back()\">"; if (codice == "1") { Response.Write("<p class=\"ERRORE\">Inserisci il tuo nome per favore</p>" + correggi); } else if (codice == "2") { Response.Write("<p class=\"ERRORE\">Inserisci la tua email per favore</p>" + correggi); } else if (codice == "2") { Response.Write("<p class=\"ERRORE\">Inserisci la tua email per favore</p>" + correggi); } else if (codice == "3") { Response.Write("<p class=\"ERRORE\">Inserisci il titolo del messaggio favore</p>" + correggi); } else if (codice == "4") { Response.Write("<p class=\"ERRORE\">Inserisci il corpo del messaggio favore</p>" + correggi); } else { Response.Redirect("guestbook.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("guestbook.asp"); } else if (azione == "Logout") { // LOGOUT PER L'AMMINISTRATORE Session.Abandon(); Response.Redirect("guestbook.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 messaggi WHERE id LIKE '" + id + "'"); } Response.Redirect("guestbook.asp"); } else { Response.Redirect("guestbook.asp"); } %> <p align="center"> <% // CREO LA BARRA DI NAVIGAZIONE PER VISITARE "TUTTE LE PAGINE" CONTENENTI I VECCHI MESSAGGI for (var x=0; x<Mostra.PageCount; x++) { if (pagina == (x + 1)) { Response.Write("[" + (x + 1) + "] "); } else { Response.Write("[<a href=\"guestbook.asp?pagina=" + (x + 1) + "\">" + (x + 1) + "</a>] "); } } %> </p> <div align="center"> <a href="rientro.swf" target="_self"><font face="sans-serif">Torna alla Home Page</font></a> </div> <p align="center"> <form name="login" method="post" action="guestbook.asp?azione=<%Session("amministratore") == null ? Response.Write("Login") : Response.Write("Logout")%>"> <%if (Session("amministratore") == null) {%> <input type="password" name="password"> <%}%> <input type="submit" value="<%Session("amministratore") == null ? Response.Write("Login") : Response.Write("Logout")%>"> </form> </p> </body> </html> <%connessione.Close()%>

					
					
					
						
  Rispondi quotando
						