 |
Artículos
|
|
 |
 |
|
 |
| |
| Formularios de Correo y Scripts |
|
Esta página, con el formulario, complementa a las páginas de scripts de correo php y asp. Va a contener el mismo formulario de datos, y mismo JavaScript de validación para ambos scripts. Con la salvedad, de que hay que modificar la acción del form, de mail.php a mail.asp, según se indica mas adelante dentro del código. Tal como está utilizaría el script mail.php
El form, simple, se muestra a continuación mas adelante. Podemos utilizar distintos formularios con el mismo script siguiendo las instrucciones, y conservando los nombres de los campos nombre y correo.
El Script JavaScript, verificará que los campos obligatorios han sido cubiertos. Y por último, este, es envíado a un programa de script Php ó Asp, que lo procesa y envía al usuario.
Estos scripts, tienen la ventaja, de que es muy fácil de adaptar a otros usos, e introducir mas campos opcionales, sin mas que modificar el código html olvidando el script. Es decri, podemos utilizar el mismo script para varios páginas diferentes
La utilidad del script, es un simple feedback para el webmaster. Puesto que no almacena el envío en el servidor -no requiere sql-, lo envía directamente a la dirección de email que queramos. La gran ventaja, es que permite introducir campos en código html sin necesidad de modificar el script php. Diseñamos el form, y nos olvidamos del resto.
Quien no tengan conocimientos, por favor, no soliciten ayuda al webmaster. En la página de buscadores de cursos y manuales de este portal. Seguramente encontrarán la información y materiales necesarios para introducirse en la programación. Además, su host, ha de tener intérprete de php, y servicio de mail habilitado.
La mayoría de hospedajes gratuitos, solo ofrecen Html. Y la inmensa mayoría. no permiten enviar mail. Si necesita un host gratuito con estas capacidades, visite tripod españa es útil para aprender. Iespaña, ofrece intérprete php, el resto de servicios, desconozco su estado actual. Algunos host, tienen páginas predefinidas de mail, similares a este script. Pero no puede modificarlas.
Con JavaScript únicamente, no se pueden hacer scripts de correo que utilicen el servidor de mail del servidor. Se necesita algún lenguaje de script de servidor como php, asp, ó perl. utilice mailto: en un enlace en lugar de href:. En los sitios de manuales y scripts, hay bastante documentación. Y scripts prácticamente listos para instalar sin mucho conocimiento.
Además, le recomendamos nuestro transciptor html, un programa gratuito que convierte textos html en scrips php, javascipt, perl, asp,VBasicScript, C#, y VBasic.
Nosotros, utilizamos estos scripts en nuestras páginas, con buenos resultados y estamos muy satisfechos.
Y bueno, vamos a dejarlo como licencia GNU. El problema de estas cosas, es que si no están protegidas, todo el mundo se puede atribuir la paternidad. De todas formas, es tan sencillo, que bueno, qué vamos a hacer, dejémoslo para la educación. |
| |
| Formulario de Correo |
|
Veamos el form, a incluir en nuestras páginas php, asp o html. Hemos añadido mas campos de los que solemos utilizar, para tener un ejemplo mas completo.
Este form, junto con el script javascript de mas adelante, lo introduciremos en nuestra página html, que queramos utilizar para incluir. El script php ó asp , va en una archivo aparte, en el achivo mail.php ó mail.asp en el mismo directorio.
Para otros lenguajes, este form y el script java, es idéntico. Hay que traducir el script como hemos hecho de php, a asp.
Además, necesitarás una página de gracias con la que dar feedback al visitante, e informarle de que el email se ha procesado. Y una página de error, esta es requerida si no se ha podido alcanzar el programa de envío -mal funcionamiento del servidor-. Se puede omitir la página de gracias, y redireccionarle a otra url. Pero la de error, se requiere. Quienes quieran, pueden integrar estos resultados en el scipt, pero a mi me gusta tener páginas por separado, que es mas práctico y versatil.
Si usted sabe poco, sepa que solo se envían al script los nombres de los campos y sus valores. Puede añadir imágenes, textos, tablas, y darle el formato que desee, es indiferente, este tipo de información, no se envía.
Dependiendo de la configuración de su servidor. Necesitará utilizar Post ó Get. Igulamente, puede tener limitado el texto a enviar por el form. Y tampoco se puede cargar con el Quijote, que los datos, se reciben en blanco.
|
 |
<!-- IMPORTANTE -- COPIAR primero AL NOTEPAD block de notas Y despues DE ESTE A OTRO PROGRAMA -->
<!-- Encabezamiento del formulario. Antes de enviarlo, ejecuta la rutina de validación JScript -->
<!-- Si el JScript retorna falso, no se produce el envío -->
<!-- Modificar la trayectoria del scipt mail.php si lo tenemos en otro directorio ACTION="directorio/mail.php" -->
<!-- para ASP, utilizar ACTION="mail.asp" -->
<!-- <FORM name = "formulario" ACTION="mail.asp" METHOD="POST" onSubmit="return validate1(this)"> -->
<FORM name = "formulario" ACTION="mail.php" METHOD="GET" onSubmit="return validate1(this)">
<!-- Los nombres de campos correo, y nombre, son obligatorios para todos los formularios -->
<font color="#000000" size="2"><b> Correo</b></font>
<input type="text" name="correo" size="52">
<BR>
<FONT color="#000000" size="2"><b>Nombre</b></FONT>
<INPUT TYPE="text" NAME="nombre" size="40">
<BR>
<!-- El resto de campos, puede tener un nombre cualquiera, mejor alguno indicativo-->
<font color="#000000" size="2"><b>Asunto</b></font>
<input type="text" name="asunto" size="52">
<!-- Puedes poner el asunto del email, y otros campos como de tipo oculto que el usuario no ve -->
<!-- <input type="hidden" name="asunto" VALUE="Asunto que quieras poner en el mensaje"> -->
<BR>
<!-- Campo de lista de selección -->
<FONT size="2"><b>Página web</b></FONT>
<SELECT name="selectweb">
<!-- Campo seleccionado inicialmente -->
<OPTION value="Ninguna" selected>Ninguna</OPTION>
<OPTION value="Chollolinks">Chollolinks</OPTION>
<OPTION value="Eurogratis">Eurogratis</OPTION>
<OPTION value="Mycapo">Mycapo</OPTION>
<OPTION value="EBA">EBA</OPTION>
<OPTION value="Walpapers">Walpapers</OPTION>
<OPTION value="Animaciones">Animaciones</OPTION>
<OPTION value="Cholloweb">Cholloweb</OPTION>
<OPTION value="Otra">Otra</OPTION>
<!-- útil para obtener un ancho mayor para la lista de selección (toma la cadena mas grande) -->
<!-- otra alternativa es utilizar estilos css <SELECT name="selectweb" style="width:300px;"> donde px son pixeles, y 300 su ancho
o incluso puedes hacerlo mas complejo, y utiliza estilos predefinidos, pero se sale del tema estudia Cascade Style Sheets-->
<OPTION>__________________</OPTION>
</SELECT>
<BR>
<!--Campo que puede omitir, añadir, o modificar a conveniencia -->
<FONT size="2"><b>Valoracion</b></FONT>
<!-- Campo cuadro selección, permite seleccionar varios valores para este caso, no es muy apropiado, pues puede seleccionarse mas de una valoración. Está, a título ilustrativo. Sería mas correcto utilizar un grupo de opciones. Se suele usar el ejemplo de gustos en colores, frutas, ... para escoger varios gustos a la vez-->
<!-- podríamos omitir el valor, value="x ", para esta función nos basta con un nombre descriptivo ó utilizar el mismo nombre para todos los cuadros. Entonces, si que necesitamos especificar un valor -->
<B>
<!-- Inicialmente, tenemos seleccionado No sabe, no contesta-->
<INPUT name="Ns/Nc" type="checkbox" id="Ns/Nc" value="checkbox" checked>
Ns/Nc
<INPUT name="v1" type="checkbox" id="v1" value="1">
1
<INPUT name="v2" type="checkbox" id="v2" value="2">
2
<INPUT name="v3" type="checkbox" id="v3" value="3">
3
<INPUT name="v4" type="checkbox" id="v4" value="4">
4
<INPUT name="v5" type="checkbox" id="v5" value="5">
5
</B>
<BR>
<!--Campo que puede omitir, añadir, o modificar a conveniencia -->
<FONT size="2"><b>Consulta</b></FONT>
<!--Grupo de Campo Alternos. Solo permite seleccionar un estado siempre que tengan el mismo name, en este caso grupo de opciones -->
<LABEL>
<B>
<!--Inicialmente, tenemos seleccionado el valor General. Solo se envía un valor, el seleccionado-->
<INPUT type="radio" name="GrupoOpciones" value="General" checked>
General</B></LABEL>
<B>
<LABEL>
<INPUT type="radio" name="GrupoOpciones" value="Cambio Enlaces">
Cambio Enlaces</LABEL>
<LABEL>
<INPUT type="radio" name="GrupoOpciones" value="Publicidad">
Publicidad</LABEL>
</B>
<BR>
<!--Campo de líneas múltiples de 50 columnas (caracteres) y 10 filas (líneas) -->
<textarea name="mensaje" cols="50" rows="10">Contenido de tu mensaje </textarea>
<BR>
<!-- Campo oculto con la dirección de la página de gracias final-->
<!-- Permite individualizar la página final para cada formulario-->
<INPUT TYPE="hidden" NAME="pagina_gracias" VALUE="http://www.buscarportal.com/anuncios/gracias.html">
<!-- Puedes quitar variables del script, como la página de error y ponerlo como un campo oculto con el mismo nombre, pero sin $ en el caso del php. Recuerde, que php, distingue entre mayúsculas y minúsculas. -->
<!--Lo tengo así porque resulta mas sencillo. Lo importante del script, es que maneja cualquier número de campos sin modificar el script -->
<!-- Botón de enviar . Los botones siempre al final, para que los elimine nuestro script php-->
<INPUT name="submit" TYPE="submit" VALUE="Enviar">
</FORM> |
| |
| Vista del Formulario HTML asociado |
| |
|
| |
| Script JavaScript para el formulario |
Y por último veamos el JavaScript Asociado al formulario que chequea se cubran los campos correo, nombre y contenido.
Este, habrá que modificarlo para cada formulario, según el número de campos que se quiera comprobar. Si solo se requiere chequear el nombre y email, se puede usar para todos eliminando la línea que comprueba el campo mensaje. |
 |
