Avatar billede gr8m8 Novice
06. juli 2007 - 20:26 Der 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.

Håber i kan hjælpe mig.

I kan se mit problem her : http://www.theforge.dk/bruger
Avatar billede jansangill Nybegynder
06. juli 2007 - 20:34 #1
post din kode herinde, så kan vi jo se på det.
Avatar billede gr8m8 Novice
06. juli 2007 - 20:40 #2
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

End If
%>
Avatar billede gr8m8 Novice
06. juli 2007 - 20:45 #3
Database forbindelsen :

<%
    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 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">&lt;&lt; Log Ud &gt;&gt;</a>
</body>
</html>
Avatar billede jansangill Nybegynder
06. juli 2007 - 20:47 #4
okay, kan jo ikke se hvor din kode er til at vise det der bliver skrevet
Avatar billede gr8m8 Novice
06. juli 2007 - 20:50 #5
Det er den hemmelige side :-)
Avatar billede gr8m8 Novice
06. juli 2007 - 20:51 #6
måske du skrev lige idet jeg tilføjede det sidste ?
Avatar billede jansangill Nybegynder
06. juli 2007 - 20:53 #7
ja kan se hvor det er galt:

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>
Avatar billede jansangill Nybegynder
06. juli 2007 - 20:55 #8
kom også til at skrive en anden måde at løse din login på i din anden spørgsmål,hvis du føler du har brug for en anden metode.
Avatar billede gr8m8 Novice
06. juli 2007 - 20:56 #9
Det var godt nok hurtigt :-)

hvor skal dette stå siger du : ID=cint(session("id"))  ??
Avatar billede jansangill Nybegynder
06. juli 2007 - 21:01 #10
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")%>
Avatar billede gr8m8 Novice
06. juli 2007 - 21:05 #11
Hmm.... får en fejl nu.

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
Avatar billede jansangill Nybegynder
06. juli 2007 - 21:06 #12
hvad står der i connect.inc?
Avatar billede gr8m8 Novice
06. juli 2007 - 21:06 #13
<%
    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)
   
%>
Avatar billede jansangill Nybegynder
06. juli 2007 - 21:08 #14
hehe ja self..min fejl

SQLstringK="SELECT * FROM bruger WHERE id="&ID
Avatar billede gr8m8 Novice
06. juli 2007 - 21:10 #15
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
Avatar billede jansangill Nybegynder
06. juli 2007 - 21:13 #16
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
'session id
Session("id") = rsUsers("id")

    Response.Redirect "main.asp"


sådan
Avatar billede gr8m8 Novice
06. juli 2007 - 21:16 #17
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 :-)

Smid et svar og der kommer point ;)
Avatar billede gr8m8 Novice
06. juli 2007 - 21:19 #18
...forresten.

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
Avatar billede jansangill Nybegynder
06. juli 2007 - 21:20 #19
Svar:)

Og ja, hvis det er første gang man sidder med det kan det godt virke lidt uoverskueligt.

Personligt synes jeg det jeg skrev til dig på den anden spørgsmål er nemmere at overskue, men det er jo op til dig:)

Du skal huske at kontrollere om der er trykket på login btw:

din login button kunne se sådan her ud:

<input name="press" type="submit" value="login" size="15" />

så skal der tjekkes om der bliver trykket på login:

if request.form("press") = "login" then

ALT DIT KODE..

end if
Avatar billede jansangill Nybegynder
06. juli 2007 - 21:22 #20
Når hver person logger ind sulle de gerne blive tildelt deres egen ID, og udfra det skulle man kunne se deres loginoplysninger.

Hvordan du vil løse det resterende bliver jo spændende, da det jo synes at være et stort projekt.

Hvis du støder i problemer stiller du jo bare et spørgsmål mere:=
Avatar billede gr8m8 Novice
06. juli 2007 - 21:26 #21
hehe ja hvad gør man ikke for de kvindfolk :-P

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 ;-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester