Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/01/2008, 20:47
gesking
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 17 años, 4 meses
Puntos: 2
Cambiar clave BD

Hola, tengo un pequeño problema. Tengo un sistema de usuarios y quiero que tengan la opcion de "cambiar clave". Le puse que si la clave de la base de datos es diferente a la que ingresó, tire error, sino que siga... Pero le pongo la clave exacta y me tira el error.

Ya me vuelvo loco buscando y buscando y nada... aca les dejo los codigos a ver si ustedes lo encuentra por favor.

cambiar_clave.php
Código PHP:
<form action="cambiar_clave2.php" method="POST">
  <
table width="100%" cellpadding="0" cellspacing="5">
  <
tr>
    <
td width="31%" align="right">Clave actual:</td>
    <
td width="69%"><input name="pass" type="password" class="file" size="40"></td>
  </
tr>
  <
tr>
    <
td align="right">Nueva clave:</td>
    <
td><input name="nueva" type="password" class="file" size="40"></td>
  </
tr>
  <
tr>
    <
td align="right">Confirmación de nueva clave:</td>
    <
td><input name="nueva2" type="password" class="file"></td>
  </
tr>
</
table>
<
table width="100%" border="0" cellspacing="5" cellpadding="0">
  <
tr>
    <
td>&nbsp;</td>
  </
tr>
  <
tr>
    <
td><div align="center">
      <
input type="submit" class="boton" value="Modificar clave" name="modificar" />
      &
nbsp;&nbsp;&nbsp;
      <
input type="reset" class="boton" value="Borrar campos" />
    </
div></td>
  </
tr>
  <
tr>
    <
td>&nbsp;</td>
  </
tr>
  <
tr>
    <
td><span class="Estilo1">Todos los campos son obligatorios</span></td>
  </
tr>
  <
tr></tr>
  <
tr>
    <
td>&nbsp;</td>
  </
tr>
  <
tr>
    <
td><a href="index.php">Volver</a></td>
  </
tr>
</
table>
</
form

cambiar_clave2.php
Código PHP:
session_start();
if (isset(
$_SESSION['s_username'])) {
include(
"config_usuarios.php");

$sesion $_SESSION['s_username'];

if (isset(
$_POST["modificar"])) {
$a $_POST["pass"];
$b1 $_POST["nueva"];
$b2 $_POST["nueva2"];

if(
$a==NULL|$b1==NULL|$b2==NULL) {
echo 
"Un campo está vacio. Vuelva a intentarlo <a href=cambiar_clave.php>clic aquí</a>";
}else{

$con mysql_query("SELECT * FROM usuarios WHERE username='$username'");
$mostrar mysql_num_rows($con);

$actual $mostrar[password];

if(
$actual!=$a) {
echo 
"\"Clave actual\" debe ser la clave que usas actualmente para iniciar sesion. Si no conoces esa clave, aconsejo ir a \"olvide mi clave\". <a href=cambiar_clave.php>Volver a intentarlo</a>";
}else{

if(
$b1!=$b2) {
echo 
"Las contraseñas no coinciden. <a href=cambiar_clave.php>Volver a intentarlo</a>";
}else{
    
$sql "UPDATE usuarios set password='$b1' WHERE username = '$sesion'";
$res mysql_query($sql) or die("Error: ".mysql_error());
echo 
"Tu clave ha sido modificada correctamente. Esta es tu nueva clave: <b>".$b1."</b>.<br>Tu cuenta se cerró y tendras que volver a abrirla. <a href=index.php>Volver a la pagina princial</a>";

$_SESSION = array();

}
}
}
}
}else{
echo 
'Tu no estas autentificado. No puedes entrar aqui!!<br><br><a href="index.php">Volver</a>';


Si la clave actual que escribo es igual o diferente siempre me tira el error, es decir, este mensaje:

"Clave actual" debe ser la clave que usas actualmente para iniciar sesion. Si no conoces esa clave, aconsejo ir a "olvide mi clave". Volver a intentarlo