Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    aree protette e dw...che guaio...

    ciao sono giorni che cerco di risolvere il problema e mems mi ha aiutato, ora però proprio perchè non è così semplice per me ho deciso di provare a risolvere il problema sfruttando il programma dw, croce e delizia, per un neofita va bene poi quando il neofita crede di sapere tutto crolla dal palco...
    ho creato una pagina chiamata webservice.asp in cui effettuo il login, tra le cose ho creao una variabile di sessione per tener traccia dell'utente e nel contempo ho creato una restrizione per UserGroup. il codice è il seguente:
    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    
    <%
    ' *** Validate request to log in to this site.
    MM_LoginAction = Request.ServerVariables("URL")
    If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Server.HTMLEncode(Request.QueryString)
    MM_valUsername=CStr(Request.Form("UserName"))
    If MM_valUsername <> "" Then
      MM_fldUserAuthorization="UserGroup"
      MM_redirectLoginSuccess="login.asp"
      MM_redirectLoginFailed="user.asp"
      MM_flag="ADODB.Recordset"
      set MM_rsUser = Server.CreateObject(MM_flag)
      MM_rsUser.ActiveConnection = MM_aaw_STRING
      MM_rsUser.Source = "SELECT UserName, Password"
      If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization
      MM_rsUser.Source = MM_rsUser.Source & " FROM tblLogin WHERE UserName='" & Replace(MM_valUsername,"'","''") &"' AND Password='" & Replace(Request.Form("Password"),"'","''") & "'"
      MM_rsUser.CursorType = 0
      MM_rsUser.CursorLocation = 2
      MM_rsUser.LockType = 3
      MM_rsUser.Open
      If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then 
        ' username and password match - this is a valid user
        Session("MM_Username") = MM_valUsername
        If (MM_fldUserAuthorization <> "") Then
          Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
        Else
          Session("MM_UserAuthorization") = ""
        End If
        if CStr(Request.QueryString("accessdenied")) <> "" And false Then
          MM_redirectLoginSuccess = Request.QueryString("accessdenied")
        End If
        MM_rsUser.Close
        Response.Redirect(MM_redirectLoginSuccess)
      End If
      MM_rsUser.Close
      Response.Redirect(MM_redirectLoginFailed)
    End If
    %>
    da questa pagina posso così dirigere le persone con una autorizzazione di admin ad una pagina chiamata login.asp (per ora provvisoria) e in caso autenticazione errata come admin il carooo dw spedisce ad una pagina chiamata user.asp.
    naturalmente la pagina logini.asp funziona...strano fin qui mi sento bravo, fa tutto lui...
    problema con la pagina user.asp...


    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <%
    ' *** Restrict Access To Page: Grant or deny access to this page
    MM_authorizedUsers="user,visitor"
    MM_authFailedURL="WebService.asp"
    MM_grantAccess=false
    If Session("MM_Username") <> "" Then
      If (false Or CStr(Session("MM_UserAuthorization"))="") Or _
             (InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
        MM_grantAccess = true
      End If
    End If
    If Not MM_grantAccess Then
      MM_qsChar = "?"
      If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
      MM_referrer = Request.ServerVariables("URL")
      if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
      MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
      Response.Redirect(MM_authFailedURL)
    End If
    %>
    
    <%
    Dim Recordset1__MMColParam
    Recordset1__MMColParam = "1"
    If (Session("IdUserName") <> "") Then 
      Recordset1__MMColParam = Session("IdUserName")
    End If
    %>
    <%
    Dim Recordset1
    Dim Recordset1_numRows
    
    Set Recordset1 = Server.CreateObject("ADODB.Recordset")
    Recordset1.ActiveConnection = MM_aaw_STRING
    Recordset1.Source = "SELECT * FROM tblDati WHERE IdUserName = '" + Replace(Recordset1__MMColParam, "'", "''") + "'"
    Recordset1.CursorType = 0
    Recordset1.CursorLocation = 2
    Recordset1.LockType = 1
    Recordset1.Open()
    
    Recordset1_numRows = 0
    %>
    qui si accede se una persona è user o visitor avendo creato la variabile di sessione ho pensato funziona tutto... invece no!
    nella pagina ho scritto una bellissima frase tipo:
    Benvenuto: <%= Session("MM_Username") %>!

    questa la vedo e se faccio la prova nella sezione test quando uno prova a vedere se tutto funuziona su dw nel momento in cui scrivo il nome dell'utente i dati si vedono, poi se però nella pagina richiamo:
    <%=(Recordset1.Fields.Item("pianta").Value)%>

    non è altro che un campo della tabella tblDati si pianta alla stessa riga in cui lo inserisco.
    l'errore è:
    Tipo di errore:
    ADODB.Field (0x800A0BCD)
    Il record corrente corrisponde all'inizio o alla fine del file oppure è stato eliminato. Per eseguire l'operazione richiesta è necessario disporre di un record corrente.
    /aaw/Service/user.asp, line 103


    Tipo di browser:
    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)

    Pagina:

    che fare ora?

    Grazie spero di esser stato abbastanza chiaro nell'esposizione del problema...

  2. #2
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Tipo di errore:
    ADODB.Field (0x800A0BCD)
    Il record corrente corrisponde all'inizio o alla fine del file oppure è stato eliminato. Per eseguire l'operazione richiesta è necessario disporre di un record corrente.
    /aaw/Service/user.asp, line 103

    è l'errore tipico di una query che non trova nessun recordset che corrisponde alle condizioni selezionate... non conosco il programma dw e forse sarebbe il caso di aprire un forum apposito vista la continua apertura di post con dw di mezzo su questa sezione ASP...

  3. #3
    ciao,
    grazie. La cosa che mi manda in bestia è che questo programma nella fase di realizzazione della stringa ha la possibilità di effettuare un test per vedere se ciò che scrivi ha senso...bene. esistono due versioni di creazione delle stringhe ed in una di queste funziona nell'altra no ed ecco perchè non funziona.
    La possibilità di creare un forum per dw credo non sia corretto sotto html, poichè la funzione di questo forum è di dare a tutti la possibilità di leggere e rispondere a problemi su asp. chi lavora dovrebbe in qualche modo imparare ed emigrare su altri programmi solo di script... poi la mia è solo un'opinione.
    Grazie
    Tiziano

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.