Hallo,

Ik heb een probleem in een bestaand stukje PHP wat er voor zorgt dat een bezoeker 1x per IP per maand kan stemmen op een bedrijf. Nu kan ik stemmen, daarna niet meer. Stemmen worden opgeslagen in een database met unixtime van de stem en het IP, en uiteraard welk bedrijf ID het omgaat. Heeft altijd gewerkt, maar nu ineens niet


 <tr>
<td style="text-align: center"><b>Gemiddelde<br>cijfer</b></td>
';
					
$queIP = mysql_query("SELECT date FROM stemmen WHERE ip = '".$_SERVER['REMOTE_ADDR']."' AND sid = '".addslashes($_GET['id'])."' ORDER BY date DESC");
$rowIP = mysql_fetch_array($queIP);
if($rowSauna['reactions'] == 1 AND (mysql_num_rows($queIP) == 0  OR (date('Y', $rowIP['date']) <= date('Y') AND date('n', $rowIP['date']) < date('n'))))
{
echo '
<td style="cursor: pointer" onclick="newWindow(\'./includes/handle.inc.php?f=Stemmen&id='.addslashes($_GET['id']).'\', 240, 660, \'yes\')">
<b>Klik hier om te stemmen</b>
</td>
';
}
else { echo '<td>&nbsp;</td>'; }
								
echo '
</tr>
Waarom een kolom toevoegen en waarom unixtime gebruiken?
Raadpleeg de link van Karl, gebruik de juiste tijdnotatie en check (in MySQL) wanneer iemand wil stemmen of dat al een maand geleden is. Zoja stemmen en record updaten, zonee foutmelding. Lees je goed in op MySQL date en time functies en het rekenen met tijd en het is simpel op te lossen. Het gereken in php met date/time is niet de manier.
Ok bedankt voor de tips, ik ga me hier zeker in verdiepen!

Reageren