webForumDet fria alternativet

Usernae, Password, Id Session check.

24 svar · 313 visningar · startad av Lazerzubb

LazerzubbMedlem sedan mars 2000542 inlägg
#1

Så här ser min kod ut
Den kollar Username och Password, men om jag vill att username och password ska finnas i ett specifikt ID i en access databas vad lägger jag till då ?
Som det är nu kan man ha ett username och ett annat password och det funkar ändå eftersom det inte är låst till ett, ID. Hur gör man så att de ska finnas i samma ID?

<% Visa = "SELECT * FROM search1"
   rs.Open Visa, Connect, adOpenStatic, adLockOptimistic

	X = FALSE

	Do Until X = TRUE OR rs.EOF

	If rs("Username") = Request.Form("Username") Then
	X = TRUE
	Exit Do
	End If

	rs.MoveNext

	Loop

	If X = TRUE Then

		Y = FALSE
		Do Until Y = TRUE OR rs.EOF

		If rs("Password") = Request.Form("password") Then
		Y = TRUE
		Exit Do
		End If

		rs.MoveNext

		Loop

	End If

	If X = FALSE Then 
	Response.Write "You've entered wrong Username!"

	ElseIf Y = FALSE Then
	Response.Write "You've entered wrong password"

	End If

	If X = TRUE AND Y = TRUE Then 
Session("username") = Request.Form("username")
Session("password") = Request.Form("password")

%>

------------------
Helvetet är den plats där engelsmännen lagar maten, Italienarna dirigerar trafiken och tyskarna står för underhållningen.

jorgenMedlem sedan feb. 20012 412 inlägg
#2

Oj, liknar webstudios sunkiga login-script :x

Mitt förslag är att du tänker om helt och tittar tex här:
http://cgi.webforum.nu/wf/Forum11/HTML/007634.html

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

StevekingMedlem sedan aug. 2001150 inlägg
#3

Japp.
Detdär loginscriptet är ganska komiskt.
Räcker med att du skriver vilket användarnamn och vilket lösenord som helst för att komma in.

------------------
Mvh :)

[Redigerat av Steveking den 21 jan 2002]

LazerzubbMedlem sedan mars 2000542 inlägg
#4

Skulle behöva hjälp att sammanställa allt :)

Här är min form kod:

          <form method="POST" action="login.asp">
            <b>The member service <br>
            <br>
            Username:</b><br>
            <input type="text" size="30" name="username">
            <p><b>Password:</b><br>
            <input type="password" size="30" name="password">
            <p><input type="submit" value="Login"></p>
          </form>

Sen kollades username och password med koden ovan men felet är ju ganska stort kan någon vara snäll och sätta in rätt värden i den kod ni hänvisar till ?

------------------
Helvetet är den plats där engelsmännen lagar maten, Italienarna dirigerar trafiken och tyskarna står för underhållningen.

LazerzubbMedlem sedan mars 2000542 inlägg
#5

Fälten i Search1 är
ID, Username, Password

Och det är annonsliknande system så det är till för att ändra sin annons.

------------------
Helvetet är den plats där engelsmännen lagar maten, Italienarna dirigerar trafiken och tyskarna står för underhållningen.

[Redigerat av Lazerzubb den 21 jan 2002]

[Redigerat av Lazerzubb den 21 jan 2002]

jorgenMedlem sedan feb. 20012 412 inlägg
#6

Hej, inte så mycket att ändra, hette din tabell Db?

mvh Jörgen :)

SQLStmt = "SELECT * FROM Db WHERE Username = '" & Request.Form("username") & "' AND [Password] = '" & Request.Form("password") & "'"
Set RS = objDB.Execute(SQLStmt) 
If RS.EOF Then
'#-- om inte uppgifterna stämde, redirecta till en errorsida --
Response.Redirect("error.asp") 
Else 
'#-- annars skapa en kaka och redirecta till en inloggadsida --
Response.Cokies("Login")("AnvId") = RS("ID")
Response.Redirect("inloggad.asp") 
End If
'#--städa upp använt object --
RS.Close()
set RS = Nothing

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

[Redigerat av jorgen den 21 jan 2002]

jorgenMedlem sedan feb. 20012 412 inlägg
#7

sedan kollen längst upp på de sidor som har krav på inloggning:

