Ciao a tutti!
Ho realizzato un sistemino per votare che utilizza i cookie per evitare che lo stesso visitatore voti + di una volta al giorno...ma ho dei problemi. Il mio codice è questo:
Il problema è che se metto la data come valore del cookie, il blocco dell'utente che ha già votato non funziona, mentre funziona se metto come valore del cookie una qualsiasi stringa di caratteri...il fatto è che io ho bisogno di far votare l'utente non una volta ogni 24 ore, ma realmente una volta al giorno: in altre parole se voto ggi alle 16, alle 00.01 di domani dovrei poter rivotare.codice:'controlla la data dell'ultimo voto dato Dim dataPrecedenteVoto dataPrecedenteVoto = request.cookies("dataUltimoVoto") 'chiede al server la data odierna Dim dataOdierna dataOdierna = Date() 'se le due date sono uguali non fa votare altrimenti sì if dataPrecedenteVoto = dataOdierna then response.write("Hai già votato") else 'cattura la preferenza del visitatore Dim scelta scelta = request.queryString("preferenza") 'crea un nuovo oggetto connessione e la apre Dim oc Set oc = Server.CreateObject("ADODB.Connection") oc.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + server.MapPath("candidati.mdb")) 'crea un nuovo oggetto recorset e una nuova query sql per selezionare il record in cui il codice corrisponde a quello del candidato cliccata Dim ors1 Set ors1 = server.createObject("ADODB.recordset") Dim sql1 sql1 = "SELECT nVoti FROM candidati WHERE codice = '" & scelta & "'" ors1.open sql1, oc 'assegna alla variabile votiAccumulati il valore di voti presente Dim votiAccumulati votiAccumulati = ors1("nVoti") 'incrementa di uno il nVoti votiAccumulati = votiAccumulati + 1 'crea un oggetto command per l'aggiornamento Dim ocm Set ocm = server.createObject("ADODB.command") 'crea una query per l'aggiornamento Dim sql2 sql2 = "UPDATE candidati SET nVoti = '" & votiAccumulati & "' WHERE codice = '" & scelta & "'" 'esegue l'aggiornamento ocm.activeConnection = oc ocm.commandText = sql2 ocm.commandType = adCmdText ocm.execute 'scrive un cookie response.cookies("dataUltimoVoto") = Date() response.cookies("dataUltimoVoto").expires = Date() + 30 'chiude il recordset e libera la memoria ors1.close Set ors1 = nothing 'chiude la connessione e libera la memoria oc.close Set oc = nothing response.write("Grazie per aver votato") end if
Qualcuno sa dirmi dove ho sbagliato e come posso fare?![]()
Grazie!

Rispondi quotando