Foros del Web » Programando para Internet » PHP »

Testeando mi sistema

Estas en el tema de Testeando mi sistema en el foro de PHP en Foros del Web. Hola quetal estoy creando una clase para enviar la contraseña de usuario olvidadizo pues ya se que esta construida pero quiero aprender a crearla por ...
  #1 (permalink)  
Antiguo 07/02/2009, 12:29
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 11 años, 7 meses
Puntos: 32
Recomendacion

Hola quetal estoy creando una clase para enviar la contraseña de usuario olvidadizo pues ya se que esta construida pero quiero aprender a crearla por mis propios medios no tengo problema alguno con lo que estoy haciendo solo quiero consejos de lo que estoy creando por ejemplo que me digan si estoy utilizando correctamente las clases si deberia utlizar herencia que las propiedades no son asi bueno multud de consejos aqui esta el codigo


Código PHP:
<?php

require_once("DB.php");
class 
RecuperaEmail
{
    protected 
$email;
    protected 
$loginUser;
    protected 
$passwordUser;
    
    public function 
Validacion($email)
    {
        if(empty(
$email))
        {
            echo 
"El campo email se encuentra vacio";
            return 
false;
        }
        else
        {
            
$email=strip_tags($email);
            
            
$email=$this->quitar($email);
            
            
$this->email=$email;
            
            if(
$this->ComprobarEmail($email))
            {
                
                
                
            }
            
            
                
            
            
        }
        
        
    }
    
    public function 
quitar($email//funcion para quitar caracteres no permitidos
    
{
    
$nopermitidos = array("'",'\\','<','>',"\"",";","$","%","&","/","|","{","}","[","]","+","#");
    
$email str_replace($nopermitidos,""$email);
    return 
$email;
    }
    
     
    public function 
mysql_escape($cadena)
    {
        if(
mysql_real_escape_string($cadena))
        {
            return 
$cadena;
        }
        else
        {
            echo 
"Ocurro un error escapando la cadena";
            return 
false;
            
        }
    }
    
    public function 
ComprobarEmail($email)
    {
        
$Comprobar=mysql_query("select login,email from usuarios where email='$email'");
        if(
$Comprobar)
        {
            if(
mysql_num_rows($Comprobar)>0)
            {
                return 
true;  //Si existe algun usuario con este email            
            
}
            else
            {
                echo 
"El email no se encuentra en la Base de datos";
                return 
false;
            }
                
        }
    }
    public function 
MandarEmail($email
    {
    
//manda un email para verificar si en realidad el usuario N perdio el 
    //password si es verdad sigue con la otra funcion
        
        
    
}
    
    
    
    
    
    
}

if(
$_REQUEST['setEmail']=="Enviar")
{
$email=$_POST['email'];
$Inputs=new RecuperaEmail();
$Inputs->Validacion($email);
  #2 (permalink)  
Antiguo 09/02/2009, 00:05
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 11 años, 7 meses
Puntos: 32
Testeando mi sistema

Hola quetal estoy desarrolllando un script que permite al usuario recuperar la contraseña si se le olvido esta hecho en PHP5 pues no tiene ningun error pero me gustaria que me dieran consejos sobre como lo estoy implementando por ejemplo si tengo errores, seguridad etc muchas cosas que me podrian aportar para mejorarlo. siii ya lo se hay un script ya hecho en el foro pero la cuestion es que lo queria hacer jeje bueno aqui va

Y apenas llevo como 1 semana con PHP5 asi que entre mas me puedan aconsejar estaria super agradecido


Primero los formularios

RecupearPassword.php

Código PHP:
<?php
session_start
();
    function 
setEmail($mensaje="")
    {
        
        echo 
$mensaje;
        
?>
        <form action="clasesRecuperarPassword.php" method="post">    
        <table>
        <tr><td>Escriba su Email</td><td><input type="text" name="email"></td></tr>
        <tr><td><input type="submit" name="setEmail" value="Enviar"></td></tr>
        </table>
        <form>
        <?
    
}
    function 
setPassword($mensaje="")
    {
        echo 
$mensaje;
        
?>
        <form action="clasesRecuperarPassword.php" method="post">
        <table>
        <tr>
        <td>Escriba su contraseña</td><td><input type="text" name="clave1"></td>
        </tr>
        <tr>
        <td>Repita su contraseña</td><td><input type="text" name="clave2"></td>
        </tr>
        <tr>
        <td><input type="submit" name="setPassword" value="Enviar"></td>
        </tr>
        </table>
        </form>
        
        
        <?
    
        
    
}
    
if(
$_GET['accion']=="Remail"//escribir email
{
    
setEmail($_GET['mensaje']);
}
elseif(
$_GET['accion']=="Enmail")//escribir passwords
{
    
setPassword($_GET['mensaje']);
}
    

    
    





?>
Código PHP:
<?php
session_start
();
require_once(
"DB.php");

class 
Utiles
{
    protected function 
CamposVaciosPass($array)
    {
        foreach(
$array as $clave => $valor)
        {
            if(empty(
$valor) || !isset($clave))
            {
                
header("location:RecuperarPassword.php?accion=Enmail&mensaje=".
                
urlencode("Los campos se encuentran incompletos"));
                return 
false;
            }
        }
        return 
true;
    }
    protected function 
CamposVaciosEmail($email)
    {
        if(empty(
$email))
        {
        
header("location:RecuperarPassword.php?accion=Remail&mensaje=".
        
urlencode("El campo Email se encuentra vacio"));
        return 
false;
        }
        return 
$email;
    }
    
    
    protected function 
quitar($email//funcion para quitar caracteres no permitidos
    
{
    
$nopermitidos = array("'",'\\','<','>',"\"",";","$","%","&","/","|","{","}","[","]","+","#");
    
$email str_replace($nopermitidos,""$email);
    return 
$email;
    }
    
    protected function 
quitar_htmls($cadena)
    {
        
$cadena=strip_tags($cadena);
        return 
$cadena;
        
    }
    
    protected function 
mysql_escape($cadena)
    {
        if(
mysql_real_escape_string($cadena))
        {
            return 
$cadena;
        }
        else
        {
            echo 
"Ocurro un error escapando la cadena";
            return 
false;
            
        }
    }
    
    
    
    
    
    
}
class 
EnviarMensaje extends Utiles
{
    protected 
$email;
    
//metodo configuro el email
     
function EnviarMensaje($email)
    {
        
        
//Utilizo los metodo heredados de la clase Utiles
        
if($this->CamposVaciosEmail($email))
        {
            
//quito toda etiqueta HTML
            
$email=$this->quitar_htmls($email);
            
//quito todo caracter no permitido
            
$email=$this->quitar($email);
            
//compruebo que el email existe en la DB
            
if($this->ComprobarEmail($email))
            {
                
//si el email existe mando el email de verificacion
                
$this->MandarEmail($email); 
                
$this->email=$email;
                
session_register("email");
                
                
            }
        }
        
            
        
    }
    
    protected function 
ComprobarEmail($email)
    {
        
$Comprobar=mysql_query("select login,email from usuarios where email='$email'");
        if(
$Comprobar)
        {
            if(
mysql_num_rows($Comprobar)>0)
            {
                return 
true;  //Si existe algun usuario con este email            
            
}
            else
            {
                
header("location:RecuperarPassword.php?accion=Remail&mensaje=".
                
urlencode("El email no existe"));
                
                return 
false;
            }
                
        }
    }
    protected function 
MandarEmail($email
    {
    
//manda un email para verificar si en realidad el usuario N perdio el 
    //password si es verdad sigue con la otra funcion
    
$asunto="Verificacion de Usuario";
    
$mensaje="Hemos recibido una solicitud para recuperar la contraseña y hemos enviado este
    Email para verificar que usted fue el que envio este mensaje.<br>
    Para verificar que usted envio este mensaje de clic en el siguiente enlace  <h1>$email</h1>
    http://www.truekesoft.net/foro_sebas/RecuperarPassword.php?accion=Enmail
    "
;
    
    
$headers  "From: Admin [email protected] \r\n";
    
$headers .= "Return-Path: [email protected] \r\n";
    
$headers .= "Reply-To: [email protected] \r\n";
    
$headers .= "X-Sender: [email protected] \r\n";
    
$headers .= "X-Priority: 3 \r\n";
    
$headers .= "MIME-Version: 1.0 \r\n";
    
$headers .= "Content-Transfer-Encoding: 7bit \r\n"
    
    if(@
mail($email,$asunto,$mensaje,$headers))
    {
        
header("location:RecuperarPassword.php?accion=Remail&mensaje=".
        
urlencode("Porfavor verifique su correo"));
        
        return 
true;
    }
    else
    {
        echo 
"No se pudo enviar el Email";     
        return 
false;
    }
    
        
        
        
    }
    
        
    
    
    
}
class 
RecepcionMensaje extends Utiles
{
    private 
$clave1;
    private 
$clave2;
    private 
$claveEncriptada;
    function 
RecepcionMensaje($ArrayForm)
    {
        if(
$this->isset_session("email"))
        {
           if(
$this->CamposVaciosPass($_POST))
           {
            
extract($_POST);
            
$this->clave1=$clave1;
            
$this->clave2=$clave2;
            
//quito etiquetas HTML
            
$this->clave1=$this->quitar_htmls($this->clave1);
            
$this->clave2=$this->quitar_htmls($this->clave2);
            
//Todo sale bien verifico las contraseñas y las encrito con sha1
            
if($this->contrasenas($this->clave1,$this->clave2))
            {
                
            }
            
            
            
           }
        }
    
        
    }
    protected function 
contrasenas($clave1,$clave2)
    {
        if(
$clave1==$clave2 && $clave1>=&& $clave2>=6)
        {
             
$clave1=sha1($clave1);
             return 
$this->claveEncriptada=$clave1;
             
        }
        return 
false;
    }
    protected function 
isset_session($email)
    {
        if(isset(
$_SESSION["email"]))
        {
            return 
true;
        }
        
header("location:RecuperarPassword.php?accion=Enmail");
        return 
false;  
        
    }
    
     
    
    
    
    
}
//Me ayuda a saber cual es el formulario de llegada si es setMail o setPassword
if($_REQUEST['setEmail']=="Enviar")
{
$email=$_POST['email'];
$mensaje=new EnviarMensaje($email);
}
elseif(
$_REQUEST['setPassword']=="Enviar")
{
//la URL contiene el email de la persona y se realiza la consulta con ese email para update    
$password=new RecepcionMensaje($_POST);    
    
}


?>

Esta bien largo espero alguien tenga tiempo de revisarlo gracias
  #3 (permalink)  
Antiguo 09/02/2009, 04:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 10 meses
Puntos: 2534
Respuesta: Testeando mi sistema

creo que estas haciendo el código muy exclusivo, xHTML invalido osea... nada genérico!

se nota que al cambiar el nombre del script, hay que editar bastante y por lo tanto no es flexible....

demás, para que usas extract() de $_POST ¿si ya le estas pasando el POST al instanciar el objeto ... ¿¿ ???

en EnviarMensaje declaras la variable $email ... solo la asignas una ves, y nunca la usas!!

PHP5 no solo es sintaxis.... no solo es usar clases o objetos, creo que el enfoque debe ser distinto...


(pero... no esta nada mal)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 09/02/2009, 05:47
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 12 años, 6 meses
Puntos: 21
Respuesta: Recomendacion

Hola,

mis recomendaciones desde la humildad son:

1.-
cambiar los métodos:

- quitar
- comprobarEmail
- mysql_escape

a private. Porque según veo en el código son métodos utilizados internamente por la clase.

2.-
La consulta mysql

Código PHP:
$Comprobar=mysql_query("select login,email from usuarios where email='$email'"); 
a

Código PHP:
$Comprobar=mysql_query("select login,email from usuarios where email='$email' limit 1"); 
añadir limit para obtimizar la consulta.

3.-
Los atributos de la clase pasarlos a private (si es posible).
  #5 (permalink)  
Antiguo 09/02/2009, 08:16
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 11 años, 7 meses
Puntos: 32
Respuesta: Testeando mi sistema

Okas solucionare todo eso apenas tenga tiempo si puedes seguir revisandola estaria agradecido
podrias ayudarme un poco con el enfoque que me dices pateketrueke no te entiendo muy bien

Última edición por acoevil; 09/02/2009 a las 08:24
  #6 (permalink)  
Antiguo 09/02/2009, 10:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 9 meses
Puntos: 2135
Respuesta: Recomendacion

Por otro lado intenta seguir esto: http://framework.zend.com/manual/en/...-standard.html

Saludos
  #7 (permalink)  
Antiguo 09/02/2009, 11:39
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 11 años, 7 meses
Puntos: 32
Respuesta: Recomendacion

Hola quetal he reliazado algunas modifcaciones para que el codigo se vea mejor espero sus recomendaciones

<?php
session_start();
require_once("DB.php");

class Utiles
{
protected $ruta="RecuperarPassword.php";
protected $accionE="Enmail"; //funcion setEmail
protected $accionR="Remail"; //Funcion setPassword


protected function CamposVaciosPass($array)
{
foreach($array as $clave => $valor)
{
if(empty($valor) || !isset($clave))
{
header("location:".$this->ruta."?accion=".$this->accionE."&mensaje=".
urlencode("Los campos se encuentran incompletos"));
return false;
}
}
return true;
}
protected function CamposVaciosEmail($email)
{
if(empty($email))
{
header("location:".$this->ruta."?accion=".$this->accionR."&mensaje=".
urlencode("El campo Email se encuentra vacio"));
return false;
}
return $email;
}


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

protected function quitar_htmls($cadena)
{
$cadena=strip_tags($cadena);
return $cadena;

}

protected function mysql_escape($cadena)
{
if(mysql_real_escape_string($cadena))
{
return $cadena;
}
else
{
echo "Ocurro un error escapando la cadena";
return false;

}
}






}
class EnviarMensaje extends Utiles
{


//metodo configuro el email
function EnviarMensaje($email)
{


//Utilizo los metodo heredados de la clase Utiles
if($this->CamposVaciosEmail($email))
{
//quito toda etiqueta HTML
$email=$this->quitar_htmls($email);
//quito todo caracter no permitido
$email=$this->quitar($email);

$comprobarEmail="select login from usuarios where email='$email'";

$comprobarEmail=$this->mysql_escape($comprobarEmail);

//compruebo que el email existe en la DB
if($this->ComprobarEmail($comprobarEmail))
{
//si el email existe mando el email de verificacion
$this->MandarEmail($email);
$this->email=$email;
session_register("email");


}
}



}
// "select login from usuarios where email='$email'"
protected function ComprobarEmail($comprobarEmail)
{
$Comprobar=mysql_query($comprobarEmail);
if($Comprobar)
{
if(mysql_num_rows($Comprobar)>0)
{
return true; //Si existe algun usuario con este email
}
else
{
header("location:".$this->ruta."?accion=".$this->accionR."&mensaje=".
urlencode("El email no existe"));

return false;
}

}
}
protected function MandarEmail($email)
{
//manda un email para verificar si en realidad el usuario N perdio el
//password si es verdad sigue con la otra funcion
$asunto="Verificacion de Usuario";
$mensaje="Hemos recibido una solicitud para recuperar la contraseña y hemos enviado este
Email para verificar que usted fue el que envio este mensaje.
Para verificar que usted envio este mensaje de clic en el siguiente enlace
http://www.truekesoft.net/foro_sebas/".$this->ruta."?accion=".$this->accionE;

$headers = "From: Admin [email protected] \r\n";
$headers .= "Return-Path: [email protected] \r\n";
$headers .= "Reply-To: [email protected] \r\n";
$headers .= "X-Sender: [email protected] \r\n";
$headers .= "X-Priority: 3 \r\n";
$headers .= "MIME-Version: 1.0 \r\n";
$headers .= "Content-Transfer-Encoding: 7bit \r\n";

if(@mail($email,$asunto,$mensaje,$headers))
{
header("location:".$this->ruta."?accion=".$this->accionR."&mensaje=".
urlencode("Porfavor verifique su correo"));

return true;
}
else
{
echo "No se pudo enviar el Email";
return false;
}

}





}
class RecepcionMensaje extends Utiles
{
private $clave1;
private $clave2;
private $claveEncriptada;
function RecepcionMensaje()
{
if($this->isset_session("email"))
{
if($this->CamposVaciosPass($_POST))
{
extract($_POST);
$this->clave1=$clave1;
$this->clave2=$clave2;
//quito etiquetas HTML
$this->clave1=$this->quitar_htmls($this->clave1);
$this->clave2=$this->quitar_htmls($this->clave2);
//Todo sale bien verifico las contraseñas y las encrito con sha1
if($this->contrasenas($this->clave1,$this->clave2))
{
echo $this->claveEncriptada;

}



}
}


}
protected function contrasenas($clave1,$clave2)
{
if($clave1==$clave2 && $clave1>=6 && $clave2>=6)
{
$clave1=sha1($clave1);
return $this->claveEncriptada=$clave1;

}
header("location:".$this->ruta."?accion=".$this->accionE."&mensaje=".
urlencode("Las contraseñas tienen menos de 6 caracteres o son diferentes"));
return false;
}
protected function isset_session($email)
{
if(isset($_SESSION["email"]))
{
return true;
}
header("location:".$this->ruta."?accion=".$this->accionE);
return false;

}






}
//Me ayuda a saber cual es el formulario de llegada si es setMail o setPassword
if($_REQUEST['setEmail']=="Enviar")
{
$email=$_POST['email'];
$mensaje=new EnviarMensaje($email);
}
elseif($_REQUEST['setPassword']=="Enviar")
{
//la URL contiene el email de la persona y se realiza la consulta con ese email para update
$password=new RecepcionMensaje();

}


?>
  #8 (permalink)  
Antiguo 09/02/2009, 18:01
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 11 años, 7 meses
Puntos: 32
Respuesta: Testeando mi sistema

Hola quetal ya he terminado el codigo de este escript pues no se que mas depurar si alguien tiene algo que me pueda aportar a mejorar el sistema seria de gran ayuda ya que llevo poco tiempo con PHP5 y estoy apenas nobato jeje

Basicamente lo que hace es recupear la contraseña del usuario, primero que todo introduze el correo el sistema valida el correo contra todo mal jeje valida que no este vacio el campo despues que todo sale correcto envia un email a la persona con un link dirigiendolo a una pagina donde se encuentran 2 inputs para llenar la nueva contraseña

El sistema funciona muy bien pero siempre es bueno mejorarlo y optimizarlo gracias por sus aportes.


RecuperarPassword.php

<?php
session_start();
function setEmail($mensaje="")
{

echo $mensaje;
?>
<form action="clasesRecuperarPassword.php" method="post">
<table>
<tr><td>Escriba su Email</td><td><input type="text" name="email"></td></tr>
<tr><td><input type="submit" name="setEmail" value="Enviar"></td></tr>
</table>
<form>
<?
}
function setPassword($mensaje="")
{
echo $mensaje;
?>
<form action="clasesRecuperarPassword.php" method="post">
<table>
<tr>
<td>Escriba su contraseña</td><td><input type="text" name="clave1"></td>
</tr>
<tr>
<td>Repita su contraseña</td><td><input type="text" name="clave2"></td>
</tr>
<tr>
<td><input type="submit" name="setPassword" value="Enviar"></td>
</tr>
</table>
</form>


<?


}

if($_GET['accion']=="Remail") //escribir email
{
setEmail($_GET['mensaje']);
}
elseif($_GET['accion']=="Enmail")//escribir passwords
{
setPassword($_GET['mensaje']);
}
?>

/////////////Aqui las clases//////////


<?php
session_start();
class Utiles
{
protected $ruta="RecuperarPassword.php";
protected $accionE="Enmail"; //funcion setEmail ->No cambiar este valor
protected $accionR="Remail"; //Funcion setPassword->No cambiar este valor
protected $conexion;

public function conexionDB($Usernom="root",$Userpass="",$userdb="M ydb",$servidor="localhost")
{
$conexion=mysql_connect($servidor,$Usernom,$Userpa ss) or die ("No se pudo conectar");
mysql_select_db($userdb,$conexion) or die ("No se pudo seleccionar DB");

if($conexion)
{
return $this->conexion=$conexion;
}
return "Ocurrio un problema en la DB";
}
protected function CamposVaciosPass($array)
{
foreach($array as $clave => $valor)
{
if(empty($valor) || !isset($clave))
{
header("location:".$this->ruta."?accion=".$this->accionE."&mensaje=".
urlencode("Los campos se encuentran incompletos"));
return false;
}
}
return true;
}
protected function CamposVaciosEmail($email)
{
if(empty($email))
{
header("location:".$this->ruta."?accion=".$this->accionR."&mensaje=".
urlencode("El campo Email se encuentra vacio"));
return false;
}
return $email;
}


protected function quitar($email) //funcion para quitar caracteres no permitidos
{
$nopermitidos = array("'",'\\','<','>',"\"",";","$","%","&","/","|","{","}","[","]","+","#");
$email = str_replace($nopermitidos,"", $email);
return $email;
}
protected function quitar_htmls($cadena)
{
$cadena=strip_tags($cadena);
return $cadena;
}
protected function mysql_escape($cadena)
{
if(mysql_real_escape_string($cadena))
{
return $cadena;
}
else
{
echo "Ocurro un error escapando la cadena";
return false;
}
}


}
class EnviarMensaje extends Utiles
{
function EnviarMensaje()
{
$email=$_POST['email'];
//Utilizo los metodo heredados de la clase Utiles
if($this->CamposVaciosEmail($email))
{
//quito toda etiqueta HTML
$email=$this->quitar_htmls($email);
//quito todo caracter no permitido
$email=$this->quitar($email);
$comprobarEmail="select login from usuarios where email='$email'";
$comprobarEmail=$this->mysql_escape($comprobarEmail);
//compruebo que el email existe en la DB
if($this->ComprobarEmail($comprobarEmail))
{
//si el email existe mando el email de verificacion
$this->MandarEmail($email);
session_register("email");
}
}
}

protected function ComprobarEmail($comprobarEmail)
{
$Comprobar=mysql_query($comprobarEmail);
if($Comprobar)
{
if(mysql_num_rows($Comprobar)>0)
{
return true; //Si existe algun usuario con este email
}
else
{
header("location:".$this->ruta."?accion=".$this->accionR."&mensaje=".
urlencode("El email no existe"));
return false;
}

}
}
protected function MandarEmail($email)
{
//manda un email para verificar si en realidad el usuario N perdio el
//password si es verdad sigue con la otra funcion
$asunto="Verificacion de Usuario";
$mensaje="Hemos recibido una solicitud para recuperar la contraseña y hemos enviado este
Email para verificar que usted fue el que envio este mensaje.
Para verificar que usted envio este mensaje de clic en el siguiente enlace
http://www.truekesoft.net/foro_sebas/".$this->ruta."?accion=".$this->accionE;

$headers = "From: Admin [email protected] \r\n";
$headers .= "Return-Path: [email protected] \r\n";
$headers .= "Reply-To: [email protected] \r\n";
$headers .= "X-Sender: [email protected] \r\n";
$headers .= "X-Priority: 3 \r\n";
$headers .= "MIME-Version: 1.0 \r\n";
$headers .= "Content-Transfer-Encoding: 7bit \r\n";

if(@mail($email,$asunto,$mensaje,$headers))
{
header("location:".$this->ruta."?accion=".$this->accionR."&mensaje=".
urlencode("Porfavor verifique su correo"));

return true;
}
else
{
echo "No se pudo enviar el Email";
return false;
}
}





}
class RecepcionMensaje extends Utiles
{
private $clave1;
private $clave2;
private $claveEncriptada;
function RecepcionMensaje()
{
if($this->isset_session("email"))
{
if($this->CamposVaciosPass($_POST))
{
extract($_POST);
$this->clave1=$clave1;
$this->clave2=$clave2;
//quito etiquetas HTML
$this->clave1=$this->quitar_htmls($this->clave1);
$this->clave2=$this->quitar_htmls($this->clave2);
//Todo sale bien verifico las contraseñas y las encrito con sha1
if($this->contrasenas($this->clave1,$this->clave2))
{
$actualizacion=mysql_query("update usuarios set clave='$this->claveEncriptada' where
email='$_SESSION[email]'");
if($actualizacion)
{
header("location:index.php?mensaje=".urlencode("La contraseña se
actualizo correctamente"));
return true;
}
else
{
header("location:".$this->ruta."?accion=".$this->accionE."&mensaje=".
urlencode("Ocurrio un error modificando las contraseñas"));
return false;
}
}
}
}
}
protected function contrasenas($clave1,$clave2)
{
if($clave1==$clave2 && $clave1>=6 && $clave2>=6)
{
$clave1=sha1($clave1);
return $this->claveEncriptada=$clave1;
}
header("location:".$this->ruta."?accion=".$this->accionE."&mensaje=".
urlencode("Las contraseñas tienen menos de 6 caracteres o son diferentes"));
return false;
}
protected function isset_session($email)
{
if(isset($_SESSION["email"]))
{
return true;
}
header("location:".$this->ruta."?accion=".$this->accionE);
return false;
}
}

//Configuro la DB
$db=new Utiles;
$db->conexionDB("root","","foro_db","localhost");

//Me ayuda a saber cual es el formulario de llegada si es setMail o setPassword
if($_REQUEST['setEmail']=="Enviar")
{
$mensaje=new EnviarMensaje();
}
elseif($_REQUEST['setPassword']=="Enviar")
{
$password=new RecepcionMensaje();
}


?>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:04.