/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
få forkerte data database
Fra : Claus


Dato : 08-01-03 15:11

Hej med jer

Jeg har et stort problem, jeg håber at der er nogen der kan
hjælpe mig med.

Jeg har lavet login så mine kunder kan så deres drift status, men
problemet er at det er de samme data der kommer ud ved alle login
og ikke de data der tilhøre det indtastet bruger navn.

Kan jeg få et bud på hvad der er galt

data kommer fra en access database.

login funktionen er delt op i 3 ASP script: login.asp,
verify_user.asp og protected.asp

login.asp:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Response.ExpiresAbsolute = #1/1/1980#
Response.AddHeader "cache-control", "no-store, must-revalidate,
private"
Response.AddHeader "Pragma", "no-cache"
%>
<html>
<head>
<link rel="stylesheet" type="text/css" href="../style.css">
<title>Administration - Log ind</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1"></head>
<body>

<table borderColor="#000000" cellSpacing="0"
borderColorDark="#000000" cellPadding="0" width="100%"
bgColor="#669999" borderColorLight="#000000" border="1"
style="border-collapse: collapse">
<tr>
<td borderColorLight="#669999" width="100%"
borderColorDark="#669999">
<p align="center"><font color="#FFFFFF"><b>Kunde Log
ind</b></font></td>
</tr>
</table>
<p>&nbsp;</p>
<form name="login" method="post" action="verify_user.asp">
<Div align="center">
<table width="289" border="0" cellspacing="2"
cellpadding="0">
<tr>
<td width="362"><p>Brugernavn:<br>
<input name="f_brugernavn" type="text"
id="f_brugernavn" size="45">
<br>
</p>
</td>
</tr>
<tr>
<td>Password:<br>
<input name="f_password" type="password"
id="f_password" size="45"></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Log
ind"></td>
</tr>
</table>
</div>
</form>
</body>
<html>

verify_user.asp:
<% @Language = VBScript %>
<% Option Explicit %>
<%
Session("godkendt") = False 'Session der angiver om man er logget
ind eller ej. Her sat til IKKE Logget ind.
Session("kundeID") = "" 'Session der indeholder data fra feltet
brugernavn eg. Superman.
Session("kundePath") = "" 'Session der indeholder data fra feltet
fornavn eg. Jens.

Dim StrConnect, ConnStr, SQLtemp, rs 'Definering af Variabel til
at skabe ADO relation.
Set StrConnect = Server.CreateObject("ADODB.Connection")
ConnStr = "DRIVER={Microsoft Access Driver (*.mdb)}; "
ConnStr = ConnStr & "DBQ=" & Server.MapPath("users.mdb")
StrConnect.Open ConnStr,"",""

SQLtemp = "SELECT * FROM t_bruger WHERE brugernavn = '" 'Selve
SQL-trækket
SQLtemp = SQLtemp & request("f_brugernavn") & "'"
Set rs = StrConnect.Execute(SQLtemp)

If rs.eof Then
Session("godkendt") = False
Else
If rs("password") = Request("f_password") Then 'Hvis
Passwordcheck udført korrekt, fortsæt.
Session("godkendt") = True 'Starter en Session med navnet
Godkendt
Session("kundeID") = rs("kundeID") 'Session der indeholder
data fra feltet brugernavn eg. Superman.
Session("kundePath") = rs("kundepath") 'Session der
indeholder data fra feltet fornavn eg. Jens.
Else
Session("godkendt") = False 'Stopper Sessionen med navnet
Godkendt
End If
End If
Set rs = Nothing
StrConnect.Close
Set StrConnect = Nothing 'Tømmer

If Session("godkendt") = true Then
Response.redirect("protected.asp") 'Gå da til siden
protected.asp
Else 'Ellers er Login IKKE udført korrekt, går til
login_invalid.asp
Response.redirect("login.asp")
End If%>

protected.asp:
<% @Language = VBScript %>
<%

Dim StrConnect, ConnStr, SQLtemp, rs 'Definering af Variabel til
at skabe ADO relation.
Set StrConnect = Server.CreateObject("ADODB.Connection")
ConnStr = "DRIVER={Microsoft Access Driver (*.mdb)}; "
ConnStr = ConnStr & "DBQ=" & Server.MapPath("users.mdb")
StrConnect.Open ConnStr,"",""

