Avatar billede Beach Mester
20. februar 2002 - 01:21 Der er 6 kommentarer og
2 løsninger

If a1 <> a2 Then....

Har føølgende kode (forkortet) som ikke vil acceptere at a1 & a2 rent faktisk ER ens! Hvad gør jeg galt?

Function checkfile()
Dim fso, f, filespec
Dim pw1, pw2, a1, a2

Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.MapPath(Request.Querystring("tlf") & ".txt")
Set f = fso.OpenTextFile(filespec,1)
For intLine = 1 to 5
  f.SkipLine
Next

'giv a1 & a2 linie 6 & 7 minus de førsrte 11 & 15 tegn
pw1 = f.ReadLine
pw2 = f.ReadLine
a1 = Mid(pw1,11,20)
a2 = Mid(pw2,15,20)

'Checker om PW er indtastet ens
If a1 <> a2 Then
Response.Write "Fejl i password" & "<br>"
Response.Write (a1) & "<br>"
Response.Write (a2) & "<br>"
End If
f.Close
End Function

Grunden til at jeg bruger "mid(pw1,11,20)" er at der før selve passwordet står "Password: "
Grunden til at jeg bruger "mid(pw2,15,20)" er at der før selve passwordet står "Test password: "
Det der bliver udskrevet er ens, det der bliver indtastet er ens!

Help me......

//Beach
Avatar billede excession Nybegynder
20. februar 2002 - 03:34 #1
der hvor du læser passwords.. er de på samme linie eller hvad?

-- xs
Avatar billede Beach Mester
20. februar 2002 - 03:37 #2
Nope, det er linie 6 med password og linie 7 med test password:
f.WriteLine "Password: " & Request.Querystring ("password")
f.WriteLine "Test password: " & Request.Querystring ("repeatpassword")

//Beach
Avatar billede Beach Mester
20. februar 2002 - 03:44 #3
Filen er en *.txt fil og data for bruger ligger så i hver linie som ovenstående ala:
Linie1=Navn: Allan Beach
Linie2=Adresse: VV24, 1 tv
Linie3=Post....

Vil du se hele koden for at finde ud af systemet??

//Beach
Avatar billede Beach Mester
20. februar 2002 - 05:17 #4
Alle lader til at falde fra når jeg komme med en mindre kryptisk børge:-(
Er det umuligt at køre det, eller kræver det en del mere kode end det jeg har på plakaten eller.....
Sig frem, der er nu 60 potinat hente på den der kan løse opgaven på den ene eller den anden måde!
Se evt. her:
http://exp.dk/spm/173521
//Beach
Avatar billede torbenmelander Nybegynder
20. februar 2002 - 08:20 #5
Prøv bruge StrComp ...

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsfctstrcomp.asp

Du kan angive om den skal en binary comparison el. textual comparison ... se mere på hjemmesiden ...
Avatar billede coltau Juniormester
20. februar 2002 - 09:14 #6
Jeg har testet din kode og den er umiddelbart fejlfri, hvilket betyder at a1 er forskellig fra a2.
Eller sagt på en anden måde:
1. Check for store og små bogstaver. Brug evt:
a1 = LCase(Mid(pw1,11,20)) ' Tillad forskel på store og små bogstaver
a2 = LCase(Mid(pw2,15,20))

2. Der er blanktegn med (Der hentes jo 20 tegn): Brug evt.
a1 = Trim(Mid(pw1,11,20)) ' Fjern blanktegn
a2 = Trim(Mid(pw2,15,20))

Endelig kan det jo også være at positionerne 11 og 15 ikke er de rigtige.
Avatar billede Beach Mester
20. februar 2002 - 22:49 #7
>>>coltau
Det lyder meget sansynligt det du har gang i, og jeg vil straks mit hotel er på benene igen efterprøve det:-)
Den med blanktegn er nok der problemet ligger selv om jeg har prøvet at lave scriptet direkte efter et kendt pw.

//Beach
Avatar billede Beach Mester
20. februar 2002 - 23:07 #8
>>>coltau
Alt i den bedste orden, det virker med Trim så det var altså noget med blanktegn at gøre... Takker:-)
>>>torbenmelander
Tak for linket, men da jeg først skulle have fjernet de første tegn i min string før sammenligningen så var det altså ikke nok med StrComp.

//Beach
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