Ver Mensaje Individual
  #14 (permalink)  
Antiguo 28/10/2009, 12:56
chevlo
 
Fecha de Ingreso: febrero-2008
Mensajes: 53
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: formulario Cambio clave en md5

Tio, ya lo conseguí eran dos o tres tonterias que habia que mirar bien, por ejemplo :

$sesion = $_COOKIE["unick"]; puse esto así

y luego la llamaba asi: $session con dos s ese era uno de los fallos de todas formas pego el codigo aki para que le pueda servir a la gente.

gracias por todo Hidek1. un saludo.

Código PHP:
<?


        
global $web;
        global 
$feed;
        global 
$portadas;
        global 
$genero_id;
        global 
$genero_titulo;
        global 
$ficha_titulo;
        global 
$ficha_id;
        
    
$salida='<div id="interior" class="interior">';    
    
$salida.='<div id="buzon" class="buzon">';    
    
$salida.='<h2>Cambiar Clave de Acceso</h2>';    

$salida.='<form action="'.$web.'cambiar-clave/" method="POST">
  <table width="100%" cellpadding="0" cellspacing="5">
  <tr>
    <td width="31%" align="right"><strong>Nick:</strong></td>
    <td width="69%"><input name="nick" type="nick" class="file" size="15"></td>
  </tr>
  <tr>
    <td width="31%" align="right"><strong>Clave actual:</strong></td>
    <td width="69%"><input name="pass" type="password" class="file" size="30"></td>
  </tr>
  <tr>
    <td align="right"><strong>Nueva clave:</strong></td>
    <td><input name="nueva" type="password" class="file" size="30"></td>
  </tr>
  <tr>
    <td align="right"><strong>Confirmar nueva clave:</strong></td>
    <td><input name="nueva2" type="password" class="file"size="30"></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="">Volver</a></td>
  </tr>
</table>
</form> '
;

session_start();
if (isset(
$_COOKIE["unick"])) {
include(
"php/config.php");

$session $_COOKIE["unick"];

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

if(
$a==NULL|$b1==NULL|$b2==NULL|$nick==NULL) {
$salida.= '<h2>ERROR</h2>
                    <div class="info">
                        <p>Asegurese de rellenar todos los campos - <a href='
.$web.'cambiar-clave/><strong>Volver a intentarlo</strong></a></p>
                    </div>' 
;
}else{
mysql_close();
/*$con = mysql_query("SELECT * FROM usuarios WHERE nick='$session'");
$mostrar = mysql_fetch_array($con);*/

include("php/config.php");
    
$query='SELECT * FROM usuarios WHERE id='.$_COOKIE['uid'];
    
$result=mysql_query($query);
    
mysql_close();
    while(
$registro mysql_fetch_array($result)) {    
    
$actual =  $registro['contrasena'];}
            
            
//echo $actual . " = ". $a ;
            

if($actual!=$a) {

$salida.= '<h2>ERROR</h2>
                    <div class="info">
                        <p>"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='
.$web.'cambiar-clave/><strong>Volver a intentarlo</strong></a></p>
                    </div>' 
;
}else{

if(
$b1!=$b2) {
$salida.= '<h2>ERROR</h2>
                    <div class="info">
                        <p>Error en la confirmacion de la nueva clave, asegurese de que coinciden en ambos casos. - <a href='
.$web.'cambiar-clave/><strong>Volver a intentarlo</strong></a></p>
                    </div>' 
;
}else{

include(
"php/config.php");    
$query='UPDATE usuarios SET contrasena="'.md5($b1).'" WHERE id='.$_COOKIE['uid'];
$result=mysql_query($query) or die("Error: ".mysql_error());
$salida.= '<h2>Modificacion Exitosa</h2>
                    <div class="info">
                        <p>Tu clave ha sido modificada correctamente. Esta es tu nueva clave:<strong>'
.$b1.'</strong>. Recuerdala la proxima vez que quieras iniciar sesion. Haz click <a href='.$web.'><strong>aqui</strong></a> para volver</p>
                    </div>' 
;

$_SESSION = array();

}
}
}
}
}else{
$salida.= '<h2>ATENCION</h2>
                    <div class="info">
                        <p>Tu no estas autentificado. No puedes entrar aqui!!</p>
                    </div>' 
;
//echo 'Tu no estas autentificado. No puedes entrar aqui!!<br><br><a href="index.php">Volver</a>';
}  

$salida.='</div>';
$salida.='</div>';
    return 
$salida;
}

?>
en action, mando el formulario al mismo archivo como podras ver, lo unico que no consigo es que cuando de la respuesta de lo que sea, ya sea fallo o no me sigue apararecioendo el formulario arriba supongo que sera con un if y un else pero no se como ponerlo, si puede alguien ayudarme lo agradeceria.

un saludo
y gracias .