Avatar billede cdc Novice
21. marts 2004 - 21:15 Der er 55 kommentarer og
1 løsning

Expected loop ?

Får denne fejl:

Microsoft VBScript compilation error '800a03fb'

Expected 'Loop'

/tirsdag/kalender/index.asp, line 435

linien 435 er:

<%
End If%>

hvad skal der gøres ?

/cdc
Avatar billede eagleeye Praktikant
21. marts 2004 - 21:18 #1
Det lyder som om du har en

do while xxxx

eller

do until xxxx

et sted før i koden hvor der mangler et slut på loop'et som er: loop

umiddelbart kan det være loop er kommet på den forkerte side af din end if.
Avatar billede Slettet bruger
21. marts 2004 - 21:18 #2
Du må have en do while længere oppe så du mangler ganske givet bare at skrive loop efter din end if.
Avatar billede cdc Novice
21. marts 2004 - 21:55 #3
hmmm, så blebv den rettet så opstod der flere fejl :o(
Er igang med en kalender, hvor alt ligger på samme side med login, og dem vil jeg fjjrne, da de ligger med og det er vist ikke lige til.

If Session("login") = "ok" Then
  Response.Redirect "index.asp?do=laggtill"
Else
  Response.Redirect "index.asp?do=inne&in=ja"
End If

Og nu har jeg prøvet hele dagen, og troede det lige var dette så var den færdig men nej.

Hvis det er en af jer der lige gidder at kigge på det ville det reddde min dag, og jeg smider flere points i puljen, hvis ikke, så smid et svar eagleeye, så deler i points.

/cdc
Avatar billede eagleeye Praktikant
21. marts 2004 - 22:00 #4
Fjerne login... Det tyder på at der er en session varible som hedder "login" og hvis den er ok laver den en redirect til siden igen med do=laggtill så umiddelbart skal du "bare" lave redirecten til index siden med do=laggtill, men der må være et hvor man skriver bruger/password?? som også skal væk??

Response.Redirect "index.asp?do=laggtill"
Avatar billede cdc Novice
21. marts 2004 - 22:17 #5
Avatar billede cdc Novice
21. marts 2004 - 22:18 #6
det er en masse do=inne osv, og har prøvet systematisk at slette disse, men uden held
Avatar billede eagleeye Praktikant
21. marts 2004 - 22:20 #7
det jo på udenlansk :)

Skal alt det med login ud?? så man automatisk er logget ind?
Avatar billede eagleeye Praktikant
21. marts 2004 - 22:39 #8
hvis du vil hvade login væk skal alt det inde i Request.Querustring("do")="add" fjernes og du kan lave direkte redirect til:

response.Redirect "index.asp?do=laggtill"
Avatar billede eagleeye Praktikant
21. marts 2004 - 22:42 #9
men der er to login typer både admin og user og den redirecter lidt forskelligt alt efter om det er admin eller user eksvis er der et sted hvor det kun admin som kan få adgang lige nu.

If Request.Querystring("do")="inne" AND Session("admin") = "ok" Then
Avatar billede eagleeye Praktikant
21. marts 2004 - 22:44 #10
Alt det inde i denne del kan også fjernes. dog skal du måske lige kigge på de redirect som laves alt efter admin/user som logger ind. Der sættes også session variables, men de kan alle fjernes hvis login skal helt væk.

If Request.Querystring("do")="login" Then
Avatar billede cdc Novice
21. marts 2004 - 22:55 #11
user skal jeg ikke bruge kun admin
Avatar billede cdc Novice
21. marts 2004 - 22:56 #12
men når jeg sletter disse synes jeg at jeg får en masse fejl, det er der øksen ligger begravet :o(
Avatar billede eagleeye Praktikant
21. marts 2004 - 22:57 #13
ok, hvis du skal bruge admin skal du ikke bruge mine forslag :)
Avatar billede cdc Novice
21. marts 2004 - 22:58 #14
nej sorry...skal ikke bruge nogen af den, nu koger jeg snart over :o)
Avatar billede eagleeye Praktikant
21. marts 2004 - 23:03 #15
hvis man går ind på siden første gang hvad sker der så ?
Kommer der en login form eller viser den kalenderen?
Avatar billede cdc Novice
21. marts 2004 - 23:06 #16
kalenderen vises, og aktiviteterne når man idag f.eks klikker på den 21. Så åbnes der en ny side hvor aktiviteten står, den del er ikke færdig endnu, du kan se det her: http://www.hillerodgolf.dk/tirsdag/

Men det er i selve admin modulet den driller, da jeg er igang med at lave mit egen, og denne driller med sit eget login, som jeg ikke kan slette....
Avatar billede eagleeye Praktikant
21. marts 2004 - 23:15 #17
ok, selve login formen ligger i den del som er inde i:
If Request.Querystring("do")="add" Then


og den sender så formen til login="login" hvor man tjekker på om det er admin eller user der logger ind:

If Request.Querystring("do")="login" Then

If Request.Form("val") = "Admin" Then

If Request.Form("admin1") = Admin1 AND Request.Form("admin2") = Admin2 Then

admin="ok"

Else

Session("mess") = "Fel lösenord."

Response.Redirect "index.asp?do=add"

End If

ElseIf Request.Form("val") = "Users" Then

Set RecSet=Conn.Execute("Select * From Users where anvnamn='" & Request.Form("admin1") & "'")

Response.Cookies("anvnamn") = Request.Form("anvnamn")

Response.Cookies("anvnamn").Expires = date + 365

If Not RecSet.EOF Then

If Request.Form("admin2") = RecSet("losen") Then

If RecSet("admin") = True Then

admin="ok"

Else

login="ok"

End If

Else

Session("mess") = "Du skrev fel lösenord!"

Response.Redirect "index.asp?do=add"

End If

Else

Session("mess") = "Anvnamnet finns inte!"

Response.Redirect "index.asp?do=add"

End If

End If

If admin="ok" Then

Session("admin") = "ok"

Session.TimeOut = 40

Response.Redirect "index.asp?do=inne"

End If

If login="ok" Then

Session("login") = "ok"

Session.TimeOut = 40

Response.Redirect "index.asp?do=laggtill"

End If

End If



Hvis det skal reduceres sådan der kun er admin skal det se sådan her ud:

If Request.Querystring("do")="login" Then

  If Request.Form("val") = "Admin" Then

    If Request.Form("admin1") = Admin1 AND Request.Form("admin2") = Admin2 Then

      admin="ok"
    Else
      Session("mess") = "Fel lösenord."
      Response.Redirect "index.asp?do=add"
    End If
  End If

  If admin="ok" Then

    Session("admin") = "ok"

    Session.TimeOut = 40

    Response.Redirect "index.asp?do=inne"

  End If

End If




men det undre mig lidt at det er lavet som en ElseId ... = "Users" og inde i den kan man så være admin, selvom man er user??
Avatar billede cdc Novice
21. marts 2004 - 23:31 #18
jeg har slettet noget allerede nu, vil du have det hele, så du kan se det ?
Avatar billede cdc Novice
21. marts 2004 - 23:34 #19
Avatar billede eagleeye Praktikant
21. marts 2004 - 23:37 #20
ok :)

Det som jeg undre mig ligt over i koden er dette i login delen:


If Request.Form("val") = "Admin" Then

  'Tjekker to variable og sætte Session("admin") = "ok"

ElseIf Request.Form("val") = "Users" Then

  'Tjekker form felterne imod en database og tjekker om brugeren er admin?

Else

End if


Så skal den tjekke på det som er i databaen eller de to variable Admin1 og Admin2?
Avatar billede cdc Novice
21. marts 2004 - 23:56 #21
det er da godt det ikke kun er mig der undrer sig :o) Og derfor efter at have prøvet alt, skulle smide et spm. ind her :o)
Avatar billede cdc Novice
21. marts 2004 - 23:58 #22
den tjekker mod en database ja
Avatar billede eagleeye Praktikant
21. marts 2004 - 23:58 #23
Men ville du lave dit eget login kode?
Avatar billede cdc Novice
21. marts 2004 - 23:59 #24
hele kalenderen ligger her: http://www.gruvsjo.com/main.asp?cat=script&ucat=asp&viewID=80

hvis det har noget interesse
Avatar billede eagleeye Praktikant
22. marts 2004 - 00:11 #25
Hvis du vil lave dit eget login så kan  du "bare" droppe det med "admin"/"user" på login formen og putter din egen login kode ind eks:


If Request.Querystring("do")="login" Then

