Avatar billede zantiago Nybegynder
20. august 2003 - 20:16 Der er 1 løsning

Loop men hvordan

Hej eksperter!

Jeg har et problem med mit nedenstående script. Jeg skal vurdere om brugeren har tilladelse til at se noget på siden.
Databasen med brugertilladelserne (user_permisions)

id  user_id  site  level
1    1      1      1
2    1      2      1
3    1      3      1
4    2      1      2


Den kigger kun på den første validering, tro jeg mangler et loop med kan ikke overskue hvordan det skal laves.

Håber I kan hjælpe...

Jeg er løbet tør for point, men hjælper du, så får du bare så snart de er klar..
------------------------------------------------->

<!-- #include file="databaseopkald.inc" -->
<!-- #include file="adovbs.inc" -->
<%
If not Session("username") <> "" then
Response.Redirect("default.asp")
End If
%>
<html>
<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Dodone 1.0</title>
<base target="_self">
</head>

<body>

<p><font face="Trebuchet MS" size="2">
<table border="0" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111" width="511" id="AutoNumber1">
  <tr>
    <td width="100%"><font size="6">Redaktionen</font></td>
  </tr>
  <tr>
    <td width="100%"><img height="4" src="img/divider.gif" width="511" border="0"></td>
  </tr>
  <% If Request.QueryString("Action") = "" Then %>
  <tr>
    <td width="100%">
    <form method="POST" action="new_personel.asp?Action=dbase">   
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2">
      <tr>
        <td width="25%">&nbsp;</td>
        <td width="75%" colspan="4"><font size="2">&nbsp;</font></td>
      </tr>
      <tr>
        <td width="25%"><font size="2">Brugernavn:</font></td>
        <td width="75%" colspan="4"><font face="Trebuchet MS" size="2">
        <input type="text" name="username" size="20"></td>
      </tr>
      <tr>
        <td width="25%"><font size="2">Password:</font></td>
        <td width="75%" colspan="4"><font face="Trebuchet MS" size="2">
        <input type="password" name="password" size="20"></td>
      </tr>
      <tr>
        <td width="25%"><font size="2">Titel:</font></td>
        <td width="75%" colspan="4"><font face="Trebuchet MS" size="2">
        <input name="titel" size="20"></td>
      </tr>
      <tr>
        <td width="25%"><font size="2">Fornavn</font></td>
        <td width="75%" colspan="4"><font face="Trebuchet MS" size="2">
        <input type="text" name="fornavn" size="20"></td>
      </tr>
      <tr>
        <td width="25%"><font size="2">Efternavn</font></td>
        <td width="75%" colspan="4"><font face="Trebuchet MS" size="2">
        <input type="text" name="efternavn" size="20"></td>
      </tr>
      <tr>
        <td width="25%"><font size="2">Fødselsdag:</font></td>
        <td width="75%" colspan="4"><font face="Trebuchet MS" size="2">
        <input type="text" name="cpr" size="20"></td>
      </tr>
      <tr>
        <td width="25%"><font size="2">Email:</font></td>
        <td width="75%" colspan="4"><font face="Trebuchet MS" size="2">
        <input type="text" name="email" size="20"></td>
      </tr>
      <tr>
        <td width="25%"><font size="2">Mobil:</font></td>
        <td width="75%" colspan="4"><font face="Trebuchet MS" size="2">
        <input type="text" name="mobilephone" size="20"></td>
      </tr>
      <tr>
        <td width="25%"><font size="2">Favoritfilm:</font></td>
        <td width="75%" colspan="4"><font face="Trebuchet MS" size="2">
        <input type="text" name="favoritfilm" size="20"></td>
      </tr>
      <tr>
        <td width="25%"><font size="2">Favoritspil:</font></td>
        <td width="75%" colspan="4"><font face="Trebuchet MS" size="2">
        <input type="text" name="favoritspil" size="20"></td>
      </tr>
      <tr>
        <td width="25%"><font size="2">Favoritmusik:</font></td>
        <td width="75%" colspan="4"><font face="Trebuchet MS" size="2">
        <input type="text" name="favoritmusik" size="20"></td>
      </tr>
      <tr>
        <td width="25%"><font size="2">Likes:</font></td>
        <td width="75%" colspan="4"><font face="Trebuchet MS" size="2">
        <input type="text" name="likes" size="20"></td>
      </tr>
      <tr>
        <td width="25%"><font size="2">Dislikes:</font></td>
        <td width="75%" colspan="4"><font face="Trebuchet MS" size="2">
        <input type="text" name="dislikes" size="20"></td>
      </tr>
      <tr>
        <td width="25%" valign="top"><font size="2">Kortsagt:</font></td>
        <td width="75%" colspan="4"><font face="Trebuchet MS" size="2">
        <textarea rows="2" name="kortsagt" cols="20"></textarea></td>
      </tr>
      <tr>
        <td width="25%"><font size="2">Opsagt:</font></td>
        <td width="75%" colspan="4"><font face="Trebuchet MS" size="2">
        <input type="checkbox" name="Opsagt" value="ON"></td>
      </tr>
      <tr>
        <td width="25%">&nbsp;</td>
        <td width="75%" colspan="4">&nbsp;</td>
      </tr>
