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

    Funziona solo il primo login

    Fatta la pagina di login ... metto dentro username e password ... e funziona.
    Riprovo mettendo dentro anche gli stessi valori ... ma mi dà
    Provider error '80004005'
    Unspecified error
    e mi indica errore sulla linea
    MM_rsUser.ActiveConnection = MM_miaconnessione_STRING.

    Perchè solo il primo login e gli altri no?
    Dove posso cercare l'errore?

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    "il primo login" cosa significa?

    al secondo potresti avere una pagine diversa?

    hai provveduto a chiudere tutte le connessioni al db? non è che te ne rimane aperta una (o più) da qualche parte?

  3. #3
    infatti ... in locale mi rimane aperto un ldb fino a quando non chiudo dreamweaver

  4. #4
    Scusate ma veramente non capisco ... non so cosa ho cambiato (a parte che sono andato su un'altra postazione).

    Ho seguito passo passo un tranquillissimo esempio di login.
    Controllo utente sul mio db (Tabella Operatori) campi (Cognome_nome , Ente) .... ma mi dice
    Too few parameters. Expected 4
    Ma chi gli ha detto di aspettarsi 4 parametri!!!!!!
    Inoltre su Dreamweaver mi ritrovo sempre un ldb fino a quando non chiudo il programma.
    Grazie per la pazienza ... in tutte le cose faccio fatica a partire .. ma poi miglioro in fretta.


    <!--#include file="Connections/opimm.asp" -->

    <%
    ' *** 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("textfield"))
    If MM_valUsername <> "" Then
    Dim MM_fldUserAuthorization
    Dim MM_redirectLoginSuccess
    Dim MM_redirectLoginFailed
    Dim MM_loginSQL
    Dim MM_rsUser
    Dim MM_rsUser_cmd

    MM_fldUserAuthorization = ""
    MM_redirectLoginSuccess = "si.asp"
    MM_redirectLoginFailed = "no.asp"


    MM_loginSQL = "SELECT Cognome_nome, Ente"
    If MM_fldUserAuthorization <> "" Then MM_loginSQL = MM_loginSQL & "," & MM_fldUserAuthorization
    MM_loginSQL = MM_loginSQL & " FROM Operatori WHERE Cognome_nome = ? AND Ente = ?"
    Set MM_rsUser_cmd = Server.CreateObject ("ADODB.Command")
    MM_rsUser_cmd.ActiveConnection = MM_opimm_STRING
    MM_rsUser_cmd.CommandText = MM_loginSQL
    MM_rsUser_cmd.Parameters.Append MM_rsUser_cmd.CreateParameter("param1", 200, 1, 50, MM_valUsername) ' adVarChar
    MM_rsUser_cmd.Parameters.Append MM_rsUser_cmd.CreateParameter("param2", 200, 1, 255, Request.Form("textfield2")) ' adVarChar
    MM_rsUser_cmd.Prepared = true
    Set MM_rsUser = MM_rsUser_cmd.Execute


    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


    %>

  5. #5
    non ho letto il codice (MM_* fa stare male) ma l'errore deriva sicuramente da una query scritta male

  6. #6
    Il codice viene generato in automatico da DW ... voglio capire proprio per poterlo migliorare ...
    Comunque la query generata dovrebbe essere questa:
    MM_loginSQL = "SELECT Cognome_nome, Ente"
    If MM_fldUserAuthorization <> "" Then MM_loginSQL = MM_loginSQL & "," & MM_fldUserAuthorization
    MM_loginSQL = MM_loginSQL & " FROM Operatori WHERE Cognome_nome = ? AND Ente = ?"

    SELECT Cognome_nome, Ente, FROM Operatori WHERE Cognome_nome=Textfield AND Ente=Textfield2

    in Access la scriverei così... ma qui viene

    SELECT Cognome_nome, Ente FROM Operatori WHERE Cognome_nome = ? AND Ente = ?

    Come e dove vengono assegnati i parametri al "?" ?
    Ultima modifica di lucky_1959; 23-09-2016 a 13:01

  7. #7
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    prima di proseguire nella questione della query accertati di chiudere tutte le connessioni al db, altrimenti poi gli errori si accumulano.

  8. #8
    ok ...
    ma la chiusura non avviene con queste righe di codice?
    ...
    MM_rsUser.Close
    Response.Redirect(MM_redirectLoginSuccess)
    End If
    MM_rsUser.Close
    Response.Redirect(MM_redirectLoginFailed)
    End If

    Cos'altro (e come) devo eventualmente chiudere?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.