Ciao a tutti.
E' da un bel pò che ho sviluppato per necessità questa condizione basata sul tempo, ma mi ha sempre fatto difetto e nn sono mai riuscito a correggerla definitivamente!
Io ho 2 pag; la prima si trova la condizione di tempo che darà o no l'accesso alla funzione che sta nella seconda pagina.
1)La funzione oltre al suo codice ha questo che serve per la condizione:
2)Una volta terminata la funzione, per potervi accedere bisogna passare la condizione che è stata aggiornata da questa query sopra.Codice PHP:
$query = "UPDATE pgu SET [b]Attacco = Time()[/b] WHERE Nick='$row[Nick]'"; $result = mysql_query($query, $db);
Come potete facilmente capire la condizione dice: se "l'orario attuale - l'orario dell'ultimo aggiornamento" sono maggiori di 45(quindi sono trascorsi 45 sec dall'aggiornamento) allora includi la seconda pagina altrimenti blocca la funzione!Codice PHP:
$query = "SELECT Nick,Stato,Simbolo,UNIX_TIMESTAMP(Attacco) AS Attacco,Ultima_Arma,Salute FROM pgu WHERE Nick='$user_id'"; $result = mysql_query($query, $db);
$wer = mysql_fetch_array($result);
if((time() - $wer[Attacco]) > 45) { include('attacca1.php'); } else { echo "<font color=green>[b]Non puoi ancora attaccare! Mancano"; echo ($arm[Gap] - (time() - $wer[Attacco])); echo "secondi [url='scrivi.php']Indietro[/url]</font>[/b]"; }
Perchè mi fa difetto?
Spesso non me la blocca, altre volte i secondi che mancano si moltiplicano sempre.
O provato anche NOW() al posto di Time() ma è uguale!
Chi mi aiuta?