22. september 2004 - 19:10Der er
12 kommentarer og 1 løsning
if * then * else. sætning med PROBLEM :o)
Set conn=Server.CreateObject("ADODB.connection") Set oRSlogon=Server.CreateObject("ADODB.recordset") conn.connectionstring="DSN=DSNST" conn.Open
' Henter logon oplysninger oRSlogon.Open "SELECT * FROM users", conn
' DET ER I DENNE IF SÆTNING DET GÅR GALT... ' JEG HAR TJÆKKET AT username1 OG username HAR DEN SAMME VÆRDI ' OGSÅ password1 OG password... MEN DEN SKRIVER ALTID ' Du er IKKE logget korrekt ind ' HVAD ER DER GALT...??? If Request.Form("username1") = oRSlogon("username") AND Request.Form("password1") = oRSlogon("password") THEN
Response.Write "<h1>Du er nu logget korrekt ind</h1>"
Else
Response.Write "<h1>Du er IKKE logget korrekt ind</h1>"
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Prøv evt. at rette: If lcase(Request.Form("username1")) = lcase(oRSlogon("username")) AND lcase(Request.Form("password1")) = lcase(oRSlogon("password")) THEN
<trekkies> det vil ikke give nogen mening... der står jo også andet i min tabel end lige det ene logon... også hvis man bare gætter et eller andet der står i databasen er man logget ind.... det er jo ikke smart... ps der er ikke nogle af de eks der virker..
<superior> dit eks gjore i torien det samme som mit... :o(
jeg har prøvet at lave den sådan her
If Request.Form("username1") = "eksempel" AND Request.Form("password1") = "eksempel" THEN
det virker... og alt i min database står med små bogstaver uden mellemrum, og det gør mit indtastede også...
jeg ved ikke lige hvad der går galt der men vil gerne vide det :os
Hvorfor ikke lave en WHERE på din SQL sætninge og lade database finde brugernavn og password?
Eller skal du havde et loop i koden som tjekke alle posterne igemme for korrekt brugernavn og password:
oRSlogon.Open "SELECT * FROM users", conn
' DET ER I DENNE IF SÆTNING DET GÅR GALT... ' JEG HAR TJÆKKET AT username1 OG username HAR DEN SAMME VÆRDI ' OGSÅ password1 OG password... MEN DEN SKRIVER ALTID ' Du er IKKE logget korrekt ind ' HVAD ER DER GALT...???
fundet=false Do While (NOT oRSlogon.EOF and fundet=false) If lcas(Request.Form("username1")) = lcase(oRSlogon("username")) AND lcase(Request.Form("password1")) = lcase(oRSlogon("password")) THEN fundet=true Response.Write "<h1>Du er nu logget korrekt ind</h1>" End If oRSlogon.Movenext loop if fundet=false then Response.Write "<h1>Du er IKKE logget korrekt ind</h1>" End if
oRSlogon.Open "SELECT * FROM users WHERE username ='"&replace(Request.Form("username1"),"'","")&"' AND [password]='"&replace(Request.Form("password1"),"'","")&"'", conn if not oRSlogon.EOF then Response.Write "<h1>Du er nu logget korrekt ind</h1>"
Else
Response.Write "<h1>Du er IKKE logget korrekt ind</h1>"
<!-- Top grafik --> <table width="770" border="0" align="center" cellspacing="0" cellpadding="0"> <tr> <td height="15"><img src="pic/space.gif"></td> </tr> <tr> <td width="100%"><img src="pic/top.gif"></td> </tr> <!-- /Top grafik --> <tr> <td width="100%" background="pic/table.gif"> <table width="100%" border="0" align="center" cellspacing="0" cellpadding="0"> <tr> <td> <table width="100%" border="0" align="center" cellspacing="0" cellpadding="0"> <tr> <td> <!-- Login check --> <% If request.form("num") = 1 then set num = nothing
Set conn=Server.CreateObject("ADODB.connection") Set oRSlogon=Server.CreateObject("ADODB.recordset") conn.connectionstring="DSN=DSNST" conn.Open ' Henter logon oplysninger oRSlogon.Open "SELECT * FROM users", conn ' PROBLEMET ' Tjek om login og password er korrekte If Request.Form("username1") = oRSlogon("username") AND Request.Form("password1") = oRSlogon("password") THEN
'Hvis korrekt sættes session til JA Response.Write "<h1>Du er nu logget korrekt ind</h1>"
Else 'Hvis forkert sættes ingen session til NEJ Response.Write "<h1>Du er IKKE logget korrekt ind</h1>"
Hvis du har mere end en bruger kan du ikke bare lave det med en if sætningen hvis du henter alle brugerne ud som i løsningen 22/09-2004 19:38:17. Så brug løsningen i 22/09-2004 19:40:15 der bruger den SQL til at finde brugeren og du har kun en if sætningen til at tjekke det.
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.