08. juni 2003 - 14:33Der er
39 kommentarer og 1 løsning
Hjælp til login hvor jeg skal skifte frame
Hej Jeg har lidt problemer med dette, er der nogen der kan hjælpe?
Jeg har et lille asp login script som fungere.
Nu vil jeg gerne når den godkender login også skal skifte noget i min left frame. Lige nu har jeg et knappe valg i leftFrame. Når man så logger ind på login Scriptet i mainFrame skal den skifte til et andet knappe valg i left Frame. Nedenunder kan I se det lille Script:
<% ' Tjek om login og password er korrekte If Request.Form("login") = "asp" AND Request.Form("password") = "asp" Then
' Hvis korrekt sættes session til JA Session("login") = "JA" Session.Timeout = 30 Response.Write "<h2>Du er nu logget på</h2>"
Else
' Hvis forkert sættes ingen session til NEJ Session("login") = "NEJ" Session.Timeout = 30 Response.Write "<h1>Du er IKKE logget korrekt ind</h1>"
Jeg vil foreslå at du redirecter til dit frameset, så session lige får lov at virke. Så kan du fortælle en knap hvordan den skal vises: if session("login") = "JA" then loginKnap = loggetInd.gif else loginKnap = loggetUd.gif end if
Ja, men du må lige fortælle om det er hele knapsættet, der skal ændres eller bare en knaps op og ned billede, der skal skiftes ud og om der er noget scripting, der styrer det i forvejen.
Det er hele knapsættet der skal ændre jeg har leftFrame hvor jeg har menu.html i nu skal der en side der hedder logimenu.html ind istedet for. Så det vil sige jeg skal skifte fra en HTML side til en ny.
Du kan også have to framset, hvis du ikke vil læve flere filer til .asp. Du kan kalde det, hvor man er logget ind via den omdirigering, som jeg kan fortælle, hvordan du sætter ind.
Her er mit framset <frameset rows="100,*,39" cols="*" framespacing="0" frameborder="NO" border="0"> <frame src="top.htm" name="topFrame" scrolling="NO" noresize > <frameset rows="*" cols="181,*" framespacing="0" frameborder="NO" border="0"> <frame src="menu.htm" name="leftFrame" scrolling="NO" noresize> <frame src="main.html" name="mainFrame"> </frameset> <frame src="bund.htm" name="bottomFrame" scrolling="NO" noresize> </frameset> Og det er menu.htm der skal skiftes ud med loginmenu når man logger på login siden. Pia
Det skal forresten være din framesetfil, der skal omdøbes og så vil jeg lige komme med noget kode til den. Men det er nu ikke nødvendigt at logimenu er asp før du får brug for det. -Hvis du fx bare ændrer menuens indhold.
<% ' Tjek om login og password er korrekte If Request.Form("login") = "asp" AND Request.Form("password") = "asp" Then
' Hvis korrekt sættes session til JA Session("login") = "JA" Session.Timeout = 30 Response.Write "<h2>Du er nu logget på</h2>" Response.Write "<h2>Du er nu logget på</h2>"
Else
' Hvis forkert sættes ingen session til NEJ Session("login") = "NEJ" Session.Timeout = 30 Response.Write "<h1>Du er IKKE logget korrekt ind</h1>"
Hov, det går godt.. Jeg kom til at sende siden ved en fejl - den er iHer er login siden med links og omdirigering:
<% ' Tjek om login og password er korrekte If Request.Form("login") = "asp" AND Request.Form("password") = "asp" Then
' Hvis korrekt sættes session til JA Session("login") = "JA" Session.Timeout = 30 Response.Write "<h2>Du er nu logget på</h2>" Response.Write "<h2>Du er nu logget på</h2>"
Else
' Hvis forkert sættes ingen session til NEJ Session("login") = "NEJ" Session.Timeout = 30 Response.Write "<h1>Du er IKKE logget korrekt ind</h1>"
'Her er login siden med links. Skift selv "framesetfil" ud med det rigtige navn, men den skal bare have asp efternavn:
<% ' Tjek om login og password er korrekte If Request.Form("login") = "asp" AND Request.Form("password") = "asp" Then
' Hvis korrekt sættes session til JA Session("login") = "JA" Session.Timeout = 30 Response.Write "<h2>Du er nu logget på</h2>" Response.Write "<a href='framesetfil.asp' target='_top'>Klik her for at fortsætte</a>"
Else
' Hvis forkert sættes ingen session til NEJ Session("login") = "NEJ" Session.Timeout = 30 Response.Write "<h1>Du er IKKE logget korrekt ind</h1>" Response.Write "<a href='framesetfil.asp' target='_top'>Klik her for at returnere uden login</a>" End If
Altså din framsetfil skal hedde index.asp. (index eller default fortæller jo normalt systemet at det er den fil, der skal startes, hvis man kalder domænet.) Ellers ingen ændringer i de filer, der er omdøbt til asp. Indholdet er som en .htm fil, der er blot sat asp klammer ind <% %>.
Hvis du ikke har brug for andet end session for når folk er logget ind så slet da bare den NEJ-session: ' Hvis forkert sættes ingen session til NEJ Session("login") = "NEJ" Session.Timeout = 30 Response.Write "<h1>Du er IKKE logget korrekt ind</h1>" Til: ' Hvis forkert sættes ingen session Response.Write "<h1>Du er IKKE logget korrekt ind</h1>"
Så langt når jeg slet ikke: Lige så snart jeg kopier dit framset ind i min koder kommer fejlen: Den kommer med følgende fejl: Dette eksistere ikke
<frame src=" <% if session("login") = "JA" then response.write "loginmenu.asp" else response.write "menu.asp" end if %> " name="leftFrame" scrolling="NO" noresize>
Selv om jeg både har en loginmenu.asp & ind menu.asp - så bliver left menuen tom .... Nogen forslag?
Jeg har det kørende. Det er vist bare lidt navngivning. Jeg kan ikke komme i kontakt med min server. Så hvis du vil have det, jeg har kørende, kan du måske lægge en emailadresse. OK?
Nå shit happens. Men her er en forbedring til default.asp: <frame src=" <% if session("login") = "JA" then response.write "loginmenu.asp" else session("login") = "" response.write "menu.htm" end if %> " name="leftFrame" scrolling="NO" noresize>
Jeg kom lige i tanker om, at indtastning af password bør have <input type="password" istedet for <input type="text" af sikkerhedsmæssige grunde og god kutyme..
Jeg får stadig email om, at der sker noget her, men jeg kan kun se mit eget nye her?
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.