domingo, 24 de julio de 2016

Cómo crear un formulario con HTML5

Los formularios permiten enviar información a un servidor web. Utilizamos formularios cuando realizamos búsquedas en Google,  nos registramos a una página, contactamos con una empresa a través de su página web, realizamos una compra online, dejamos un comentario en Facebook...

Para crear un formulario en nuestra web es necesario utilizar las siguientes etiquetas con sus correspondientes atributos.

Etiquetas y atributos para crear un formulario con HTML5

  • <form> Sirve para que el resto de elementos puedan ser enviados.
    • action: es el único atributo requerido para la etiqueta <form>. Espera una cadena de texto que especifique la URL o ruta a la acción de destino que procese los datos de la petición. Esta ruta puede ser absoluta o relativa.
    • method: indica la forma de enviar la información. Acepta 2 valores:
      • GET: el método que utilizamos normalmente al navegar. Los datos de envío son visibles en la URL y se utiliza cuando el resultado del envío es siempre el mismo y cuando queremos que el resultado se pueda guardar.
      • POST: el método que se utiliza por ejemplo cuando nos registramos en un sitio. Los datos no son visibles en la URL del ordenador, por lo que se utiliza para enviar información sensible como son las contraseñas. Permite enviar archivos.
        * Si no se utiliza el formulario se enviará por defecto mediante el método GET.
    • accept-charset: se utiliza para la codificación de caracteres. Normalmente se utiliza el estándar UTF-8 y alguna vez podemos ver el ISO-8859-1. No obstante no es un atributo muy común y lo más probable es que no lo utilicemos.
    • enctype: especifica el tipo de codificación. Las posibilidades que existen son:
      • application/x-www-form-urlencoded (por defecto): convertirá todos los carácteres en signos suma y en carácteres especiales con valores hasta hexagesimal.
      • multipart/form-data: se utiliza cuando vayamos a subir ficheros mediante el formulario.
      • text/plain: solo convierte los espacios en signos de sumar.
  • <input> Nos permite definir gran parte de los controles típicos de formularios: entradas de tipo texto, casillas de verificación y de opción conocidas como "radio", archivos, contraseñas, campos ocultos y botones varios. Cabe destacar que esta etiqueta, no tiene etiqueta de cierre </input>.
    • name: este atributo es común a todos los campos de formulario. Indica el nombre que recibirá el campo al ser enviado. Por ejemplo: <input name="email"/> permitirá que el servicio que procese el formulario pueda trabajar con un campo de nombre email.
    • type: es uno de los atributos más importantes ya que define en qué se convertirá el control. Su uso no es obligatorio pero sí recomendable. Los tipos de input que hay son:
      • "text" --> texto. Este tipo de inputs pueden limitar el número de caracteres que se insertan mediante maxlength="número". También se puede determinar la anchura del campo de texto en carácteres mediante size="número", pero se aconseja hacer esto en la hoja de estilo, con CSS.
      • "checkbox" --> casilla de verificación. Estas casillas suelen utilizarse en grupos de selección múltiple, por lo que es importante utilizar el atributo "name" y definir el mismo nombre para todas las casillas que forman parte de un grupo. En caso de que queramos que una casilla de verificación esté marcada por defecto, podemos utilizar el atributo "checked" de la siguiente manera: <input type="checkbox" checked="checked"/>. Es imprescindible utilizar el atributo "value" en este tipo de elementos para definir qué valor debe enviar el formulario si la casilla está activada. Si no se declara, el formulario enviará información imposible de procesar.
      • "radio" --> casilla de opción. También llamados botones radio, son parecidos a los de la casilla de verificación, aunque tan solo permiten seleccionar una opción de entre las que se ofrecen. Los atributos "name", "checked" y "value" se utilizan de la misma forma que en las casillas de verificación.
      • "file" --> subir fichero. Hay que tener en cuenta que para poder subir archivos a través del formulario es necesario definido el atributo enctyper como: <form enctype="multipart/form-data"> </form>
      • "password" --> texto enmascarado. Se trata de campos en que cuando se escribe en ellos los carácteres aparecen en forma de asteriscos  ******. Los atributos que se le pueden aplicar son los mismos que en el input de tipo "text".
      • "hidden" --> campo oculto. Mediante JavaScript se podría añadir en este campo información sobre el tiempo que ha tardado el usuario en rellenar el formulario, por ejemplo. Solo son útiles los atributos "name" y "value".
      • "button" --> botón.
      • "submit" --> botón de enviar. Permite enviar el formulario.
      • "image" --> imagen como botón de enviar. Se pueden utilizar los atributos "alt" para escribir el texto alternativo o "src" para especificar la ruta a la imagen. Este tipo de botón está a medio camino entre la estructura y el estilo, por lo que se desaconseja su uso, teniendo en cuenta que se puede definir con CSS.
      • "reset" --> botón de limpiar. Permite reiniciar el formulario, como si el usuario no hubiera modificado nada.

        *El atributo "value" aplicado a estos botones (excepto en el de imagen), especifica el texo del botón. Para dotar de acción a todos estos botones es necesario trabajar con eventos JavaScript.
    • disabled: deshablita un campo para que no pueda ser utilizado. Se indica como <input type="text" disabled="disabled"/>
    • readonly: funciona de una forma parecida a disabled y se expresa de la misma forma en la etiqueta. Aplicado a un input de tipo "text" seria posible seleccionar el texto y copiarlo.
    • value: ciertos campos necesitan este atributo para completar su funcionalidad. Por ejemplo, aplicado en un input de tipo "text", nos permitiría determinar el valor de un campo por defecto, para aclarar qué información que se debe introducir en él.
    •  
       
    Formulario con aclaraciones en los campos.

       
  • <select> Permite generar listas desplegables y listas de selección múltiple. Además del atributo "name", select permite utilizar el atributo "multiple"para generar listas de selección múltiple. Con select se utiliza la etiqueta <option>, que  sirve para definir cada una de las opciones de la lista. Añadiéndole el atributo "value" indicamos qué información será enviada.
    También podemos agrupar los elementos de las listas mediante la etiqueta <optgroup> y el atributo "label" para definir el nombre o título del grupo de elementos.
  • <textarea> Permite definir el area visible del texto en un campo, cuando es necesario escribir un texto largo. Esta etiquetahace posible que, cuando escribamos en el campo o area de texto y sobrepasemos su tamaño, aparezca una barra de desplazamiento y podamos seguir escribiendo. Con esta etiqueta debemos utilizar el atributo "name" y podemos definir las medidas del area de texto mediante "cols" para el ancho y "rows" para el alto.
  • <label> Se trata de una etiqueta que mejora la usabilidad y accesibilidad de los formularios. Asocia un texto a un control mediante el atributo for="identificador", de manera que al pulsar sobre el texto, se activa el control asociado en la mayoría de los navegadores y lo relaciona con su propósito. Es fundamental para aquellos usuarios que utilizan algún tipo de ayuda a la navegación. Si lo aplicamos a una casilla de verificación, hace posible que también podamos activarla haciendo clic en el texto y no tan solo en el pequeño cuadrado que tiene al lado. Hay que acordarse de añadirle el atributo "value".
  • <fieldset> Sirve para agrupar los datos de un formulario que están relacionados entre sí y separarlos visualmente mediante un marco. Por ejemplo, se pueden agrupar los datos personales de un usuario en un fieldset y los datos bancarios en otro. Es posible añadir un título a los datos agrupados, utilizando la etiqueta <legend> dentro de <fieldset>.

