Avatar billede malte Nybegynder
17. december 2003 - 18:47 Der er 46 kommentarer og
1 løsning

sende uønskede medlemmer videre

Hvordan kan jeg lave en liste af navne der sendes videre til en anden URL
<%
        if session("UserName") = "xxxxxxxx" then
            response.redirect "http://www.yyyyyyyyy.dk/"
        end if

%>
Jeg har ca 10 navne der skal videre :-)
Avatar billede thesurfer Nybegynder
17. december 2003 - 18:53 #1
Brug en array..
dim navne, arrNavne, Videre
Videre = "nej"

navne = "jens;ole;freak;osv"
arrNavne = split(navne, ";")
for i = LBound(arrNavne) to UBound(arrNavne)
  if session("UserName") = arrNavne(i) then Videre = "ja"
end if

if Videre = "ja" then response.redirect "http://www.yyyyyyyyy.dk/"
Avatar billede thesurfer Nybegynder
17. december 2003 - 18:54 #2
Jeg kan aldrig huske om der skal stå: UBound(arrNavne) - 1

Men her er et svar.. Håber du kan bruge det ..
Avatar billede netro Nybegynder
17. december 2003 - 18:55 #3
Brugere = " Leo Sussi Kjeld Hilda "
If InStr(Brugere, " " & session("UserName") & " ") > 0 Then Response.Redirect ""

F.eks. ;)
Avatar billede thesurfer Nybegynder
17. december 2003 - 18:55 #4
Hvis du på et tidspunkt finder ud af, at du har adgang til FileSystemObject, kan du gemme navnene i en txt fil, og derefter læse den og danne strengen "navne"..
Avatar billede thesurfer Nybegynder
17. december 2003 - 18:56 #5
Det kunne man også :)
Avatar billede netro Nybegynder
17. december 2003 - 18:59 #6
Ja, der er mange muligheder, men jeg ville hoppe ud af løkken i din løsning.

navne = "jens;ole;freak;osv"
arrNavne = split(navne, ";")
for i = LBound(arrNavne) to UBound(arrNavne)
  if session("UserName") = arrNavne(i) then response.redirect "http://www.yyyyyyyyy.dk/"
next

- eller med Exit For.
Avatar billede thesurfer Nybegynder
17. december 2003 - 19:00 #7
Alle veje fører til Rom.. eller noget i den stil :)
Avatar billede malte Nybegynder
17. december 2003 - 19:32 #8
Jeg har adgang til FileSystemObject. Hvordan ville koden så skulle se ud?
Begge jeres svar virker så hvis jeg kan få FileSystemObject, så.....
Avatar billede thesurfer Nybegynder
17. december 2003 - 19:45 #9
navne.asp:
---
<%
'hans
'ole
'freak
%>
En besked til brugeren der prøver på at få adgang til navnene:
hahaha... du kan ikke se navnene ! :)
---

Scriptet der læser navne.asp:
---
<%
Option Explicit ' SKAL være den første linie i dit asp dokument!
' definer alle dine variabler!
Dim navne

Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("navne.asp")
Set f = fso.OpenTextFile(filespec,1)

' Læs linie for linie indtil slutningen af filen
Do While not f.AtEndOfStream
    ' hvis linien starter med ', er det "gyldigt" og tilføjes navne
  if left(f.ReadLine, 1) = "'" then navne = navne & f.ReadLine & ";"
Loop

f.Close
set f = nothing

' her checker du om det er korrekt (skal slettes efter test):
repsonse.write "variablen 'navne' indeholder: " & navne


' indsæt din validering kode her:
%>
---
Avatar billede thesurfer Nybegynder
17. december 2003 - 19:47 #10
rettelse:

Linie = f.ReadLine
    ' hvis linien starter med ', er det "gyldigt" og tilføjes navne
  if left(Linie, 1) = "'" then navne = navne & Linie & ";"
Avatar billede thesurfer Nybegynder
17. december 2003 - 19:48 #11
..og definiring af Linie tilføjes:

Dim navne, Linie
Avatar billede malte Nybegynder
17. december 2003 - 20:03 #12
Kan du lave det så jeg kan skrive navnet i en form? = flere points ;-)
Avatar billede thesurfer Nybegynder
17. december 2003 - 20:06 #13
Hvilket navn?
Hvad er det du vil? :)
Avatar billede thesurfer Nybegynder
17. december 2003 - 20:07 #14
Vil du skrive navnet i en form, og så skal den gemme den i filen?
Avatar billede malte Nybegynder
17. december 2003 - 20:14 #15
yes
Avatar billede thesurfer Nybegynder
17. december 2003 - 20:18 #16
hmm... så skal der tænkes.. :)
..er ikke helt vant til FSO.. men det er ikke umuligt..
Avatar billede thesurfer Nybegynder
17. december 2003 - 20:29 #17
hmm.. her er en ide..

Pseudo kode:

