Foros del Web » Programando para Internet » PHP »

Envio de Email con PHP (no me muestra mi variable)

Estas en el tema de Envio de Email con PHP (no me muestra mi variable) en el foro de PHP en Foros del Web. Hola a todos del Foro Tengo un problema en cuanto al codigo para enviar un Email Html con una variable de PHP Resulta que tengo ...
  #1 (permalink)  
Antiguo 28/11/2005, 08:05
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 18 años, 10 meses
Puntos: 7
Envio de Email con PHP (no me muestra mi variable)

Hola a todos del Foro

Tengo un problema en cuanto al codigo para enviar un Email Html con una variable de PHP

Resulta que tengo una funcion k cambia y actualiza la contraseña (ejemplo visto en el foro)
Código PHP:
<?php 
$contrasena 
genera_password(8);// de 8 caracteres (o lo que quieras) 
$sql "UPDATE tabla SET campo_password = '$contrasena' WHERE campo_email='".$_POST['email']."'"
mysql_query($sql) or die("error en <b>$sql</b> :::"mysql_error()); 
if(
mysql_affected_rows() == 1){// si hay una fila afectada (o sea si el email existe en la BD) 
   
mail $_POST['email'], "nuevo password""su nuevo password es: $contrasena"); 

?>
Ahora lo estoy adaptando con la funcion de enviar Email:

Código PHP:
$sfrom="[email protected]"//cuenta que envia 
//$sdestinatario=""; //cuenta destino 
$ssubject="Nuevo Password ";
$shtml=''//Aqui en dodne deseo colocar mi mensaje en html
$sheader="From:".$sfrom."\nReply-To:".$sfrom."\n"
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n"
$sheader=$sheader."Mime-Version: 1.0\n"
$sheader=$sheader."Content-Type: text/html"
//mail($sdestinatario,$ssubject,$shtml,$sheader);  //ejemplo de demo
mail($_POST['email'],$ssubject,"$shtml",$sheader); 
//mail ($_POST['email'], "nuevo password", "su nuevo password es: $contrasena"); 
EL codigo del envio html es :
Código PHP:
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="300" border="1">
  <tr>
    <td>HOLA </td>
  </tr>
  <tr>
    <td>su nuevo password es: <?php echo '$contrasena'?> </td>
  </tr>
  <tr>
    <td>Gracias</td>
  </tr>
</table>
</body>
</html>
Quisiera saber la forma de como poder enviar ese codigo por correo y que se vea la variable

Gracias a Todos
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #2 (permalink)  
Antiguo 28/11/2005, 08:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No pongas la variable entre comillas simples .. así no se interpretará su valor ..

Código PHP:
<?php echo $contrasena?>

Pero .. lo que te vendría bien para tu caso es usar simplemente sintax tipo "Here doc":
Código PHP:
$shtml=<<<HTML
<html> 
<head> 
<title>Documento sin t&iacute;tulo</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 

<body> 
<table width="300" border="1"> 
  <tr> 
    <td>HOLA </td> 
  </tr> 
  <tr> 
    <td>su nuevo password es: $contrasena</td> 
  </tr> 
  <tr> 
    <td>Gracias</td> 
  </tr> 
</table> 
</body> 
</html> 
HTML; 
Más info:
http://www.php.net/manual/en/languag...syntax.heredoc

Un saludo,
  #3 (permalink)  
Antiguo 28/11/2005, 08:29
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 18 años, 10 meses
Puntos: 7
Hola Cluster Gracias por la respuesta

Lo probe y me da este error :
Cita:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /public_html/admin/claverecuperadacluster.php on line 67
y el codigo es :

Código PHP:
<?
        $sfrom
="[email protected]"//cuenta que envia 
        //$sdestinatario=""; //cuenta destino 
        
$ssubject="Nuevo Password ";
        
//Aqui en dodne deseo colocar mi mensaje en html
        
