Avatar billede hagler Nybegynder
22. september 2004 - 19:10 Der 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>"

End If
Avatar billede trekkies Juniormester
22. september 2004 - 19:14 #1
Prøv dette:

If Not rs.Eof Then
Response.Write "<h1>Du er nu logget korrekt ind</h1>"

Else
                           
Response.Write "<h1>Du er IKKE logget korrekt ind</h1>"
End If
Avatar billede arne_v Ekspert
22. september 2004 - 19:19 #2
Er du helt sikker på at de er ens ? Der er ikke nogen mellemrum eller
lignende ?
Avatar billede Jman Praktikant
22. september 2004 - 19:19 #3
Har du kontrolleret at det staves på samme måde (altså store og små bogstaver) ?
Avatar billede Jman Praktikant
22. september 2004 - 19:20 #4
Prøv evt. at rette:
If lcase(Request.Form("username1")) = lcase(oRSlogon("username")) AND lcase(Request.Form("password1")) = lcase(oRSlogon("password")) THEN
Avatar billede hagler Nybegynder
22. september 2004 - 19:29 #5
<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
Avatar billede esoulman Nybegynder
22. september 2004 - 19:30 #6
må vi se din form?
Avatar billede hagler Nybegynder
22. september 2004 - 19:31 #7
ps. men det skulle jo gerne køre op mod min database. så jeg ik kun kan have en bruger...
Avatar billede eagleeye Praktikant
22. september 2004 - 19:38 #8
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
Avatar billede eagleeye Praktikant
22. september 2004 - 19:40 #9
Eks med "ren" SQL:

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>"

End If
Avatar billede hagler Nybegynder
22. september 2004 - 19:48 #10
<html>
<head>
  <title>Login</title>
</head>
<body>
<%
dim username, password, num, rs
%>

<!-- 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>"

    End If

    %>
        </td>
      </tr>
      </table>
<!-- /Login check -->
<% End If %>
<!-- Login area -->
      <table width="100" border="0" align="center" cellspacing="0" cellpadding="0">
      <tr>
        <td>
        <form method="post" action="index.asp">
      Username:
        </td>
        <td>
        <input type="text" name="username1">
        </td>
      </tr>
      <tr>
        <td>
        Password:
        </td>
        <td>
        <input type="text" name="password1">
        </td>
      </tr>
      <tr>
        <td>
    <input type="hidden" name="num" value="1">
        </td>
        <td>
    <input type="Submit" value="Login" class="button">
        </td>
      </tr>
      </table>
<!-- /Login area -->
    </td>
    </tr>
  </table>
  </td>
</tr>
<!-- Botton grafik -->
<tr>
  <td width="100%"><img src="pic/botton.gif"></td>
</tr>
</table>
</body>
</html>

det er hele min kode
Avatar billede hagler Nybegynder
22. september 2004 - 19:54 #11
<eagleeye> Smukt lavet... men et eller andet sted ikke en løsning da. jeg vil have det til at køre med en if * then * else sætning....
Avatar billede eagleeye Praktikant
22. september 2004 - 19:56 #12
Hvilken af de to tænker du på?

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.
Avatar billede hagler Nybegynder
01. februar 2005 - 16:06 #13
Det virker nu :o)
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