Avatar billede mightythor Nybegynder
11. december 2002 - 14:33 Der er 9 kommentarer og
2 løsninger

Hurtigt nemt spørgsmål :)

Jeg har følgende script:

set conn = server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)}; dbq=" & server.mappath("data.mdb")
sqlstmt = "select * from members where id = " & request("id")
conn.Execute (sqlstmt)
set rs = conn.execute(sqlstmt)
password = request.form("memberpassword")
pw = rs("memberpassword")
pw2 = rs("id")
if password <> pw then
conn.close
set conn = nothing
set sqlstmt = nothing
response.redirect ("memberpage.asp?id=") & pw2
end if



Denne linie:

if password <> pw then

Checker om password er rigtigt, kan jeg gøre noget lignede:

if password <> pw or password <> "masterpassword" then

istedet? Hvis man kan sådanne noget, hvordan vil syntaksen så være?
Avatar billede Spotgun Seniormester
11. december 2002 - 14:35 #1
Du har selv svaret på det... Din syntaks er rigtig nok....
Avatar billede Spotgun Seniormester
11. december 2002 - 14:37 #2
Er der iøvrigt nogen bestemt grund til at du checker om passwordet er forskelligt fra det indtastede (<> i stedet for =)? Undrede mig bare lidt...
Avatar billede mightythor Nybegynder
11. december 2002 - 14:38 #3
Nej, hvis jeg gør som der står hvirker det ikke. Så refresher den bare siden som om der er indtastet forkert
Avatar billede Spotgun Seniormester
11. december 2002 - 14:41 #4
...også hvis du indtaster "masterpassword" i din login-formular?

Prøv at komme med hele dit script, så kan det være jeg kan rette lidt op på det...
Avatar billede websmith Nybegynder
11. december 2002 - 14:43 #5
du skal nok bruge en AND istedet for OR.

Dvs.

if password <> pw and password <> "masterpassword" then

Jeg går ud fra følgende er det du vil:

Hvis password er forskellig fra pw og password ikke er master passwordet, så skal du udføre indholdet af if sætningen
Avatar billede websmith Nybegynder
11. december 2002 - 14:45 #6
Med en OR, så hopper den videre når første del bliver sand, dvs. password <>pw, med en AND, så checker den først pw og derefter masterpassword.
Avatar billede Spotgun Seniormester
11. december 2002 - 14:50 #7
Ahh, yeah - my bad. Jeg glemte helt at ta' højde for at han bruger <> i stedet for =

Det skal selvfølgelig være OR, hvis han brugte = til at kontrollere passwordet med...
Avatar billede Spotgun Seniormester
11. december 2002 - 14:50 #8
eller rettere.... det vil kræve en helt anden struktur på hans login-check... Nok om det :-)
Avatar billede mightythor Nybegynder
11. december 2002 - 14:52 #9
Tak skal i ha' nu funker det
Avatar billede ffse.dk Nybegynder
11. december 2002 - 14:59 #10
Jeg kan ikke sige det nok. HUSK input-validering.

Prøv at køre din side med 'login.asp?id=5;delete%20members;'

Det vil slette hele din 'members'-tabel.
Avatar billede ffse.dk Nybegynder
11. december 2002 - 15:04 #11
BTW, en nemmere metode:

SQL = "SELECT COUNT(*) FROM members WHERE memberpassword='" & replace(request("memberpassword"), "'", "''") & "' AND id = " & cint(request("id"))
set rs = conn.Execute(SQL)
if (rs.EOF) then
    'forkert passw.
else
    ' korrekt passw.
end if
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