'#-- kolla så att besökaren har en kaka --
If len(Request.Cokies("Login")("AnvId")) = 0 then

'#-- användaren inte inloggad
response.redirect("loggain.asp")

end if

Du får byta till 2 o på kakan och ändra så namnen på dina sidor passar.

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

[Redigerat av jorgen den 21 jan 2002]

LazerzubbMedlem sedan mars 2000542 inlägg
#8

Får felmeddelande
Microsoft VBScript runtime error '800a01a8'

Object required: 'objDB'

Koden: jag har tagit bort ett o.

<!-- #include virtual="/land/adovbs.stm" -->
         <%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=D:/clients/rentonwww.com/search.mdb"
	
Set RS = Server.CreateObject("ADODB.Recordset") %>
<%
SQLStmt = "SELECT * FROM Search1 WHERE Username = '" & Request.Form("username") & "' AND [Password] = '" & Request.Form("password") & "'"
Set RS = objDB.Execute(SQLStmt) 
If RS.EOF Then
'#-- om inte uppgifterna stämde, redirecta till en errorsida --
Response.Redirect("error.asp") 
Else 
'#-- annars skapa en kaka och redirecta till en inloggadsida --
Response.Cokies("Login")("AnvId") = RS("Id")
Response.Redirect("elogintest.asp") 
End If
'#--städa upp använt object --
RS.Close()
set RS = Nothing

%>

[Redigerat av Lazerzubb den 21 jan 2002]

jorgenMedlem sedan feb. 20012 412 inlägg
#9

hej, på raden Set RS = objDB.Execute(SQLStmt) skriver du istället:

Set RS = Connect.Execute(SQLStmt)

Red: om du har samma namn på connectionobjectet som ovan ;)

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

[Redigerat av jorgen den 21 jan 2002]

jorgenMedlem sedan feb. 20012 412 inlägg
#10

Hej, sedan kan du ta bort raden som du lade till:

Set RS = Server.CreateObject("ADODB.Recordset")

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

[Redigerat av jorgen den 21 jan 2002]

LazerzubbMedlem sedan mars 2000542 inlägg
#11

Ok det funkar nu,
Men nu till nästa sida.
Där börjar koden så här

<!-- #include virtual="/land/adovbs.stm" -->
         <%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=D:/clients/domain/search.mdb"
	
Set rs = Server.CreateObject("ADODB.Recordset") %>

<% Visa = "SELECT * FROM search1"
   rs.Open Visa, Connect, adOpenStatic, adLockOptimistic

%>
<%
'#-- kolla så att besökaren har en kaka --
If len(Request.Co
kies("Login")("AnvId")) = 0 then
'#-- användaren inte inloggad
response.redirect "emember.asp

end if
%>

Felmeddelande:
Microsoft VBScript compilation error '800a0409'

Unterminated string constant
response.redirect "emember.asp

------------------
Helvetet är den plats där engelsmännen lagar maten, Italienarna dirigerar trafiken och tyskarna står för underhållningen.

jorgenMedlem sedan feb. 20012 412 inlägg
#12
'#-- kolla så att besökaren har en kaka --
If len(Request.Cokies("Login")("AnvId")) = 0 then
'#-- användaren inte inloggad
response.redirect("emember.asp")

end if

RED: denna kodsnutt bör ligga överst på sidan.

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

[Redigerat av jorgen den 21 jan 2002]

LazerzubbMedlem sedan mars 2000542 inlägg
#13

Har lagt den överst nu,
Jag plockade bort sessions kollning, och nu tror jag att det blev lite problem.

<!-- #include virtual="/land/adovbs.stm" -->
         <%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=D:/clients/domain/search.mdb"
	
Set rs = Server.CreateObject("ADODB.Recordset") %>

<% Visa = "SELECT * FROM search1"
   rs.Open Visa, Connect, adOpenStatic, adLockOptimistic

%>

<FORM METHOD="POST" ACTION="ecedit.asp">
<input type="hidden" name="infoid" value="<%=rs("ID")%>">
  <div align="left">
    <table border="0" width="400" height="1" bgcolor="#FFFFF4">
      <tr>
        <td width="110" height="5"><DIV ID=brod><B>Owner's name:</B></DIV>
        </td>
        <td width="280" height="5"> <input type="text" name="oname" value="<%=rs("oname")%>" style="background-color:#CCCCCC; font-size: 9pt; border: solid black 1px;">
        </td>
      </tr>
