Avatar billede mortency Nybegynder
02. maj 2002 - 02:32 Der er 1 kommentar og
1 løsning

Sjekke om brukernavn er tatt....

Dette scriptet skal oppdatere en bruker.

Hvis man ikke endrer brukernavnet så skal det oppdatere de endringer man gjør.

men hvis brukernavnet endres så skal den sjekke om brukernavnet er opptatt. Dette får jeg til men da sier den at brukernavnet er oppdatt.

<!--#include file ="include/common.asp"-->
<%   
    dim strFullName
    dim strUserName
    dim strPassword
    dim strSecuritLevel
   
    dim adoCn
    dim strSQL
    set adoCn = Server.CreateObject("ADODB.Connection")
    adoCn.Open strConn
   
    strUserID = Request.QueryString("UserID")
    strFullName = Request.Form("txtFullName")
    strUserName = Request.Form("txtUserName")
    strPassword = Request.Form("txtPassword")
    strSecurityLevel = Request.Form("txtSecurityLevel")
   
    ' Nullstill feilmeldingen
    error = ""

    If Len(strFullName) < 1 Then
        error = error & "Navn er for kort. "
    End If

    If Len(strUserName) < 8 Then
        error = error & "Brukernavn er for kort. Må være 8 tegn. "
    End If

    If Len(strPassword) < 5 Then
        error = error & "Passord for kort. Minst 5 tegn. "
    End If

    If Len(strFullName) > 50 Then
        error = error & "Navn må ikke overskride 50 tegn. "
    End If
   
    If Len(strUserName) > 8 Then
        error = error & "Brukernavn må ikke overskride 8 tegn. "
    End If

    If Len(strPassword) > 8 Then
        error = error & "Passord må ikke overskride 8 tegn. "
    End If

    If Isnumeric(strSecurityLevel) = False Then
        error = error & "Brukernivå må være et tall. "
    End If
   
    dim adoRs
    set adoRs = Server.CreateObject("ADODB.Recordset")
    strSQL1 = "SELECT COUNT(*) AS ok FROM Users WHERE UserName=" & "'" & strUsername &"'"
    set adoRs = adoCn.Execute(strSQL1)
   
    If adoRs("ok") = 1 Then
        error = error & "Brukernavnet var tatt. "
    End if
   
    ' Dersom error ikke er "", har det oppstått minst en feil. Skriv ut feilmelding
    If error <> "" Then
        Response.Clear
        %><html>
        <body onload="window.alert('En feil skjedde! <% =error %>');
                window.history.back();">
        &nbsp;</body></html><%
        Response.End
    End If
   
    strSQL = "UPDATE Users SET FullName='" & strFullName &_
        "', UserName='" & strUserName &_
        "', UPassword='" & strPassword &_
        "', SecurityLevel='" & strSecurityLevel &_
        "' WHERE UserId="& strUserId
   
    adoCn.Execute strSQL
    adoCn.Close
    set adoCn = nothing
   
    Response.Redirect "admin_BrukerListe.asp"
%>

Avatar billede eagleeye Praktikant
02. maj 2002 - 08:23 #1
du kan lavet noget i stil med:_

strSQL "SELECT strUserId FROM Users WHERE UserName = '" & strUserName & "';"
set rs = cadoCn.Execute (strSQL)

InserOK = false
if not rs.EOF then
  if CInt(strUserId) = CInt(rs("UserID")) then 
    'Brugernavn findes men det er den samme bruger :)
    InserOK = true
  end if
else
  InserOK = true 'Nyt bruger navn findes ikke
end if

if InserOK = true then

  strSQL = "UPDATE Users SET FullName='" & strFullName &_
        "', UserName='" & strUserName &_
        "', UPassword='" & strPassword &_
        "', SecurityLevel='" & strSecurityLevel &_
        "' WHERE UserId="& strUserId
   
    adoCn.Execute strSQL
else
  Response.write "brugernavn findes vælg et andet"
end if

adoCn.Close
set adoCn = nothing
Avatar billede eagleeye Praktikant
02. maj 2002 - 08:24 #2
hvis dine UserID i databasen er definereet som noget andet end tal så skal denne linie rettes:
if CInt(strUserId) = CInt(rs("UserID")) then 
til:
if strUserId = rs("UserID") then
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