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

    Problemi in output con la visualizzazione della data

    Salve,
    non riesco a capire come mai mi viene mostrata una data del tipo 25/12/1899 quando viene prelevata da un campo (di tipo data) di access.

    Lo script che segue serve a fal loggare gli utenti a pagine riservate.
    Una volta entrati faccio comparire (con una Session) nella pagina ok.asp la classica frase benvenuto... (nomeutente) ecc..
    Vorrei far uscire anche la data: es. Benvenuto Mario Rossi sei iscritto dal (data), ma la data che compare non è quella registrata in access.

    Come posso risolvere? Grazie.


    pagina "elabora.asp"
    codice:
    <%
    Dim nome_ut
    Dim pass
    
    nome_ut = Replace(Request.Form("nomeutente"), "'", "''")
    pass = Replace(Request.Form("password"), "'", "''")
    
    
    Dim cn
    Set cn = Server.CreateObject("ADODB.Connection")
    cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("iscritti.mdb")
    Dim sql
    sql = "SELECT ID FROM db_iscritti WHERE nomeutente='" &nome_ut& "' AND password='" &pass& "'"
    Dim rs
    Set rs = cn.Execute(sql)
    
    Dim autenticato
    if rs.eof then
      autenticato = false
    else
      autenticato = true
    end if
    
    Dim datainizio
    if rs.eof then
      datainizio = false
    else
      datainizio = true
    end if
    rs.Close
    
    
    if datainizio = true then
    sql = "SELECT datainizio FROM db_iscritti"
    Set rs = cn.Execute(sql)
    end if
    
    cn.Close
    Set rs = Nothing
    Set cn = Nothing
    
    if autenticato = true then
      Session("datainizio") = datainizio
      Session("Autenticato") = nome_ut
      Response.Redirect("ok.asp")
    else
      Response.Redirect("errore.asp")
    end if
    %>
    Pagina "ok.asp"

    codice:
    <%
    if Session("Autenticato") = "" then Response.Redirect("login.htm")
    %>
    Benvenuto <%=Session("Autenticato")%>
    Sei iscritto dal <%=Session("datainizio")%>
    Risultato 1:

    Benvenuto andreabolognesi Sei iscritto dal True

    Risultato 2:

    se inserisco Session("datainizio") = CDate(datainizio) in "elabora.asp" il risultato è

    Benvenuto andreabolognesi Sei iscritto dal 29/12/1899

  2. #2
    sql = "SELECT datainizio FROM db_iscritti"


    così, una "datainizio" qualunque?

  3. #3
    Problema Risolto

    codice:
    if autenticato = true then
    sql = "SELECT inizio,fine FROM db_iscritti"
    Set rs = cn.Execute(sql)
    Session("inizio") = rs("inizio")
    Session("fine") = rs("fine")
    end if
    cn.Close
    E in "ok.asp"

    codice:
    Benvenuto <%=Session("Autenticato") %> - Sei iscritto dal <%=Session("inizio") %>. La tua iscrizione scade il <%=Session("fine") %>.
    La notte porta consigli...

  4. #4
    sarà, ma con questa istruzione

    sql = "SELECT inizio,fine FROM db_iscritti"

    leggi un erocord qualunque, non quello dell'utente che si è appena loggato

  5. #5
    Avevi ragione funzionava solo con il primo record.

    Adesso però è tutto OK

    codice:
    <%
    Dim nome_ut
    Dim pass
    
    nome_ut = Replace(Request.Form("nomeutente"), "'", "''")
    pass = Replace(Request.Form("password"), "'", "''")
    
    Dim cn
    Set cn = Server.CreateObject("ADODB.Connection")
    cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("db_iscritti.mdb")
    Dim sql
    sql = "SELECT ID,inizio,fine FROM db_iscritti WHERE nomeutente='" &nome_ut& "' AND password='" &pass& "'"
    Dim rs
    Set rs = cn.Execute(sql)
    
    Dim autenticato
    if rs.eof then
      autenticato = false
    else
      autenticato = true
    end if
    
    Dim inizio
    if rs.eof then
      inizio = false
    else
      inizio = true
    end if
    Session("inizio") = rs("inizio")
    
    Dim fine
    if rs.eof then
      fine = false
    else
      fine = true
    end if
    Session("fine") = rs("fine")
    rs.close
    
    if autenticato = true then
    sql = "INSERT INTO accessi (nomeutente, dataaccesso) VALUES ('" & nome_ut & "', '" & now() & "')"
    Set rs = cn.Execute(sql)
    end if
    
    cn.Close
    
    Set rs = Nothing
    Set cn = Nothing
    
    if autenticato = true then
      Session("Autenticato") = nome_ut
      Response.Redirect("ok.asp")
    else
      Response.Redirect("errore.asp")
    end if
    %>
    PS: scusa se te lo dico però non ho ben capito perche nei tuoi commenti mi hai solo detto che cosi non poteva funzionare senza dare una possibile soluzione. A me non è di nessun aiuto.
    Se sai che cosi non può andare saprai anche il perchè.
    Che senso ha rispondermi cosi?

    So che nessuno è obbligato ad impegnarsi nei forum ma chi vi partecipa sa che servono proprio a questo.
    Alla prossima, Andrea

  6. #6
    Originariamente inviato da andreabolognesi
    PS: scusa se te lo dico però non ho ben capito perche nei tuoi commenti mi hai solo detto che cosi non poteva funzionare senza dare una possibile soluzione. A me non è di nessun aiuto.
    Se sai che cosi non può andare saprai anche il perchè.
    Che senso ha rispondermi cosi?

    So che nessuno è obbligato ad impegnarsi nei forum ma chi vi partecipa sa che servono proprio a questo.
    Alla prossima, Andrea
    perché così ti serve da stimolo: come vedi non mi hai chiesto chiarimenti ma ti sei sforzato. ci sei arrivato da solo e non te lo dimenticherai

    PS. tutti quei controlli su rs.eof sono uno spreco (ne basta uno)

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.