Avatar billede dannyboy Nybegynder
18. august 2002 - 20:04 Der er 17 kommentarer og
1 løsning

Hjælp til meget simpel artikelfunktion

Se venligst http://www.eggertsen.dk/flow.gif

Hvem kan lave dette for mig?

PS.
Det skal være muligt at skrive " og ' i teksten og urls / e-mails skal automatisk blive klikbare.
Avatar billede eagleeye Praktikant
18. august 2002 - 20:26 #1
Jeg kan da lave et eks som du kan prøve..
Avatar billede exp-ralle Nybegynder
18. august 2002 - 20:33 #2
Følger lige med...
Avatar billede eagleeye Praktikant
18. august 2002 - 20:35 #3
Alle 3 filer skal ligge i samme folder; backend.asp, showtext.asp samt data.txt:


-- Filen ---- backend.asp:


<html>
<head></head>
<body>
<%
filnavn = "data.txt"

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  Set objTextStream = objFSO.OpenTextFile(Server.MapPath(filnavn), 2)
  objTextStream.write Request.Form("textData")
  objTextStream.close
end if

Set objTextStream = objFSO.OpenTextFile(Server.MapPath(filnavn), 1)
if Not objTextStream.AtEndOfStream then
  strText = objTextStream.readAll
end if
objTextStream.Close

Set objTextStream = Nothing
Set objFSO = Nothing
%>


<form action="backend.asp" method="post">
<table align="center">
<tr><td><TEXTAREA NAME="textData" COLS="45" ROWS="6"><%=strText%></TEXTAREA>
</td></tr>
<tr><td><input type="submit" name="Opdater" value="Opdater">
</td></tr>
</table>
</form>

</body>
</html>
Avatar billede eagleeye Praktikant
18. august 2002 - 20:36 #4
-- Filen ---- showtext.asp:


<%
filnavn = "data.txt"
strText = ""

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFSO.OpenTextFile(Server.MapPath(filnavn), 1)

if Not objTextStream.AtEndOfStream then
  strText = objTextStream.readAll
end if
objTextStream.Close

if strText <> "" then
  'Lav links og email om til rigtige links
  strText = LinkString (strText)
  'Lav Enter-knappem om til HTML-return <br>.
  strText = Replace(strText,vbCrLf,"<br>")
end if

'Udskrive teksten fra filen
Response.write strText

Set objTextStream = Nothing
Set objFSO = Nothing

'Functioner----------------------
Function LinkString(strInput)
Set objRegExpHTTP1 = New RegExp
Set objRegExpHTTP2 = New RegExp
Set objRegExpEMail = New RegExp

objRegExpHTTP1.Pattern = "(http|ftp)(:\/\/[\w\._-]+\.[\w\._-]+\S*)"
objRegExpHTTP2.Pattern = "(^|[^\/])(www[^\.\s]?\.[\w\._-]+\.[A-Za-z]{2,3}[\w\S]*)"
objRegExpEMail.Pattern = "([\w\._-]+@[\w\._-]+\.[A-Za-z]{2,3}\S*)"

objRegExpHTTP1.Global = True
objRegExpHTTP2.Global = True
objRegExpEMail.Global = True

objRegExpHTTP1.IgnoreCase = True
objRegExpHTTP2.IgnoreCase = True
objRegExpEMail.IgnoreCase = True

strOutput = objRegExpEMail.Replace(strInput, " <a href='mailto:$1'>$1</a> ")
strOutput = objRegExpHTTP1.Replace(strOutput, " <a href='$1$2' target='_blank'>$1$2</a> ")
strOutput = objRegExpHTTP2.Replace(strOutput, " $1<a href='http://$2' target='_blank'>$2</a> ")

objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])('>)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2")
objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])(' target=)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2")
objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])(</a>)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2$1")

Set objRegExpHTTP2 = Nothing
set objRegExpHTTP1 = Nothing
Set objRegExpEMail = Nothing

LinkString = strOutput
End Function


%>
Avatar billede eagleeye Praktikant
18. august 2002 - 20:36 #5
Hvis filen data.txt ikke findes skal du lige lave en tom fil som hedder data.txt
Avatar billede dannyboy Nybegynder
19. august 2002 - 19:57 #6
Beklager, jeg kan ikke få det til at virke.
Ved submit kommer der en fejl 500 og der skrives
ikke noget i tekstfilen.
Avatar billede eagleeye Praktikant
19. august 2002 - 21:19 #7
Har du oprettet en tekst fil data.txt som er tom??

Har du skrive rettigheder til den folder som data.txt ligger i?
Avatar billede eagleeye Praktikant
19. august 2002 - 21:23 #8
Prøv evt i IE menuen Tools->Internet Options->Advanced  og slå "Show firendly HTTP error messages" fra.
Avatar billede dannyboy Nybegynder
19. august 2002 - 22:18 #9
OK, så får jeg en :

Microsoft VBScript runtime error '800a0046'

Permission denied

/backend.asp, line 10


Hvad betyder det?
(Alle filer i mappen er CHMOD 777 som default på serveren)
Avatar billede eagleeye Praktikant
19. august 2002 - 22:25 #10
Har du et Web-hotel eller egen server??

så skal du havde skrive rettigheder til den folder filen data.txt ligge i.
Avatar billede dannyboy Nybegynder
19. august 2002 - 22:31 #11
Ok, jeg vender tilbage i morgen.

Det er en privat server, men ikke
mig der passer den.
Avatar billede dannyboy Nybegynder
21. august 2002 - 10:11 #12
Endelig får jeg det til at virke!
Ham der passer serveren brokkede sig over at det ville give nogle
sikkerhedsproblemer(?) fordi der skulle ændres ved standard-permissions
for IIS-guest accounten.

Anyway, det virker nu, og jeg er klar til at godkende!

Hvad skal jeg tilføje til koden for at få formularen til at
sende mig til en anden side efter at der er submittet?
Avatar billede exp-ralle Nybegynder
21. august 2002 - 17:50 #13
Response.Redirect("andenside.asp")
:)
Avatar billede eagleeye Praktikant
21. august 2002 - 20:02 #14
Tænker du på at sende form data til en anden side for så rettes det i form tagen action del, her bliver form data send til backend.asp :

<form action="backend.asp" method="post">
Avatar billede dannyboy Nybegynder
21. august 2002 - 21:08 #15
Nej, blot at man automatisk kommer til f.eks. sin forside
når formularen er opdateret.
Som det er nu bliver den jo på form siden.
Avatar billede eagleeye Praktikant
21. august 2002 - 21:11 #16
Så skal du bruger Response.Redirect "filnavn.asp"
Så kan du lave en redirect når tekst filen er blevet opdateret.

if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  Set objTextStream = objFSO.OpenTextFile(Server.MapPath(filnavn), 2)
  objTextStream.write Request.Form("textData")
  objTextStream.close
  'Send til forsiden...
  Response.Redirect ("forside.asp")        '<----------- Indsættes her
end if
Avatar billede eagleeye Praktikant
21. august 2002 - 21:12 #17
Det er muligt at denne linie også lige skal ind i toppen af filen:

<% Response.Buffer = true %>

for den ikke melder fejl når man laver redirect.
Avatar billede dannyboy Nybegynder
21. august 2002 - 22:11 #18
Tak for hjælpen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester