Newsgroup: it.comp.www.asp
Titolo: Funzione Now()

Buongiorno a tutti.
All'interno di una pagina ASP utilizzo la seguente query SQL:
query_log = "INSERT INTO LogMember (login,pws,data_accesso) VALUES ('"
& login & "','" & pws & "','" & Now() & "')"
per tenere traccia degli accessi all'area riservata di un sito web.
Il database che sto utilizzando è MS ACCESS 2000. La cosa strana è che
all'interno della tabella LogMember la data di accesso viene inserita
per certi utenti nel formato gg/mm/aaaa e per altri nel formato
mm/gg/aaaa. Quello che non riesco a capire è il perchè di questo
comportamento. La funzione Now(), infatti, non preleva data e ora dal
server ? In che modo si può creare una dipendenza verso il client
dell'utente ?
Grazie in anticipo a chi potrà e vorrà dissipare questo "atroce"
dubbio!
Mirco

 dubbio!
ciao,ho avuto un problema simile con un sito in asp e il forum snitz.
se è questo il tuo caso io ho risolto modificando una variabile nel file
di configurazione config.asp nella cartella dello snitz forum :
Session.LCID = 1040 '## Do Not Edit
ma se ci sono altre soluzioni piacerebbe anche a me conoscerle
quel "Do Not Edit" servirà pure a qualcosa ;)
bye
luke

 dell'utente ?
E' un vecchio "problema". Noterai che cambia formato a seconda del giorno
del mese, azzeccando per i giorni dopo il 12 e invertendo altrove.
Alla fine l'unico metodo buono è di passare ad Access le date in formato
ANSI: anno/mese/giorno
function dateAnsiString(giorno)
if isdate(giorno) then
 dateAnsiString= "" & year(giorno) & "/" & month(giorno) & "/" &
day(giorno)
else
 dateAnsiString = ""
end if
end function
Snitz fa la "porcata" di trasformare tutte le date in una stringa, andando
così a perdere tutte le funzionalità di differenze tra date... non seguire
il loro cattivo esempio...
Alex.
-- 
___________________________________________________________
a p bertolini
(Tribù Digitale Blackmambo: 
www.blackmambo.it
)

 ANSI: anno/mese/giorno
In realtà inizialmente ho pensato anche io che per i giorni dopo il 12
andasse tutto bene poichè in precedenza mi ero scontrato con questo
tipo di problema. Tuttavia ad un'analisi più attenta mi sono accorto
che in questo caso il problema è leggermente diverso. Infatti mi trovo
con 11 utenti che il giorno 6 Aprile 2005 hanno avuto accesso all'area
riservata. Di questi 8 riportano la data nel formato corretto
(06/04/2005) mentre 3 in formato "errato" (04/06/2005). In questo
caso, se fosse come mi hai indicato tu e come inizialmente avevo
pensato anche io, avrei dovuto trovare all'interno del db 11 date in
formato "errato".
Io ho pensato che il provider che ci offre spazio web utilizzi una
batteria di server con le impostazioni internazionali di data/ora
impostate in modo differente. E' possibile una cosa del genere oppure
sto delirando ?

 sto delirando ?
Sě, confermo che il comportamento č erratico, anche con server singoli (io
ho un win2ks italiano, configurato in italiano, vi accedo con IE
italiano... eppure va per i fatti suoi).
Una volta creata la funzione che ti ho spedito prima, non ho avuto
problemi, neanche portando gli script su altri server o facendo l'upgrade
degli stessi.
D'altronde, il formato ANSI č per definizione standard, quindi in fondo
stai aggirando un problema applicando una best practice.
Alex.
-- 
___________________________________________________________
a p bertolini
(Tribů Digitale Blackmambo: 
www.blackmambo.it
)