der LÆSES fra navne.asp, og indholdet smide i en streng:
navne = "linie1;linie2;linie3;osv"

derefter SKRIVES der til navne.asp:
arrNavne = split(navne, ";")
skriv "<%"
for i = LBound(arrNavne) to Ubound(arrNavne)
skriv arrNavne(i)
next

skriv request.form("nyt_navn")

Jeg går i gang med det samme.. :)
Avatar billede malte Nybegynder
17. december 2003 - 20:31 #18
ok
Avatar billede netro Nybegynder
17. december 2003 - 20:35 #19
Et forslag. Kald din tekstfil for *.asp, så ingen kan få adgang til den og lav følgende struktur.

Leo
Sussi
Kjeld
Hilda

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.OpenTextFile("d:\sti\til\fil.asp", 1)
If InStr(File.ReadAll, vbCrlf & session("UserName") & vbCrlf) > 0 Then 'Redirect
Set File = Nothing
Set FSO = Nothing
Avatar billede thesurfer Nybegynder
17. december 2003 - 20:40 #20
netro> jeg bruger jo allerede en *.asp, og for at den ikke melder fejl, bruger jeg navnene som kommentarer.. f.eks.
'ole
'jens
osv..
Avatar billede netro Nybegynder
17. december 2003 - 20:46 #21
Vi kan også bare kalde den "gyug675789jpg.dat", hvis det skal være. Den vil jo aldrig skulle afvikles.

Men hvis vi udkommenterer navne, ser det sådan ud.

If InStr(File.ReadAll, vbCrlf & "'" & session("UserName") & vbCrlf) > 0 Then 'Redirect
Avatar billede thesurfer Nybegynder
17. december 2003 - 20:50 #22
Det her er ikke testet, da min server brokker sig :)

<%
Option Explicit

If (Request.ServerVariables("REQUEST_METHOD") = "POST")
' læs fra fil:

Dim navne, Linie
Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("navne.asp")
Set f = fso.OpenTextFile(filespec,1)

' Læs linie for linie indtil slutningen af filen
Do While not f.AtEndOfStream
Linie = f.ReadLine
    ' hvis linien starter med ', er det "gyldigt" og tilføjes navne
  if left(Linie, 1) = "'" then navne = navne & Linie & ";"
Loop

f.Close
set f = nothing

'skriv til fil:

dim arrNavne
arrNavne = split(navne, ";")
set f = fso.CreateTextFile(filespec, true)

f.WriteLine("<%")

for i = LBound(arrNavne) to Ubound(arrNavne)
  f.WriteLine(arrNavne(i))
next

f.WriteLine(request.form("adduser"))
f.WriteLine("%>")
f.WriteLine("Ingen adgang")

f.close
set f = nothing

dim msg
msg = "Brugernavnet '" & request.form("adduser") & "' er tilføjet."
end if
%>

<form name="adduser" action="index.asp" method="post">
<input type="text" name="adduser" value="">
<input type="submit" name="submit" value="Save">
</form>

<% if msg <> "" then response.write msg %>
Avatar billede thesurfer Nybegynder
17. december 2003 - 20:52 #23
doh! :)

  f.WriteLine("'" & arrNavne(i))
Avatar billede thesurfer Nybegynder
17. december 2003 - 20:53 #24
og:
f.WriteLine("'" & request.form("adduser"))
Avatar billede thesurfer Nybegynder
17. december 2003 - 20:55 #25
hmm.. jeg kan ikke lige teste det, men jeg mener at der skal stå:

navne = replace(navne, "'", "")
arrNavne = split(navne, ";")
Avatar billede malte Nybegynder
17. december 2003 - 21:31 #26
Det virker ikke hos mig fejl 500 ?
Avatar billede thesurfer Nybegynder
17. december 2003 - 21:33 #27
Gå op i menuen funktioner > internetindstillinger > avanceret > fjern eller sæt kryds i "vis meddelelser om uskadelige http-fejl"
Avatar billede malte Nybegynder
17. december 2003 - 21:50 #28
Microsoft VBScript compilation error '800a03f9'

Expected 'Then'

/test.asp, line 5

If (Request.ServerVariables("REQUEST_METHOD") = "POST")
-------------------------------------------------------^
Avatar billede netro Nybegynder
17. december 2003 - 21:59 #29
If (Request.ServerVariables("REQUEST_METHOD") = "POST") Then
Avatar billede thesurfer Nybegynder
17. december 2003 - 21:59 #30
ja :)
Avatar billede malte Nybegynder
18. december 2003 - 16:50 #31
Microsoft VBScript compilation error '800a0409'

Unterminated string constant

/test.asp, line 37