$shtml= <<<HTML
        <html>
        <head>
        </head>
        <body>
        <table width=300 border=1>
          <tr>
            <td>HOLA </td>
          </tr>
          <tr>
            <td>su nuevo password es: $contrasena  </td>
          </tr>
          <tr>
            <td>Gracias</td>
          </tr>
        </table>
        </body>
        </html>
        HTML;
        $sheader="From:".$sfrom."\nReply-To:".$sfrom."\n"; 
        $sheader=$sheader."X-Mailer:PHP/".phpversion()."\n"; 
        $sheader=$sheader."Mime-Version: 1.0\n"; 
        $sheader=$sheader."Content-Type: text/html"; 
//        mail($sdestinatario,$ssubject,$shtml,$sheader);  //ejemplo de demo
        mail($_POST
['email'],$ssubject,$shtml,$sheader); // esta es la linea 67
?>
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #4 (permalink)  
Antiguo 28/11/2005, 08:37
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
En la página que te dijo dice "there may not be any spaces or tabs after or before the semicolon", traducido "no puede haber espacios o ¿tabs? antes o después del "semicolon", creo que si borrás los tabs de antes de HTML; debería andar.
  #5 (permalink)  
Antiguo 28/11/2005, 08:44
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 18 años, 10 meses
Puntos: 7
Gracias Seppo borre los tabs y quedo asi :


Código PHP:
        $sfrom="[email protected]"//cuenta que envia 
        //$sdestinatario=""; //cuenta destino 
        
$ssubject="Nuevo Password ";
        
//Aqui en dodne deseo colocar mi mensaje en html
        
$shtml= <<HTML
<html>
<
head>
</
head>
<
body>
<
table width=300 border=1>
<
tr>
<
td>HOLA </td>
</
tr>
<
tr>
<
td>su nuevo password es$contrasena  </td>
</
tr>
<
tr>
<
td>Gracias</td>
</
tr>
</
table>
</
body>
</
html>
        
HTML;
        
$sheader="From:".$sfrom."\nReply-To:".$sfrom."\n"
        
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n"
        
$sheader=$sheader."Mime-Version: 1.0\n"
        
$sheader=$sheader."Content-Type: text/html"
//        mail($sdestinatario,$ssubject,$shtml,$sheader);  //ejemplo de demo
        
mail($_POST['email'],$ssubject,$shtml,$sheader); // esta es la linea 67 
Ahora me sale este error :

Cita:
Parse error: parse error, unexpected T_SL in /public_html/admin/claverecuperadacluster.php on line 43
La linea 43 es $shtml= <<HTML

Gracias.
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #6 (permalink)  
Antiguo 28/11/2005, 09:19
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
borraste un < que no debías, y no borraste los tabs que dije =P
probá con esto...
Código PHP:
$sfrom="[email protected]"//cuenta que envia
        //$sdestinatario=""; //cuenta destino
        
$ssubject="Nuevo Password ";
        
//Aqui en dodne deseo colocar mi mensaje en html
        
$shtml= <<<HTML
<html>
<head>
</head>
<body>
<table width=300 border=1>
<tr>
<td>HOLA </td>
</tr>
<tr>
<td>su nuevo password es: $contrasena  </td>
</tr>
<tr>
<td>Gracias</td>
</tr>
</table>
</body>
</html>
HTML;
        
$sheader="From:".$sfrom."\nReply-To:".$sfrom."\n";
        
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n";
        
$sheader=$sheader."Mime-Version: 1.0\n";
        
$sheader=$sheader."Content-Type: text/html";
//        mail($sdestinatario,$ssubject,$shtml,$sheader);  //ejemplo de demo
        
mail($_POST['email'],$ssubject,$shtml,$sheader); // esta es la linea 67 
  #7 (permalink)  
Antiguo 28/11/2005, 10:17
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 18 años, 10 meses
Puntos: 7
Gracias

LO PROBARE CUALQUIER COSA LES ESTARE AVISANDO GRACIAS CLUSTER Y GRACIAS SEPPO
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #8 (permalink)  
Antiguo 28/11/2005, 10:19
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 18 años, 10 meses
Puntos: 7
Gracias si Envia (y)

Son de Gran ayuda
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
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

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 12:07.