Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Ancora script aiuuttoo

  1. #1

    Ancora script aiuuttoo

    Scusate l'invadenza ma nonostante i consigli ricevuti non riesco a modificare il mio guestbook.
    Avrei bisogno di inserire in un file di testo l'indirizzo ip il nome e il messaggio e la data di chi scrive nel guestbook ma non ci riesco mo da errore.
    io ho inserito il codice in rosso ma mi da errori come posso fare??
    Dov'è che sbaglio???

    codice:
    <%@LANGUAGE = JScript%>
    <%
    	// QUESTA E' LA PASSWORD DI AMMINISTRATORE PER ELIMINARE MESSAGGI INDESIDERATI... CAMBIALAAAAAAAAAAAAAAA :-)
    	var admin_password = "xxxx";
    
    	// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
    	
    	
    	/*
    		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>
    		
    	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
    <!--
    body {
    	background-color: #ffa500;
    }
    -->
    </style></head>
    <body>
    
    <h2 align="center">[img]/immagini/bacheca.jpg[/img]</h2>
    
    <table class="MODULO" width="500" align="center" cellpadding="3" cellspacing="0">
    	<form name="guestbook" method="post" action="default.asp?azione=Inserisci">
    		<tr>
    			<td width="150">Nome</td>
    			<td width="350"><input type="text" name="nome" maxlength="50" style="width: 100%; background-color: #FFCC00; layer-background-color: #FFCC00; border: 1px none #000000;"></td>
    		</tr>
    		<tr>
    			<td colspan="2">Messaggio</td>
    		</tr>
    		<tr>
    			<td colspan="2"><textarea name="messaggio" style="width: 100%; height: 100px; background-color: #FFCC00; layer-background-color: #FFCC00; border: 1px none #000000;"></textarea></td>
    		</tr>
    		<tr>
    			<td colspan="2" align="right"><input type="submit" value="Invia "></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; background-color: #FFCC00; layer-background-color: #FFCC00; border: 1px none #000000;">
    			<font color="#800000"><%=Mostra("titolo")%></font><%Session("amministratore") == "OK" ? Response.Write(" (<a href=\"default.asp?azione=Cancella&id=" + Mostra("id") + "\">cancella</a>)") : Response.Write("")%>
    
    			Autore: <%=Mostra("nome")%></a>
    
    			Data: <%=Mostra("data")%> ore <%=Mostra("ora")%>
    
    
    	  <%=Mostra("messaggio")%>	  </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 messaggio = new String(Request.Form("messaggio"));
    		// ESPRESSIONE REGOLARE PER LA VERIFICA DELL'INDIRIZZO EMAIL
    		// 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 = "default.asp?azione=errore&codice=";
    		if (nome == "" || nome == "undefined" || nome.charAt(0) == " ")
    		{
    			Response.Redirect(errore + "1");
    		}
    		else if (messaggio == "" || messaggio == "undefined" || messaggio.charAt(0) == " ")
    		{
    			Response.Redirect(errore + "4");
    		}
    		else
    		{
    			var r_messaggio = messaggio.replace(/</g, "&lt;");
    			var rr_messaggio = r_messaggio.replace(/>/g, "&gt;");
    			var rrr_messaggio = rr_messaggio.replace(/&/g, "&amp;");
    			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("messaggio") = rrrr_messaggio;
    						recordset("data") = data;
    						recordset("ora") = ora;
    					recordset.Update();
    var intModalita 
    // Se intModalita viene inizializzato a 2 si perde il contenuto precedente 
    // Se intModalita viene inizializzato a 8 si accoda il contenuto 
    Fil=CreateObject("Scripting.FileSystemObject") 
    var strFile 
    strFile = server.mapPath("testo.txt") 
    out=Fil.OpenTextFile(strFile,8,true) 
    
    out.WriteLine(Request.ServerVariables("REMOTE_HOST")) 
    Response.write("Scrittura eseguita (spero)")
    out.Close 
    out=null 
    Fil=null   
    				recordset.Close();
    
    				Response.Redirect("default.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("default.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("default.asp");
    	}
    	else if (azione == "Logout")
    	{
    		// LOGOUT PER L'AMMINISTRATORE
    		Session.Abandon();
    		Response.Redirect("default.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("default.asp");
    	}
    	else
    	{
    		Response.Redirect("default.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=\"default.asp?pagina=" + (x + 1) + "\">" + (x + 1) + "</a>] ");
    		}
    	}
    %>
    </p>
    
    
    
    
    
    <p align="center">
    <form name="login" method="post" action="default.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()%>

  2. #2
    Utente di HTML.it L'avatar di floyd46
    Registrato dal
    Feb 2002
    residenza
    Apulia
    Messaggi
    2,641

    Re: Ancora script aiuuttoo

    Perchè non con un DB?
    scusa l' invadenza
    "Le persone che realizzano layout con tabelle annidate, spacer gif o che ignorano l'accessibilità non possono più definirsi professionisti." Andy Clarke
    --------------------------------

    www.extrowebsite.com

  3. #3
    Perchè volevo averli su un file di testo che lo leggo più facilemente ed è già pronto. Poi sinceramentemi sembrava la soluzione più semplice per me che non ci capisco un akka di asp

  4. #4
    Utente di HTML.it L'avatar di floyd46
    Registrato dal
    Feb 2002
    residenza
    Apulia
    Messaggi
    2,641
    non so cosa tu stia facendo ma, spero di non sbagliarmi, se vuopi provare in locale bene, altrimenti non so se su un server remoto ti danno la possibilità di usare il FileSystemObject.

    Pensa che quando io devo fare delle prove con il mio IIS locale, devo disattivare il blocco degli script di Norton AV altrimenti il server si "impalla"; non scrive il file nè, tantomeno lo legge.

    magari se vuoi posso crearti io il DataBase (access) e il pannello di amministrazione dal quale inserisci i dati.

    contattami se vuoi.



    -Floyd-
    "Le persone che realizzano layout con tabelle annidate, spacer gif o che ignorano l'accessibilità non possono più definirsi professionisti." Andy Clarke
    --------------------------------

    www.extrowebsite.com

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.