rsINFO = "SELECT * FROM t_bruger" 'Selve SQL-trækket
Set rs = StrConnect.Execute(rsINFO) %>
<html>
<head>
</head>
<body>
<table>
<tr><td>Navn: <% response.write rs("brugernavn")%> </td><td>Sti:
<% response.write rs("kundeID")%></td></tr>
</table><p>
<%

Set rs = Nothing
StrConnect.Close
Set StrConnect = Nothing 'Tømmer
%>



--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Chrisser (08-01-2003)
Kommentar
Fra : Chrisser


Dato : 08-01-03 15:24


"Claus" <cqr@cc-data.dk> skrev i en meddelelse
news:avhbi8$oa5$1@sunsite.dk...
> Hej med jer
>
> Jeg har et stort problem, jeg håber at der er nogen der kan
> hjælpe mig med.
>
> Jeg har lavet login så mine kunder kan så deres drift status, men
> problemet er at det er de samme data der kommer ud ved alle login
> og ikke de data der tilhøre det indtastet bruger navn.

Det ser for mig ud som om problemet ligger i nedenstående sætning:

> rsINFO = "SELECT * FROM t_bruger" 'Selve SQL-trækket

Du mangler en where på din select der angiver hvilken bruger du vil have
udtræk fra, derfor får du sikkert alle ud, og den første post i dit
recordset er den der bliver vist.
Et bud på din SQL kunne være:

rsINFO = "SELECT * FROM t_bruger where KundeId=" & Session("KundeId")


Chrisser



Claus (08-01-2003)
Kommentar
Fra : Claus


Dato : 08-01-03 15:51

Chrisser wrote in dk.edb.internet.webdesign.serverside.asp:
> "Claus" <cqr@cc-data.dk> skrev i en meddelelse
> news:avhbi8$oa5$1@sunsite.dk...
> > Hej med jer
> >
> > Jeg har et stort problem, jeg håber at der er nogen der kan
> > hjælpe mig med.
> >
> > Jeg har lavet login så mine kunder kan så deres drift status, men
> > problemet er at det er de samme data der kommer ud ved alle login
> > og ikke de data der tilhøre det indtastet bruger navn.
>
> Det ser for mig ud som om problemet ligger i nedenstående sætning:
>
> > rsINFO = "SELECT * FROM t_bruger" 'Selve SQL-trækket
>
> Du mangler en where på din select der angiver hvilken bruger du vil have
> udtræk fra, derfor får du sikkert alle ud, og den første post i dit
> recordset er den der bliver vist.
> Et bud på din SQL kunne være:
>
> rsINFO = "SELECT * FROM t_bruger where KundeId=" & Session("KundeId")
>
>
> Chrisser
>
>
så får jeg denne fejl

Error Type:
Microsoft VBScript compilation (0x800A0409)
Unterminated string constant
/protected.asp, line 10, column 68




--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

///JJ (08-01-2003)
Kommentar
Fra : ///JJ


Dato : 08-01-03 16:31

"Claus" <cqr@cc-data.dk> wrote in message news:avhdso$gor$1@sunsite.dk...
> Chrisser wrote in dk.edb.internet.webdesign.serverside.asp:
> > Et bud på din SQL kunne være:
> >
> > rsINFO = "SELECT * FROM t_bruger where KundeId=" & Session("KundeId")
> >
> Microsoft VBScript compilation (0x800A0409)
> Unterminated string constant
> /protected.asp, line 10, column 68

Da du arbejder med en tekststreng skal du jo lige have en apostrof på hver
side af Session("KundeID") og muligvis starte med "set"

set rsINFO = "SELECT * FROM t_bruger where KundeId=[']" & Session("KundeId")
& "[']"

Jeg har med vilje sat apostrofferne i firkantparanteser, så man kan få øje
på dem. De skal naturligvis ikke med rigtigt. Hvis det stadig giver fejl, så
post resultatet af følgende linier til os:

sql="SELECT * FROM t_bruger where KundeId=[']" & Session("KundeId") & "[']"
response.write sql
response.end


mvh
///JJ



Claus (08-01-2003)
Kommentar
Fra : Claus


Dato : 08-01-03 17:42

