|
| TextStream Writeline og Form variabler Fra : Ryan Jeppesen |
Dato : 19-12-00 09:05 |
|
Hejsa i NG
jeg sidder og roder med lidt asp, jeg vil gerne have at de besøgende
på min hjemmeside skal have mlighed for at give deres mening til en
givent emne på en side. Jeg har valgt at bruge TextStream til dette da
det er relativ små mængder data.
Mit problem/spørgsmål er, hvordan man skriver varibaler fra en
formular til txt filen??, nedestående virker ikke når variablen
<%navn%>bruges, hvis jeg ikke bruger varigbalen, så virker det fint,
nogen der ved hvad der er galt???
Koden:
<TABLE width="60%" border="0" cellspacing="0" cellpadding="0"
align="center">
<TR>
<TD>
<P>Fornavn og Efternavn eller Nick:</P>
</TD>
<TD>
<INPUT type="Text" name="navn">
</TD>
</TR>
<TR>
<TD>
<P>På en skala fra et 1 til 10, hvad vil du så
give 12MOVE?</P>
</TD>
<TD>
<INPUT type="Text" name="karakter" size="2">
</TD>
</TR>
<TR>
<TD>
<P>Din Kommentar eller Mening:</P>
</TD>
<TD>
<TEXTAREA name="kommentar">Skriv Løs!</TEXTAREA>
</TD>
</TR>
<TR>
<TD> </TD>
<TD>
<INPUT type="Submit" name="submit" value="Send">
</TD>
</TR>
</TABLE>
<P> </P>
</DIV>
</FORM>
<P>
<%
Const ForReading = 1, ForWriting = 2, Forappending = 8
Const TristateUseDefault = -2 ' Opens the file using the system
default
Const TristateTrue = -1 ' Opens the file as Unicode
Const TristateFalse = 0 ' Opens the file as ASCII
'### FIRST PART: SKRIV TIL FIL
Set objFS=Server.CreateObject("Scripting.FileSystemObject")
If objFS.FileExists ("txt/isp-12move.txt") = True Then
Set objTextS = objFS.OpenTextFile("txt/isp-12move.txt",
ForAppending, False, TristateFalse)
Else
Set objTextS =
objFS.CreateTextFile("txt/isp-12move.txt",False, False)
End If
objTextS.WriteLine "Tilføjet " & Now & "<%=navn%>"
objTextS.Close
Set objTextS = Nothing
Set objFS = Nothing
%>
MVH Ryan
| |
Mogens Dyhre Hansen (19-12-2000)
| Kommentar Fra : Mogens Dyhre Hansen |
Dato : 19-12-00 09:58 |
|
"Ryan Jeppesen" <paradise@worldonline.dk> skrev i en meddelelse
news:3a3f1517.5124775@news.image.dk...
> Hejsa i NG
> <INPUT type="Text" name="navn">
"name" er et reseveret ord ligesom "by" og der er sikkeret flere men jeg er
også lidt grøn her så hvis jeg er forkert på så ret mig lige.
/Mogens
http://www.svend-bent.dk/
| |
Lauritz Jensen (19-12-2000)
| Kommentar Fra : Lauritz Jensen |
Dato : 19-12-00 13:45 |
|
Enten mangler der noget af din kode ellers har du misforstået noget. Når
du laver en sådan formular, skal den bestå af to filer (den kan også
bestå af en, som reagerer på to måder, men for at holde det simpelt ...)
Den ene skal være den fil, som viser en formular for brugeren og hvorpå
der er nogle indtastningsfelter. Når brugeren har udfyldt denne fil,
skal den af sendes til serveren, dette gøres i praksis som en
forespørgsel efter den anden fil (det vil sige de indtastede værdier
sendes egentlig ikke til serveren, men de er en del af forespørgslen om
en anden fil).
På den side som indeholder formularen skal der altså angives hvilken
fil, som der skal spørges efter, når formulares data skal "sendes til
serveren". Dette gøres i <form>-tagget. Din formular kune se sådan ud:
--- formular.asp - start ---
<form action="resultat.asp" method=post>
<input type=text name="navn">
<input type=submit value="Send besvarelse">
</form>
--- formular.asp - slut ---
På den side, som skal tage imod data fra formularen, kan du spørge efter
hvad felterne indeholdte vha. samlingen Request("navn"). Notationen
"<%=navn%>" benyttes når du gerne vil have vist noget i browseren, det
har ikke noget med filer at gøre (ikke i asp i hvert fald, man kan noget
tilsvarende i php/perl). (Du behøver iøvrig ikke at bruge CreateTextFile
til at oprette filen, det kan OpenTextFile klare (tror jeg nok). Du skal
nok give opentextfile den fulde sti til serveren, ellers er det ikke
helt til at forudsige hvor filen havner, brug evt. server.mappath). Det
kunne se sådan ud:
--- resultat.asp - start ---
<%
Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set f=fso.OpenTextFile(Server.MapPath("txt/isp-12move.txt"), 8, 1, 0)
f.WriteLine "Tilføjet " & Now & " - " & Request("navn")
f.Close
Set f = Nothing
Set fso = Nothing
%>
Tak for din besvarelse!
--- resultat.asp - end ---
--
Lauritz
- vis harddisk lige er crashet, så han kan ikke se om du har svaret på
et af hans indlæg (og jo, det var lige inden aflevringen af en opgave)
| |
Ryan Jeppesen (20-12-2000)
| Kommentar Fra : Ryan Jeppesen |
Dato : 20-12-00 12:31 |
|
On Tue, 19 Dec 2000 13:44:50 +0100, Lauritz Jensen
<lauritz2@hotmail.com> wrote:
Hejsa Lauritz
Tak for dit svar, men jeg har et lille problem, når formularen bliver
sendt afsted til resultat.asp, så modtager jeg følgende fejl
Stien blev ikke fundet
/resultat.asp, linje 57
Hvad mener den med det, er det txt filen den ikke kan finde?,
Resultat.asp Kode:
Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set f=fso.OpenTextFile(Server.MapPath("txt/isp-12move.txt"), 8, 1, 0)
f.WriteLine "Tilføjet " & Now & " af " & Request("navn")&
Reguest("kommentar")
f.Close
Set f = Nothing
Set fso = Nothing
Jeg har også et problem med at læse indholdet af txt filen
Jeg bruger følgende kode for at læse indholdet
<%
Const Forreading = 1, Forwriting = 2, ForApending = 8
Const TristateUseDefault = -2
Const TristateTrue = -1
Const TristateFalse = 0
Set objTextS =
objFS.OpenTextFile(Server.MapPath("txt/isp-12move.txt"),
ForReading,TristateFalse)
Do While objTextS.AtEndOfStream <> True
strLine = objTextS.Readline
strLine = Server.HTMLEncode(strLine)
Response.Write strLine & "<BR>" & vbCrLf
Loop
objtextS.Close
Set objTextS = Nothing
Set objFS = Nothing
%>
men der får jeg følgende fejl meddelse
Et objekt er obligatorisk: ''
/isp-12move.asp, linje 471
Håber du kan hjælpe, du sidder sikkert og river dig i håret over at
jeg ikke fatter det, da det sikkert er pisse simpelt, men som du
sikkert har regnet ud så jeg jeg ny med ASP :)
mvh Ryan
| |
Lauritz Jensen (20-12-2000)
| Kommentar Fra : Lauritz Jensen |
Dato : 20-12-00 13:29 |
|
Ryan Jeppesen wrote:
>
> jeg har et lille problem, når formularen bliver
> sendt afsted til resultat.asp, så modtager jeg følgende fejl
>
> Stien blev ikke fundet
>
> /resultat.asp, linje 57
>
> Hvad mener den med det, er det txt filen den ikke kan finde?,
Dels skal du lige være sikker på at "txt" kataloget findes på serveren
(f.eks. ved at checke http://servernavn/txt/ i en browser), samt at
webserveren har skrive adgang. Derudover var jeg kommet til at lave en
slå fejl (som egentlig ikke skulle betyde noget, da det virker på min
server):
> Set f=fso.OpenTextFile(Server.MapPath("txt/isp-12move.txt"), 8, 1, 0)
skal være:
Set f=fso.OpenTextFile(Server.MapPath("txt/isp-12move.txt"), 8, True, 0)
> Jeg har også et problem med at læse indholdet af txt filen
>
[snip]
> Set objTextS =
> objFS.OpenTextFile(Server.MapPath("txt/isp-12move.txt"),
> ForReading,TristateFalse)
[snip]
> Et objekt er obligatorisk: ''
>
> /isp-12move.asp, linje 471
Mit gæt er, at du ikke har lavet et "scripting.filesystemobjekt" i
"objFS"
Det ville gøre det lidt nemmere hvis du markerede, hvilken linie som
svare til linie 471.
--
Lauritz
| |
Ryan Jeppesen (20-12-2000)
| Kommentar Fra : Ryan Jeppesen |
Dato : 20-12-00 20:18 |
|
On Wed, 20 Dec 2000 13:29:18 +0100, Lauritz Jensen
<lauritz2@hotmail.com> wrote:
>Ryan Jeppesen wrote:
>>
>> jeg har et lille problem, når formularen bliver
>> sendt afsted til resultat.asp, så modtager jeg følgende fejl
>>
>> Stien blev ikke fundet
>>
>> /resultat.asp, linje 57
>>
>> Hvad mener den med det, er det txt filen den ikke kan finde?,
>
>Dels skal du lige være sikker på at "txt" kataloget findes på serveren
Det var der problemet lagde, havde ikke lige tænkt på at den ikke også
selv oprettede biblioteket :)
>(f.eks. ved at checke http://servernavn/txt/ i en browser), samt at
>webserveren har skrive adgang. Derudover var jeg kommet til at lave en
>slå fejl (som egentlig ikke skulle betyde noget, da det virker på min
>server):
>
>> Set f=fso.OpenTextFile(Server.MapPath("txt/isp-12move.txt"), 8, 1, 0)
>skal være:
>Set f=fso.OpenTextFile(Server.MapPath("txt/isp-12move.txt"), 8, True, 0)
>
>> Jeg har også et problem med at læse indholdet af txt filen
>>
>[snip]
>> Set objTextS =
>> objFS.OpenTextFile(Server.MapPath("txt/isp-12move.txt"),
>> ForReading,TristateFalse)
>[snip]
>> Et objekt er obligatorisk: ''
>>
>> /isp-12move.asp, linje 471
>
>Mit gæt er, at du ikke har lavet et "scripting.filesystemobjekt" i
>"objFS"
Ganske rigtigt, det var der hunden lagde begravet.
>
>Det ville gøre det lidt nemmere hvis du markerede, hvilken linie som
>svare til linie 471.
>
>--
>Lauritz
Endnu engang, rigtig mange gange tak
Glædelig Jul og et godt Nytår
mvh Ryan
| |
Jakob Andersen (19-12-2000)
| Kommentar Fra : Jakob Andersen |
Dato : 19-12-00 14:23 |
|
"Ryan Jeppesen" <paradise@worldonline.dk> wrote
> jeg sidder og roder med lidt asp, jeg vil gerne have at de besøgende
> på min hjemmeside skal have mlighed for at give deres mening til en
> givent emne på en side. Jeg har valgt at bruge TextStream til dette da
> det er relativ små mængder data.
Jeg vil nok have brugt XML(+XMLDOM), hvis du syntes det lyder spændende skal
du da næsten lige prøve at kigge på:
< http://www.netcoders.dk/articles/xml_db.asp> det er faktisk ret sjovt at
arbejde med, og det skulle jo ifølge MS være fremtiden
--
Jakob Andersen
FAQ for webdesign gruppen på
< http://www.usenet.dk/oss/dk.edb.internet.webdesign>
"Det er rart at være vigtig, men det er vigtigere at være rar "
| |
|
|