06. juli 2007 - 20:26Der er
20 kommentarer og 1 løsning
brugere som er logget ind får samme info
Hej Eksperter.
Jeg har langt om længe fået det til at virke så jeg kan oprette brugere i min database og de kan hver især logge ind. Nu er det bare sådan at lige meget hvilken bruger jeg logger ind med står der de samme info og det er ikke så smart. Den info der står skulle jo gerne passe til hver enkelt bruger.
Prøv og logge ind med begge logins der står på siden.
Jeg har sådan lidt stjålet ting her for at hente brugeren fra databasen, der er sikkert en masse skrammel som jeg slet ikke skal bruge så det må gerne kommenteres.. hehe :-)
KODE :
<% Option Explicit %>
<% Dim email, kode email = Replace((trim(Request("email"))), "'", "") kode = Replace((trim(Request("kode"))), "'", "")
'//Finder email og kode value, trimmer dem (fjerne alle space på begge sider) '//og fjerner ' fra dem da det kan med føre problemer!
If email = "" Or _ kode = "" Then
Response.Redirect "index.asp"
End If
'//Hvis et af felterne er blanke bliver brugeren sendt tilbage '//til index.asp med en fejlmelding.
Dim dbUsers, rsUsers, SQL, Path Set dbUsers = Server.CreateObject("ADODB.Connection") Path = "DBQ=" & server.mappath("db.mdb") dbUsers.Open "DRIVER={Microsoft Access Driver (*.mdb)};"&Path Set rsUsers = Server.CreateObject("ADODB.Recordset") SQL = "SELECT * FROM bruger WHERE email='" & (email) & "' And kode='" & (kode) & "'" rsUsers.Open SQL, dbUsers
'//Åbner forbindelsen til db.mdb databasen
If rsUsers.BOF Or rsUsers.EOF Then Response.Redirect "index.asp"
'//Hvis brugernavnet og passwordet ikke matcher er recordsettet tomt, '//Hvis det er det bliver brugeren sendt til login.asp med en fejlmelding!
Else Response.Redirect "main.asp"
'//Hvis det ikke er tomt er brugeren "fundet" og brugeren sendes til main.asp '//med sin nye idUser session der holder brugerens ID
Set Connection = Server.CreateObject("ADODB.Connection") Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("db.mdb") SQLstringK="SELECT * FROM bruger ORDER by id desc" SET RS=Connection.Execute(SQLstringK)
%>
Siden man kommer ind på når man logger ind :
<!--#include file="connect.inc"-->
<html> <body>
<h1>DENNE SIDE ER HEMMELIG !</h1>
Velkommen til din egen side. <br> <br> <font color="red"><b><%=RS("navn")%></b></font> <br> <%=RS("adresse")%> <br> <%=RS("postnr")%> , <%=RS("city")%> <br>
<% RS.close set RS =nothing connection.close set connection = nothing %>
<br> <br> <a href="logoff.asp"><< Log Ud >></a> </body> </html>
If rsUsers.BOF Or rsUsers.EOF Then 'session id Session("id") = rsUsers("id") Response.Redirect "index.asp"
og så på din side hvor der skal stå info
ID=cint(session("id"))
<% dim Connection,SQLstringK,RS
Set Connection = Server.CreateObject("ADODB.Connection") Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("db.mdb") SQLstringK="SELECT * FROM bruger ORDER WHERE id="&ID SET RS=Connection.Execute(SQLstringK)
%>
Siden man kommer ind på når man logger ind :
<!--#include file="connect.inc"-->
<html> <body>
<h1>DENNE SIDE ER HEMMELIG !</h1>
Velkommen til din egen side. <br> <br> <font color="red"><b><%=RS("navn")%></b></font> <br> <%=RS("adresse")%> <br> <%=RS("postnr")%> , <%=RS("city")%> <br>
det skal stå på den side man kommer ind på. Du skal jo huske at du skal gemme den id brugeren logger in dpå, sådan at du kan hente hans information frem senere.
Du gemmer id'en her:
If rsUsers.BOF Or rsUsers.EOF Then ******************'session id Session("id") = rsUsers("id")'**************************** Response.Redirect "index.asp"
Denne id skal så ligges ind i SQL på den anden side: 'skal stå før denne linie fx: ID=cint(session("id")) dim Connection,SQLstringK,RS
Set Connection = Server.CreateObject("ADODB.Connection") Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("db.mdb") SQLstringK="SELECT * FROM bruger ORDER WHERE id="&ID SET RS=Connection.Execute(SQLstringK)
I SQL'en sætter du så brugerens id = den id der loggede ind. Derefter skriver du det bare ud
Velkommen til din egen side. <br> <br> <font color="red"><b><%=RS("navn")%></b></font> <br> <%=RS("adresse")%> <br> <%=RS("postnr")%> , <%=RS("city")%>
Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i ORDER BY-delsætningen. /web/shop/bruger/connect.inc, line 8
<% ID=cint(session("id")) dim Connection,SQLstringK,RS
Set Connection = Server.CreateObject("ADODB.Connection") Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("db.mdb") SQLstringK="SELECT * FROM bruger ORDER WHERE id="&ID SET RS=Connection.Execute(SQLstringK)
hehe det prøvede jeg faktisk at rette selv, men så fik jeg den her fejl og troede jeg havde lavet noget forkert men den kom alligevel.. :-(
Fejltype: ADODB.Field (0x80020009) Enten er BOF eller EOF sand, eller den aktuelle post er blevet slettet. Den anmodede handling kræver en aktuel post. /web/shop/bruger/main.asp
Jamen hvor er det dog fantastisk, så spiller det hele jo. Var godt nok noget mere kompliceret end jeg regnede med da jeg stod op kl.11 og gik igang og nu er klokken sq over 21.... :-D
Tusind tak for hjælpen. Vil lige kigge på din løsning på mit første spørgsmål og se om det giver mere mening :-)
Nu er det meningen at det her engang skulle blive til en side hvor man kan bestille nogle gamle ting min kæreste vil sælge.
Kan jeg bruge den session ID folk har her til at adskille ordrer hvis nu der er 4 personer som er ved at bestille noget samtidig ? Det var det der var meningen med at lave alt det her... hehe
Lyder helt klart som en nemmere løsning det du har skrevet, nu var det bare af mangel på bedre jeg fik det til at fungere, men aner ikke hvad meget af det betyder... hehe
Endnu engang tusind tak, der kommer nok en enkelt ting eller 2 mere ;-)
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.