21. februar 2004 - 22:38Der 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 %>
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
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.
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 :/
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.
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 %>
Synes godt om
Ny brugerNybegynder
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.