webForumDet fria alternativet

Skriva till fil via form action="... ???

ASP

4 svar · 198 visningar · startad av T_Codez

Medlem sedan juli 2001458 inlägg
Frågan#1

Hej

JAg håller på och fnular lite med filhantering. Och inte utan bekymmer. Har någon något litet tips? Har ett "Major" tankestop nu...

Kodläget just nu:

<form method="Get" Action="update.asp?func=editmenu">
<SELECT id=select1 name=val>
<OPTION>Choose Country to view</OPTION>
<OPTION value=uk>United Kingdom</OPTION>
<OPTION value=se>Sweden</OPTION>
</SELECT>
<%
SET fsoall=CreateObject("scripting.FileSystemObject")
SET txtFilall=fsoall.OpenTextFile(server.mappath("./") & "\txt_country_all.txt")
txt_country_all=txtFilall.ReadAll (rad 174)
txt_country_all= txtFilall.WriteLine(val&"<BR>")
Response.Write(val)
txtFil_country_all.Close
%>
<input type="submit" value="Go" name="cmdSkicka"> 
</form>

Felmeddelande jag får är : Bad file mode rad 174.

Filen finns så det är inte det bekymret. Vad tror ni att det kan vara?

------------------
There is no Tomorrow...

Medlem sedan okt. 20005 273 inlägg
#2

testa så här

<form method="Get" Action="update.asp?func=editmenu">
<SELECT id=select1 name=val>
<OPTION>Choose Country to view</OPTION>
<OPTION value=uk>United Kingdom</OPTION>
<OPTION value=se>Sweden</OPTION>
</SELECT>
<%

strPath = server.mappath("./") & "\txt_country_all.txt")

SET fsoall=CreateObject("scripting.FileSystemObject")
SET txtFilall=fsoall.OpenTextFile(strPath, 8)
txt_country_all=txtFilall.ReadAll
txt_country_all= txtFilall.WriteLine(val&"<BR>")
Response.Write(val)
txtFil_country_all.Close
%>
<input type="submit" value="Go" name="cmdSkicka"> 
</form>

------------------
kolung.....det tål att tänkas på!

[Redigerat av icaaq den 11 dec 2001]

Medlem sedan juli 2001458 inlägg
#3

Har testat ditt förslag men det ville sig inte till en början. Upptäckte sedan lite fel
i filnamnet.

Efter korrigering så ser koden ut så här:

<form method="Get" Action="update.asp?func=editmenu">
<SELECT name=val>
<OPTION>Choose Country to view</OPTION>
<OPTION value=uk>United Kingdom</OPTION>
<OPTION value=se>Sweden</OPTION>
</SELECT>

<%
strPath = server.mappath("txtFilall.txt")

SET fsoall=CreateObject("scripting.FileSystemObject")
SET txtFilall=fsoall.OpenTextFile(strPath, 8)
'txt_country_all=txtFilall.ReadAll (Bortkommenterad för att jag fick "BAD FILE MODE" på denna rad)
txt_country_all= txtFilall.WriteLine(val)
Response.Write(val)
txtFilall.Close
%>

<input type="submit" value="Go" name="cmdSkicka">
</form>

Det Trubbel som återstår är det att när sidan laddas igen så hänger inte menyn
med i addressbaren. Som ser ut så här:

admin/update.asp?val=uk&cmdSkicka=Go

Mysko!? Eller hur? Och vad kan det bero på tro?

------------------
There is no Tomorrow...

Medlem sedan juli 2001458 inlägg
#4

Okay!

Har nu kommit förbi det lilla bekymret (kör med post iställer för get i form action). Men men, som vanligt så kommer det alltid lite efterföljande problem. filen ser nu ut så här:

"Variabeldeklarationer, cookies etc."

landet = Request.form("val")

'läser upp en textfil med superadmins val i listboxen. Det landet listas sedan

SET fsoall=CreateObject("scripting.FileSystemObject")
set txtFilall = fsoall.OpenTextFile (Server.MapPath("txtFilall.txt"))
txt_country_all=txtFilall.ReadAll
Response.Write(txt_country_all)
txtFilall.Close

"Sen kommer det lite SQL"

	SQL = "SELECT \* FROM tblUpdate\_" & txt_country_all &"  where...

"Sen kommer det lite HTML"

<form method="post" Action="update_hdx.asp?func=editmenu">

<SELECT name=val>
<OPTION>Choose Country to view</OPTION>
<OPTION value=uk>United Kingdom</OPTION>
<OPTION value=se>Sweden</OPTION>
</SELECT>
<input type="submit" value="Go" name="cmdSkicka">
</form>

<%
strPath = server.mappath("txtFilall.txt")

SET fsoall=CreateObject("scripting.FileSystemObject")
SET txtFilall=fsoall.OpenTextFile(strPath, 8)
'txt_country_all=txtFilall.ReadAll
txt_country_all= txtFilall.WriteLine(val)
Response.Write(val)
txtFilall.Close
%>

Det fungerar jättebra så långt. Men i filen så lägger den till option valet
istället för att ersätta den befintliga. Finns det någon växel eller dylikt
så att det blir replace istället för en append?

Har nu några förslag till en stackars Hobby knackare?

------------------
There is no Tomorrow...

[Redigerat av T_Codez den 12 dec 2001]

Medlem sedan juli 2001458 inlägg
#5

Hej igen

Ibland är man så skruvad i kodträsket att man gör det svårare än det borde vara... (Nybörjargrej antar jag).

Grumf... Ni som följt mitt lilla dilemma har säkert undrat varför jag inte gjort så här från början.

Lösningen blev i alla fall... HELLO T_Codez! Räcker det inte med en variabel, kanske!

Självklart gör'e det, tänkte jag i mitt något frustrerade sinne. Och sen åtgärdade jag min tanke bugg.

Så för er som läst och undrar hur det gick med variablelösningen då? så kommer lösningen här:

<% option explicit
Dim landet, SelLandet...

landet = Request.form("val")

if landet = "" then
landet = "uk"
end if

'############################ Textfil med användarens ModersLand om ej satt till ALL admin som ser alla länder

SET fso=CreateObject("scripting.FileSystemObject")
set txtFil ...

'############################ SELECT SATS MED LANDS RÄTTIGHETER
SELECT * ...

'############################ SELECT SATS MED ALL RÄTTIGHETER
'SELECT * Fr...

<!-- #INCLUDE FILE="include/inc_gui.asp" -->

<HTML...> etc.

<form method="post" Action="update.asp?func=editmenu">

...<SELECT name=val>
<OPTION value=uk>Choose Country to view</OPTION> 'Uk is default and allways the first choise
<OPTION value=uk>United Kingdom</OPTION>
<OPTION value=se>Sweden</OPTION>
</SELECT>
<input type="submit" value="Go" name="cmdSkicka">
</form>

Ps. Alla som ägnat detta problem en tanke ska ha ett stort tack i alla fall. :e

------------------
There is no Tomorrow...

257 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)