<< Föregående: Filen skriv.asp Nästa: Snygga till textfilen >>

ASP-koden i default.asp

I filen default.asp som du tidigare skapade skall du nu lägga till den ASP-kod som behövs för att få allt att fungera. Det är ett ganska kort kodblock, som skall placeras efter FORM-elementets avslutande P-tagg – alltså i luckan mellan de här raderna:

</FORM></P>

</TD></TR>

ASP-koden ser ut så här:

<%

'Ange sökvägen till gästbokens textfil. Precis som i skriv.asp
'använder du en av de båda metoderna nedan.
'Antingen Metod 1
'  strMinFil = "här anger du adressen/gester.txt"
'eller Metod 2
   strMinFil = Server.Mappath("gester.txt")

'Öppna gästboksfilen
   Set fsoMinFil=Server.CreateObject("Scripting.FileSystemObject")
   If fsoMinFil.FileExists(strMinFil) Then
   Set strMinTextFil=fsoMinFil.OpenTextFile(strMinFil)

'Läser och skriver tills allt har skrivits på sidan
   WHILE NOT strMinTextFil.AtEndOfStream

%>

   <%=strMinTextFil.ReadLine%>

<%
   WEND

'Stäng textfilen
   strMinTextFil.Close
   End if

%>


Förklaringar

Den här koden innehåller en del som egentligen inte behövs. Men om du senare skulle pröva en annan metod för att läsa från och skriva till textfilen i skriv.asp, har du nytta av det här. Därför tar jag med den "överflödiga" koden här.

En variabel med sökvägen till och namnet på textfilen

Först av allt skapar du variabeln strMinFil, som innehåller information om var textfilen finns. Använd en av de båda metoder som anges i koden, beroende på var du tänker lägga textfilen. Så länge du provkör gästboken på datorn hemma utan att vara uppkopplad, måste du använda Server.MapPath(). Se till att en av de båda raderna är kommenterad med en enkelfnutt i början.

Sedan öppnar du filen. Först skapar du ett filsystemobjekt som gör att du kan läsa från textfilen.

Villkorskoden If ... End if

Därefter kommer en villkorskod, som börjar med "If fsoMinFil.FileExists" och fortsätter genom resten av ASP-koden fram till och med "End if".

Om filen som anges i variabeln fsoMinFil finns, kommer variabeln "strMinTextFil" att skapas. Denna kommer att använda objektet fsoMinFil för att öppna filen i StrMinFil.

Om filen inte finns händer på den här sidan ingenting förutom att ASP-skriptet avslutas. Däremot blir det ett felmeddelande när besökaren klickar på Skicka-knappen, eftersom filen som anropas i skriv.asp inte existerar.

Slingan WHILE NOT ... WEND

Den här slingan, som upprepas tills strMinTextFil har kommit till slutet av textfilen, behövs egentligen inte. Den läser in texten från textfilen rad för rad, men eftersom allt innehåll i textfilen redan ligger i en enda rad finns det bara en rad att läsa. Variabeln strMinTextFil når alltså slutet på textfilen redan i första varvet.

Om du ändrar metod för att läsa från och skriva till textfilen, så att innehållet hamnar på flera rader, kommer slingan att behövas. Så låt den ligga kvar – den gör ingen skada.

<%=strMinTextFil.ReadLine%>

WHILE NOT ... WEND-slingan passerar i varje varv förbi den här raden och skriver då innehållet i strMinTextFil till sidan.

Stäng textfilen och avsluta villkorskoden

Slutligen stänger du textfilen och sätter ut ett avslutande "End if". Glöm inte att skriva in den avslutande skriptavgränsaren %>. Spara filen default.asp.

Vill du korta ned koden?

Eftersom all din text finns i en enda rad, kan du korta ned koden. Byt i så fall ut all kod från raden under "'Öppna gästboksfilen" till och med "End if" mot följande:

   Set fsoMinFil=Server.CreateObject("Scripting.FileSystemObject")
   Set strMinTextFil=fsoMinFil.OpenTextFile(strMinFil)

%>

   <%=strMinTextFil.ReadLine%>

<%

'Stäng textfilen
   strMinTextFil.Close

   << Föregående: Filen skriv.asp Nästa: Snygga till textfilen >>

© SupportData.Net