Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Session problem

Postades av 2002-08-15 16:07:48 - Lars Pettersson, i forum asp - allmänt, Tråden har 15 Kommentarer och lästs av 450 personer

Det är så att jag vill kunna logga in på loggin.asp (username o password). Och när man kommer till nästa sida (mail.asp) ska när vara en submitknapp. När man klickar där ska man skicka ett meddelande.

Det viktiga här är att när man loggar in måste det bestå av sessionoer av säkerhetsskäl, jag får inte kläm på det och användarna ska bestå av en *.mdb fil.

<code>
<html>
<head>
<title>asp test</title>
<LINK REL="stylesheet" HREF="style.css" TYPE="text/css">
</head>
<body>
<% If Request.Querystring("loginnow") = "" Then %>
<font face="Verdana, Arial, Helvetica, sans-serif" size="1"><b>Logga in:</b></font>
<form action="loggin.asp?loginnow=checkuser" method="post">
<table width="220" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="100"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Användarnamn:</font></td>
<td valign="top" width="114"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<input type="text" name="anv2" size="20">
</font></b></td>
</tr>
<tr>
<td width="100"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Lösenord:</font></td>
<td valign="top" width="114"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<input type="password" name="losen2" size="20">
</font></b></td>
</tr>
<tr>
<td width="100"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1"></font></b></td>
<td valign="top" width="114"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<input type="submit" name="Submit" value="<%=txt_login%>">
</font></b></td>
</tr>
</table>
</form>
<% End If %>
<font face="verdana" size="1"><br>
</font>
<% If Request.Querystring("loginnow") = "checkuser" Then

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("../db/login.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From users"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

Do Until RecSet.EOF

If RecSet("user") = Request.Form("anv2") AND RecSet("losen") = Request.Form("losen2") Then

Session("user") = "user"
Session("vem") = RecSet("user")
Session.Timeout = "30"

RecSet.Close
Set RecSet = nothing

Connect.Close
Set Connect = nothing

Response.Redirect("")

End If

RecSet.MoveNext
Loop

RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing

Response.Redirect("loggin.asp?loginnow=fel")
%>
<% End If %>
<p>
<%If Request.Querystring("loginnow") = "fel" Then%>
<font face="verdana" size="1"><b>Du angav fel användarnamn eller lösenord!</b>
</font><br>
<br>
<font face="verdana" size="1">Försök igen </font>
<%End If%>
</p>
</body>
</html>
</code>


Svara

Sv: Session problem

Postades av 2002-08-15 16:25:30 - Tommie Severinsson

Vad får du för fel?

Pröva med

<code>
Session.Contents("namn") = Värde
</code>


Svara

Sv: Session problem

Postades av 2002-08-15 17:11:50 - Lars Pettersson

Asså kan om man har loggat in (loggin.asp" sen kommit till nästa sida i en session kan man använda <%= rs("hej") %>?


Svara

Sv: Session problem

Postades av 2002-08-15 17:14:46 - Tommie Severinsson

Det sista där förstod jag inte alls.... en gång till...


Svara

Sv: Session problem

Postades av 2002-08-15 18:10:00 - Lars Pettersson

Ja altså när man har loggat in, ska uppgifterna som du angett i databasen anges i ett hidden field. Ex <%= rs("fornamn") %>.


Svara

Sv: Session problem

Postades av 2002-08-15 18:16:02 - Tommie Severinsson

eerh... varför?? Dom är ju inte speciellt gömda där...

jaja


Om du anger värden på sida 1, klickar dig vidare till sida 2, på sida 2 så åker värdena ner i en databas (ifrån sida 1) och om du då skall "gömma" dom värdena du just la in i databasen så behöver du inte anropa databasen en gång till för att göra det.. Du har ju informationen ifrån formuläret....

eller är jag off?


Svara

Sv: Session problem

Postades av 2002-08-15 18:34:27 - Lars Pettersson

nej asså på sida 1 anger du bara användarnamn och löseord, tackvare det så vet datanasen om vilka mer värde du har, som du anget långt innan (på en annan sida där du registrerar sig) sen på sida två ska gömda fält ha mer information, som finns i databasen, tex efternamn.


Svara

Sv: Session problem

Postades av 2002-08-15 18:37:17 - Tommie Severinsson

aha.. jaja.. det är bara till att trycka ut dom... <input type="hidden" value="<%= oRs("fält")">

sorry.. ;)


Svara

Sv: Session problem

Postades av 2002-08-15 18:42:33 - Lars Pettersson

men det fungerar inte :( ska det fungera efter att ha loggan in (och är i en session) att kunna använda <%= rs("fornamn") %>? För jag får inte det att fungera.


Svara

Sv: Session problem

Postades av 2002-08-15 18:53:05 - Tommie Severinsson

Klart det funkar! ;) Men jag måste ju se vad du då har skrivit! Det du skrev först har ingenting i sig som ens tar ut dom värdena du pratar om. Du får ju visa den koden som du använder för att åstadkomma detta som blir fel!

;)