<%
Set RS_user = Server.CreateObject("ADODB.RecordSet")
RS_user.open "Select * From [users] Where username = '" & Session("username") & "'" , Conn_crew, 1, 3

Set RS_userperm = Server.CreateObject("ADODB.RecordSet")
RS_userperm.open "Select * from [user_permisions] WHERE user_id  = " & RS_user("id") &"", Conn_crew, 1, 3
%>
     
      <tr>
        <td width="100%" colspan="5"><b><font size="2">Adgangs kontrol</font></b></td>
      </tr>
      <tr>
        <td width="25%">&nbsp;</td>
        <td width="18%"><font size="2">Admin</font></td>
        <td width="18%"><font size="2">Redaktør</font></td>
        <td width="16%"><font size="2">Skribent</font></td>
        <td width="23%"><font size="2">Ingen rettigheder</font></td>
      </tr>
<%If RS_userperm("Site") = 1 Then%>     
      <tr>
        <td width="25%"><font size="2">Games</font></td>
        <td width="18%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="1" name="games"></td>
        <td width="18%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="2" name="games"></td>
        <td width="16%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="3" name="games"></td>
        <td width="23%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="4" name="games" checked></td>
      </tr>
<% End If%>
<%If RS_userperm("Site") = 3 Then%>     
      <tr>
        <td width="25%"><font size="2">Movies</font></td>
        <td width="18%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="1" name="movies"></td>
        <td width="18%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="2" name="movies"></td>
        <td width="16%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="3" name="movies"></td>
        <td width="23%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="4" name="movies" checked></td>
      </tr>
<%End If%>
<%If RS_userperm("Site") = 2 Then%>     
      <tr>
        <td width="25%"><font size="2">Jokes</font></td>
        <td width="18%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="1" name="Jokes"></td>
        <td width="18%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="2" name="Jokes"></td>
        <td width="16%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="3" name="Jokes"></td>
        <td width="23%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="4" name="Jokes" checked></td>
      </tr>
<%End If%>
<%If RS_userperm("Site") = 4 Then%>
      <tr>
        <td width="25%"><font size="2">PlayIt</font></td>
        <td width="18%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="1" name="Playit"></td>
        <td width="18%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="2" name="Playit"></td>
        <td width="16%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="3" name="Playit"></td>
        <td width="23%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="4" name="Playit" checked></td>
      </tr>
<%End If%>
<%If RS_userperm("Site") = 5 Then%>     
      <tr>
        <td width="25%"><font size="2">SMS</font></td>
        <td width="18%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="" name="SMS"></td>
        <td width="18%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="" name="SMS"></td>
        <td width="16%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="" name="SMS"></td>
        <td width="23%"><font face="Trebuchet MS" size="2">
        <input type="radio" value="" name="SMS" checked></td>
      </tr>
