Script y Formulario de correo en PHP

LoginLogin     BuscarBuscar   RegistrarseRegistrarse  PerfilPerfil   Ver M. privadosMsg. privados   MiembrosMiembros   Grupos de UsuariosGrupos Usuarios   FAQFAQ

Script y Formulario de correo en PHP

 
   
Script y Formulario de correo en PHP  


Agregar esta página a tu escritorioAgr. Escritorio
Agregar a tus favoritosAgr. Favoritos
Enviar esta página a tus amigosEnviar Amigo
Imprimir esta PáginaImprimir


Google

Script y Formulario de correo en PHP
 
Publicar nuevo temaResponder al tema
   Foros de discusión -> Php
Ver tema anterior :: Ver tema siguiente  
Mensaje
Asunto: Script y Formulario de correo en PHP       Mensaje Publicado: Vie Ene 06, 2006 4:57 pm Responder citando
 
 
Un sencillo ejemplo de Script de correo en php. Si desean saber mas sobre mas, visiten esta página con ejemplos de formularios de correo en varios lenguajes

Insertaremos el código html en donde queramos introducir un formulario de correo. Grabaremos el código emalier.php en un archivo aparte, de momento en el mismo directorio que las páginas con el formulario.

Mofidificamos las variables, tanto de los campos del formulario con los del incicio del script para configurarlo.



script emailer.php

Si existe un error, esta misma página genera un output HTML para informar del evento

<HTML>
<HEAD>
<TITLE>Eviando un email al webmaster</TITLE>
</HEAD>
<BODY BGCOLOR="#ffffff">

<?php

////////////////////////////////////////////////////////////////////////////
// Moficar estas variables de configuración //
////////////////////////////////////////////////////////////////////////////


// Escribe tu nombre
$tunombre = "Tu Nombre";

// Escribe tu correo electrónico
$tuemail = "tu_email@mi_dominio.com";

// Tu página de confirmación y gracias
$yourdefaultsend = "http://http://www.mi_dominio.com/gracias.html";

////////////////////////////////////////////////////////////////////////////
// Codigo del Script //
////////////////////////////////////////////////////////////////////////////



// comprueba el acceso desde el formulario, y no directamente desde la página. Si $submitform distinto de vacío - nil - "", valida campos //

