Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Variables PHP en email HTML

Estas en el tema de Variables PHP en email HTML en el foro de PHP en Foros del Web. Hola a todos. Necesito ayuda con el tema de enviar un email con PHP. Lo que estoy intentando hacer es: en un archivo php recibir ...
  #1 (permalink)  
Antiguo 08/05/2014, 06:47
Avatar de adminescuela  
Fecha de Ingreso: septiembre-2012
Mensajes: 9
Antigüedad: 11 años, 7 meses
Puntos: 0
Exclamación Variables PHP en email HTML

Hola a todos.
Necesito ayuda con el tema de enviar un email con PHP.
Lo que estoy intentando hacer es:
  1. en un archivo php recibir las variables enviadas por un form.
  2. guardar en una variable $formato todo el código html del email (otro archivo) de la siguiente manera

Código PHP:
  $file fopen("email-format.php""r");
    while(!
feof($file)) {
    
$formato .= fgets($file);
  }
  
fclose($file); 
En mi archivo que es el formato del email tengo código como esto:
Código PHP:
<h4 class="h4"><?php [[asunto]] ?></h4>
luego trabajo con mi variable $formato que mencioné más arriba y reemplazo ciertas palabras como [[asunto]] por el valor de una variable $asunto

Código PHP:
$mensaje str_replace("[[asunto]]","echo $asunto",$formato); 
Hago un echo para probar cómo se ve, ¡¡pero la variable no se muestra!!
Ayuda por favor.
  #2 (permalink)  
Antiguo 08/05/2014, 08:35
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Variables PHP en email HTML

Estarias reemplazando '[[asunto]]' por "echo $asunto" en $formato, es eso lo que quieres ?

Código PHP:
<?php
// Estarias reemplazando  '[[asunto]]' por "echo $asunto" en $formato, es eso lo que quieres ?

$formato "Hoy trataremos de hablar sobre [[asunto]] y nada mas";
$asunto ="programacion en PHP";

$mensaje str_replace("[[asunto]]","echo $asunto",$formato); 
echo 
$mensaje;

salida:
Cita:
Hoy trataremos de hablar sobre echo programacion en PHP y nada mas
Diria que el "echo" debes eliminarlo ;)
__________________
Salu2!
  #3 (permalink)  
Antiguo 08/05/2014, 09:26
Avatar de adminescuela  
Fecha de Ingreso: septiembre-2012
Mensajes: 9
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Variables PHP en email HTML

¡Claro! yo había pensado en que el "echo" no se mostraría al estar entre tags php

Funciona la solución que me das, pero sólo en el intérprete de easyPHP, probando en mi archivo, no muestra el valor de la variable.
Cuando miro el código fuente de la página se muestra asi:
Código HTML:
Ver original
  1. <h4 class="h4"><?php Comunicado ?></h4>
Por lo visto reemplaza el valor de la variable, pero cuando hago el echo de la variable de texto de todo el html no lo modifica.

Código PHP:
Ver original
  1. $completo = str_replace("[[asunto]]","$asunto",$formato);
  2. echo $completo;
  3.  
  4. //$formato es una variable de texto de todo el email en html.
  #4 (permalink)  
Antiguo 08/05/2014, 10:09
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Variables PHP en email HTML

Buenas,

En vez de
Código:
<h4 class="h4"><?php [[asunto]] ?></h4>
pon:
Código:
<h4 class="h4">[[asunto]]</h4>
Puesto que no vas a "ejecutar" ese codigo, sino leerlo y sustituir... no tienes q meter nada de php. Podría ser un txt, un html... o lo q quisieras ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #5 (permalink)  
Antiguo 09/05/2014, 05:31
Avatar de adminescuela  
Fecha de Ingreso: septiembre-2012
Mensajes: 9
Antigüedad: 11 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Variables PHP en email HTML

¡¡Sí Eleazan!!
¡Tenés razón! Se lo ejecuta en otro archivo.
¡¡Funciona!!
Muchas gracias Italico76 y Eleazan por sus ayudas.

Esto ahora sirve para cualquiera que tenga varias plantillas html y quiera enviarlas por email. Tan sólo deben tener en común entre ellas los campos que quieren personalizar y sustituir por un valor específico.
Lo cargan en un form y listo...
Es como mandar un email, que se llenan los campos de email, asunto, mensaje.

Muchas gracias gente por sus aportes.
  #6 (permalink)  
Antiguo 09/05/2014, 06:28
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Variables PHP en email HTML

De ahí a q sean "plantillas html" xD

Saludos ;)
__________________
>> Eleazan's Source
>> @Eleazan

Etiquetas: email, html, variablesphp
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 11:25.