Avatar billede miwu.tk Nybegynder
07. marts 2004 - 18:41 Der er 7 kommentarer og
1 løsning

Problem med betingelser i ASP

Jeg har problemer med at få mine betingelser til at stemme i mit community. Jeg har lavet nogle betingelser som skal være med til at den vise et bestemt stykke tekst hvis session siger at personen er lvl X.

Config.inc indeholder oprettelse af dataforbindelse med min database.

level1.inc indeholder sikring af at session passer til at kunne se siden.

Slut(RS) lukker dataforbindelsen.

Jeg får følgende fejl meddelelse:

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03F6)
'End' var ventet
/community/welcome.asp, line 43

Her har I min sourcecode:

<%@Language=VBScript%>
<%Response.Buffer = True%>
<!--#INCLUDE FILE="config.inc"-->
<!--#INCLUDE FILE="level1.inc"-->

<html>
<head>
<link rel="stylesheet" type="text/css" href="../forside.css">
</head>

<body>

<%
SQL = "Select ID, UserName, PassWord, Clearance From Login"
Set RS = MyConn.Execute(SQL)
%>
    Hej <b><a href="bruger.asp?id=<%= RS("id")%>"><%= RS("Username") %></a></b><br><br>
    status; <font color="green">online</font><br><br>
<%
Response.Write "Som <b>" & Replace(Replace(Replace(Session("Clearance"), "1", "alm. bruger"), "2", "<font color=#006666>moderator</font>"), "3", "<font color=#0066CC>administrator</font>")
Response.Write "</b> har du følgende funktioner til rådighed:<br><br>"

  If Session("Clearance") = 3 Then %>
    <a href="../oversigt.asp?id=<%= RS("ID")%>">Mine indstillinger</a>

<%
  If Session("Clearance") = 2 Then %>
    <a href="../oversigt.asp?id=<%= RS("ID")%>">Mine indstillinger</a>

<a href="utility.asp?method=abandon">log af</a>

<%
  If Session("Clearance") = 1 Then %>
    <a href="../oversigt.asp?id=<%= RS("ID")%>">Mine indstillinger</a>

<a href="utility.asp?method=abandon">log af</a>


<%

Slut(RS)

End if

%>

</body>
</html>

Håber det er til at forstå.
Avatar billede Jman Praktikant
07. marts 2004 - 18:44 #1
If Session("Clearance") = 3 Then %>
    <a href="../oversigt.asp?id=<%= RS("ID")%>">Mine indstillinger</a>

<%
  ElseIf Session("Clearance") = 2 Then %>
    <a href="../oversigt.asp?id=<%= RS("ID")%>">Mine indstillinger</a>

<a href="utility.asp?method=abandon">log af</a>

<%
  ElseIf Session("Clearance") = 1 Then %>
    <a href="../oversigt.asp?id=<%= RS("ID")%>">Mine indstillinger</a>

<a href="utility.asp?method=abandon">log af</a>


<%

Slut(RS)

End if
Avatar billede Jman Praktikant
07. marts 2004 - 18:45 #2
Du skal benytte Elseif, da du spørger efter forskellige kriterier...
Lidt al'a
hvis
ellers hvis
ellers hvis
slut på hvis'erne
Avatar billede Jman Praktikant
07. marts 2004 - 18:46 #3
Din fejlmeddelelse betyder i øvrigt at du har for mange IF'er i forhold til END IF'er

De skal altid gå op :)
Avatar billede miwu.tk Nybegynder
07. marts 2004 - 18:48 #4
orv! mange tak... ville ønske det også stod på html.dk. Kunne have sparet mig en masse tid, men mange tak alligevel :) her har du dine fortjente pts.
Avatar billede Jman Praktikant
07. marts 2004 - 18:50 #5
tak for det :)
Avatar billede miwu.tk Nybegynder
07. marts 2004 - 19:00 #6
Jeg har lige et lille ekstra problem.. i den fil som validerer de opgivne dataer før man bliver sendt videre til den ovenfor^^.. Den skal nemlig sende noget ID videre vha. Querystring.

<%@Language=VBScript%>
<%Response.Buffer = True%>
<!--#INCLUDE FILE="config.inc"-->

<html>
<head>
<link rel="stylesheet" type="text/css" href="../forside.css">
</head>

<body>
<%
SQL = "Select ID, UserName, PassWord, Clearance From Login"
Set RS = MyConn.Execute(SQL)

    UserName = Replace(Trim(Request.Form("username")), "'", "''")
    PassWord = Replace(Trim(Request.Form("password")), "'", "''")


If UserName = "" OR PassWord = "" Then Response.Redirect "utility.asp?method=fejl"



While Not RS.EOF 
  If UserName = RS("UserName") And PassWord = RS("Password") Then
      Session("allow") = True
      Session("clearance") = RS("Clearance")
      Session("ID") = RS("id")
      Level = RS("Clearance")
    End If
  RS.MoveNext
Wend

Slut(RS)

If Session("allow") = True Then
  If Level = 3 Then response.redirect "welcome.asp?id=" & session("id") & ""
<%
  If Level < 3 Then Response.Redirect "welcome.asp?id=" & session("id") & ""
Else
%>
<font color="#FF0000"><strong>De opgivne dataer stemte ikke overens med dem i
databasen!</strong></font> Det kan skyldes følgende ting: <br>
<br>
  <li>indtastet forkert brugernavn</li>
  <li>indtastet forkert kode</li>
  <li>din bruger er blevet slettet pga. spam eller lign.</li><br><br>
 
  <a href="java script:history.back(-1)">tilbage</a>

<%
End If
%>

</body>
</html>
Avatar billede Jman Praktikant
07. marts 2004 - 20:23 #7
igen - - du har 2 gange IF, meningen END IF (og hvad er der med dine tags <% %> ?):

Ville nok skrive det således:

if session("allow") = true and level = 3 then
  response.redirect "welcome.asp?id=" & session("id")
elseif session("allow") = true and level < 3 then
  response.redirect "welcome.asp?id=" & session("id")
else
%>
<font color="#FF0000"><strong>De opgivne dataer stemte ikke overens med dem i
databasen!</strong></font> Det kan skyldes følgende ting: <br>
<br>
  <li>indtastet forkert brugernavn</li>
  <li>indtastet forkert kode</li>
  <li>din bruger er blevet slettet pga. spam eller lign.</li><br><br>
  <a href="java script:history.back(-1)">tilbage</a>

<% end if %>


- Vend dig til at skrive alt med småt... Jeg har hørt at det bliver ny standard ;)
Avatar billede miwu.tk Nybegynder
07. marts 2004 - 20:54 #8
damn... sikke en pinlig fejl fra min side :s men tak igen.. :D
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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

IT-JOB

IT-Universitetet i København

CIO

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Ingeniør til Satellitkommunikation

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Teknisk systemansvarlig / ingeniør inden for taktisk datalink