Set RecSet=Conn.Execute("Select * From Users where anvnamn='" & Request.Form("admin1") & "'")

Response.Cookies("anvnamn") = Request.Form("anvnamn")

Response.Cookies("anvnamn").Expires = date + 365

If Not RecSet.EOF Then

If Request.Form("admin2") = RecSet("losen") Then

If RecSet("admin") = True Then

admin="ok"

End If

Else

Session("mess") = "Du skrev fel lösenord!"

Response.Redirect "index.asp?do=add"

End If

Else

Session("mess") = "Anvnamnet finns inte!"

Response.Redirect "index.asp?do=add"

End If

End If

If admin="ok" Then

Session("admin") = "ok"

Session.TimeOut = 40

Response.Redirect "index.asp?do=inne"

End If

End If
Avatar billede eagleeye Praktikant
22. marts 2004 - 00:12 #26
men forskellen på disse to linjer:

Response.Redirect "index.asp?do=inne"

Response.Redirect "index.asp?do=laggtill"


Er at inne  er for admin og laggtill er for user. Så de skal på en eller anden måde slåes sammen. Det kan være via et link?
Avatar billede eagleeye Praktikant
22. marts 2004 - 00:18 #27
laggtill bruges af "User" til at tilføje til kalenderen,
inne bruges af admin til at tilføje/slette brugere og slette events i kalenderen

Det du gerne vil havde er en bruger type som er admin og kan det hele?
Avatar billede cdc Novice
22. marts 2004 - 00:23 #28
det ska kun være en bruger og det er admin, har ikke brug for users delen, sorry det sene svar E var under vedligeholdelse
Avatar billede eagleeye Praktikant
22. marts 2004 - 00:25 #29
Ja og det kun admin som kan tilføje nye events?
Avatar billede cdc Novice
22. marts 2004 - 00:26 #30
som du kan se på mit link øverst i højre hjørne er det her et admin login, denne skal så gælde for alt det bruges på denne del af sitet: http://www.hillerodgolf.dk/tirsdag/

denne settes ind :

<%
if session("login") = "" Then
Response.redirect("../index.htm")
end if
%>

på de sider som man ikke skal have rettigheder til uden at logge ind.
Avatar billede cdc Novice
22. marts 2004 - 00:27 #31
ja det er ku admin der kan tilføje ja !
Avatar billede cdc Novice
22. marts 2004 - 00:28 #32
men som det er under admin nu, så kan jeg retta i alt, uden om kalender, for der skal man logge ind igen....og det er noget L O R *
Avatar billede eagleeye Praktikant
22. marts 2004 - 00:30 #33
Så du vil ikke bruges kalenderens login del??
men din egen login som er oppe i hjørnet?
I din egen login hvad bestemmer man er logget ind?
Avatar billede eagleeye Praktikant
22. marts 2004 - 00:41 #34
Hm jeg bliver mere og mere forviret omkring hvad du vil havde??

Nå jeg skal i seng nu, så det bliver en gang i morgen eftermiddag/aften jeg er tilbage igen..



Men hvis dit login system inde holder moget med
  if session("login") = "" Then

så kan det jo gå galt for kalenderen bruge samme session variable til at afgøre at en "user" er logget ind: Session("login")="ok"


men hvis du vil bruge dit login i øverst højre hjørne så skal du havde rette i den del der hedder:
If Request.QueryString("do") = "add" Then

Der skal så tjekke på om session("login") er sat:
if session("login") <> "" Then
  session("admin")="ok"
  Response.Redirect "index.asp?do=inne"
end if
end if


For at få adgang til både "user" og "admin" kalenderen skal disse to dele slåes samme til en:
If Request.Querystring("do")= "laggtill" Then%>
If Request.Querystring("do")= "inne" Then%>

og det skal være den som redirecter til fra "add" som var "inne":

If Request.Querystring("do")= "inne" Then%>


Man kan evt beholde "lagtill", og lade den redirecte til "inne".
Avatar billede cdc Novice
22. marts 2004 - 00:41 #35
det er også via en db.
Men nu må jeg smutte i seng skal op i morgen klokken 06:30 så skal liuge have 5 min på øjet :o)

den login jeg bruger ser således ud, selve scriptet ikke fomen, den siger jo seig selv:

SET RS = Server.CreateObject("ADODB.Connection")
rs.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("admin/db/tirsdag.mdb")

