InicioHazlo Tu MismoPHP: enviar formulario con mail


Si queremos incluir un formulario de contacto en nuestra página web tenemos que tener en cuenta que trabaja con el lenguaje de programación PHP, por lo tanto:

- Solo funcionará si nuestra web está alojada en un servidor que lo soporte (tenéis que ver las características de vuestro alojamiento). Aquí tenéis uno.

- Si trabajáis en un servidor local (en vuestra máquina), tenéis que tener instalado un servidor smtp, para que envíe el email.

- Necesitáis tener unos conocimientos mínimos de PHP, o por lo menos ganas de aprender. Al menos que sepáis que el archivo en el que queráis que se ejecute el php tiene que tener extensión .php (no .html), por ejemplo: formulario.php.

Teniendo en cuenta estos tres puntos básicos, ya podemos ver el código completo de nuestro formulario:

nnatali dijo:

<?php if
(!isset($_POST['email'])) {
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<label> Nombre:
<input name="nombre" type="text" />
</label>
<label> Teléfono:
<input name="telefono" type="text" />
</label>
<label> Email:
<input name="email" type="text" />
</label>
<label> Mensaje:
<textarea name="mensaje" rows="6" cols="50"></textarea>
</label>
<input type="reset" value="Borrar" />
<input type="submit" value="Enviar" />
</form>
<?php
}else{
$mensaje="Mensaje del formulario de contacto de nnatali.com";
$mensaje.= "nNombre: ". $_POST['nombre'];
$mensaje.= "nEmail: ".$_POST['email'];
$mensaje.= "nTelefono: ". $_POST['telefono'];
$mensaje.= "nMensaje: n".$_POST['mensaje'];
$destino= "[email protected]";
$remitente = $_POST['email'];
$asunto = "Mensaje enviado por: ".$_POST['nombre'];
mail($destino,$asunto,$mensaje,"FROM: $remitente";
?>
<p><strong>Mensaje enviado.</strong></p> <?php } ?>



Ahora un poquito de explicación:

Con el condicional del principio del código (if…) conseguimos que en un primer momento se muestre el formulario de contacto y al enviar los datos (cuando pulsen sobre el botón enviar) desaparezca el formulario, se ejecute el código (else..) y muestre un mensaje.

Si queremos que el formulario no desaparezca, simplemente tendríamos que colocarlo fuera del if.

El atributo action de la etiqueta form indica a donde tiene que dirigirse a la hora de enviar el formulario, con el código puesto simplemente le indicamos que recargue la página. Funcionaría igual si en lugar de eso pusiéramos el nombre de nuestra página, por ejemplo: formulario.php

Con la variable $_POST recogemos los datos del formulario que escribió el usuario y los enviamos, el nombre de cada variable corresponde con el name de cada input.

La variable del if del principio, en este caso el email:

nnatali dijo:

if (!isset($_POST['email'])) {



Debe ser un campo obligatorio, que estemos seguros que el usuario va a rellenar, ya que se basa en ese campo para comprobar si recibe datos (se ha enviado el formulario) o no.

La función mail es la encargada de, con todos los datos, enviar el formulario, las variables que necesita son:

- Email de destino
- Asunto del mensaje
- Mensaje
- Remitente

Con esto ya debería funcionar, tenéis que acordaros de cambiar el email de la variable destino con el email al que queráis que lleguen los mensajes.

Te invito a entrar a mis otros post




















Datos archivados del Taringa! original
0puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

k
kamaronpump🇦🇷
Usuario
Puntos0
Posts25
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.