php tijd (ban systeem)
Heb al door dat ik strtotime zal nodig hebben. Maar toch lukt het me niet.
Het eerste wat ik moet doen, is de tijd die we nu hebben + eental minuten. (of dagen, of uren) erbij tellen. En dan in een tabel steken.
Het tweede script is met een if else constructie. De if checkt of de tijd nu later is dan de tijd die in de database zit. Indien hij niet later is, moet hij een tekstje geven die na de if(*******) {you are banned} else { ok }.
Zie ook hoofdstuk 12.5 van de mysql handleiding.
In de database zet je gewoon het tijdstip wanneer de ban afloopt en je hoeft alleen maar de controleren of dat tijdstip al in het verleden ligt.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<select name="duur">
<option value="5 MINUTE">5 minuten</option>
<option value="15 MINUTE">15 minuten</option>
<option value="30 MINUTE">30 minuten</option>
<option value="1 HOUR">1 uur</option>
<option value="6 HOUR">6 uur</option>
<option value="12 HOUR">12 uur</option>
<option value="1 DAY">1 dag</option>
<option value="1 WEEK">1 week</option>
<option value="1 MONTH">1 maand</option>
<option value="1 YEAR">1 jaar</option>
</select>
<option value="5 MINUTE">5 minuten</option>
<option value="15 MINUTE">15 minuten</option>
<option value="30 MINUTE">30 minuten</option>
<option value="1 HOUR">1 uur</option>
<option value="6 HOUR">6 uur</option>
<option value="12 HOUR">12 uur</option>
<option value="1 DAY">1 dag</option>
<option value="1 WEEK">1 week</option>
<option value="1 MONTH">1 maand</option>
<option value="1 YEAR">1 jaar</option>
</select>
en een stukje sql
Code (php)
1
"INSERT INTO blokkeren (blokkerenIP, blokkerenTot, blokkerenReden) VALUES('".$ipadres."',DATE_ADD(NOW(),INTERVAL ".$duur."),'".$reden."')";
En controleren kan dan dmv
Code (php)
1
"SELECT DATE_FORMAT(blokkerenTot,'%e %m %Y') AS datum, DATE_FORMAT(blokkerenTot, '%H:%i') AS tijd, blokkerenReden FROM blokkeren WHERE blokkerenIP = '".$ipadres."' AND NOW() < blokkerenTot";
Of iets in die trant. Zo heb ik het ook gedaan in mijn nieuwssysteem, voorbeeld1 en voorbeeld2.