If Request("mode") = "Check" then

Function unQuote(strTekst)
  strTekst = Trim(strTekst)
  unQuote = Replace(strTekst,"%","53")
End Function

    ' Gemmer formfelterne i Variabler
        strUsername = unQuote(request("username"))
        strPassword = unQuote(request("password"))

  Sql = "Select Count(*) as Found from user where (username = '" & strUsername  & "') and (password ='" & strPassword  & "')"
  Set LO = RS.Execute(Sql)
  if LO("Found") = 0 then
    Session("login") = ""
    error = "Du blev ikke godkendt af systemet"
  else
  strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("admin/db/tirsdag.mdb")
  Set myConn = Server.CreateObject("ADODB.Connection")
  myConn.Open strDSN
  strSQL = "SELECT * FROM user where (username = '" & Request("username") & "') and (password ='" & Request("password") & "')"
  Set ez = myConn.Execute(strSQL)
    Session("login") = "yes mate"
    Response.Redirect "admin/index.asp"
    EZ.Close
    RS.Close
    Conn.Close
  end if
end if
%>

jeg tester vider i morgen, så skal jeg nok smide nogle flere points på hvis du finder en, eller har fundet, den røde tråd....

/cdc
Avatar billede cdc Novice
22. marts 2004 - 15:23 #36
Hvis jeg ikke fik forklaret mig godt nok i går, så er det således at når man logger ind som admin, kommer man ind til et admin modul, hvor jeg kan vælge hvad der skal redigeres osv.
Øverst på alle sider har jeg denne liggende
<%
if session("login") = "" Then
Response.redirect("../index.htm")
end if
%>
Således at man skal være logget ind for at komme ind på de respektive sider for at redigere.
På denne kalender skal jeg så logge ind igen, det er denne der skal væk således at jeg bare kan bruge denne som jeg bruger på de andre sider i admin modulet:

<%
if session("login") = "" Then
Response.redirect("../index.htm")
end if
%>

og derved slipper for at logge ind igen

/cdc
Avatar billede eagleeye Praktikant
22. marts 2004 - 19:56 #37
ok, men så mener jeg at det inden for den del med:  If Request.Querystring("do")="add"
Skal laves om sådan det ser sådan her ud:

If Request.Querystring("do")="add" Then

  if session("login") = "" Then
    Response.redirect("../index.htm")
  end if
  session("admin")="ok"
%> 

<a href="index.asp?do=laggtill">Tilføj event</a><br>
<a href="index.asp?do=inne">Bruger adgang</a><br>

<%End If%>


---

Den del som hedder "login" mener jeg du helt kan fjerne.


---

Indne i denne:
If Request.Querystring("do")= "spara" Then

rettes disse linjer:

If Session("login") = "ok" Then

Response.Redirect "index.asp?do=laggtill"

Else

Response.Redirect "index.asp?do=inne&in=ja"

End If


Til denne linje:

Response.Redirect "index.asp?do=add"
Avatar billede cdc Novice
22. marts 2004 - 19:59 #38
det kigger jeg på :o) Vender tilbage sener i aften
Avatar billede cdc Novice
22. marts 2004 - 20:57 #39
hvad med denne:

<%End If

If Request.QueryString("do") = "delete" AND Session("admin") = "ok" Then
    SQL = "Delete From Mess Where messid = " & Request.QueryString("id")
    Conn.Execute(SQL)
    Response.Redirect "index.asp?do=inne"
End If

If Request.Querystring("do")= "laggtill" Then%>

denne figurerer en del steder: index.asp?do=inne

/cdc
Avatar billede eagleeye Praktikant
22. marts 2004 - 21:04 #40
Ja det også godt nok så vidt jeg kan se.
Avatar billede eagleeye Praktikant
22. marts 2004 - 21:05 #41
Men denne if sætning:

If Session("login") = "ok" Then

Response.Redirect "index.asp?do=laggtill"

Else

Response.Redirect "index.asp?do=inne&in=ja"

End If


Er et par steder og begge steder skal den rettes til:

Response.Redirect "index.asp?do=add"
Avatar billede eagleeye Praktikant
22. marts 2004 - 21:06 #42
Men jeg tror ikke der sker noget ved at rette:

Response.Redirect "index.asp?do=inne"