///JJ wrote in dk.edb.internet.webdesign.serverside.asp:
> "Claus" <cqr@cc-data.dk> wrote in message news:avhdso$gor$1@sunsite.dk...
> > Chrisser wrote in dk.edb.internet.webdesign.serverside.asp:
> > > Et bud på din SQL kunne være:
> > >
> > > rsINFO = "SELECT * FROM t_bruger where KundeId=" & Session("KundeId")
> > >
> > Microsoft VBScript compilation (0x800A0409)
> > Unterminated string constant
> > /protected.asp, line 10, column 68
>
> Da du arbejder med en tekststreng skal du jo lige have en apostrof på hver
> side af Session("KundeID") og muligvis starte med "set"
>
> set rsINFO = "SELECT * FROM t_bruger where KundeId=[']" & Session("KundeId")
> & "[']"
>
> Jeg har med vilje sat apostrofferne i firkantparanteser, så man kan få øje
> på dem. De skal naturligvis ikke med rigtigt. Hvis det stadig giver fejl, så
> post resultatet af følgende linier til os:
>
> sql="SELECT * FROM t_bruger where KundeId=[']" & Session("KundeId") & "[']"
> response.write sql
> response.end
>
>
> mvh
> ///JJ
>
>
i filen protected.asp har jeg ændet til

set rsINFO = "SELECT * FROM t_bruger where brugernavn='" &
Session("brugernavn") & "'"

Jeg har skrevet brugernavn og ikke kundeid da det er brugernavn jeg valider på

Technical Information (for support personnel)

Error Type:
Microsoft VBScript runtime (0x800A01A8)
Object required: '[string: "SELECT * FROM t_brug"]'
/protected.asp, line 10


Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Page:
GET /protected.asp

Time:
8. January 2003, 17:35:06

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Claus (08-01-2003)
Kommentar
Fra : Claus


Dato : 08-01-03 17:47

///JJ wrote in dk.edb.internet.webdesign.serverside.asp:
> "Claus" <cqr@cc-data.dk> wrote in message news:avhdso$gor$1@sunsite.dk...
> > Chrisser wrote in dk.edb.internet.webdesign.serverside.asp:
> > > Et bud på din SQL kunne være:
> > >
> > > rsINFO = "SELECT * FROM t_bruger where KundeId=" & Session("KundeId")
> > >
> > Microsoft VBScript compilation (0x800A0409)
> > Unterminated string constant
> > /protected.asp, line 10, column 68
>
> Da du arbejder med en tekststreng skal du jo lige have en apostrof på hver
> side af Session("KundeID") og muligvis starte med "set"
>
> set rsINFO = "SELECT * FROM t_bruger where KundeId=[']" & Session("KundeId")
> & "[']"
>
> Jeg har med vilje sat apostrofferne i firkantparanteser, så man kan få øje
> på dem. De skal naturligvis ikke med rigtigt. Hvis det stadig giver fejl, så
> post resultatet af følgende linier til os:
>
> sql="SELECT * FROM t_bruger where KundeId=[']" & Session("KundeId") & "[']"
> response.write sql
> response.end
>
>
> mvh
> ///JJ
>
>
Jeg har lige prøvet at skrive:

rsINFO = "SELECT * FROM t_bruger where kundeid='" & Session("kundeid") & "'"

og det ser ud til at det virker, så jeg takker ind til vidre.

Jeg vender tilbage hvis der er mere


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Brian Christensen (08-01-2003)
Kommentar
Fra : Brian Christensen


Dato : 08-01-03 15:50