f.WriteLine("
-------------^
Avatar billede thesurfer Nybegynder
18. december 2003 - 17:11 #32
Hvilken linie er linie 37? er det den her?:
f.WriteLine("'" & request.form("adduser"))

hvis det er, så står der:
parentes anførelsestegn apostrof anførelsestegn

Andre ord for "anførelsestegn": citationstegn, gåseøjne.
Avatar billede malte Nybegynder
18. december 2003 - 17:15 #33
f.WriteLine("%>")<-------37
Avatar billede thesurfer Nybegynder
18. december 2003 - 17:23 #34
Jeg tror ikke at den kan lige sammensætningen "%>" da det betyder "asp kode ender her".
Prøv f.WriteLine("%" & ">") i stedet.
Avatar billede thesurfer Nybegynder
18. december 2003 - 17:30 #35
Vent.. der er en fejl..
Og min server kører igen.. ved ikke hvorfor.. måske en af de der genstart-fix..
Avatar billede thesurfer Nybegynder
18. december 2003 - 17:33 #36
Så, nu virker det.. ny kode:

<%
Option Explicit
response.buffer = false

If (Request.ServerVariables("REQUEST_METHOD") = "POST") then
' læs fra fil:

Dim navne, Linie
Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("navne.asp")
Set f = fso.OpenTextFile(filespec,1)

' Læs linie for linie indtil slutningen af filen
Do While not f.AtEndOfStream
Linie = f.ReadLine
    ' hvis linien starter med ', er det "gyldigt" og tilføjes navne
  if left(Linie, 1) = "'" then navne = navne & Linie & ";"
Loop

f.Close
set f = nothing

'skriv til fil:

dim arrNavne, i
navne = replace(navne, "'", "")
arrNavne = split(navne, ";")
set f = fso.CreateTextFile(filespec, true)

f.WriteLine("<%")

for i = LBound(arrNavne) to Ubound(arrNavne) - 1
  f.WriteLine("'" & arrNavne(i))
next

f.WriteLine("'" & request.form("adduser"))
f.WriteLine("%" & ">")
f.WriteLine("Ingen adgang")

f.close
set f = nothing

dim msg
msg = "Brugernavnet '" & request.form("adduser") & "' er tilføjet."
end if
%>

<form name="adduser" action="index.asp" method="post">
<input type="text" name="adduser" value="">
<input type="submit" name="submit" value="Save">
</form>

<% if msg <> "" then response.write msg %>
Avatar billede malte Nybegynder
18. december 2003 - 17:38 #37
Ok. Den er der
Men hvor sender den navnet hen ?
Avatar billede thesurfer Nybegynder
18. december 2003 - 17:39 #38
Den smider den ned i din navne.asp. Kig i den.
Avatar billede thesurfer Nybegynder
18. december 2003 - 17:46 #39
Senere kan jeg muligvis lave det sådan, at den læser navnene, og laver en radiobutton/checkbox til hvert navn. Derefter kan du nemt administrerer hvem der skal stå i filen.

F.eks.
[ ] jens
[x] ole
[x] freak
Avatar billede malte Nybegynder
18. december 2003 - 19:49 #40
Det virker ikke for mig. Den sender til siden index.asp og der kommer ikke noget i navne.asp selvom jeg ændrer det til <form name="adduser" action="navne.asp" method="post">
Avatar billede malte Nybegynder
18. december 2003 - 19:52 #41
Oooook. Nu er den der. Det var bare mig der ikke var helt vågen. Jeg havde kaldt min side for test.asp
Avatar billede malte Nybegynder
18. december 2003 - 19:53 #42
Ville du lave det med radiobotton? inden du får point?
Avatar billede malte Nybegynder
18. december 2003 - 19:56 #43
<%
navne = "1;2;3;4;5;6;"
arrNavne = split(navne, ";")
for i = LBound(arrNavne) to UBound(arrNavne)
  if session("devUserName") = arrNavne(i) then response.redirect "http://yyyyyyyyyyyyyy.hj/"
next

%>
Hvordan får vi det her på plads?
Avatar billede netro Nybegynder
18. december 2003 - 21:22 #44
Behøvede du ligefrem at afvise mit svar?

Både jeg og thesurfer gav dig to korrekte svar på dit spørgsmål til at starte med. At du fylder flere og flere tillægsspørgsmål på hele tiden, ændrer jo ikke på, at dit spørgsmål ret beset forlængst er besvaret. Det er ikke et brud på reglerne, da du har uddelt dine points. Jeg finder det blot knap så sympatisk.
Avatar billede malte Nybegynder
18. december 2003 - 21:26 #45
Jeg gav dem til thesurfer fordi han lavede det største stykke arbejde. Men du har ret du gjorde også dit.
Avatar billede netro Nybegynder
18. december 2003 - 21:50 #46
Ingen tvivl om det - mit svar var rimelig kortfattet, men jeg mente sådan set, at det var et ret præcist svar på dit spørgsmål. Men lad nu det ligge...
Avatar billede thesurfer Nybegynder
19. december 2003 - 01:00 #47
netro> Jeg vil meget gerne dele de 100 points med dig. Læg et svar på:
http://www.eksperten.dk/spm/441690
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