Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/08/2010, 22:25
hazard795
 
Fecha de Ingreso: julio-2010
Mensajes: 28
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Como limitar el cambio de contraseña de un usuario nuevo

Cita:
Iniciado por Nemutagk Ver Mensaje
En tu tabla de usuarios podrías crear un nuevo campo que se llamara pass_original, cuando inicias sesión verifica si la contraseña es la misma que se creo cuando se registro, si son iguales (pass == pass_original) es que no la ah cambiado entonces mandas la petición al usuario que cambie su contraseña, si no son iguales deja que continué sin enviar el mensaje
Me parece bastante coherente tu respuesta y con base en ella he insertado un nuevo campo en la B.D. llamado pass_original, además he intentado modificar el codigo del formulario principal de ingreso, sin embargo aunque no me arroja errores, no he podido obtener el resultado deseado. Por ello quisiera agradecerte si me puedes colaborar encontrando el posible error. El codigo es el siguiente:

<?php require_once('conexion.php'); ?>
<?php


// *** Valida la peticion de conexion a este sitio
session_start();


if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['pass'];
$Tipo=$_POST['Tipo'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess2 = "areas.php";
$MM_redirectLoginSuccess = "areas.php";
$MM_redirectLoginFailed = "ingreso.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_conexion, $conexion);


$query_usuario = "SELECT * FROM usuarios WHERE username='$loginUsername' AND password=$password AND Tipo=$Tipo";
$usuario = mysql_query($query_usuario, $conexion) or die(mysql_error());
$row_usuario = mysql_fetch_assoc($usuario);

$LoginRS__query=sprintf("SELECT * FROM usuarios WHERE username='%s' AND password='%s' AND Tipo='$Tipo'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password), get_magic_quotes_gpc() ? $Tipo : addslashes($Tipo));

$LoginRS = mysql_query($LoginRS__query, $conexion) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
$MM_redirectLoginSuccess = "xxxx.php";
if ($loginFoundUser) {

echo 'Bienvenido','&nbsp;', $_SESSION['XXXX'];

//declaro la variable y la asigno
$GLOBALS['XXXX'] = $loginUsername;


//registro de sesion de variables
session_register("XXXX");


if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
if ($row_usuario['Estado']=='1')
{

if($row_usuario['tipo']=='1' ) {header("Location: " . $MM_redirectLoginSuccess );}
if($row_usuario['tipo']=='2') {header("Location: " . $MM_redirectLoginSuccess );
if($row_usuario['tipo']=='3' ) {header("Location: " . $MM_redirectLoginSuccess );

//Aqui lo nuevo que inserte!!!!

if($row_usuario['pass_original']==$password){


?>

<input type="hidden" name="pass" value="<?=$loginUsername?>">

<?
}
}
}
else{

?>

<SCRIPT>
alert ('POR FAVOR CAMBIE SU CONTRASEÑA !');
location.href='cambio_pass.php';
</SCRIPT>
<?
}
}


else {
?>
<SCRIPT>
alert ('Ingreso exitoso!');
header("Location:"index.php");
</SCRIPT>
<?
}
}

else {
?>
<SCRIPT>
alert ('Usuario o Contraseña Inválidos o Tipo de Usuario no corresponde!');
header("Location: ". $MM_redirectLoginFailed);
</SCRIPT>
<?
}
}


?>

<title>Ingreso de Usuarios</title><form name="form1" method="post" action="">
<?
include 'index.php'; ?>
<p>&nbsp;</p>
</form>
<form id="form2" name="form2" method="post" action="">
<legend><strong>Ingreso al Sistema</strong></legend>
</div>
<fieldset>
<div align="center">
<table width="338" border="0">
<tr>
<td width="126"><legend>Tipo Usuario(*)</legend></td>
<td width="144"><select name="Tipo" id="tipo usuario2">
<option>Seleccione...</option>
<option value="1">Coordinador</option>
<option value="2">Estudiante</option>
<option value="3">Docente</option>
</select></td>
</tr>
<tr>
<td width="168"><legend>Usuario(*)</legend></td>
<td width="115"><input name="usuario" type="text" class="textfield"></td>
<td width="115">&nbsp;<img src="Imagenes/key-icon.png" width="54" height="53" alt="Key" /></td>
</tr>
<tr>
<td><legend>Contrase&ntilde;a(*)</legend></td>
<td><input name="pass" type="password" class="textfield"></td>
<td><input name="Submit" type="submit" class="button" value="Enviar"></td>
</tr>
</table>
</div>
</form>
<p align="center" class="Estilo1">&nbsp;</p>
<script type="text/javascript">
swfobject.registerObject("FlashID");
</script>
<legend>Los campos con (*) son obligatorios!</legend>