<%End If%>     
      <tr>
        <td width="25%">&nbsp;</td>
        <td width="75%" colspan="4">&nbsp;</td>
      </tr>
      <tr>
        <td width="25%">&nbsp;</td>
        <td width="75%" colspan="4"><font face="Trebuchet MS" size="2">
        <input type="submit" value="Opret bruger" name="B1"></td>
      </tr>
    </table>
    </form>
    <p>&nbsp;</td>
  </tr>
  <tr>
    <td width="100%">
    <p align="left"></td>
  </tr>
<% ElseIf Request.QueryString("Action") = "dbase" Then

Set RS_dbase = Server.CreateObject("ADODB.RecordSet")
RS_dbase.open "Select * From [users] Order by id", Conn_crew, 1, 3

'Tilføjer tekst til databasen
RS_dbase.Addnew
RS_dbase("username") = request.form("username")
RS_dbase("password") = request.form("password")
RS_dbase("fornavn") = request.form("fornavn")
RS_dbase("efternavn") = request.form("efternavn")
RS_dbase("email") = request.form("email")
RS_dbase("mobilephone") = request.form("mobilephone")
RS_dbase("dateofcreation") = now
RS_dbase("level") = 3
RS_dbase("titel") = request.form("titel")
RS_dbase("cpr") = request.form("cpr")
RS_dbase("favoritfilm") = request.form("favoritfilm")
RS_dbase("favoritspil") = request.form("favoritspil")
RS_dbase("favoritmusik") = request.form("favoritmusik")
RS_dbase("likes") = request.form("likes")
RS_dbase("dislikes") = request.form("dislikes")
RS_dbase("kortsagt") = request.form("kortsagt")
if request.form("opsagt") = "" then
  RS_dbase("opsagt") = false
else
  RS_dbase("opsagt") = true
end if
RS_dbase.Update

Set RS_dbase_perm = Server.CreateObject("ADODB.RecordSet")
RS_dbase_perm.open "Select * From [user_permisions] Order by id", Conn_crew, 1, 3

'Tilføjer Brugerens Rettigheder
If request.form("games") = 4 Then
Else
RS_dbase_perm.Addnew
RS_dbase_perm("user_id") = RS_dbase("id")
RS_dbase_perm("site") = 1
RS_dbase_perm("level") = request.form("games")
End if
If request.form("movies") = 4 Then
Else
RS_dbase_perm.Addnew
RS_dbase_perm("user_id") = RS_dbase("id")
RS_dbase_perm("site") = 1
RS_dbase_perm("level") = request.form("movies")
End if
If request.form("playit") = 4 Then
Else
RS_dbase_perm.Addnew
RS_dbase_perm("user_id") = RS_dbase("id")
RS_dbase_perm("site") = 1
RS_dbase_perm("level") = request.form("playit")
End if
If request.form("jokes") = 4 Then
Else
RS_dbase_perm.Addnew
RS_dbase_perm("user_id") = RS_dbase("id")
RS_dbase_perm("site") = 1
RS_dbase_perm("level") = request.form("jokes")
End if
If request.form("sms") = 4 Then
Else
RS_dbase_perm.Addnew
RS_dbase_perm("user_id") = RS_dbase("id")
RS_dbase_perm("site") = 1
RS_dbase_perm("level") = request.form("sms")
End if
RS_dbase_perm.Update
%>
Tadaa!! 
<%End If%>
  <tr>
    <td width="100%">
    <img height="4" src="img/divider_under.gif" width="511" border="0">
    </td>
 
  </tr>
  <tr>
    <td width="100%">
<!--#include file="links_bottom.asp"--></td>
 
  </tr>
</table>

<p>&nbsp;</p>

</body>

</html>
Avatar billede coltau Juniormester
20. august 2003 - 22:41 #1
I stedet for hver af disse linier:

<%If RS_userperm("Site") = 1 Then%>

kan du lave et opslag i databasen sådan:

<%
RS_userperm.open "Select * from [user_permisions] WHERE user_id  = " & RS_user("id") & " and site=1", Conn_crew, 1, 3
If not RS_userperm.eof Then%>

Ovenstående er kun for site = 1. For site = 2 skal du lave den sådan:

<%
RS_userperm.open "Select * from [user_permisions] WHERE user_id  = " & RS_user("id") & " and site=2", Conn_crew, 1, 3
If not RS_userperm.eof Then%>

osv.
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