Til denne i det du har vist, det kommer bare an hvor det skal hen:

Response.Redirect "index.asp?do=add"
Avatar billede cdc Novice
22. marts 2004 - 21:07 #43
nu får jeg denne:

Microsoft VBScript runtime error '800a01a8'
Object required: 'RS'

/tirsdag/kalender/index.asp, line 175


linie 175 er:

        <%Const perSida = 12
        Sidan = Request.QueryString("sida")
        If Sidan = "" then
          sida = 1
        Else
          sida = Sidan
        End If

        With RS ----Her skulle jeg mene
          .CursorLocation = 3
          .CacheSize = perSida
        End With

        SQL = "Select * From Mess Order By datum DESC"
        RS.Open SQL, Conn

        If RS.EOF Then%>
Avatar billede eagleeye Praktikant
22. marts 2004 - 21:11 #44
og den kommer efter det med "add" er lavet om?
Avatar billede cdc Novice
22. marts 2004 - 21:13 #45
Jeg starter på nyt, vender tilbage :o( pyha det her er irriterende
Avatar billede eagleeye Praktikant
22. marts 2004 - 21:17 #46
Ok, ja :)
Oppe i toppen (linje 40-50 stykker) er der en linje som denne:
SET RS = Conn.Execute("Select * From Mess Where manad= " & manad & "")%>

og det nok det RS som mangler der i 175, men ja prøv med koden forfra og så de ting der er forslået idag :)
Avatar billede cdc Novice
22. marts 2004 - 21:50 #47
i linie 172 har jeg denne:

<%RecSet.MoveNext
Loop

End If

If Request.Querystring("do")="add" Then%>

skal den sidste linie erstattes med denne:

If Request.Querystring("do")="add" Then

  if session("login") = "" Then
    Response.redirect("../index.htm")
  end if
  session("admin")="ok"
%> 

<a href="index.asp?do=laggtill">Tilføj event</a><br>
<a href="index.asp?do=inne">Bruger adgang</a><br>

<%End If%>

den forstår jeg ikke hvorfor a href skal med ?

/cdc
Avatar billede eagleeye Praktikant
22. marts 2004 - 21:53 #48
Det er for at lave to links for admin, et link til det som "users" hvade mulighed for som er at tilføje events i "laggtill" delen. Og et link til det "admin" hvade adgang til, noget med at slette evnt og styre "users".
Avatar billede eagleeye Praktikant
22. marts 2004 - 21:55 #49
Men det er alt det med login form'en so skal fjerne der

If Request.Querystring("do")="add" Then%>

login form som skal fjernes:
ned til dette:

<%End If

If Request.Querystring("do")="login" Then
Avatar billede cdc Novice
22. marts 2004 - 22:04 #50
og erstattes med

If Request.Querystring("do")="add" Then

  if session("login") = "" Then
    Response.redirect("../index.htm")
  end if
  session("admin")="ok"
%> 

<a href="index.asp?do=laggtill">Tilføj event</a><br>
<a href="index.asp?do=inne">Bruger adgang</a><br>

<%End If%>
Avatar billede eagleeye Praktikant
22. marts 2004 - 22:06 #51
Ja, dog skal denne linje bevares:


If Request.Querystring("do")="login" Then
Avatar billede cdc Novice
22. marts 2004 - 23:17 #52
Det her kan jeg ikke finde ud af, så tror jeg må leve med dette, indtil jeg er blevet lidt bedre til asp kode :o) Det er aften nr. 2 hvor jeg sidder og roder med dette script, uden at komme nogen veje
Avatar billede eagleeye Praktikant
22. marts 2004 - 23:19 #53
Har du mulighed for at sende filen til mig eller lave en zip fil?
Så kan jeg prøve at rette det til som jeg mener det?

Hvad skal ADMIN havde mulighed for i kalenderen? Tilføje/Slette events og ikke andet?
Avatar billede cdc Novice
22. marts 2004 - 23:22 #54
Tilføje/rette/Slette events og ikke andet?

skal du have det hele med db css og js filer ?
Avatar billede eagleeye Praktikant
22. marts 2004 - 23:24 #55
hmm css filer er lige meget,
db kan måske være en fordi, eller laver jeg slev tabellen.
Avatar billede cdc Novice
23. marts 2004 - 00:25 #56
tak for hjælpen eagleeye :o)
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