</FORM>
<%	End If
	rs.Close
	Connect.Close %>

Felmeddelande:
Microsoft VBScript compilation error '800a0400'

Expected statement

End If.

------------------
Helvetet är den plats där engelsmännen lagar maten, Italienarna dirigerar trafiken och tyskarna står för underhållningen.

[Redigerat av Lazerzubb den 21 jan 2002]

@ndersMedlem sedan juni 200032 969 inlägg
#14

Tredje raden nerifrån har du en end if som inte har något if. Hör end if:et till cookie-kollen du flyttade bort månne?

jorgenMedlem sedan feb. 20012 412 inlägg
#15

Hej, jag ser ingen start på if-satsen. om det är hela koden så ta bort den markerade biten:

<!-- #include virtual="/land/adovbs.stm" -->
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=D:/clients/domain/search.mdb"

Set rs = Server.CreateObject("ADODB.Recordset") %>
<% Visa = "SELECT * FROM search1"
rs.Open Visa, Connect, adOpenStatic, adLockOptimistic

%>

<FORM METHOD="POST" ACTION="ecedit.asp">
<input type="hidden" name="infoid" value="<%=rs("ID")%>">
<div align="left">
<table border="0" width="400" height="1" bgcolor="#FFFFF4">
<tr>
<td width="110" height="5"><DIV ID=brod><B>Owner's name:</B></DIV>
</td>
<td width="280" height="5"> <input type="text" name="oname" value="<%=rs("oname")%>" style="background-color:#CCCCCC; font-size: 9pt; border: solid black 1px;">
</td>
</tr>
</FORM>
<% [b]End If[/b]
rs.Close
Connect.Close %>

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

LazerzubbMedlem sedan mars 2000542 inlägg
#16

Jo nu får jag inga felmeddelande, men man kommer alltid till första ID,et vilket username / Password man än skriver till,
Hur ändrar man så att man editerar det ID där username och Password är samma ?

------------------
Helvetet är den plats där engelsmännen lagar maten, Italienarna dirigerar trafiken och tyskarna står för underhållningen.

jorgenMedlem sedan feb. 20012 412 inlägg
#17
SQLStmt = "SELECT * FROM Db WHERE Username = '" & Request.Form("username") & "' AND [Password] = '" & Request.Form("password") & "'"
Set RS = Connect.Execute(SQLStmt) 
If RS.EOF Then
'#-- om inte uppgifterna stämde, redirecta till en errorsida --
Response.Redirect("error.asp") 
Else 
'#-- annars skapa en kaka och redirecta till en inloggadsida --
Response.Cokies("Login")("AnvId") = RS("ID")
[b]Response.Redirect("elogintest.asp?user="&RS("ID")&"") [/b]
End If
'#--städa upp använt object --
RS.Close()
set RS = Nothing

och sedan när du hämtar info från användaren:

select * from tabellen
where ID = "& request.querystring("user")

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

[Redigerat av jorgen den 21 jan 2002]

jorgenMedlem sedan feb. 20012 412 inlägg
#18

eller bara:

select * from tabellen
where ID = "& Request.Cokies("Login")("AnvId")

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

[Redigerat av jorgen den 21 jan 2002]

LazerzubbMedlem sedan mars 2000542 inlägg
#19

WHOOAAA vad jag suger på ASP, det blir och läsa lite nybörjar guider igen.

Felmeddelande:
Microsoft VBScript compilation error '800a0409'

Unterminated string constant

Visa = "SELECT * from Search1 where ID = "& request.querystring("user")"

<% Visa = "SELECT * from Search1 where ID = "& request.querystring("user")"
   rs.Open Visa, Connect, adOpenStatic, adLockOptimistic

%>

------------------
Helvetet är den plats där engelsmännen lagar maten, Italienarna dirigerar trafiken och tyskarna står för underhållningen.

jorgenMedlem sedan feb. 20012 412 inlägg
#20

ta bort sista fnutten:

Visa = "SELECT * from Search1 where ID = "& request.querystring("user")

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

[Redigerat av jorgen den 21 jan 2002]

140 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)