Bueno, resulta que guardo el date(is) + 30; y lo resto con el date actual para saber si pasaron mas de 30 segundos!
Código PHP:
if ( !empty($_SESSION['time']) ) {
$time = date('is');
$time_now = $_SESSION['time'] - $time;
if($time_now <= 30) { unset($_SESSION['time']); }
else { $error['time'] = 'Tenes que esperar más de 30 segundos para publicar nuevamente.'; }
}
if ( empty($_SESSION['time']) )
$_SESSION['time'] = date('is') + 30;
La resta da 0, y siempre se actualiza la session, y encima, larga siemrpe la variable error :S. Teoricamente si pasaron 30 segundos, tuviear que desmontar la session, agregarla devuelta, y procesar la consulta! Pero no, desmonta la sesion, larga el error, y la session la vuelve a pontar, pero no le suma los 30. Quiero decir:
$_SESSION time = 0503
date(is) = 0503
le doy f5
$_SESSION time = 0504
date(is) = 0504
el sessiontime tendria que ser date(is) + 30; = $_SESSIon time = 0534
pero, como les dije, no se respeta eso. QUe puede ser :S? Y por mas que la resta de 0, el IF pareciera que no se cumple, que carajos?