Svara

Sv: Session problem

Postades av 2002-08-15 19:01:09 - Lars Pettersson

Okej här kommer koden :)

<code>
<% Response.Buffer = True %>
<!-- #INCLUDE file="settings.asp" -->
<html>
<head>
<title>asp test</title>
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body>
<%
If NOT Session("user") = "user" Then

Response.Redirect "loggin.asp"

Else
%>


<form action="testar.asp" method=post name="order">
<div align="center">
<input type="hidden" name="tid" value="<%= NOW %>" size="40">

<b><%=txt_order_form%></b> V&auml;lkommen in <% = Session("namn") %></div>
<hr>
<div align="center">

</div>
<p>
<input type="hidden" name="namn" value="<% = rs("namn")%>">
<input type="hidden" name="efternamn" value="<% = rs("efternamn")%>">
<input type="hidden" name="address <%= ("address ")%>">
<input type="hidden" name="intressen <%= ("intressen ")%>">
<input type="hidden" name="sport <%= ("sport ")%>">
<input type="hidden" name="meddelade <%= ("meddelade ")%>">
</p>
<div align="center"> </div>
<table width="111" align="center">
<tr>
<td colspan="2">
<div align="center">.</div>
</td>
</tr>
<tr>
<td width="66">
<input type="submit" value="Skicka" name="BUTTON">
</td>
<td width="71">
<input type="reset" name="Reset" value="Radera">
</td>
</tr>
</table>
</form>
<%
End If
%>
<div align="center">Logga ut </div>
</body>
</html>
</code>


Svara

Sv: Session problem

Postades av 2002-08-15 20:11:31 - Andreas Hillqvist

Förslag till inloggnings sida:
<code>
<html>
<head>
<title>asp test</title>
<LINK REL="stylesheet" HREF="style.css" TYPE="text/css">
</head>
<body>
<%
Function SQLText(Value)
If Len(Value) > 0 Then
SQLText = "'" & Replace(Value,"'","''") & "'"
Else
SQLText = "Null"
End If
End Function

If Request.Querystring("loginnow") = "checkuser" Then
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" & Server.MapPath("../db/login.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM users WHERE user = " & SQLText(Request.Form("anv2")) & " AND " & SQLText(Request.Form("losen2"))
RecSet.Open Addera, Connect

If RecSet.EOF Then
%>
<font face="verdana" size="1">Du angav fel användarnamn eller lösenord!<br>
<br>
Försök igen</font><br>
<br>
<%
Else
Session("user") = "user"
Session("vem") = RecSet("user")
Session.Timeout = "30"
End If

RecSet.Close
Set RecSet = nothing

Connect.Close
Set Connect = nothing
End If


