Avatar billede xtom2 Nybegynder
21. februar 2004 - 22:38 Der er 7 kommentarer og
1 løsning

redirect til url fra mdb

Godaften, Eksperter.

Jeg har dén udfodring til nogle af jer, at jeg ved login (form) ønsker at redirecte en bruger til en URL fra en tabel i en access database. Tabellen indeholder brugernavn, adgangskode og URL. Hvis f.eks. "BrugerA" logger ind med "KodeA" vil jeg have ham sendt videre til "www.Domæne.dk/login/BrugerA".

Min wannabe-kode (uden loginform) ser indtil nu således ud:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("mdb.mdb")
Conn.Open DSN
%>
<%
strSQL = "Select * from db"
Set rs = Conn.Execute (strSQL)
%>
<%
Do
Fejl = ""
If Request("Submit")<>"" Then
    If Request("navn") = "" & rs("Brugernavn") & "" and _
        Request("kode")="" & rs("Adgangskode") & "" Then
        Session("ok") = Request("navn")
        Response.redirect "URL"
    Else
        Fejl = "Forkert brugernavn eller adgangskode. Forsøg venligst igen."
    End If
End If
rs.MoveNext
Loop While Not rs.EOF
%>

Mvh,
Xtom` =)
Avatar billede fennec Nybegynder
21. februar 2004 - 23:01 #1
Prøv dette. Jeg har også opdateret din select, så du kun får et resultat hvis bruger/kode passer med databesen.

strSQL = "select * from db where brugernavn='"&request("navn")&"' and adgangskode='"&request("kode")&"'"
...
if not rs.eof then
  response.redirect(rs("url"))
else
  Fejl = "Forkert brugernavn eller adgangskode. Forsøg venligst igen."
end if
Avatar billede xtom2 Nybegynder
21. februar 2004 - 23:19 #2
Virker strålende, fennec :)

Siden (med formen) viser dog fejlmeddelelsen, når jeg indlæser den - til gengæld virker ændringen af .asp-koden og sender ganske rigtigt videre til databasens URL.
Avatar billede fennec Nybegynder
21. februar 2004 - 23:34 #3
kan du selv klare resten?
Ellers skal du bare sige til. Jeg sidder her en times tid endnu...
Avatar billede xtom2 Nybegynder
21. februar 2004 - 23:40 #4
Njaejh.. :/ ..Jeg tror lige jeg skal have dig til i det mindste at vise hvordan du vil have det indsat, (hvordan det ser ud som helhed) ud fra det uddrag jeg skrev øverst. Som sagt, jeg er forholdsvis newbie i .asp-verdenen :/
Avatar billede fennec Nybegynder
21. februar 2004 - 23:57 #5
du sender bare en "mode" med. Det er noget jeg bruger rigtigt meget.

<%
dim mode
mode = request.querystring("mode")

...skaf database adgang...

if mode = "logon" then
  strSQL = "select * from db where brugernavn='"&request("navn")&"' and adgangskode='"&request("kode")&"'"
  set rs = conn.execute(strSQL)
  if not rs.eof then
    response.redirect(rs("url"))
  else
    Fejl = "Forkert brugernavn eller adgangskode. Forsøg venligst igen."
  end if
end if
%>
<script>
function send(mode)
{
  document.minForm.action = "logon.asp?mode="+ mode
  document.minForm.submit()
}
</script>
<form name="minForm" method="post">
  <input type="Text" name="navn"><br>
  <input type="Password" name="kode"><br>
  <input type="button" value="Login" onclick="send('logon')">
</form>

på nogle af de sider jeg laver kan jeg sende op til 10 forskellige mode's. Det kunne f.eks være 'save', 'update', 'del', 'New', 'Edit' osv. De tre første er til databasefunktioner, De andre er til at bestemme hvilken HTML der skal vises.
Avatar billede xtom2 Nybegynder
22. februar 2004 - 00:05 #6
Hmm.. Det må jeg vist til at fordybe mig lidt i, det her med modes :)

Det virker formidabelt. Du skal have mange tak for hjælpen!
Forsat en rasende god weekend herfra ;)

Mvh,
Xtom` =)
Avatar billede xtom2 Nybegynder
22. februar 2004 - 00:08 #7
(Kan så bare undre mig lidt over jeg ikke kan acceptere dit svar med Mozilla 1.5 - nåh.. frem med IE..)
Avatar billede fennec Nybegynder
22. februar 2004 - 00:27 #8
man kan lave mange ting med mode.... Dette er i bund og grund en standart side for mig. Det kan dog godt blive lidt uoverskulig, hvis der er for mange mode's til HTML visning.

<%
...
...
if mode = "save" then
... gem i database
elseif mode = "update" then
... updater database
elseif mode = "del" then
... delete fra database
end if
...
...
%>

<% if mode = "new" then %>
HTML kode til opret ny
<input type="button" value="Gem" onclick="send('save')">

<% elseif mode = "edit" then %>
HTML kode til ret
<input type="button" value="Gem" onclick="send('update')">

<% else %>
Default HTML kode
<input type="button" value="Ny" onclick="send('new')">
<input type="button" value="Ret" onclick="send('edit')">
<input type="button" value="Slet" onclick="send('del')">
<% end if %>
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