Enviar por email confirmación de formulario PHP

Para no enrollarme mucho iré directamente al grano.
Tengo una página en .htm que tiene un formulario muy extenso. Cuando se
rellena el formulario te envía a una página .php donde previsualiza el
formulario anterior más unos cuántos datos más que calcula PHP
dependiendo de lo que hayas metido en el formulario anterior. Y lo que
necesito es que ésta última página, tal y como se visualiza, se
confirme enviándolo a un email.
Ésta es la teoría, en la práctica, es una tienda on-line donde el
cliente pone las cantidades que quiere de cada producto, elige la forma
de pago, envío, etc, y al dar al submit le lleva al .php donde
visualiza el pedido que ha hecho, el costo que tendría el pedido, etc.
Entonces es cuando aceptaría el pedido y le da a "confirmar" y ésto se
enviaría por email.
Lo tengo todo hecho excepto el paso del botón "confirmar" y que se envíe el pedido por email.
Me han comentado utilizar el phpmailer, y me lo he descargado pero es que no entiendo nada, ¿es qué ahora tengo que hacer de nuevo todo? Es un formulario de más de 450 productos en una sola página, ¿de verdad no hay nada más sencillo?

1 respuesta

Respuesta
1
No hay ningún problema. Sólo tienes que utilizar la orden mail() de PHP.
En el manual enocntrarás varios ejemplos:
http://es.php.net/manual/es/function.mail.php
Hola,
Ya he intentado esa opción de mail() pero por lo visto solo me deja enviar hasta 6 parámetros y como ya comentaba, el formulario tiene más de 450. A no ser que haya una opción con la que pueda poner un nombre a todo el resultado del formulario que aparece en la página .php a la que se direcciona desde el formulario htm y meter ese parámetro en mail().
No sé si me explico bien, es que como soy autodidacta, no sé exactamente como se llaman las cosas, yo solo las pongo y funcionan o no.
Gracias!
¿A qué te refieres con que tienes 450 parámetros?
Supongo que serán datos que quieres enviar en el correo, ¿no?
Si es así, no lo confundas con los parámetros de la función mail().
Tus datos los debes poner en la variable $mensaje que ves en los ejemplos. En esa variables puedes poner un libro si quieres. Eso será el contenido del mensaje que le llegará a quien se lo envíes.
Por ejemplo:
<?php
$mensaje = "Los datos que te envio son:\n";
$mensaje .= "Un dato: $undato\n";
$mensaje .= "Otro dato: $otrodato\n";
$mensaje .= "Saludos!";
?>
Como ves una cadena la puedes ir concatenando con trozos de cadena mediante .=
Y si en un trozo de cadena añades \n allí se hará un salto de línea.
Hola otra vez,
De verdad que siento ser tan pesada. Ya me ha quedado todo claro. Tu ejemplo y tu explicación me han aclarado más las ideas que todos los que he visto hasta ahora, que no son pocos. Muchas gracias de verdad!
Solo un detalle más y ya te voto como mi héroe. ¿Cómo lo tengo que poner para que no me envíe nada cuando la variable es 0? Es que no quiero que me envíe 450 líneas cuando solo hay algunas que tienen contenido.
Gracias de nuevo por todo.
Pues simplemente comprueba si la variable está vacía antes de añadirla:
<?php
if (!empty($undato))
  $mensaje .= "Un dato: $undato\n";
?>
Esto la añade sólo si no está vacía.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas