Formulario de Envió
Formulario utilizando archivo en PHP:
Este formulario utiliza un archivo en PHP al cual hace referencia cuando se realiza el envió. Este se encarga de enviarlo al e-mail que en él hemos configurado, mostrándonos los resultados y figura como remitente el e-mail del usuario que insertó en su momento al rellenar este formulario.
Una vez es enviado, te redirecciona a una página de respuesta que será una página normal cual quieras... donde podrás poner por ejemplo:
su mensaje fue enviado correctamente Ejemplo
|
Este formulario de envío consta de dos archivos: el formulario en cuestión en HTML y un archivo en PHP que se encargará de realizar el envío.
Este primero será la página HTM o HTML que contiene el formulario, llámala como quieras:
1/ Inserta este código dentro de las etiquetas <body> y </body> |
<form METHOD="GET" action="envio.php"> 2/ Inserta este contenido en una página y guárdala con este nombre, envio.php
<center>
<table border="1" width="100%" id="table246" cellspacing="0" cellpadding="0" style="border-width: 0">
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 5px">Votar:</p>
<p style="margin-top: 5px; margin-bottom: 5px">
<select size="1" name="votar">
<option>Excelente</option>
<option>Buena</option>
<option>No está mal</option>
<option>Malísima</option>
</select></p></td>
</tr>
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 5px">Nombre:</p>
<p style="margin-top: 5px; margin-bottom: 5px">
<input TYPE="text" NAME="nombre" SIZE="33"></p></td>
</tr>
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 5px">E-mail:</p>
<p style="margin-top: 5px; margin-bottom: 5px">
<input TYPE="text" NAME="email" SIZE="33" value="@"></p></td>
</tr>
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 5px">URL:</p>
<p style="margin-top: 5px; margin-bottom: 5px">
<input TYPE="text" NAME="url" SIZE="67"></p></td>
</tr>
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 5px">Comentarios:</p>
<p style="margin-top: 5px; margin-bottom: 5px">
<textarea rows="2" name="comentarios" cols="76"></textarea></p></td>
</tr>
</table>
</center>
<p align="center"> <input TYPE="submit" VALUE="ENVIAR"> <input TYPE="reset" VALUE="LIMPIAR">
</p>
</form>
Este será el archivo PHP al cual hace referencia la página del formulario anterior.
<?
/* aqui se incializan variables de PHP */
if (phpversion() >= "4.2.0") {
if ( ini_get('register_globals') != 1 ) {
$supers = array('_REQUEST',
'_ENV',
'_SERVER',
'_POST',
'_GET',
'_COOKIE',
'_SESSION',
'_FILES',
'_GLOBALS' );
foreach( $supers as $__s) {
if ( (isset($$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__s, EXTR_OVERWRITE );
}
unset($supers);
}
} else {
if ( ini_get('register_globals') != 1 ) {
$supers = array('HTTP_POST_VARS',
'HTTP_GET_VARS',
'HTTP_COOKIE_VARS',
'GLOBALS',
'HTTP_SESSION_VARS',
'HTTP_SERVER_VARS',
'HTTP_ENV_VARS'
);
foreach( $supers as $__s) {
if ( (isset($$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__s, EXTR_OVERWRITE );
}
unset($supers);
}
}
/* DE AQUI EN ADELANTE PUEDES EDITAR EL ARCHIVO */
if($email=="")
{
/* reclama si no se ha rellenado el campo email en el formulario */
echo "No ingresaste la dirección de correo electrónico";
exit();
}
/* aquí se especifica la pagina de respuesta en caso de envío exitoso */
$respuesta="respuesta.htm";
// la respuesta puede ser otro archivo, en incluso estar en otro servidor
/* AQUÍ ESPECIFICAS EL CORREO AL CUAL QUEREIS QUE SE ENVÍEN LOS DATOS
DEL FORMULARIO, SI QUIERES ENVIAR LOS DATOS A MÁS DE UN CORREO,
LOS PUEDES SEPARAR POR COMAS */
$para ="tuemail@dominio.com";
/* AQUI ESPECIFICAS EL SUJETO DEL EMAIL */
$sujeto = "Titulo del formulario";
/* aquí se construye el encabezado del correo*/
$encabezado = "From: $nombre <$email>";
$encabezado .= "nReply-To: $email";
$encabezado .= "nX-Mailer: PHP/" . phpversion();
/* con esto se captura la IP del que envío el mensaje */
$ip=$REMOTE_ADDR;
/* las siguientes líneas arman el mensaje */
$mensaje .= "VOTAR = $votarn";
$mensaje .= "NOMBRE = $nombren";
$mensaje .= "TU EMAIL = $emailn";
$mensaje .= "TU URL= $urln";
$mensaje .= "COMENTARIOS = $comentariosn";
$mensaje .= "TU DIRECCION IP = $ipn";
/* aqui se intenta enviar el correo, si no se
tiene éxito se da un mensaje de error */
if(!mail($para, $sujeto, $mensaje, $encabezado))
{
echo "<h1>No se pudo enviar el Mensaje</h1>";
exit();
}
else
{
/* aqui redireccionamos a la pagina de respuesta */
echo "<meta HTTP-EQUIV='refresh' content='1;url=$respuesta'>";
}
?>
|
Partes modificables de este código: Hemos puesto en rojo las partes que se pueden modificar pero tenéis que tener muy en cuenta que debéis de poner los nombres de los campos del formulario exactamente tal y como los pongáis los vuestros. Por ejemplo, os ponemos una de las primeras que hay en el código de arriba: $mensaje .= "VOTAR = $votarn"; Los nombres de los los campos del formulario son los de la derecha, deben de tener exactamente el mismo nombre que pongáis a dicho campo en el formulario y no pongáis espacios ni símbolos diferentes a las letras, números o guión bajo (_). OJO: si los pones en minúsculas, deberás de ponerlas en el archivo PHP del mismo modo o no funcionará. El de la izquierda es el título del campo, este no a de ser exactamente el mismo nombre o título si no queréis, podéis poner lo que queráis.
En esta línea se pone la página de respuesta cuando se envía el formulario: $respuesta="respuesta.htm"; |