Gracias por tu respuesta Triby, hice los cambios que me dices y funciona a medias.
ya no me marca errores y hace los calculos pero solo de este mes, no toma el time_stamp de la base solo toma la fecha actual y hace el calculo
Código HTML:
Fecha ingresada:
Fecha en la cual caduca: 2011-10-20
Fecha de actual: 2011-09-20
Dias que faltan para caducar: 30
Estado: No ha caducado
Como ves no aparece la fecha ingresadapor lo visto no esta tomando el valor de la bd
Código PHP:
f
function caducidad($tiempo){
if ($tiempo != "0000-00-00"){
$f_caduca = strtotime("$tiempo +1 month");//aqui quite el segundo $tiempo
$f_caduca = date("Y-m-d",$f_caduca);
$hoy = date("Y-m-d");
print "<b>Fecha en la cual caduca:</b> ".$f_caduca . "<br>";
print "<b>Fecha de actual:</b> ".$hoy . "<br>";
$f_hoy = strtotime($hoy);
$f_hoy = floor($f_hoy/86400);
$f_caduca1 = strtotime($f_caduca);
$f_caduca1 = floor($f_caduca1/86400);
$f_compara = ($f_caduca1-$f_hoy);
print "<b>Dias que faltan para caducar:</b> ".$f_compara . "<br>";
if ($f_compara <= 0){
return true;
} else {
return false;
}
} else {
return false;
}
}
si pongo manualmente la fecha si funciona y hace todos los calculos
Código HTML:
Fecha ingresada: 2011-09-11
Fecha en la cual caduca: 2011-10-11
Fecha de actual: 2011-09-20
Dias que faltan para caducar: 21
Estado: No ha caducado
en esta parte del codigo cambio la fecha manualmente
Código PHP:
$fecha_registro = "2011-09-11";//aqui cambie $tiempo por la fecha
print "<b>Fecha ingresada:</b> ".$fecha_registro."<br>";
if(caducidad($fecha_registro)){
print "<b>Estado:</b> Ya caduco";
} else {
print "<b>Estado:</b> No ha caducado";
}
como te digo parece que no esta jalando el time_stamp de la base
se me ocurre llamarlo por medio de la session ya que en el login tengo este codigo
Código PHP:
$result = mysql_query("SELECT count(*) AS cuenta, usr_id, username, nombre, apellido1, apellido2, tipo_perfil_id, time_stamp FROM usuario
WHERE username='".$_POST['usuario']."'
and password = '".md5($_POST['clv'])."';") or die("Could not query: " . mysql_error());
session_start("autentificado", "usuario", "nombre", "apellido1", "time_stamp");
$_SESSION["autentificado"]= "SI";
$_SESSION["usuario"] = $_POST["usuario"];
$_SESSION["time_stamp"] = $_POST["time_stamp"];
header("Location: $redir");
Pero aqui no sabria como llamarlo para que inserte el time_stamp por que pongo esto
Código PHP:
$fecha_registro = $_POST["time_stamp"];
print "<b>Fecha ingresada:</b> ".$fecha_registro."<br>";
if(caducidad($fecha_registro)){
print "<b>Estado:</b> Ya caduco";
} else {
print "<b>Estado:</b> No ha caducado";
}
y no funciona sigue sin aparecer la fecha espero ser clara y puedan ayudarme