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

    Mancata esecuzione di codice javascript da uno script asp

    salve a tutti,

    non riesco ad eseguire codice javascript all'interno di uno script asp richiamato con una include da un altro script asp.
    Il codice è il seguente:


    idUtente=Session("IDUtente")
    strsql=("Select flagattivo, idservice from T_Utenti Where id =" & IdUtente )
    Set RST = Server.CreateObject ("ADODB.RECORDSET")
    RST.ActiveConnection=Application("AppDSN")
    RST.Open(strsql)
    if RST.EOF = false then
    flagattivo=rst("flagattivo")
    if trim(rst("flagattivo")) = "SI" then
    call ....
    else
    %>
    <script language="javascript">
    alert('Errore:accesso non consentito, utente disabilitato.');
    history.back();
    </script>
    <%
    end if
    RST.Close
    set RST=Nothing
    end if
    %>

    Invece di comparire l'alert, lo script pur avendo il flag valore = 'NO', prosegue permettendo l'accesso ad un menù.


    Qualcuno mi può aiutare ?

  2. #2
    Se guardi il codice della pagina da browser vedi o no il codice javascript?

  3. #3
    scusa ma non ho capito;
    mi stai chiedendo cosa vedo nel browser durante l'esecuzione dello script ?

  4. #4
    Originariamente inviato da fulla
    scusa ma non ho capito;
    mi stai chiedendo cosa vedo nel browser durante l'esecuzione dello script ?
    Si. Dopo aver caricato la pagina, da Explorer, vai sul menu Visualizza e quindi su HTML.

  5. #5
    Mentre mi rispondevi ho fatto una prova

    Per completezza di informazione lo script prima inserito è richiamato da un altro script asp come segue:



    <%
    var=gblScriptName & "?ut=" & Session("Utente")
    Response.redirect gblScriptName & "?ut=" & Session("Utente") & "&tipout=" & RSUtenti("tipoutente")




    FLAGATTIVO:ASP

    idUtente=Session("IDUtente")
    strsql=("Select flagattivo, idservice from T_Utenti Where id =" & IdUtente )
    Set RST = Server.CreateObject ("ADODB.RECORDSET")
    RST.ActiveConnection=Application("AppDSN")
    RST.Open(strsql)
    if RST.EOF = false then
    flagattivo=rst("flagattivo")
    if trim(rst("flagattivo")) = "SI" then
    call ...
    else
    %>
    <script language="javascript">
    alert('Errore:accesso non consentito, utente disabilitato.');
    history.back();
    </script><%
    end if
    RST.Close
    set RST=Nothing
    end if
    %>


    Se commento la redirect riesco a vedere l'alert.
    Può essere che l'alert non lo esegue in presenza di una redirect ?

  6. #6
    Quello è il codice che vedi sul browser, ovvero, dal menu Visualizza / HTML?
    Se si, allora mi sa che il tuo server non processa l'asp.
    Domanda, che indirizzo hai sul browser quando chiami la pagina?

  7. #7
    No,

    il serve processa asp dato che proprio in mancanza dello stop dell'alert mi porta alla pagina principale di un menù in cui navigo tranquillamente
    Non ho un indirizzo ma il nome del server web seguito dal nome dello script asp (pagina di login) che mi fa accedere o meno ( a seconda se l'utente è abilitato o meno) al menù di cui sopra.

  8. #8
    prova a togliere, per ora, l'history.back()

  9. #9
    Stessa cosa, però se metto una response.end dopo l'include e prima della response.redirect che ti dicevo, ovvero quando il controllo torna allo script chiamante, l'alert viene eseguito.
    E' come se la redirect inibisse l'alert.
    Può essere ?

  10. #10
    Problema risolto in questo modo:

    SCRIPT ASP CHIAMANTE

    ...
    <%
    if flagerr > 0 then
    call DeterminaErrore(flagerr)
    else
    var=gblScriptName & "?ut=" & Session("Utente")
    Response.redirect gblScriptName & "?ut=" & Session("Utente") & "&tipout=" & RSUtenti("tipoutente")
    end if
    ...

    ASP CHIAMATA

    <%
    dim idutente, rst, rst1, conn, ssql, flagattivo, idservice, strsql, cn, valore, flagerr

    idUtente=Session("IDUtente")
    strsql=("Select flagattivo, idservice from T_Utenti Where id =" & IdUtente )
    Set RST = Server.CreateObject ("ADODB.RECORDSET")
    RST.ActiveConnection=Application("AppDSN")
    RST.Open(strsql)
    if RST.EOF = false then
    flagattivo=rst("flagattivo")
    if trim(rst("flagattivo")) = "SI" then
    idservice=rst("idservice")
    Call VerificaAbilitazioneService(IdService)
    Call CtrlSessione(IdUtente)
    else
    flagerr=1
    end if
    RST.Close
    set RST=Nothing
    end if



    Function VerificaAbilitazioneService(IdService)

    'Preleva i dati relativi ai campi Idutente e Utente

    Set RST = Server.CreateObject ("ADODB.RECORDSET")
    RST.ActiveConnection=Application("AppDSN")
    RST.Open("Select flagattivo,name from T_Service Where code ='" & IdService & "' ")
    if rst("flagattivo") <> "SI" then
    flagerr=2
    end if

    End function


    Function CtrlSessione(Utente)

    'Attiva la sessione per l'utente loggato
    Set RST1 = Server.CreateObject ("ADODB.RECORDSET")
    RST1.ActiveConnection=Application("AppDSN")
    strsql=("Select flagsessione from T_Utenti Where id =" & utente)
    RST1.Open(strsql)
    if rst1("flagsessione") = 1 then
    flagerr=3
    RST1.Close
    set RST1=Nothing
    else
    set cn= Server.CreateObject("ADODB.Connection")
    cn.Open Application("AppDSN")
    valore=1
    sql=("update t_utenti set flagsessione=" & valore & " where id=" & IdUtente )
    cn.execute(sql)
    cn.close
    set cn = nothing
    end if

    End function


    %>


    FUNZIONE DETERMINAERRORE

    Function DeterminaErrore(valore)

    'Imposta l'errore

    if valore = 1 then
    %>
    <script language="javascript">
    alert('Errore:accesso non consentito, utente disabilitato.');
    history.back();
    </script><%
    elseif valore = 2 then%>
    <script language="javascript">
    alert("Errore:accesso non consentito, service disattivata.");
    history.back();
    </script><%
    elseif valore = 3 then%>
    <script language="javascript">
    alert("Errore:accesso non consentito, utente già attivo.");
    history.back();
    </script><%
    else
    end if

    End function

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.