Foros del Web » Programando para Internet » PHP »

Incluir variable en mail de confirmación registro

Estas en el tema de Incluir variable en mail de confirmación registro en el foro de PHP en Foros del Web. Quisiera saber como incluir las variables que quiera dentro del mensaje HTML. He puesto $username, $password... pero me sale tal cual "$username" y no me ...
  #1 (permalink)  
Antiguo 20/10/2006, 17:39
Avatar de alexsaiz  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid
Mensajes: 85
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Incluir variable en mail de confirmación registro

Quisiera saber como incluir las variables que quiera dentro del mensaje HTML. He puesto $username, $password... pero me sale tal cual "$username" y no me sale en realidad lo que tengo en el variable.

¿Alguien ve el simple fallo?

Muchas gracias.

Código PHP:
$sfrom="[email protected]"//cuenta que envia 
$sdestinatario="$email"//cuenta destino 
$ssubject="Gracias por registrarte"//subject 
$shtml=
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<p><strong>Hola "$username",</strong></p>
<p>Muchas gracias por registrarte.</p>
<p><u>Estos son tu datos de registro:</u></p>
<p>Usuario: $username<br />
Contrase&ntilde;a: $password</p>
<p>Un cordial saludo,<br />
  <font color="#FF9900"><strong>El Equipo de empresa</strong></font></p>
</body>
</html>
'
//mensaje 
$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

Última edición por alexsaiz; 20/10/2006 a las 17:51 Razón: Quitar razones comerciales
  #2 (permalink)  
Antiguo 20/10/2006, 19:30
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 20 años, 8 meses
Puntos: 0
Hola Prueba con esto:

Código PHP:
$sfrom="[email protected]"//cuenta que envia  
$sdestinatario="$email"//cuenta destino  
$ssubject="Gracias por registrarte"//subject  


$shtml="  
<html> 
<head> 
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" /> 
<title>Documento sin t&iacute;tulo</title> 
</head> 

<body> 
<p><strong>Hola "
.$username.",</strong></p> 
<p>Muchas gracias por registrarte.</p> 
<p><u>Estos son tu datos de registro:</u></p> 
<p>Usuario: "
.$username."<br /> 
Contrase&ntilde;a: "
.$password."</p> 
<p>Un cordial saludo,<br /> 
  <font color=\"#FF9900\"><strong>El Equipo de empresa</strong></font></p> 
</body> 
</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
Espero te pueda servir.
Un Saludo
  #3 (permalink)  
Antiguo 20/10/2006, 20:06
Avatar de Netfrank  
Fecha de Ingreso: marzo-2006
Ubicación: Las Talitas - Tucumán
Mensajes: 226
Antigüedad: 18 años, 1 mes
Puntos: 3
Sugerencia

Te convendría más:
Código PHP:
'.$variable.' 
porque a veces te dá error con las comillas dobles.
  #4 (permalink)  
Antiguo 20/10/2006, 20:43
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 3 meses
Puntos: 5
Buenas, en breve:

Si usás comillas simples, las variables que haya dentro de ellas no se reemplazan por sus valores; si usás comillas dobles, sí. O sea:

$nombre = 'pepe';
echo "hola $nombre"; // imprime hola pepe
echo 'hola $nombre'; // imprime hola $nombre

Para ver el tema más en detalle:

http://ar2.php.net/manual/es/languag...string.parsing

Suerte
Califa
  #5 (permalink)  
Antiguo 23/10/2006, 17:11
Avatar de alexsaiz  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid
Mensajes: 85
Antigüedad: 17 años, 8 meses
Puntos: 0
Muchas gracias NetFrank, funciona perfectamente.
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 07:56.