Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/10/2011, 21:11
miguelcalla
(Desactivado)
 
Fecha de Ingreso: octubre-2011
Mensajes: 164
Antigüedad: 12 años, 6 meses
Puntos: 1
formulario para recuperar contraseña

hola estoy tratando de adaptar este post de Jaronu que muy gentilmente publico este codigo en php que estoy tratando de incorporar a mi sistema de usuario como recuperar la contraseña para mis usuarios olvidadisos
este es el post:
http://www.forosdelweb.com/f18/aporte-sistema-para-recuperar-contrasena-usuario-olvidadizo-569102/


para recuperar_clave lo cual estoy tratando de echar andar completando los html me podrian echar una mano yo se que no es tan dificil pero no me sale es decir una vez que doy click en el boton IR del index1.php no muestra el sgte form


Código:
tabla: usuario
campos:id,email,usuario,password,activate,estado

index1.php
Código PHP:

<head>cual es su mail</head>
<
p></p>
<
body>
    <
form name="form_a" method="post" action="recuperar.php" />
        <!--<
table border="0" align="center">-->
            <
p></p>
            <
input type="text" name="email" id="email" size="60"/>
            <
p></p>
            <
input type="submit" name="ir" value="Ir">
        <!--</
table>-->
    </
form>
</
body
index2.php

Código PHP:
<head>recuperar clave</head>
<
body >
    <
form name="form_a" action="recuperar_2.php" />
            <
p></p>password anterior
            
<input type="text" name="password" id="password" />
            <
br>nuevo password
            
<input type="text" name="password2" id="password2" />
            <
br>
            <
p></p>
            <
input type="submit" name="btn" id="btn" value="Enviarte"/>
    </
form>
</
body

recuperar.php
Código PHP:
<?php 
//conectamos a la BD
$conexion mysql_connect('localhost','rreeuser','2011')or die ('Ha fallado la conexión: '.mysql_error());
        
mysql_select_db('rree')or die ('Error al seleccionar la Base de Datos: '.mysql_error());

