/ 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
Jeg ka sgut hit u a et / elendigheden kend~
Fra : Mirjana Ninn-Pederse~


Dato : 30-04-02 20:52

Hej folkens.

Er der nogen, der kan gennemskue, hvad der er galt med nedenstående kode?
(som stammer fra www.zoo-dyreparker.dk/henrik )

Meningen er, at man taster sit user id ind på den forgående side, og så
ryger man til denne side, der tjekker, om det er rigtigt.

Men selv om man taster et korrekt user navn ind, sættes session("login")
ikke til ok.

Hvad er der galt? Anyone?

-Henrik

strSQL="select userid from passwordtabel"
oConn = Server.CreateObject("ADODB.Connection")
oConn.Open ("DRIVER={MySql}; SERVER=mysql.zoo-dyreparker.dk; DATABASE=mindb;
UID=mig; PWD=mitpswd")
oConn.DefaultDatabase = "mindb"

oRs = oConn.Execute(strSQL)

Session("login") = "øv"

******* det er det her, det er galt med, tror jeg ************

while ( !oRs.EOF )
{
if (Request.Form("user")==oRs("userid")) {
Response.Write("<p>Det er OK<br></p>")
Session("login") = "ok"}
else {Response.Write("<p>Det er stadig forkert<br></p>")}

oRs.MoveNext
}

oConn.Close()

// Tjek om login og password er korrekte
if ( Session("login") == "ok" )
{
// Hvis korrekt sættes session til JA
Session("starttid") = now
Session("logon_user") = Request.Form("user")
Session.Timeout = 30
Response.Redirect ("../forening/default.asp")
}
else
{

// Hvis forkert sættes session til NEJ
Session("login") = "NEJ"
Session.Timeout = 30
Response.Write ("<h1>Du er IKKE logget korrekt ind</h1>")
}



 
 
Jakob Andersen (30-04-2002)
Kommentar
Fra : Jakob Andersen


Dato : 30-04-02 21:02

"Mirjana Ninn-Pedersen" <pladderballeradio@ms.com> wrote in message
news:OBCz8.7820$HZ2.664161@news000.worldonline.dk...
> strSQL="select userid from passwordtabel"

Der er vel ingen grund til at hive alle posterne ud fra databasen for blot
at finde en enkelt, noget ala:

strSQL = "SELECT userid FROM passwordtabel WHERE userid = " +
Request.Form("user")

Og så tjekke om dit recordset er EOF, hvis dette er tilfældet er brugerid'et
ikke i databasen

--
Jakob Andersen



Jakob Møbjerg Nielse~ (01-05-2002)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 01-05-02 00:27

> if (Request.Form("user")==oRs("userid")) {

Du skal kun have en enkelt '=' i prædikater.

Du bruger tilsyneladende en blanding af VBScript og JScript.

Eks.

while ( !oRs.EOF )
{
if (Request.Form("user")==oRs("userid")) {
Response.Write("<p>Det er OK<br></p>")
Session("login") = "ok"}
else {Response.Write("<p>Det er stadig forkert<br></p>")}

oRs.MoveNext
}

Skal skrives om til

while (not oRs.EOF)
if (Request.Form("user") = oRs("userid"))
Response.Write("<p>Det er OK<br></p>")
Session("login") = "ok"
else
Response.Write("<p>Det er stadig forkert<br></p>")
end if

oRs.MoveNext
wend


--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
| -- Terry Pratchett, Reaper Man



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408952
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste