Ahi va...
me podrias explicar un poco mas lo del cron job??
rumo, creo q voy a intentar eso, a ver si no es mucho lio, por q van varias encuestas en la misma pagina y cada una va a su base de datos...
muchas gracias
Código PHP:
<?php
include('inclusiones2.php');
//Segundos para borrar de la base de datos a los usuarios inactivos 900 =15 min
$segundos = 40;
$ahora = 0;
function ipreal(){
if ($real_ip = getenv('HTTP_X_FORWARDED_FOR')){
$explode_real_ip = explode(",", $real_ip);
return trim($explode_real_ip[0]);
}
else
{
return getenv('REMOTE_ADDR');
}
}
function comprobar(){
$ip2 = ipreal();
//echo "<br><br>ip2: ".$ip2."<br><br>";
$conexion=conectar();
$usuarios=mysql_query("SELECT ip FROM usuariosenlinea WHERE ip='$ip2' ");
if($user_ok=mysql_fetch_array($usuarios))
{
//echo 'No puedes votar';
mysql_free_result($usuarios); //liberamos la memoria del query a la db
return false;
}
else
{
//echo 'Si puedes votar';
return true;
}
mysql_close($conexion);
}
function recargar()
{
$tiempo_actual = time();
$tiempo_final = $tiempo_actual - $segundos;
$ip = ipreal();
$conexion=conectar();
mysql_query("DELETE FROM usuariosenlinea WHERE timestamp < $tiempo_final")
or die('Error al intentar borrar en la base de datos '. mysql_error());
$result = mysql_query("SELECT ip FROM usuariosenlinea WHERE ip='".$ip."'")
or die('Error de lectura en la base de datos '. mysql_error());
if(mysql_num_rows($result) == 0){
mysql_query("INSERT INTO usuariosenlinea VALUES ('$tiempo_actual','$ip','$_SERVER[REQUEST_URI]')")
or die('Error al Insertar en la base de datos '. mysql_error());
}
else
{
echo "hay alguien" ;
mysql_query("UPDATE usuariosenlinea SET timestamp='$tiempo_actual' where ip='".$ip."'")
or die('Error al Insertar en la base de datos '. mysql_error());
}
mysql_query("DELETE FROM usuariosenlinea WHERE timestamp < $tiempo_final")
or die('Error al intentar borrar en la base de datos 1'. mysql_error());
$result = mysql_query("SELECT ip FROM usuariosenlinea")
or die('Error de lectura en la base de datos '. mysql_error());
$ahora = mysql_num_rows($result);
mysql_close($conexion);
}
function comprobar2(){
// echo " sip";
if (comprobar()== true){
echo "<br>Puedes votar!<br>";
recargar();
$campo=$_POST['voto'] ;
//$va es el valor actual del campo votado
$va=recuperarValorActual($campo);
actualizarValor($campo,$va);
presentarResultados();
}
else
{
echo "<br>No puedes votar!<br>";
$campo=$_POST['voto'] ;
//$va es el valor actual del campo votado
$va=recuperarValorActual($campo)-1;
actualizarValor($campo,$va);
presentarResultados();
}
}
comprobar2();
?>