if($submitform) {
//validamos los campos marcados como requeridos
$dcheck = explode(",",$requiere);
while(list($check) = each($dcheck)) {
if(!$$dcheck[$check]) {
$error .= "Falta por rellenar -- > $dcheck[$check]<BR>";
}
}


// si se ha producido algún error, nos informa
if($error) {
?>
<P><CENTER><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR>
<TD WIDTH="100%" BGCOLOR="#004080">
<TABLE WIDTH="394" BORDER="0" CELLSPACING="1" CELLPADDING="2">
<TR>
<TD WIDTH="26%" BGCOLOR="#004080">
<P><B><FONT COLOR="#ffffff" SIZE="-1" FACE="Verdana">Error</FONT></B></TD>
</TR>
<TR>
<TD WIDTH="26%" BGCOLOR="#ffffff">
<FONT COLOR="#000000" SIZE="-1" FACE="Verdana"><?php echo $error; ?></FONT></TD>
</TR>
</TABLE></TD>
</TR>
</TABLE></CENTER>
<P><CENTER>&nbsp;</CENTER></P>
</BODY></HTML>
<?php
exit();
}


// comprueba que $nombre_remitente no esté vació como comprobación reduntante, construye y envía el mensaje
if ($nombre_remitente) {
$yeshow = "\nFrom, $nombre_remitente\n";
}

mail($email_destino,"$codigo_mensaje","

$mensaje

$yeshow

","From: $nombre_remitente <$email_remitente>");

header("Location: $pagina_gracias");
exit();

} else {
// Si hubiese habido un error, y el nombre del remitente estuviese vacio, volver a mostrar el formulario de correo. Con lo que podemos usarlo sin utilizar el formulario html al pie.

?>
<FORM ACTION="emailform.php" METHOD="POST">
<P><CENTER><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR>
<TD WIDTH="100%" BGCOLOR="#004080">
<TABLE WIDTH="394" BORDER="0" CELLSPACING="1" CELLPADDING="2">
<TR>
<TD COLSPAN="2" BGCOLOR="#004080">
<B><FONT COLOR="#ffffff" SIZE="-1" FACE="Verdana">Formulario de Correo</FONT></B></TD>

</TR>
<TR>
<TD WIDTH="48%" BGCOLOR="#ffffff">
<B><FONT COLOR="#000000" SIZE="-1" FACE="Verdana">Su nombre:</FONT></B></TD>
<TD WIDTH="52%" BGCOLOR="#ffffff">
<INPUT NAME="nombre_remitente" TYPE="text" SIZE="25">
</TD>
</TR>
<TR>
<TD WIDTH="48%" BGCOLOR="#ffffff">
<B><FONT COLOR="#000000" SIZE="-1" FACE="Verdana">Su correo:</FONT></B></TD>
<TD WIDTH="52%" BGCOLOR="#ffffff">
<INPUT NAME="email_remitente" TYPE="text" SIZE="25">
</TD>
</TR>
<TR>
<TD COLSPAN="2" BGCOLOR="#ffffff">
<B><FONT COLOR="#000000" SIZE="-1" FACE="Verdana">Mensaje:<BR><INPUT
TYPE="hidden" NAME="codigo_mensaje" VALUE="Correo desde mi web">
<INPUT TYPE="hidden" NAME="email_destino" VALUE="<?php echo $tuemail; ?>">
<INPUT TYPE="hidden" NAME="tu_nombre" VALUE="<?php echo $tunombre; ?>">
<INPUT TYPE="hidden" NAME="requiere" VALUE="nombre_remitente,email_remitente,mensaje">
<INPUT TYPE="hidden" NAME="pagina_gracias" VALUE="<?php echo $yourdefaultsend; ?>">
<TEXTAREA NAME="mensaje" ROWS="5" COLS="45"></TEXTAREA></FONT></B></TD>
</TR>
</TABLE></TD>
</TR>
</TABLE></CENTER></P>

<P><CENTER><INPUT NAME="submitform" TYPE="submit" VALUE="Submit"></CENTER></FORM></P>
<P><CENTER>&nbsp;</CENTER></P>
<P><CENTER><FONT SIZE="-2" FACE="Verdana"><A HREF="http://www.mi_dominio.com/emailform.php">Email Form</A> Version 1.1</FONT></CENTER></P>
</BODY></HTML>
<?php
exit();

}

?>



Formulario

Codigo Html para incluir en las páginas. "emailer.php", tiene que estar en el mismo directorio de la página html. Si no se pueden utilizar, especificar una ruta relativa o absoluta para el achivo "emailer.php"

<FORM ACTION="emailer.php" METHOD="POST"><CENTER>
<FONT SIZE="-1" FACE="Verdana"><B>Su Nombre:</B> <INPUT NAME="nombre_remitente" TYPE="text" SIZE="25"><BR>
<B>Su Email:</B> <INPUT NAME="email_remitente" TYPE="text" SIZE="25"> *<P>
<!-- Campos ocultos. Envían información adicional que el script necesita para funcionar, y que no son visibles para el usuario -->
<!-- Si deseamos que el usuario rellene apartados como codigo_mensaje eliminar el TYPE="hidden"-->
<!-- Página de confirmación de envio. A donde redireccionaremos después de enviar el email -->
<INPUT TYPE="hidden" NAME="pagina_gracias" VALUE="http://www.mi_dominio.com/gracias.html">
<!-- Código del mensaje que usaremos como título -->
<INPUT TYPE="hidden" NAME="codigo_mensaje" VALUE="Correo desde mi web">
<!-- Dirección de correo electrónico a donde se va a enviar el mail -->
<INPUT TYPE="hidden" NAME="email_destino" VALUE="webmaster@tudominio.com">
<!-- Campos requeridos para validar los campos del formulario que sean coherentes, y no estén vacios -->
<INPUT TYPE="hidden" NAME="requiere" VALUE="nombre_remitente,email_remitente,mensaje">
<B>Mensaje</B> *</FONT><BR>
<!-- Zona de texto a rellenar por el usuario con sl contenido de su mensaje -->
<TEXTAREA NAME="mensaje" ROWS="5" COLS="41"></TEXTAREA></P>
<!-- Botón de envío del formulario -->
<P><INPUT NAME="submitform" TYPE="submit" VALUE=" Enviar "></CENTER></FORM></P>
 
Manolo
Invitado


Volver arriba
Asunto: Error en el script.       Mensaje Publicado: Vie Ene 06, 2006 5:00 pm Responder citando
 
 
Existe un error en el código anterior. En la línea


<FORM ACTION="emailform.php" METHOD="POST">


por


<FORM ACTION="emailer.php" METHOD="POST">


Por lo demás, el script, funciona correctamente aún sin este cambio
 
Invitado



Volver arriba
Mostrar mensajes de anteriores:   
Publicar nuevo temaResponder al tema
   Foros de discusión -> Php Todas las horas son GMT
 
Página 1 de 1
 
Cambiar a:  
Puede publicar nuevos temas   -   No puede responder a temas   -   No puede editar sus mensajes   -   No puede borrar sus mensajes   -   No puede votar en encuestas   -  
 


 
Foros, Índice e Inicio de los forums  
Informe de Abuso, sugerencia o Error en esta página
Navegue hasta la página erronea, y pinche
Quiero ser Moderador
Quiero Sujerir un Foro

Forotopía, no se hace responsable de los comentarios y post de los miembros de este foro. No tiene ningún típo de vinculación con los autores o moderadores, mas que las de su filiación. Estando estos sujetos a las condiciones de utilización de este sitio.

Si usted cree que los contenidos datos u opiniones vulneran o lesionan algún derecho particular propio o de un tercero. Por favor alértenos con un aviso de abuso. Muchas gracias por su interés y colaboración. Enlaces

© Hector Fernández Pereda -- Europe -- Spain -- Asturias   @Email
Administrador