<% Inbox = "Select FranId, Text from mail where TillId = " & session("Smeknamn")
Du kan inte använda sessioner på det viset. En session kan bara tilldelas av en användare och sessionen är sedan knuten till den användaren.
5 svar · 188 visningar · startad av snekkorr
jag jobbar som vanligt på min community ... försöker mig på att skicka medelanden till varandra...
så här ser det ut när man loggar in... all denna kod funkar.. det viktiga är sessionerna som tilldelas längst ner...
<!-- #Include File="adovbs.inc" -->
<!-- #Include File="databas.asp" -->
<% Visa = "SELECT * FROM medlemmar"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic
X = FALSE
Do Until X = TRUE OR RecSet.EOF
If RecSet("Smeknamn") = Request.Form("smeknamn") Then
X = TRUE
Exit Do
End If
RecSet.MoveNext
Loop
If X = TRUE Then
Y = FALSE
Do Until Y = TRUE OR RecSet.EOF
If RecSet("Losenord") = Request.Form("losenord") Then
Y = TRUE
Exit Do
End If
RecSet.MoveNext
Loop
End If
If X = FALSE Then
Response.Write "Du har anget ett felaktigt användarnamn!"
ElseIf Y = FALSE Then
Response.Write "Du har anget ett felaktigt lösenord!"
End If
If X = TRUE AND Y = TRUE Then
Session("smeknamn") = Request.Form("smeknamn")
Session("losenord") = Request.Form("losenord")
%\>
<%End If%>
Välkommen <%=Session("smeknamn")%><br>
<a href="mail.asp">Inkorgen</a>
och när man klickar på inkorgen - länken så ska man läsa sina medelande genom följande:
<!-- #Include File="adovbs.inc" -->
<!-- #Include File="databas.asp" -->
<% Inbox = "Select FranId, Text from mail where TillId = " & session("Smeknamn")
RecSet.Open Inbox, Connect, AdOpenStatic, AdLockOptimistic %>
<% Do While Not RecSet.EOF %>
<%=RecSet("FranId") %> <br>
<%=RecSet("Text") %>
<% RecSet.MoveNext
Loop %>
<% RecSet.Close %>
men då får jag upp:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
/community/mail.asp, rad 5
:((((((( nån som vet varför?
<% Inbox = "Select FranId, Text from mail where TillId = " & session("Smeknamn")
Du kan inte använda sessioner på det viset. En session kan bara tilldelas av en användare och sessionen är sedan knuten till den användaren.
<% Inbox = "Select FranId, Text from mail where TillId = '" & session("Smeknamn") & "'"
Ditt inloggningsskript är inte säkert.
Precis, du glömde att stoppa strängvärdet inom ('') gluttar.
Man kan väl visst använda Sessions som han gör Eclipse. Varför ska man tilldela Sessions om man inte kan använda dom i db-querys? eller hur menar du egentligen?
Förresten snekkorr så ska du hämta både
användarnamnet och lösenordet på en gång. Det du gör är en sökning först på namnet, stämmer det så söks lösenordet OAVSETT användare. Detta gör ju att vilken användare som helst kan logga in på vilken annan användare som helst med sitt eget lösenord!
Okej, jag får väl krypa till korset och säga att jag inte fattade frågan...
SQL = "SELECT * FROM [users] WHERE [x_user] = '" & request("x_user") & "' AND [x_password] = '" & request("x_password") & "';"
mySQL = Conn.Execute(SQL)
on error resume next
IF mySQL.EOF THEN
-- Du är ej inloggad
-- response.redirect "login.asp"
ELSE
-- Du är inloggad
-- response.redirect "index.asp"
END IF
hehe... smådetaljer .. som sagt e ja ny... men tack för hjälpen