Voor mijn loginsysteem wil ik een wachttijd instellen.
De eerste 3 pogingen zonder wachttijd. Daarna steeds het dubbele. Start op 30' daarna 1u, 2u, 4u, ...
Ik heb al meerdere pogingen ondernomen maar steeds is er iets wat niet juist is.
SELECT
attempts,
DATE_ADD(LastLogin, INTERVAL if(attempts<3, 0, power((attempts-3+1), 2) * 30) MINUTE) nextlogin
FROM
post_LoginAttempts
WHERE
DATE_ADD(LastLogin, INTERVAL if(attempts<3, 0, power((attempts-3+1), 2) * 30) MINUTE)>NOW()
order BY
Attempts
Waarbij ik volgend resultaat terug krijg
attempts nextlogin
3 2019-04-09 11:30:00
4 2019-04-09 13:00:00
5 2019-04-09 15:30:00
6 2019-04-09 19:00:00
7 2019-04-09 23:30:00
8 2019-04-10 05:00:00
Alle tijden staan in deze test op 9/4/2019 11u om eenvoudiger te rekenen.
Na poging 3, 4 en 6 staat een goede uitkomst.
echter bij 5, 7 en 8 niet deze zouden 11u+ 4/16/32u moeten zijn.
5 zou dus 11+4=15u moeten zijn
7 zou dus 11+16=27u of 3u 10/4 moeten zijn
8 zou dus 11+32=43u 19u 10/4 moeten zijn
Waar zit mijn fout??
Jan
.