"Claus" <cqr@cc-data.dk> skrev i en meddelelse
news:avhbi8$oa5$1@sunsite.dk...
> Hej med jer
>
> Jeg har et stort problem, jeg håber at der er nogen der kan
> hjælpe mig med.
>
> Jeg har lavet login så mine kunder kan så deres drift status, men
> problemet er at det er de samme data der kommer ud ved alle login
> og ikke de data der tilhøre det indtastet bruger navn.
>
> Kan jeg få et bud på hvad der er galt
>
> data kommer fra en access database.
>
> login funktionen er delt op i 3 ASP script: login.asp,
> verify_user.asp og protected.asp
>
> login.asp:
> <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
> <%
> Response.ExpiresAbsolute = #1/1/1980#
> Response.AddHeader "cache-control", "no-store, must-revalidate,
> private"
> Response.AddHeader "Pragma", "no-cache"
> %>
> <html>
> <head>
> <link rel="stylesheet" type="text/css" href="../style.css">
> <title>Administration - Log ind</title>
> <meta http-equiv="Content-Type" content="text/html;
> charset=iso-8859-1"></head>
> <body>
>
> <table borderColor="#000000" cellSpacing="0"
> borderColorDark="#000000" cellPadding="0" width="100%"
> bgColor="#669999" borderColorLight="#000000" border="1"
> style="border-collapse: collapse">
> <tr>
> <td borderColorLight="#669999" width="100%"
> borderColorDark="#669999">
> <p align="center"><font color="#FFFFFF"><b>Kunde Log
> ind</b></font></td>
> </tr>
> </table>
> <p>&nbsp;</p>
> <form name="login" method="post" action="verify_user.asp">
> <Div align="center">
> <table width="289" border="0" cellspacing="2"
> cellpadding="0">
> <tr>
> <td width="362"><p>Brugernavn:<br>
> <input name="f_brugernavn" type="text"
> id="f_brugernavn" size="45">
> <br>
> </p>
> </td>
> </tr>
> <tr>
> <td>Password:<br>
> <input name="f_password" type="password"
> id="f_password" size="45"></td>
> </tr>
> <tr>
> <td><input type="submit" name="Submit" value="Log
> ind"></td>
> </tr>
> </table>
> </div>
> </form>
> </body>
> <html>
>
> verify_user.asp:
> <% @Language = VBScript %>
> <% Option Explicit %>
> <%
> Session("godkendt") = False 'Session der angiver om man er logget
> ind eller ej. Her sat til IKKE Logget ind.
> Session("kundeID") = "" 'Session der indeholder data fra feltet
> brugernavn eg. Superman.
> Session("kundePath") = "" 'Session der indeholder data fra feltet
> fornavn eg. Jens.
>
> Dim StrConnect, ConnStr, SQLtemp, rs 'Definering af Variabel til
> at skabe ADO relation.
> Set StrConnect = Server.CreateObject("ADODB.Connection")
> ConnStr = "DRIVER={Microsoft Access Driver (*.mdb)}; "
> ConnStr = ConnStr & "DBQ=" & Server.MapPath("users.mdb")
> StrConnect.Open ConnStr,"",""
>
> SQLtemp = "SELECT * FROM t_bruger WHERE brugernavn = '" 'Selve
> SQL-trækket
> SQLtemp = SQLtemp & request("f_brugernavn") & "'"
> Set rs = StrConnect.Execute(SQLtemp)
>
> If rs.eof Then
> Session("godkendt") = False
> Else
> If rs("password") = Request("f_password") Then 'Hvis
> Passwordcheck udført korrekt, fortsæt.
> Session("godkendt") = True 'Starter en Session med navnet
> Godkendt
> Session("kundeID") = rs("kundeID") 'Session der indeholder
> data fra feltet brugernavn eg. Superman.
> Session("kundePath") = rs("kundepath") 'Session der
> indeholder data fra feltet fornavn eg. Jens.
> Else
> Session("godkendt") = False 'Stopper Sessionen med navnet
> Godkendt
> End If
> End If
> Set rs = Nothing
> StrConnect.Close
> Set StrConnect = Nothing 'Tømmer
>
> If Session("godkendt") = true Then
> Response.redirect("protected.asp") 'Gå da til siden
> protected.asp
> Else 'Ellers er Login IKKE udført korrekt, går til
> login_invalid.asp
> Response.redirect("login.asp")
> End If%>
>
> protected.asp:
> <% @Language = VBScript %>
> <%
>
> Dim StrConnect, ConnStr, SQLtemp, rs 'Definering af Variabel til
> at skabe ADO relation.
> Set StrConnect = Server.CreateObject("ADODB.Connection")
> ConnStr = "DRIVER={Microsoft Access Driver (*.mdb)}; "
> ConnStr = ConnStr & "DBQ=" & Server.MapPath("users.mdb")
> StrConnect.Open ConnStr,"",""
>
> rsINFO = "SELECT * FROM t_bruger" 'Selve SQL-trækket
> Set rs = StrConnect.Execute(rsINFO) %>
> <html>
> <head>
> </head>
> <body>
> <table>
> <tr><td>Navn: <% response.write rs("brugernavn")%> </td><td>Sti:
> <% response.write rs("kundeID")%></td></tr>
> </table><p>
> <%
>
> Set rs = Nothing
> StrConnect.Close
> Set StrConnect = Nothing 'Tømmer
> %>
>
>
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials

En anden ting...i stedet for at du et sted sætter Session("godkendt") =
False, lader være med at oprette en session, så sparer du lidt på
recurserne...
Så kan du stadig sætte Session("godkendt") = True når der er en lukket
ind...
-Blev vist lidt rodet...håber du fik fat i meningen :)
-Brian



Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408836
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste