02. januar 2005 - 00:13Der er
21 kommentarer og 1 løsning
Login med ASP
Nogen der kan se problemet her?
For at undgå "dobbelt login" tjekker jeg således...
<% if request.form ("brugernavn") = session ("brugernavn") then response.write ("Du er allerede logget ind") else server.transfer ("login.asp") end if %>
Men det virker simpelthen ikke, jeg kan logge ind 100 gange om jeg vil. Skal man tjekke på en anden måde?
Virker dine session-variable (tillader din browser cookies)? Test det evt. ved at udskrive værdien af session("brugernavn") på siden.
Kan du fjerne muligheden for at logge på igen, når først man er logget på? Eller skal man have mulighed for at logge på som en anden bruger selvom man er logget på...
hov ja jeg er helt galt på den... mit kode vil gøre at hvis ens session er ovre så vil den sige du er allerede logget ind igen.. det giver jo ikke mening.. sorry:)
Jeg synes det ser ud som om du ikke har noget i din sessionvariabel. SOm kalp foreslog, synes jeg du skulle tjekke indholdet ved at skrive det ud på skærmen, så du kan se om den overhovedet er sat.
Hvis ikke, kan det selvf. være fejl i koden under login. Ellers kan det være (igen som kalp foreslog) dine cookie settings i browseren. I det tilfælde, skru lige lidt ned for paranoiaen ;)
Hvis session variablen indeholder navnet, når du er logget ind, men det sidste jeg pastede ind ikke virker, så er der et problem et andet sted i dit kode. Prøv at paste det ind, så vi kan kigge på det.
Jeg har oplevet problemer med at aflæse feltindhold i forms, hvis man kun benyttter id på form-felter. Hvis du ikke allerede har gjort det, kan være du også skal angive name-attribut på brugernavn-feltet på din login-form (dvs. <input id="brugernavn" name="brugernavn" value="">)...
Nej, men session("brugernavn") bliver forhåbentlig ikke sat andre steder end når loginformen postes (og tjek med password i db er foretaget). Obhat skriver jo at den er logget ind. Derfor burde det jo ikke være formen den er gal med.
Okay, nu prøver jeg at gå en helt anden vej, nemlig via onlinelisten. Men jeg tror ikke det er helt rigtigt det jeg har lavet her:
<% Dim arrUsers Dim n arrUsers = Split(Application("Onlineusers"), ",") For n = 1 To UBound(arrUsers) -1 Response.Write (arrUsers(n) & "<br>") Next End Sub
Call WriteOnlineUsers()
if request.form ("brugernavn") <> Sub WriteOnLineUsers() then server.transfer ("login.asp") else response.write ("Du er allerede logget ind") 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.