Foros del Web » Programando para Internet » PHP »

Envio de variable javascript mediante mail PHP.

Estas en el tema de Envio de variable javascript mediante mail PHP. en el foro de PHP en Foros del Web. Hola a tod@s, recibid mis saludos. LLevo varios dias tratando de resolver un problema y necesito ayuda urgente. Para evitar reprimendas os garantizo que he ...
  #1 (permalink)  
Antiguo 31/08/2008, 06:23
 
Fecha de Ingreso: marzo-2004
Mensajes: 18
Antigüedad: 20 años, 1 mes
Puntos: 0
Envio de variable javascript mediante mail PHP.

Hola a tod@s, recibid mis saludos. LLevo varios dias tratando de resolver un problema y necesito ayuda urgente. Para evitar reprimendas os garantizo que he rebuscado tanto en el foro como en Google y el resto de la web, pero no logro resolver el entuerto, sera que ya se me ha debilitado la neurona. No me queda otra que recurrir al foro.

Quiero enviar un mail PHP. El contenido son varios campos que se introducen en un formulario (en esto no hay problemas), y un segmento HTML que se va “armando” con javascript en la misma pagina del formulario. La funcion que lo “arma” se invoca dentro del form.

Lo que he tratado de hacer es poner este segmento HTML en una variable que se incluiria como un input hidden en el formulario. Esto es lo que no me funciona. No logro que se “esconda” y el programa PHP no “lo ve” y por lo tanto no lo envia.

Me consta que la variable se “arma”, pues la he listado dentro del cuerpo de la pagina y sale ok.

He tratado de hacerlo con un texarea (pensando que no funciona por la longitud de la variable). Otra variante seria pasar esa variable al PHP, o guardarla en una cookie para que luego el PHP la recupere, pero mis conocimientos no llegan a tanto y no he logrado descifrar la mucha información que hay sobre el tema.

El PHP es algo asi:

<?
$email = ‘[email protected]’;
$asunto = ‘Asunto tal y cual’;
$cabeceras = "Content-type: text/html\r\n";
$cabeceras = "From: [email protected]\r\nContent-type: text/html\r\n";

$codigohtml = "
<? echo '<html>' ?>
<? echo '<head>' ?>
<? echo '<title>Aplicación AAA</title>' ?>
<? echo '</head>' ?>
<? echo '<body>' ?>
<? echo $_POST['tabcontenido']\n ?> // tabcontenido es el name del input hidden
<? echo $_POST['nombre'] \n ?> // nombre es el name de otro input no hidden
<? echo '</body>' ?>
<? echo '</html>' ?>";
mail($email,$asunto,$codigohtml,$cabeceras);
?>


La linea javascript donde se genera el input hidden, después de armada la variable “tabconte” es asi:
document.writeln('<input type=hidden name="tabcontenido" value="'+tabconte+'">');
Con textarea:

document.writeln('<textarea type=hidden name="tabcontenido" value="'+tabconte+'"></textarea>');


El form se encabeza asi:

<FORM method="post" action="envio.php" target="_top">

Agradeceria cualquir ayuda, de ser possible en un lenguaje a prueba de novatos, pues como podeis ver soy inforingnorante total.
Muchas gracias de antemano y, de nuevo, un saludo.
  #2 (permalink)  
Antiguo 31/08/2008, 14:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Envio de variable javascript mediante mail PHP.

Tema trasladado a PHP General.
  #3 (permalink)  
Antiguo 31/08/2008, 22:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Envio de variable javascript mediante mail PHP.

que bueno que ya agostaste los recursos... eso es genial!

pero te ha faltado bastante sobre conceptos básicos entre PHP y HTML ... bueno, quizá sea un problema.... ya que parece ser que con Javascript te llevas muy bien...

el primer obstáculo que entiendo es, donde creas el elemento hidden ??? dentro del formulario o en otro lado?? (debería ser dentro)

aquí, tengo una objeción... para que crearlo con javascript al vuelo si tan solo con agregarlo manualmente (desde el código fuente) es mas simple, y mas fácil de manipular... no se

otro, y sin llegar aun a PHP ... es tu concepcion de las elementos del formulario.. si bien, estas haciendo mal uso de las etiquetas <textarea/> ya que el value realmente no existe como atributo de <textarea/> mira bien las diferencias en alguna referencia de HTML

mi propuesta es, intenta agregar el campo hidden (o un textarea [de preferencia]) desde el código en si.... pero no usando atributos hidden, sino uno de style="display: none" y con eso bastaría...

luego, usando su ID es mas simple modificar su contenido en ves de crearlo al vuelo... usando document.getElementById()

igualmente no se si debas "escapar" el HTML para agregarlo en los campos requeridos, deberás investigarlo y/o experimentarlo...

recuerda, si es campo... usas la propiedad value (como debe ser)
pero si es elemento, como el textarea... debes usar su propiedad innerHTML

ahora si, pasemos al PHP ....

¿¿¿porque agregas bloques de <? ?> dentro del mismo PHP (en las variables) ???

digo, eso no debe ser así... a menos que sepas lo que haces.... quizá, esto no tiene relevancia... pero pienso, para empezar... esta mal, suerte!

NOTA que muchas de las soluciones se hallan en las referencias (no códigos), no fue necesario incluirte código en esta ocasión... no lo veo necesario, pero... de todos modos, animo... tu idea, en concreto es sencilla... y simple de desarrollar por lo que admito... lo resolverás pronto si te aplicas
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 01/09/2008, 04:33
 
Fecha de Ingreso: marzo-2004
Mensajes: 18
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Envio de variable javascript mediante mail PHP.

Hola a tod2s, en especial a Paketetrueke. Os cuento:

El codigo HTML tengo que crearlo desde javascript pues es variable, es decir, se "arma" a partir de ciertos datos que se obtienen en otro formulario de otra pagina y se guardan en cookies, reobteniendose en esta pag. y "armando"...

El hidden efectivamente se crea dentro del formulario.
He intentado ahora hacerlo de esta manera:
document.datosenvio.tcont.value = tabconte;
,
donde tabconte es la variable que almacena el HTML.

El PHP lo he rehecho algo asi:

<?

$email = '[email protected]';
$asunto = 'Tal y cual';
$cabeceras = "Content-type: text/html\r\n";
$cabeceras = "From: [email protected]\r\nContent-type: text/html\r\n";

$cuerpo= $_POST['tcont']. "\n";
$cuerpo.= "Nombre y apellidos: ".$_POST['nombre']. "\n";

mail ($email,$asunto,$cuerpo,$cabeceras);
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
?>


Tampoco me ha funcionado.

Deciros que no domino nada de JavaScript ni de PHP, solo algo de HTML. Utilizo el metodo de dar cabezazos por la web y "cortar y pegar". Lo que he hecho ha sido asi, hasta un punto en que se me hace demasiado larga y trabajosa la solucion del problema y acudo al foro.

Estoy de acuerdo en que me ha faltado "aprender" PHP (y tambien JavaScript), pero si espero a saberlo la solucion se pondrá "moralmente vieja". Esto son incursiones puntuales, ya que mi especialidad no es la informatica. Si podeis ayudarme, nuevamente, os lo agradeceré. Ciaooooo.
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 05:59.