function 
quitar($mensaje//funcion para quitar caracteres no permitidos
{
    
$nopermitidos = array("'",'\\','<','>',"\"",";","$","%","&","/","|","{","}","[","]","+","#");
    
$mensaje str_replace($nopermitidos""$mensaje);
    return 
$mensaje;
}

function 
mysql_escape($cadena) {         //funcion pasada por okram para limpiar campos escritos por usuarios
    
if(get_magic_quotes_gpc() != 0) {     //y aplicar mysql_real_escape_string a las variables y stripslashes si la magic cuotes estan activadas
        
$cadena stripslashes($cadena);
    }
    return 
mysql_real_escape_string($cadena);
}  
$email quitar(isset($_POST ['email']));
 
$_SESSION['email'] = $email//guardamos email de la tabla, en una variable de session para recuperarlo en el siguiente form

if(isset($_POST['email']) ) {  //comprovamos que el campo email trae algun valor

         
$query   "SELECT * FROM usuario WHERE  email='$email'";  //seleccionamos la informacion de la BD correspondiente al email del user
         
$result mysql_query($query $conexion) or die ( mysql_error() );
            while (
$row   mysql_fetch_array($result)){ 
        
    
                      if (isset(
$row['password'])){  //compruebo que exista el password del email enviado


                
$_SESSION['username'] = $row['usuario'];//guardamos el usuario en una variable de sesion
                //para no tener problemas con header uso el siguiente script de java para redirigir
            
?>
            <SCRIPT LANGUAGE="javascript">
            header ("location: index2.php");
            </SCRIPT>
            <?php     
    
}else{
        
        echo 
"El email no esta registrado en nuestra base de datos.";
          
         }}}
          
?>
recuperar_2.php

Código PHP:
<?php
session_start
(); //abrimos la sesion para poder despues pasar variables de una pagina a otra

//datos para establecer la conexion con la base de mysql.
$conexion=mysql_connect('localhost','rreeuser','2011')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('rree')or die ('Error al seleccionar la Base de Datos: '.mysql_error());



function 
quitar($mensaje//funcion para quitar caracteres no permitidos
{
    
$nopermitidos = array("'",'\\','<','>',"\"",";","$","%","&","/","|","{","}","[","]","+","#");
    
$mensaje str_replace($nopermitidos""$mensaje);
    return 
$mensaje;
}
function 
mysql_escape($cadena) {
    if(
get_magic_quotes_gpc() != 0) {
        
$cadena stripslashes($cadena);
    }
    return 
mysql_real_escape_string($cadena);
}  


if (isset(
$_POST["password"])) {
    
    
$password quitar($_POST["password"]); //variable que viene del campo del form pasword
    
$password2 quitar($_POST["password2"]);//variable que viene del campo del form pasword2
                
$password mysql_escape($password);  //aplico la funcion mysql_escape
                
$password2 mysql_escape($password2);

    
$password md5($password); // codificamos los password con md5
    
$password2 md5($password2);
    
$email $_SESSION['email']; // recogemos la variable email y username que guardamos en la sesion en el script anterior
                
$username $_SESSION['username']; 


    
    
    
// Hay campos en blanco
    
if($password==NULL|$password2==NULL) {
        echo 
"un campo está vacio.";
    
        }else{
                              
// si coiciden los codigos de seguridad
 #           if (quitar($_SESSION['tmptxt_seg']) !== quitar($_POST['tmptxt_seg'])) { 
 #                   echo "Introdujo mal el codigo de seguridad.";              
 #       } else { 
        
    
        // ¿Coinciden las contraseñas?
        
if($password!=$password2) {
            echo 
"Las contraseñas no coinciden";
            
formRegistro();
        }else{
        
        
        
$query "UPDATE usuario
            SET password = '$password' WHERE   usuario = '$usuario' OR email ='$email' " 
;
                
mysql_query($query) or die(mysql_error());    
                
            
//obtengo los datos del usuario para mandar el email    
            
$result "SELECT * FROM usuario WHERE password = '$password'";
                    
             
$result mysql_query($result) or die ( mysql_error() );        
        
            
$row mysql_fetch_array($result); 
                
        echo 
"La activacion de su nuevo password  tuvo exito.";
               
                         
// Datos del email

$nombre_origen    "Lo que sea";
$email_origen     "[email protected]";
$email_copia      "[email protected]";
$email_ocultos    "[email protected]";
$email_destino    "".$row['email']."";  
//$email_destino    = "[email protected]";  //cambiar esta linea por la de encima cuando se termine la aplicacion para pruebas pon tu email


$asunto           "Activacion de nueca contraseña, guarde este email.";

$mensaje          '<table width="629" border="0" cellspacing="1" cellpadding="2">
  <tr>
    <td width="623" align="left"></td>
  </tr>
  <tr>
    <td bgcolor="#2EA354"><div style="color:#FFFFFF; font-size:14; font-family: Arial, Helvetica, sans-serif; text-transform: capitalize; font-weight: bold;"><strong>     Estos son sus datos  '
.$row['usuario'].'</strong></div></td>
  </tr>
  <tr>
    <td height="95" align="left" valign="top"><div style=" color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:12px; margin-bottom:3px;"> USUARIO: '
.$row['usuario'].'</strong><br><br><br>
          
          <strong>SU EMAIL : </strong>'
.$row['email'].'</strong><br><br><br>
          <strong>REACTIVO SU NUEVA CONTRASEÑA SIN NINGUN INCIDENTE.</strong><br><br>
          <strong>GRACIAS POR CONFIAR EN CEVIT.</strong><br>
          <strong>PRONTO ACTUALIZAREMOS CONTENIDOS, ESTATE ATENTA/O.</strong><br>
    </div>
    </td>
  </tr>
</table>'
;   

$formato          "html";

//*****************************************************************//
$headers  "From: $nombre_origen <$email_origen> \r\n";
$headers .= "Return-Path: <$email_origen> \r\n";
$headers .= "Reply-To: $email_origen \r\n";
$headers .= "X-Sender: $email_origen \r\n";
$headers .= "X-Priority: 3 \r\n";
$headers .= "MIME-Version: 1.0 \r\n";
$headers .= "Content-Transfer-Encoding: 7bit \r\n";

//*****************************************************************//
 
if($formato == "html")
 { 
$headers .= "Content-Type: text/html; charset=iso-8859-1 \r\n";  }
   else
    { 
$headers .= "Content-Type: text/plain; charset=iso-8859-1 \r\n";  }

if (@
mail($email_destino$asunto$mensaje$headers)) 
    { } 
     
    }
    }
    }
    
?>