Guest book con file di testo
Data di pubblicazione: 16/06/2003
Voto della community: 3,17
(Votanti: 4)
In questo articolo vedremo come creare un semplice ma funzionale libro degli ospiti per il nostro sito, utilizzando i file di testo.
Il primo passo è la creazione di un file di testo, che chiameremo gb.txt, nel quale scriveremo la seguente riga: (il carattere dello "spazio" in html). Dopodiché, copieremo il file in una cartella con permessi in scrittura abilitati e non lo andremo più a toccare.
gbtxt.asp Iniziamo a scrive l'incipit della pagina
<%@ LANGUAGE = VBScript %> Dopo aver dimensionato (a nostro piacimento) la tabella contenente il form, prepariamoci ad analizzare i campi dello stesso: in questo caso sono presenti due caselle di testo (per il nome e la e-mail del guest), una textarea nella quale verrà inserito il messaggio e due pulsanti (uno di invio e uno di reset).
<form method="post" action="instxt.asp"> Completato il form costruiamo ora la parte più importante (e quella che più ci interessa) della pagina; il codice ASP per la gestione dei post presenti nel file gb.txt.
<% Nelle tre righe sottostanti, creiamo la connessione al nostro file di testo.
Dim objOpenFile, objFSO, strPath Quindi apriamo il file gb.txt (precedentemente definito in strPath) in modo lettura (identificato con il numero 1). Set objOpenFile = objFSO.OpenTextFile(strPath, 1) Creiamo il ciclo Do While per scorrere e stampare il file linea per linea fino alla fine dello stesso; inseriamo inoltre alla fine di ogni linea stampata due "ritorno a capo" per spaziare a video i post presenti.
Do While Not objOpenFile.AtEndOfStream Chiudiamo infine le connessioni aperte precedentemente.
objOpenFile.Close Chiusura del tag contenente il codice ASP e chiusura dei tag html.
%> instxt.txt
<%@ LANGUAGE = VBScript %> Recuperiamo i campi del form, inviati attraverso il modulo del file gbtxt.asp con il comando Request.Form("nome campo").
Dim strPost, strName, strEmail, strTime, strPath, objFSO, objOpenFile, strOld
N.B. la riga con il comando Replace(strPost... ) elimina i "ritorno a capo" digitati nel form e li sostituisce con dei <br>, per una corretta gestione dei post inseriti.
strPath = Server.MapPath("gb.txt") Apriamo il file gb.txt in modo lettura, leggiamolo tutto e inseriamo il suo contenuto nella variabile strOld (strOld = objOpenFile.ReadAll).
Set objOpenFile = objFSO.OpenTextFile(strPath, 1) Apriamo nuovamente il file gb.txt, questa volta in modo scrittura (identificato con il numero 2), e inseriamo il nuovo post con il comando objOpenFile.WriteLine, formattandolo in html a nostro piacimento.
Set objOpenFile = objFSO.OpenTextFile(strPath, 2) Chiudiamo le connessioni aperte precedentemente.
objOpenFile.Close Reindirizziamo l'utente al file gbtxt.asp nel quale vedrà comparire il messaggio da lui inserito, in cima alla lista dei post. <% Response.Redirect("gbtxt.asp") %> Osservazioni La variabile d'appoggio strOld che abbiamo incontrato in instxt.asp serve per poter memorizzare i vecchi post e permettere di inserire in cima all'elenco l'ultimo inserito. Di default, infatti, il metodo Write eseguito su un file, cancella il contenuto del medesimo prima di inserirne del nuovo. Il metodo Append per contro, mantiene il contenuto del file ma inizia a scrivere subito dopo la fine di quest'ultimo. Download Cliccando sul link seguente è possibile scaricare il codice di esempio relativo allo script presentato in questo articolo.
|
||||||||||||||||||||||||