<script language="JavaScript">
<!--//
// La variable form, de la función, contiene los datos del objeto formulario, y permite manipular sus propiedades.
function validate1 (form) {
// VARIABLES
// Variable para controlar si los campos estaban cumplimentados
r=1;
// TEST DE CAMPOS
// Si vale "" , se alerta, r=0, alerta al usuario y coloca el foco en el campo nombre
if (form.nombre.value==""){r=0;alert("Porfa, dime tu nombre!");form.nombre.focus};
// Comprueba si este campo tiene al menos una @
if (form.correo.value.indexOf('@',0)==-1) {r=0;alert("Sin dirección para responder, No te Comes Nada !");form.correo.focus};
// Para cada campo a comprobar, copiar y pegar esta línea reemplazando el nombre del campo mensaje
if (form.mensaje.value==""){r=0;alert("Me escribes ¿pero no me cuentas nada?");form.mensaje.focus};
// RETORNAR AL ENVÍO
// Si ha hay campos sin cubrir, interrumpimos el envío -return false-
if (r==0) { return false; }
// Si todo está bien, te dispones a enviar el contenido del formulario al script php, -return true-
// Además, alertas al usuario para que no pulse mas veces, aún así, la gente, no se cansa.
else { alert ("con una vez es bastante gracias. Su mensaje se está procesando");return true; }
}
//---->
</script> |
 |
|
 |
| Recuerde, que este Formulario, tiene asociado un Script , que puede usar php ó asp según su necesidad |
|
|
 |
|
 |
|