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

    area protetta visualizzare dati a seconda dell'utente

    ciao,
    vi chiedo cortesemente se sapete dirmi dove possa tovarre degli esempi.
    il mio caso è di far vedere in un'are prottetta da login e pw una lista di record, a seconda dell'utente. Esiste già qualcosa del genere? c'è qualcuno che può darmi una dritta?
    grazie
    Tz

  2. #2
    I record riferiti ad un determinato utente devono avere un riferimento all'utente stesso.
    L'esempio più comune è che nella tabella dei dati da visualizzare c'è un campo IDUtente di tipo numerico dove viene memorizzato per ogni dato l'IDUtente al quale quel dato è riferito.

    A questo punto, quando l'utente esegue il login, salvi in una variabile di session il proprio IDUtente (preso dalla tabella utenti).
    Quando passi alla pagina che deve mostrare i dati la query fa una select prendendo quelli il cui IDUtente è uguale al valore IDUtente presente nella variabile di sessione.

    Questa è la logica.

  3. #3
    ok...grazie nella logica l'uso della variabile l'ho capito. ora ho iniziato a cercare anche nel sito di html se ci sono degli script in asp che porebbero in qualche modo darmi una mano ma non c'è stato verso.Più tardi cercherò informazioni leggendo da un libro... c'è qualche esempio da visualizzare per capirne il funzionamento?
    grazie
    Tz

  4. #4
    tabella_utenti
    idUtente - contatore
    username - testo
    password - testo

    tabella_dati
    idDato - contatore
    indirizzo - testo
    telefono - testo
    idUtente - numerico

    Esempio di tabelle popolate
    tabella_utenti
    idUtente - username - password
    1 - pippo - 123123
    2 - topolino - 999111
    3 - minnie - abcabc

    tabella_dati
    idDato - indirizzo - telefono - idUtente
    1 - via col vento 33 - 0123456 - 1
    2 - via le dita dal naso 55 - 0999665 - 3
    3 - piazza la palla 1 - 0876543 - 2
    4 - viale dei giardini 3 - 0234898 - 2
    5 - largo che passamo noi 99 - 066666332 - 1

    In fase di login se l'utente è riconosciuto crei la session("userID")

    formlogin.html
    codice:
    <form method="post" action="login.asp">
    username <input type="text" name="username" /> 
    password <input type="password" name="password" /> 
    <input type="submit" value="vai" />
    </form>
    login.asp
    codice:
    <%
    loginValido = false
    
    variabileUsername = trim(request.form("username"))
    variabilePassword = trim(request.form("password"))
    
    if len(variabileUsername) > 0 and len(variabilePassword) > 0 then
    
      variabileUsername = replace(variabileUsername,"'","''")
      variabilePassword = replace(variabilePassword,"'","''")
    
      set conn = server.createObject("ADODB.Connection")
      conn.open stringaConnessione
    
      sql = "SELECT * FROM tabella_utenti WHERE [username] = '" & variabileUsername & "' AND [password] = '" & variabilePassword & "'"
    
      set rs = conn.execute(sql)
    
        if not rs.eof then
          loginValido = true
          session("userID") = rs("idUtente")
          session("username") = rs("username")
          session("loginValido") = loginValido
        end if
    
      rs.close
      set rs = nothing
    
      conn.close
      set conn = nothing
    
    else
      response.write "I campi sono obbligatori"
    end if
    
    if loginValido then
      response.redirect "visualizzadati.asp"
    else
      response.write "Login non valido"
    end if
    %>
    visualizzadati.asp
    codice:
    <%
    if not session("loginValido") = true then response.redirect "formlogin.html"
    
    idUtente = session("userID")
    if len(idUtente) > 0 and  isNumeric(idUtente) then 
      idUtente = cLng(idUtente)
    else
      response.redirect "formlogin.html"
    end if
    
    set conn = server.createObject("ADODB.Connection")
    conn.open stringaConnessione
    
    sql = "SELECT * FROM tabella_dati WHERE idUtente = " & idUtente
    set rs = conn.execute(sql)
    
      response.write "Benvenuto " & session("username") & "
    "
    
      if not rs.eof then
        do until rs.eof
          response.write rs("indirizzo") & " - " & rs("telefono") & "
    "
          rs.moveNext
        loop
      else
        response.write "Non ci sono dati da visualizzare"
      end if
    
    rs.close
    set rs = nothing
    
    conn.close
    set conn = nothing
    %>

  5. #5
    ciao,
    mentre non ero on-line ho rovato sul sito sito

    un esempio di area protetta... ora gurado con calma tutti e due, nel frattempo ti ringrazio per il tempo e il codice che mi hai postato.

    Tiziano

  6. #6
    ciao ho provato entrambe le soluzioni e il codice scritto da te è senza dubbio più semplice. E' possibile, visto che l'appetito vien magiando, di usare un ulteriore livello tipo:

    tabella_UserGroup
    IdUserGroup - Contatore
    Group - testo
    username - testo


    tabella_utenti
    idUtente - contatore
    username - testo
    password - testo
    IdUserGroup - numerico

    tabella_dati
    idDato - contatore
    indirizzo - testo
    telefono - testo
    idUtente - numerico
    IdUserGroup - numerico



    Esempio di tabelle popolate

    tabella_UserGroup
    IdUserGroup - group - username
    1 - admin - pippo
    2 - user - topolino
    3 - visitor - minnie


    tabella_utenti
    idUtente - username - password - idUserGroup
    1 - pippo - 123123 - 1
    2 - topolino - 999111 - 2
    3 - minnie - abcabc - 3
    4 - clarabella - qwerty - 3

    tabella_dati
    idDato - indirizzo - telefono - idUtente - IdUserGroup
    1 - via col vento 33 - 0123456 - 1 - 1
    2 - via le dita dal naso 55 - 0999665 - 3 - 3
    3 - piazza la palla 1 - 0876543 - 2 - 2
    4 - viale dei giardini 3 - 0234898 - 2 -2
    5 - largo che passamo noi 99 - 066666332 - 1 - 1
    6 - lungo corso 2 - 222222222 - 4 - 3

    avrebbe senso creare un sistema che prenda in considerazione: admin/user/visitor?

    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.