• User Attivo

    Utenti registrati

    A prescindere dal fatto che ho già creato tutte le routines per la registrazione ed il login volevo sapere come posso fare in modo che nella pagina principale una volta connesso non mi esca il form di login ma solo alcuni dati dell'utente es. "Benvenuto, ..."???


  • Moderatore

    Ciao Sraone77
    Semplicemente salvando i dati dell'utente in una variabile di sessione dopo il login

    Ipotiziamo che un'utente fa i login:

    
    StrSql = SELECT NOME FROM UTENTE WHERE PASSWORD = '"& StrPass &"'"
    RsRecord.Open StrSql, ObjConn
    If Not RsRecord.Eof Then
      Session("login") = "ok"
      Session("nome") = RsRecord("NOME")
    End If
    
    

    A questo punto prima di stampare il form per il login fai un controllo:

    
    If Not Session("login") = ok Then
      'Stampi il form
    Else
      Response.write "Benvenuto " & Session("nome")
    End If
    
    

    Io ho usato due variabili di sessione ma si potrebbe usare benissimo un'array
    Ciao:ciauz::ciauz:


  • User Attivo

    @Legolas said:

    Ciao Sraone77
    A questo punto prima di stampare il form per il login fai un controllo:

    >
    If Not Session("login") = ok Then
      'Stampi il form
    Else
      Response.write "Benvenuto " & Session("nome")
    End If
    
    >``` 
     
    
    

    If Not Session("login") = "ok" Then
    'Stampi il form
    Else
    Response.write "Benvenuto " & Session("nome")
    End If

    
    C'è un errore di distrazione :)

  • User Attivo

    Dove dici in questo caso?

    <%
    'Creo la variabile Action
    'ha come valore il campo act del form
    Dim Action
    Action = request.form("act")

    'Creo la variabile PrimaPagina
    'e la setto sulla mia prima pagina asp protetta
    Dim PrimaPagina
    PrimaPagina = "index.asp"

    'se Action è vuota stampo il form
    if Action = "" then
    %>

    <form method="POST" action="login.asp">
    <input type="hidden" name="act" value="enter">
    <table border="0" width="100%" cellspacing="0" cellpadding="0">
    <td><p style="margin: 0 8px">Username</p>
    <p style="margin: 0 8px"><input type="text" class="textarea" name="u" size="20"></p>
    <p style="margin: 0 8px">Password</p>
    <p style="margin: 0 8px"><input type="password" class="textarea" name="p" size="20"></p>
    </td>
    <tr>
    <td height="6px"></td>
    </tr>
    <tr>
    <td><p style="margin: 0 8px"><input type="submit" class="button" value="Login"></p>
    <p style="margin: 0 8px"><a href="registrati.asp" class="primop">Registra</a></p></td>
    </tr>
    </table>
    </form>

    <%
    'se Action ha come valore "enter"...
    elseif Action = "enter" then

    'creo la variabile User
    'con il valore del campo u del form
    Dim User
    User = request.form("u")

    'creo la variabile Pass
    'con il valore del campo p del form
    Dim Pass
    Pass = request.form("p")

    'Se User e/o Pass è vuota stampo un errore
    if (User = "" or Pass = "") then
    response.write "Form incompleto!"
    response.end

    'in caso contrario procedo alla verifica
    else

    'Apro la connessione al DB
    Dim Conn
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&_
    Server.MapPath("mdb-database/utenti_sito.mdb")

    'Imposto la query ed apro il recordset
    Dim Query, Rs
    Query = "select * from UTENTI where user = '" & User & "' "&_
    "and pass = '" & Pass & "'"
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Rs.Open Query, Conn, 3, 3

    'se nessun utente corrisponde stampo un errore
    Dim Connesso
    Connesso = 0
    if Rs.EOF then
    response.write "Spiacente! Login non corretto"
    response.end

    'in caso contrario imposto la mia session
    'ed effettuo il redirect sulla prima pagina
    else
    Session("User") = User
    Session("Pass") = Pass
    Connesso = 1
    Response.Redirect "enter.asp"

    end if

    'chiudo Rcordset e connessione
    Rs.Close
    set Rs = Nothing
    Conn.Close
    Set Conn= Nothing

    end if
    end if
    %>


  • User Attivo

    Ok grazie ho risolto!!!


  • Moderatore

    @madai said:

    
    

    If Not Session("login") = "ok" Then
    'Stampi il form
    Else
    Response.write "Benvenuto " & Session("nome")
    End If

    C'è un errore di distrazione 🙂

    Abbiate pazienza... in questi giorni non ne combino una giusta :D:D:D:D
    Ahhh l'amore:D:D:D:D......

    Ahahahahahahahah
    Ciao


  • User Attivo

    @Legolas said:

    Abbiate pazienza... in questi giorni non ne combino una giusta :D:D:D:D
    Ahhh l'amore:D:D:D:D......

    Ahahahahahahahah
    Ciao

    :yuppi: