martes, 22 de julio de 2008

Formulario de Contacto en PHP

Muchas veces queremos realizar un formulario en una pagina web y lo queremos lo mas sencillo posible y que funcione.

Yo normalmente uso una pagina normal en HTM para el formulario, donde le indico todos los campos que quiero que se envien por e-mail.

Estos campos pueden ser 3, 4 o mas dependiendo de las necesidades pero pongamos que son 3 campos:


E-Mail
Nombre
Asunto

Una ved tengamos estos campos, con un identificador a cada uno claro, lo guardaremos en un archivo de HTM, por ejemplo contacto.html.

Ahora pasamos al archivo que nos enviara el e-mail con los datos del formulario.

Este archivo esta echo en PHP pero es bien sencillo, aqui os dejo el codigo:
<?php
$EmailFrom = Trim(stripslashes($_POST['Email']));
$EmailTo = "info@web.com";
$Subject = "Contacto Web";
$Nombre = Trim(stripslashes($_POST['Nombre']));
$EMail = Trim(stripslashes($_POST['Email']));
$Mensaje = Trim(stripslashes($_POST['Asunto']));

$Body = "";
$Body .= "Nombre: ";
$Body .= $Nombre;
$Body .= "\n";
$Body .= "E-Mail: ";
$Body .= $EMail;
$Body .= "\n";
$Body .= "Mensaje: ";
$Body .= "\n";
$Body .= $Mensaje;
$Body .= "\n";

$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=ok.html\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.html\">";
}
?>


Como podeis ver es mas bien sencillo.

Este codigo lo poneis dentro de un archivo que se llame por ejemplo: contac.php

Tenemos que tener claro cuales son los ID que le dimos a los campos en el formulario de HTM puesto que son los que tendremos que poner dentro de las comillas al principio, despues del $_POST, para que la variable coja el valor de ese campo.

Despues tenemos la seccio donde se compone el e-mail que nos llegara. Este mail se compone con $Body.

En el cuerpo del mensaje como podemos observar hemos colocado las variables con los datos pero ademas le hemos puesto una especie de cabecera, para diferenciar los datos, y tambien hemos puesto algo adicional que es el "\n". Con esto hacemos un salto de linea dentro del cuerpo del mensaje y asi no se junta todo puesto que seria ilegible.

Ahora solo queda enviar el e-mail indicandole los datos necesarios, esto lo haremos con la instruccion de $sucsess. No explicare su contenido puesto que esta muy claro, pero si teneis alguna duda no dudeis en comunicarmela.

Recordar que en la seccion de Accion del formulario teneis que poner el nombre del archivo de PHP para que funcione, si no fallara y no mandara el mail.

Se pueden agregar todos los campos que se quieren y si se sabe de PHP podreir implantar mas sentencias para mas cuestiones, pero eso sera otro dia.

jueves, 17 de julio de 2008

Utilizar programas externos

Muchas veces tenemos que poner un boton en nuestros formularios el cual ejecute un programa externo a nuestra aplicacion.

Hay varias maneras de poder hacer esto.

Por ejemplo si sabemos que una aplicacion estara siempre en la misma ruta podemos usar una simple linea para poder realizar esto.

Shell ("Ruta/Programa")
Con esta simple linea ejecutaremos cualquier programa que queramos, pero siempre y cuando este se encuentre siempre en esa ruta.

Esta linea se suele usar cuando nuestra aplicacion es dependiente de otra y estaran simpre unidas o es un programa que siempre se ubica en el mismo sitio.

Por otro lado tenemos esta otra

Process.Start ("www.google.es") ' Esto abre el navegador por defecto con esa web
Process.Start ("mailto:" & "
mail@mail.com") ' Esto abre el correo por defecto para enviar un mail
Como podemos observar si mas o menos sabemos lo que poner como argumento podemos realizar varias operaciones con este comando.
Por ejemplo para abrir un archivo de video con el programa por defecto solo tendriamos que poner "archivo.avi" y se abriria el reproductor por defecto con ese archivo.

Tambien les podemos pasar tanto a uno como a otro variables o TextBox como argumento de forma que asi el usuario que este usando el programa sea quien determine el programa o archivo que quiere ejecutar.

Podemos sacarle muchas utilidades, todo es echarle imaginacion.