Script y Formulario de correo en PHP
|
|
|
| |
|
| Script y Formulario de correo en PHP |
|
|
 |
| |
| Ver tema anterior :: Ver tema siguiente |
| Mensaje |
Asunto: Script y Formulario de correo en PHP Publicado: Vie Ene 06, 2006 4:57 pm |
|
|
|
 |
| |
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> </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> </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> |
| |
|
|
|
 |
Asunto: Error en el script. Publicado: Vie Ene 06, 2006 5:00 pm |
|
|
|
 |
| |
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 |
| |
|
|
|
 |
|
|
|
 |
|
|
 |
| Puede publicar nuevos temas - No puede responder a temas - No puede editar sus mensajes - No puede borrar sus mensajes - No puede votar en encuestas - |
| |
|