Hola davidprogramacion este tema igual es mas de mysql que de php ... ,
para hacer algo así deberías tener un control en bd cada vez que entra el user e insertar en bd ...
y luego hacer una comprobación de puntos algo así ...
la función Datediff te calcula los días entre rangos de fechas con lo que deberías cambiar la fecha que te he puesto por un una col que deberías crear en tu tabla user, por ejemplo FecUltimVisita .En esa columna cada vez que un usuario visite tu página y cargue tu script php primero de todo deberías hacer un update en FecUltimVisita ...
De esta manera podrás calcular si la salida de sql es ==1 entonces haces un insert en puntos!
Espero haberte ayudado !
Saludos.
Acabo de releer la pregunta y no entendí bien sorry...
Yo utilizaría el ejemplo de que te he puesto solo que si quieres que la puntuación apareciera con un día de retraso ...
en puntos ademas de controlar los puntos del user podrías controlar la fecha de recepción de esos puntos... de manera que pudieras leer cuando fue la ultima fecha de ese user que recibe puntos ... solo que al hacer el insert yo le añadiría la función mysql :
Así que a la hora de recuperar la fecha de visualización de los puntos .. esta tenga sumado 1 dia + .. es decir que si en tu php compruebas la fecha de aparición de esos nuevos puntos hasta el día siguiente no sera == true!
Saludos!