• User

    [ASP] Controllare il click su un link

    Ciao a tutti,

    ho un dubbio, forse non solo quello, che mi sta facendo fumare il cervello...
    E' possibile dichiarare una variabile (supponiamo accesso)

    
    dim accesso 
    accesso = 0 
     
    
    

    dopodiché assegnargli un altro valore

    [/code]
    accesso = 1

    [/code]

    nel momento in cui l'utente clikka su un link della pagina?

    Quello che io ho fatto è questo:

    nella pagina in cui c'è il link includo un file variabile.inc con il seguente codice

    
    dim eccesso 
    accesso = 0 
     
    
    

    il link è il seguente:

    
    < a href="pagina.asp?pagina=otranto" onclick=<% accesso = 1 %>> 
     
    
    

    e la pagina.asp ha il seguente codice:

    
    <% 
     
    pagina = request.querystring("pagina") 
    If pagina = "" or accesso = 0 then 
    response.redirect("/2/home.htm") 
    else 
    response.redirect("/2/prodotti/" & pagina &".asp") 
    End if 
     
    %> 
     
    
    

    ma il tutto non funziona...
    Perchè?
    dove sbaglio?
    aiutatemi vi prego...
    Grazie mille
    Kite


  • Moderatore

    Perchè le pagine asp non ricordano lo stato delle variabili. Quindi quando lanci il redirect dove ti dovrebbe caricare la variabile la ritrova azzerata (o cmq con un valore sballato).

    Per fare quello che chiedi devi ricorrere ad un database (consigliato se il numero di link da controllare è elevato o cmq come soluzione generale) o ad un file che contenga i dati. Quest'ultimo è più complicato da gestire ma se devi controllare un solo link ad esempio, potrebbe essere la soluzione più rapida ed efficace.

    Ovviamente il database o il file ti servono per memorizzarci il valore della variabile e ricaricartelo a redirect della pagina.


  • User

    grazie Shad di avermi risposto...

    Per me andrebbe benissimo utilizzare la connessione al database..
    Il database come deve essre strutturato?
    Ad esempio Accesso.mdb con una tabella Indirizzi e campo id?
    Nella pagina.asp dove c'è il response.redirect come faccio a richiamare la variabile che coindide con quella indicata nel link?

    Potresti farmi un breve esempio?
    Ti sono debitore...
    Kite


  • Moderatore

    Ma tu vuoi controllare gli accessi alle pagine o il numero di link che vengono cliccati? Faccio un esempio per chiarire meglio:

    supponiamo di avere una pagina pippo.asp e di avere due link che conducono a questa pagina:
    link1
    link2

    è tua intenzione avere una cosa del genere:
    pippo.asp è stata letta 3 volte

    oppure una cosa del genere:
    link1 è stato cliccato 1 volta
    link2 è stato cliccato 2 volte

    A seconda di quello a cui punti la struttura del database cambia.
    Nel primo caso basta avere un database del genere:

    • Pagina (primary key, text)
    • Letture (numerico)

    ed inserire nel codice delle pagine un incremento delle proprie letture ad ogni apertura della pagina.

    Nel secondo caso la situazione si complica un pò, ma non è una cosa impossibile da fare.
    Fammi sapere e vediamo un pò quello che riusciamo a tirar fuori...