Ejemplo de creación de un formulario con HTML5

 

jueves, 21 de julio de 2016

Cómo elegir la mejor oferta de alojamiento (hosting) en Internet


A la hora de elegir una oferta de alojamiento hay que tomar en cuenta varios factores:
  • La calidad del servicio de alojamiento
  • El sistema operativo
  • El almacenamiento
  • La tranferencia
  • La velocidad de transferencia
  • Los lenguajes de programación
  • Las bases de datos
  • Los dominios/subdominios que admite
  • Otros:
    • Cuentas de correo electrónico que se pueden crear
    • Scripts y librerías preinstaladas (Curl, GD, Image Magick...)
    • Aplicaciones web preinstaladas (de foro, blog, gestor de contenidos, comercio electrónico...)
    • Panel de control para gestionar el plan de alojamiento
    • Estadísticas sobre las visitas al sitio web 
    • Copias de seguridad
    • Servicio Cron para programar procesos en segundo plano
    • Conexiones seguras (SSL)
    • Streaming de vídeo y audio
    • El precio

     

    Calidad del servicio de alojamiento


    Aunque es difícil determinar la calidad de un servicio de alojamiento sin haberlo contratado, los indicadores que pueden ayudarnos son:

    •  La calidad y profesionalidad de la página web de la empresa de alojamiento
    •  Las opiniones de clientes antiguos y actuales
    • El tiempo que lleva operativa la empresa
    • El nivel de soporte que ofrece la empresa (por ejemplo, si ofrece una sección de manuales o un apartado de preguntas más frecuentes)
    • Si ofrece un servicio de atención al cliente y resolución de problemas


    Sistema operativo


    Se trata del software que efectua la gestión de los procesos básicos de un ordenador. Los dos sistemas operativos que podemos encontrar en las empresas de alojamiento son Linux y Windows.

    Linux
    Windows












    • Servidor: Apache
    • Lenguajes de programación: PHP, Phyton, Perl, JSP
    • Base de datos: MySQL, PostgreSQL
    • Más económico
    • Servidor: Internet Information Server (IIS)
    • Lenguajes de programación: ASP, ASP.NET
    • Base de datos: Access, SQL Server

    Almacenamiento


    Se trata del espacio web o espacio en disco (en inglés disk space, disk storage o hosting space), que se mide en MB o GB y suele empezar a partir de 1 GB. Muchas veces se ofrecen tamaños muy grandes para persuadirnos a la hora de comprar un alojamiento, pero esto no es un indicador de calidad de una empresa de alojamiento.

    Hay que asegurarse de lo que incluye el almacenamiento, ya que puede que los servicios que se incluyen en el almacenamiento (como las bases de datos, los buzones de correo electrónico, etc.) ocupen la mayor parte del espacio que nos proporcionan.

    Para saber qué espacio en disco es ideal para nosotros hay que calcular cuánto ocupa nuestra web, que se puede hacer calculando el peso de una web similar a la nuestra mediante una opción en una barra de herramientas para desarrolladores web o, en caso que la tengamos la web hecha, hay que seleccionar tanto el fichero HTML como el de CSS y, haciendo clic sobre el botón derecho y seguidamente sobre "propiedades", podemos ver lo que ocupan.

    Volumen de transferencia


    Ver Cómo calcular el volumen de transferencia de datos en nuestra web. 

    Consejo: No fiarnos de las empresas que ofrecen un volumen de transferencia ilimitado, ya que normalmente se trata de un simple eslogan comercial que esconde la incapacidad de la empresa para calcular los volúmenes de transferencia. 

    Velocidad de transferencia


    La velocidad de transferencia o ancho de banda es la cantidad de datos que se pueden enviar a través de un canal de comunicación por unidad de tiempo. En los servidores web se mide mediante kbps o mbps.

    Indica el límite de datos que podemos alcanzar en un momento determinado y afecta a la percepción que pueden tener los visitantes de nuestro sitio web.

    Muchas visitas a la vez = Menor velocidad de transferencia = Aumento del tiempo de respuesta

    Si nuestra web tiene muchas visitas al mismo tiempo en un momento determinado, el tiempo de respuesta del servidor y el tiempo que necesitará un visitante para acceder a nuestra página web aumentarán.

    Para calcular la velocidad descarga (en segundos) de nuestra página web hay que dividir el peso de la página web por la velocidad de transferencia y por el número de visitantes que hay en los instantes de mayor actividad.

    Lenguaje de programación y base de datos


    Si nuestro sitio web es estático, tanto los lenguajes de programación como las bases de datos que nos ofrecen no serán un factor importante, porque no los utilizaremos. En cambio, si vamos a crear una aplicación web, sí que hay que tenerlos en cuenta

    Estos factores dependen de los gustos y las habilidades de la persona que programará nuestra web.

    Dominios y subdominios 


    El emplear uno o varios nombres de dominio es más bien una estrategia empresarial que una cuestión técnica. Los subdominios, en cambio nos permiten crear sitios web adicionales que forman parte del dominio principal, por ejemplo, en función de la situación geográfica o del contenido.


    Precio


    Muchas empresas ofrecen descuentos si el alojamiento se adquiere por mucho tiempo, es decir, por años en lugar de trimestres. Normalmente un alojamiento en Linux suele ser más económico que en Windows. Existen algunas páginas web donde se realizan comparativas de alojamiento, pero hay que asegurarse de que están actualizadas.



    lunes, 11 de julio de 2016

    Cómo calcular el volumen de transferencia de datos en nuestra web

    El volumen de transferencia de datos de nuestra web depende del tamaño de la web y el número de visitantes que tiene. Para calcularlo es necesario multiplicar los siguientes factores:

    • El número de visitantes diarios
    • El número de páginas por visita (cuántas páginas visita cada visitante)
    • El tamaño medio de la página
    • Número de días que tiene el mes (30 para simplificar)

    La cifra que obtenemos nos permite saber si el volumen de transferencia que nos ofrece el agente registrador es suficiente para nuestro sitio web.