Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Confronto tra date
Forum - PHP - Confronto tra date

Avatar
Black Shadow (Founder Member)
Expert


Messaggi: 323
Iscritto: 30/03/2006

Segnala al moderatore
Postato alle 8:36
Giovedì, 06/07/2006
Allora...io ho un campo nel DataBase di nome 'last_login', che per l'appunto, ogni volta che un utente effettua il Login viene aggiornato così:

UPDATE utenti SET last_login='".date("Y-m-d H:i:s")."' WHERE ******


Adesso, io voglio fare che ogni giorno che passa, quando quell'utente fa il Login, deve prendere un punto. Io avevo pensato ad una cosa del tipo:

if ( date("d") != date("d" , $result['last_login']) ) #prendi punto...
else echo "Hai già preso il punto oggi";


Però non funziona! Come posso fare?:(


Tentando di creare un nuovo social network: http://wriler.com
PM Quote
Avatar
buba (Ex-Member)
Pro


Messaggi: 103
Iscritto: 14/04/2005

Segnala al moderatore
Postato alle 18:29
Venerdì, 07/07/2006
prima di tutto tieni conto che se il controllo lo fai solo sul giorno ( e nn sul mese e sull anno) se l'utente fa il login il 1 aprile e poi lo rifà il 1 maggio, questo nn viene conteggiato!

Ora guardo meglio il tuo codice...

PM Quote
Avatar
buba (Ex-Member)
Pro


Messaggi: 103
Iscritto: 14/04/2005

Segnala al moderatore
Postato alle 18:35
Venerdì, 07/07/2006
il campo last_login nel database contiene una data in formato Y-m-d H:i:s, ma la funzione date come secondo parametro una data in formato Timestamp (http://www.pierotofy.it/pages/appunti/PHP/Timestamp_UNIX/)

ecco come potresti modificare il codice:
(l ho scritto senza testarlo, quindi potrebbero esserci degli errori di sintassi)

prima di tutto imposti il campo last_login come campo numerico (di lunghezza almeno 15)
la query la modifichi cosi:

UPDATE utenti SET last_login='".time()."' WHERE ******

poi il codice per il controllo:
Codice sorgente - presumibilmente Php

  1. if ( date("d M Y") != date("d M Y", $result['last_login']) ) #prendi punto...
  2. else echo "Hai già preso il punto oggi";


Ultima modifica effettuata da buba il 07/07/2006 alle 18:39
PM Quote