suddenMedlem sedan okt. 2002341 inlägg Hejsan!
Jag har en kod som ser ut så här:
<html>
<body>
[KOD]
<%
path = Server.MapPath("/SUDDENS-4W5V3H3")
fil = path & "\" & Session("url")
Set MittTxtObj = CreateObject("Scripting.FileSystemObject")
Set MinFil = MittTxtObj.CreateTextFile(fil, True)
MinFil.WriteLine("<html><head><title>" & Session("rubrik") & "</title></head>")
MinFil.WriteLine("<body BGCOLOR =" & Session("bfarg") & " TEXT = " & Session("tfarg") & ">")
MinFil.WriteLine("<H1><center>")
MinFil.WriteLine(Session("rubrik"))
MinFil.WriteLine("</center></H1>")
MinFil.WriteLine(Session("text"))
MinFil.WriteLine("<HR>")
MinFil.WriteLine("<center>Denna sida? skapades" & date & " av <a href=mailto:" & Session("e-post") & ">" & Session("namn") & "</a>")
MinFil.WriteLine("</center></body></html>")
MinFil.Close
%>
<H1>Gör din egen webbsida</H1>
<H2>Steg 5(5) - Sidan är skapad</H2>
Klicka <a href = <%=Session("url")%>>här</a>för att gå till den!
</body>
</html>
Meningen med det här är att användaren ska kunna få skapa en egen enkel hemsida!
Anta att användaren skrev in att filen skulle heta hemsida.htm...hur gör jag då för att skapa den
EitrazMedlem sedan sep. 2002366 inlägg Du verkar bara ha definierat
fil som en katalog, du får lägga till ett filnamn oxå ;)
t ex
fil = path & "\" & Session("url") & "\" & Session("filename")
Om du där ha Session("filename") som filnamnet.
-Eitraz
suddenMedlem sedan okt. 2002341 inlägg Men session("url") är ju namnet på filen.
EitrazMedlem sedan sep. 2002366 inlägg Då är det väll inga problem då :)
För du har väll forumlär o så att göra hemsidan i? Är ju bara o lägga till en input filnamn eller nåt.
-Eitraz
suddenMedlem sedan okt. 2002341 inlägg jo jag vet...men när jag kör alltihop så får jag det här meddelandet:
Feltyp:
Körningsfel i Microsoft VBScript (0x800A004C)
Det går inte att hitta angiven sökväg.
/test/hemguide/hemguide5.asp, line 9
EitrazMedlem sedan sep. 2002366 inlägg Aha, du har alla \ vända åt rätt håll va?
-Eitraz
EitrazMedlem sedan sep. 2002366 inlägg Isåfall får du nog slänga ut lite till kod.. för jag hittar inget fel i den ovan (kan ju ha missat oxå förstås..)
-Eitraz
suddenMedlem sedan okt. 2002341 inlägg Det jag menar är att filen inte skapas i katalogen!
Det är användaren som ska få bestämma vad filen ska heta!
OveRRidEMedlem sedan feb. 200112 078 inlägg En liten fråga bara; varför i hela tomteskogens alla svampmusslor använder du sessions till alla dina variablar? :)
Detta kommer ge dig en enorm prestandaförlust, man skall inte skapa så många sessions-variablar på en sida.
suddenMedlem sedan okt. 2002341 inlägg *ha ha*
Ok...men vad ska jag använda mig av då?
Jag har typ 5 olika sidor med formulär och jag vill behålla informationen från allihopa och sedan kunna anropa dem!
Ska jag använda en databas?
VideMedlem sedan dec. 19998 577 inlägg Skapa ett scripting.dictionary som du lagrar alla dina värden i, den lägger du sedan i en session... men se till att du temporärlagrar ditt scripting.dictionary i en lokal variabel när du skall använda värdena.
suddenMedlem sedan okt. 2002341 inlägg Okej...tack för tipset :birp
mrblondeMedlem sedan aug. 20012 349 inlägg att stoppa ett objekt i session är ju ännnu sämre. scripting.dictionary är ett objekt och dessa skall man absolut inte stoppa i session ,de tar up ännu mer minne än om man sparar lite text i session.
Bästa sättet är att posta informationen från sida till sida om man är prestanda beroende. Annars kan man gott ha dem i session som ren text.
OveRRidEMedlem sedan feb. 200112 078 inlägg
mrblonde skrev:
att stoppa ett objekt i session är ju ännnu sämre. scripting.dictionary är ett objekt och dessa skall man absolut inte stoppa i session ,de tar up ännu mer minne än om man sparar lite text i session.
Bästa sättet är att posta informationen från sida till sida om man är prestanda beroende. Annars kan man gott ha dem i session som ren text.
Inte bara det att det är ett objekt; ett Dictionary-objekt skall man absolut inte lägga i session-scope, enligt ASP 3.0 Reference Manual från Wrox Publishing. Det fanns t.o.m. en bugg som gjorde att IIS crashade om man satte ett sådant objekt i t.ex. application-scope, då det tidiga dictionary-objektet var menat för klient-side-användning från början.
I vilket fall som helst, frågan är ifall det (som mrBlonde säger) verkligen är någon skillnad?
VideMedlem sedan dec. 19998 577 inlägg Som alltid är det en balansgång mellan prestanda och funktionellt byggande, att ha alla variabler i ett dictionary ger bättre översikt och du samlar alla värden på ett ställe, men samtidigt ger det servern mer att minnas.
Om du inte vill använda ett dictionary kan du använda en helt vanlig array, men då tappar du namngivningen av de index som värdena skall läggas.
Ett tredje alternativ är att lägga det i en databas.