Foros del Web » Programando para Internet » PHP »

Envio de contraseña por email

Estas en el tema de Envio de contraseña por email en el foro de PHP en Foros del Web. Hola soy muy novato en php, me encargué una e-tienda pero tiene muchos detalles que no van bien... y como me la hicieron en Tailandia ...
  #1 (permalink)  
Antiguo 29/04/2006, 06:14
 
Fecha de Ingreso: enero-2004
Mensajes: 1
Antigüedad: 20 años, 3 meses
Puntos: 0
Envio de contraseña por email

Hola soy muy novato en php, me encargué una e-tienda pero tiene muchos detalles que no van bien... y como me la hicieron en Tailandia y ya hemos roto relacciones con el programador estoy toquiteando por aquí y por allá... a ver si los arreglo. ..
Llevo ya como tres dias dondole vueltas al tema del envio de la contraseña.

Hay un archivo forgetpwd.php en el que el usuario debe ingresar su nombre de usuario, y al darle al submit le envia la contraseña por email.
Y otro archivo class_forgetpwd donde estan las funciones.

Ok cuando ingreso un usuario valido en el casillero, se envia un email al correo del usuario, y aparece el texto: "la contraseña se ha enviado a: (y la dirección de correo del usuario)". Y el correo se envia y llega, pero sin la contraseña.
Accedo al Class_forgetpwd ( donde estan las funciones del envio del correo y las funciones que chequean en la base de datos, el correo y la contraseña del usuario)... Y aquí es donde soy INCAPAZ de hacer que la contraseña aparezaca en el texto del mensaje de la funcion sendpass (


archivo forgetpwd
Código PHP:
    include("../lang/".$LN);

    include (
"../classlib/DB_class.php");

    include (
"../classlib/class_forgetpwd.php");

    include (
"../function/functionlib.php");

if(isset(
$Submit))

{   
$unaccept false;

    
$classForgetPwd = new forgetpassword();

    if(
$classForgetPwd->checkValidUsername($user)==FALSE) {

       
$unaccept =true;

       
$text $cfgText[75];

     }

   else {

      
$text $cfgText[74];
      

        if(
$classForgetPwd->sendPass($classForgetPwd->checkValidUsername($user),$cfgText[77],$cfgText[78])){

          
$text $cfgText[74].$classForgetPwd->checkValidUsername($user);

      } else {

          
$text $cfgText[76];

      }

   }


Y aqui el archivo class_forgetpwd donde están las funciones, originariamente solo habia dos funciones (checkValidUsername y sendpass) yo añadí getpass. Lo que quiero es que la resultante de la consulta de la funcion getpass aparezca en el mensaje de correo que se envia con la función sendpass...

Por favor aydudadme, me estoyvolviendo loco...

Código PHP:
 class forgetpassword
 
{
 
   function 
checkValidUsername($user)
   {
           
$strSQL ="SELECT email FROM tbcustomer WHERE customer_id ='$user'";
        
$dbConn=new DbConnect(HOST,USER,PASS,DB);
        
$dbConn->connect_todb();
        
$result=mysql_query($strSQL,$dbConn->conn) or die("Query tbproduct has error".mysql_error());
        if(
mysql_num_rows($result) > 0)
        
        { 
        
           
$mail mysql_result($result,"email");
           return 
$mail;
        }
        else {
          return 
false;
        }
   
   }
   function 
getpass($user)
   {
           
$strSQL ="SELECT password FROM tbcustomer WHERE customer_id ='$user'";
        
$dbConn=new DbConnect(HOST,USER,PASS,DB);
        
$dbConn->connect_todb();
        
$result=mysql_query($strSQL,$dbConn->conn) or die("Query tbproduct has error".mysql_error());
       while(
$row mysql_fetch_array($result));


   
   }
 function 
sendPass($to,$subject,$message)
 
   
{
    
$pass $getpass($user)->row

    
/* To send HTML mail, you can set the Content-type header. */ 
    
$headers  "MIME-Version: 1.0\r\n"
    
$headers .= "Content-type: text/html; charset=windows-874\r\n"
    
        
/* additional headers */

    
$headers .= "To: \r\n";

    
$headers .= "From: ZAS-robapinzas.com <[email protected]>\r\n";

    
$headers .= "Cc: \r\n";

    
$headers .= "Bcc: \r\n";

     
$subject="la contraseña";
     
     
$message="Venga:...$text ".$row.".....jhjhjhjhkhkk";

    
        if(
mail($to$subject$message$headers$text))
            return 
true;
        else 
            return 
false;
 
 }
 
 
 
 } 
  #2 (permalink)  
Antiguo 30/04/2006, 02:39
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
Pa' saber el error así na' más, t' dificil.

Pero pues como dices que te envía el email pero sin el pass, 'tons el problema debe estar ahí.

Trata de hacer la consulta 'a mano' para ver que realmente se esté obteniendo la contraseña.

Otra cosa para intentar (en rojo):


function getpass($user)
{
$strSQL ="SELECT password FROM tbcustomer WHERE customer_id ='$user'";
$dbConn=new DbConnect(HOST,USER,PASS,DB);
$dbConn->connect_todb();
$result=mysql_query($strSQL,$dbConn->conn) or die("Query tbproduct has error".mysql_error());
while(
$row = mysql_fetch_array($result));

return $row[0];



}
function
sendPass($to,$subject,$message)


{
//$pass = $getpass($user)->row
$pass = $getpass($user);
/* To send HTML mail, you can set the Content-type header. */
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=windows-874\r\n";

/* additional headers */

$headers .= "To: \r\n";

$headers .= "From: ZAS-robapinzas.com <[email protected]>\r\n";

$headers .= "Cc: \r\n";

$headers .= "Bcc: \r\n";

$subject="la contraseña";

$message="Venga:...$text ".$row.".....jhjhjhjhkhkk";


if(
mail($to, $subject, $message, $headers, $text))
return
true;
else
return
false;

}

__________________
"Di no al Internet Explorer" -Proverbio Chino-
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 00:55.