Om de paar minuten iets doen
Ik probeer een scriptje te maken waarbij je om de 2 minuten weer iets kan posten.
Ik heb een veld in mijn database gezet met de naam 'laatst_gereageerd' (DATETIME type)
Hoe kan ik nu met PHP kijken of de gebruiker weer mag reageren. Dus eigenlijk kijken of de 2 minuten om zijn.
Hoe kan ik dit het beste aanpakken?
Gewijzigd op 10/11/2010 19:24:49 door - Raoul -
Bedenk zelf eens een plan van aanpak / oplossing en post dat eens, daar kan dan veel zinniger over gediscusieerd worden.
Ik haal het veld uit de database, en ik kijk met de date(); functie of er al 2 minuten voorbij zijn.
Hoe kan ik dit nu maken?
Noppes, geef a.u.b. alleen een nuttige reactie, of reageer niet. Tweede topic wat ik tegenkom vandaag waar een aantal nutteloze en niet hulpzame posts in worden geplaatst.[/modedit]
Gewijzigd op 10/11/2010 23:16:42 door Justin S
Check even :
sql inverval
Dan ga je kijken hoeveel rijen je terug krijgt...
en als je niets terug krijgt, mag je wat doen.
anders niet..
Succes!
Code (php)
1
SELECT * FROM gebruikers WHERE id = '" . $_SESSION['id'] . "' AND DATE_SUB(NOW(),INTERVAL 2 MINUTES) <= laatst_gereageerd
Nog een vraag, is er een mogelijkheid om terug te krijgen hoeveel minuten de gebruiker nog moet wachten?
Quote:
Nog een vraag, is er een mogelijkheid om terug te krijgen hoeveel minuten de gebruiker nog moet wachten?
Ook hier geldt, dat je verder moet kijken dan dat je neus lang is!! Zoek eerst eens hoe je dat ook met SQL kan oplossen.
Noppes, hoe zou jij het dan doen?
via sql procedure + sql functie die true/false teruggeeft naar de procedure en dan vanuit php de sql procedure aanroepen
@Internet Verslaafde, waar is het script voor? En wat is het uiteindelijke doel? Als dat wat duidelijker wordt kunnen we een wat beter optie voorstellen. Is het de bedoeling dat het alleen geactiveerd wordt als iemand de pagina opent (en dus actief is)?
Het script is om spam te voorkomen. De bedoeling is dat als je gereageerd hebt, dat je 2 minuten moet wachten tot je weer iets kan posten. In het post formulier zou ik dan graag iets zetten zoals 'Je moet nog 1 minuut wachten'
Code (php)
1
2
3
2
3
<?php
$query = 'SELECT UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP('datum') AS differenc_seconds FROM ...';
?>
$query = 'SELECT UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP('datum') AS differenc_seconds FROM ...';
?>
Als je nu de datum vergelijkt krijg je het verschil terug in seconden. Hierbij kun je dus controleren of het gelijk is aan 120 seconden (of meer) en een melding geven. Je kunt nu ook indien dat het verschil minder is, aangeven hoeveel seconden er nog gewacht moet worden.