If Session("user") = "user" Then
'Välkommen
'eller redirect till välkommst sida
Else
%>
<font face="Verdana, Arial, Helvetica, sans-serif" size="1">Logga in:</font>
<form action="loggin.asp?loginnow=checkuser" method="post">
<table width="220" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="100"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Användarnamn:</font></td>
<td valign="top" width="114"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<input type="text" name="anv2" size="20" value="<%=Request.Form("anv2")%>">
</font></td>
</tr>
<tr>
<td width="100"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Lösenord:</font></td>
<td valign="top" width="114"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<input type="password" name="losen2" size="20">
</font></td>
</tr>
<tr>
<td width="100"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"></font></td>
<td valign="top" width="114"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<input type="submit" name="Submit" value="<%=txt_login%>">
</font></td>
</tr>
</table>
</form>
<%
End If
%>
</body>
</html>


</code>
För stod inte sedan frågan. Vill du komma åt informationen från recordsetet i inloggningen när den andra sidan körs? I så fall far du lagra dem i sessinen eller öppna recordsetet på nytt.


Svara

Sv: Session problem

Postades av 2002-08-15 20:22:48 - Lars Pettersson

Okej, men förstod inte vad du menade i slutet. Jag vill kunna logga in med bara user/pass och sen när jag kommer till sida 2, ska där finnas hidden fields med mer info som du inte behöver trycka in på sida 2. Med Rec Set.


Svara

Sv: Session problem

Postades av 2002-08-15 21:58:18 - Andreas Hillqvist

Varför ska du ha dem hidden? Är ju bara att slå upp när du infogar posten.


Svara

Sv: Session problem

Postades av 2002-08-15 23:22:17 - Robert Åström

ska du ha med dig användares uppgifter till sida två så får du se till att
plocka ut dem när inloggningen sker. Det är ju då du har tillgång till dem
på smidigaste sätt. Lägg de uppgifter du vill ha till sida 2 i hidden-fält
redan på sida 1, alltså inloggningssidan. Anropa, och lägg sedan
uppgifterna i nya hidden-fält på sida 2 genom att anropa dem med
Request.Form("Fältnamn"). Exemplel på input-tag:
<Input Type="Hidden" Name="Efternamn" Value="<%=Request.Form
("Fältnamn")%>">. Vet inte hundra om jag förstått ditt problem men
hoppas att det här kanske löser det.


/Mr.X


Svara

Sv: Session problem

Postades av 2002-08-16 09:07:55 - Tommie Severinsson

Okej.. Lite svårt att se.. men jag förmodar att du har din connection och recordset objekt i settings.inc.. och då kan det ju vara bra och visa koden däri också.... det funkar givetvis inte om du inte har öppnat ett recordset.. ;)

<code>
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.open "dsn","uid","pwd"

strSql = "SELECT fornman, efternamn, FROM tblUsers WHERE uid = "' & olle & '" ' Kan ha vänt på fnuttarna här ;)

Set oRs = Server.CreateObject("ADODB.Recordset")
oRs.open strSql, oConn

<input type="text" name="namn" value="<%= oRs("fornamn")">

'Döda
oRs.Close
Set oRs = Nothing

oConn.Close
Set oConn = Nothing
</code>

Sen... Istället för att skriva

<code>
If NOT Session("User") = "user" Then
Blaha
Else
Blaha
End If
</code>

Så är det bättre praktik om du använder <= < > istället för att använda NOT (Blir mindre kod occkså.. ;) )... alltså.. I detta fallet:
<code>
If Session("User") <> "user" Then 'Skilt ifrån
Blaha
Else
Blaha
End If
</code>

Och det är aldrig bra att skriva, i klartext vad sessioner och dyl skall vara lika med.. Försök att dölja detta så gått det går... Inga kommentarer som direkt förklarar vad det handlar om..

Och sen inga felmeddelande av typen "Ditt lösenord stämmer inte!" eller "Ditt användarnamn stämmer inte!".. Det är ju till att ge ledtrådar till vad som kan saknas och vad som stämmer... Det räcker definitivt med "Inloggningen misslyckades, försök igen"..... ;)

Bara lite tips sådär... ;)


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 825
27 960
271 761
493
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies