01. januar 2009 - 21:08Der er
8 kommentarer og 1 løsning
If - flere ting skal være opfyldt
Godt Nytår !
Jeg har nedenstående script jeg gerne vil have til at validere på både "bruger" og "brugerpassword" Så min ide er at det må være noget med at HVIS bruger = indtastet brugeremail OG brugerpassword = indtastet password.
Jeg kan ikke rigtigt få det til at fungere, og håber der er en der kan hjælpe mig!
bruger = replace(Request.Form("brugeremail"),"'","") password = replace(Request.Form("brugerpassword"),"'","")
'tjek om bruger findes SQL = "select * from nyhedsmail where bruger = '" &bruger& "'" Set rs=Conn.Execute(SQL) if not rs.EOF then SQL = "update nyhedsmail set aktiv=1 where bruger = '" &bruger& "'" Conn.Execute(SQL) Response.Redirect("default1.asp?m=tak_tilmeld") Else Response.Redirect("default1.asp?m=ej_oprettet")
end if
' Luk databaseforbindelse Conn.Close Set Conn = Nothing
softspot> Det var den forkerte kode jeg har sat ind :o) - - - Vil du prøve at kigge på denne istedet?
Mit problem er at den sætter aktiv til 1, uanset hvilken kode det tastes i formularen. Jeg vil gerne have det sådan, at den KUN skal opdatere hvis 1. brugeren(mobil) er i DB, og 2. hvis der er indtastet den korrekte kode(password). Kan du se hvad der er galt med koden?
mobil = replace(Request.Form("mobil"),"'","") password = replace(Request.Form("password"),"'","")
'tjek om bruger findes SQL = "select * from nyhedsmail where mobil = '" &mobil& "' AND userpass = '" & password & "'"
Set rs=Conn.Execute(SQL) if not rs.EOF then SQL = "update nyhedsmail set aktiv=1 where mobil = '" &mobil& "'" Conn.Execute(SQL) Response.Redirect("default1.asp?m=tak_tilmeld") Else Response.Redirect("default1.asp?m=forkert_kode") end if
' Luk databaseforbindelse Conn.Close Set Conn = Nothing
Umiddelbart ser det korrekt ud. Jeg går ud fra at din Response.Redirect("default.asp?m=forkert_kode") svarer til findes_ikke.asp, ellers skal du naturligvis omdirigere til findes_ikke.asp i stedet for default.asp i else-delen af din if-sætningen...
Dog vil jeg påpege at din forbindelse ikke bliver lukket da du omdirigerer (redirect) brugeren, inden conn.close kaldes (udførsel af kode på siden stoppes ved bla. Response.Redirect). Det kan få konsekvenser for tilgængeligheden af forbindelser til databasen, hvis der kommer lidt trafik på din server. Du bør altså kalde Conn.Close inden Response.Redirect (begge steder).
det kan sagtens være sådan noget der driller. Du kan evt. prøve at udskrive SQL-sætningen inden du udfører den. Det afslører typisk årsagen til problemer med SQL der ikke opfører sig som det skal :-)
Altså noget i stil med:
SQL = "select * from nyhedsmail where mobil = '" &mobil& "' AND userpass = '" & password & "'"
Response.Write SQL Response.End
Set rs=Conn.Execute(SQL)
Så kan du evt. se om feltere mobil og password indeholder det du forventer...
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.