Crear alerta de vencimiento password web

Hace tiempo no paso por acá casi no soy muy ducho a la programación me han pedido que colabore con una web sencilla en donde los usuarios puedan guardar sus contraseñas (email, dominio etc) las cuales tienen una fecha aleatoria de caducidad.
Es requerido que el usuario pueda guardar la contraseña en un campo luego especificar su fecha de vencimiento y el sistema le genere una alerta antes de la fecha o el mismo día de vencimiento para su cambio.
Suena simple para vosotros pero a mi ya me saco canas... Verdes.. si me pueden ayudar os agradecere.

1 respuesta

Respuesta
1

En tu tabla tienes el campo fecha me imagino, en el momento del logueo ok, pasas por un archivo de control el cual valida si la fecha es igual o mayor la fecha de cambio si no es asi sigue a la web, en caso contrario pasa al formulario de actualizacion del password

$_SESSION['usuario'];
//selecciona eel nivel del usuario
$query_nivel= sprintf ("select idPerfil from usuario where idUsuario =%s ", GetSQLValueString($contador, "int"));
$nivel = mysql_query($query_nivel) or die(mysql_error());
$row_nivel = mysql_fetch_assoc($nivel);

//seleciona si el perfil de busqueda esta completo

if($row_nivel['idPerfil']==1)//110
{header('Location: ingreso.php');}
elseif($row_nivel['idPerfil']==2)//110
{header('Location: indexcliente.php');}
elseif($row_nivel['idPerfil']==3)//110
{header('Location: indexdepedencia.php');}
elseif($row_nivel['idPerfil']==4)//110
{header('Location: indexzonas.php');}
else {header('Location: admin/ingreso.php');}

Estimado gracias por la información,

Podría mostrarme un ejemplo, por favor, a como indique desde el inicio no soy muy bueno programando. Saludos

Tengo una tabla con estos campos.

CREATE TABLE IF NOT EXISTS `alerta` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`iddoc` int(11) NOT NULL,
`ot` varchar(10) NOT NULL,
`estado` int(2) NOT NULL,
`usuario` int(2) NOT NULL,
`observacion` varchar(100) NOT NULL,
`fecha` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)

en mis paginas seteo la fecha en mi caso a bogota

date_default_timezone_set('America/Bogota');

hago la actualización a la tabla que necesito e inserto en mi tabla de control

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
$insertSQL = sprintf("INSERT INTO alerta (iddoc,ot, estado, usuario, observacion,fecha) VALUES (%s, %s, %s, %s, %s,%s)",
GetSQLValueString($_POST['id'], "text"),
GetSQLValueString($_POST['ot'], "text"),
GetSQLValueString($_POST['estado'], "int"),
GetSQLValueString($_POST['usuario'], "int"),
GetSQLValueString($_POST['Observacion'], "text"));

GetSQLValueString($_POST['fecha'], "date"));
mysql_select_db($database_sico, $sico);
$Result1 = mysql_query($insertSQL, $sico) or die(mysql_error());
}

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form2")) {
$updateSQL = sprintf("UPDATE documentos SET estado=%s WHERE id= %s",
GetSQLValueString($_POST['estado'], "int"),
GetSQLValueString($_POST['id'], "int"));

mysql_select_db($database_sico, $sico);
$Result1 = mysql_query($updateSQL, $sico) or die(mysql_error());

$updateGoTo = "consecutivo_gen.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}

Perdoname te respondí lo que no es;

En tu página de logueo seleccionas nombre usuario y password y fecha.

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['pass'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "control.php";
$MM_redirectLoginFailed = "error.php";
$MM_redirecttoReferrer = true;
$LoginRS__query=sprintf("SELECT usuario, password, id, nivel,fecha FROM usuarios WHERE usuario=%s AND password=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
$LoginRS = mysql_query($LoginRS__query, $sico) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
$row_Recordset1 = mysql_fetch_assoc($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";
if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
$_SESSION['MM_Usuario'] = $row_Recordset1["id"];
$_SESSION['usuario'] = $row_Recordset1["usuario"];
$_SESSION['fecha'] = $row_Recordset1["fecha"];
if (isset($_SESSION['PrevUrl']) && true) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>

///aca es mi pagina de control.php

//seteo como session  el campo fecha.

$hoy=strftime( "%Y-%m-%d", time() );
date_default_timezone_set('America/Bogota');
//$contador=$_POST['id'];
$vcontador = "0";
if (isset($_SESSION['MM_Usuario']))
$vcontador = $_SESSION['MM_Usuario'];

//selecciona la fecha del usuario
$query_nivel= sprintf ("select fecha from usuarios where id =%s ", GetSQLValueString($varalbum_contador, "int"));
$nivel = mysql_query($query_nivel) or die(mysql_error());
$row_nivel = mysql_fetch_assoc($nivel);

if($row_nivel['fecha']>$hoy)//110
{header('Location: debeactualizar.php');}
elseif($row_nivel['fecha']=$hoy)//110 gestor
{header('Location: debeactualizar.php');}
else
{header('Location: pasaalaweb.php');

}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas