Atributos alt y title

Los atributos alt y title, són atributos que nos permiten indicar un texto descriptivo para un elemento HTML, según la especificación del W3C, su función sería:

  • alt – Indica un texto alternatívo a un elemento no textual
  • title – Indica un texto a mostrar en un tooltip cuando el mouse está sobre el objeto

Internet Explorer (IE)

alt este trabaja a su vez cómo title y nos muestra el tooltip

<!--  Tooltip con Internet Explorer -->
<img alt="Logo de la web" src="//www.programacionweb.net/imagen.gif">

 

Mozilla Firefox

El atributo alt se utiliza sólo como texto alternativo y para mostrar el tooltip hay que utilizar el atributo title ( compatible con IE y Firefox ).

<!--  Tooltip compatible con W3C -->
<img title="Logo de la web" alt="Texto alternativo" src="//www.programacionweb.net/imagen.gif">

 

En definitiva hay que utilizar los dos atributos: alt y title.

Tools Pingdom

Para saber cuanto tiempo tarda en cargar nuestra página web tenemos la siguiente heramienta a nuestra disposición: http://tools.pingdom.com/

Tools Pingdom

En esta web tenemos 3 opciones:

  1. Full Page Test: Comprueba el tiempo de carga de la web
  2. DNS Health: Comprueba si nuestro DNS está configurado correctamente
  3. Ping and Traceroute: Introducimos un nombre de alojamiento web o una IP para realizar un Ping o un Traceroute

Ping es una utilidad diagnóstica en redes de computadoras que comprueba el estado de la conexión del host local con uno o varios equipos remotos por medio de el envío de paquetes ICMP de solicitud y de respuesta. Mediante esta utilidad puede diagnosticarse el estado, velocidad y calidad de una red determinada.

Muchas veces se utiliza para medir la latencia o tiempo que tardan en comunicarse dos puntos remotos, y por ello, se utiliza el término PING para referirse al lag o latencia de la conexión en los juegos en red.

Traceroute o tracert es una herramienta de diagnóstico de redes que permite seguir la pista de los paquetes que van desde un host (punto de red) a otro. Se obtiene además una estadística del RTT o latencia de red de esos paquetes, lo que viene a ser una estimación de la distancia a la que están los extremos de la comunicación. Esta herramienta se llama traceroute en UNIX y GNU/linux, mientras que en Windows se llama tracert.

Actualizar Joomla a 1.5.23 desde 1.5.x

Para actualizar Joomla a la versión 1.5.23 desde una versión anterior 1.5.x podemos seguir los siguientes pasos:

  1. Descargar el paquete de actualización desde la web de Joomla, normalmente tiene un nombre así: Joomla_1.5.xx_to_1.5.23-Stable-Patch_Package.zip
  2. Yo suelo subirlo comprimido con el gestor de transferencia de archivos de CPanel del hosting y descomprimirlo en el servidor, pero también se puede descomprimir en nuestro pc y subirlo así a nuestro servidor. Sea como sea, tenemos que sobrescribir los archivos nuevos en los antiguos (No se afecta a los archivos principales de funcionamiento de Joomla, ya que aqui se instala un parche y no una versión nueva desde cero)

Con esto Joomla ya estaría actualizado.

Simplificar en css propiedades repetidas en div

Cuando varios div tienen las mismas propiedades, en vez de repetir esas propiedades en css para cada div, podemos escribirlas juntas. Supongamos que tenemos dos div y tienen la misma propiedad, por ejemplo, color verde, entonces podriamos simplificarlo así:

<html>
<head>
<style type="text/css">
#ext1,#ext2 {color:green;}
</style>
</head>
<body>
<div id="ext1">
<p>Hola1</p>
</div>
<div id="ext2">
<p>Hola2</p>
</div>
</body>
</html>

Migración de Drupal 6.x a otro servidor

Pasos para replicar un sitio DRUPAL 6 en otro servidor (local o remoto):

A) Operaciones en el servidor ORIGEN:

  1. Tenemos que hacer una copia de los archivos en el servidor. Con CPanel voy a Administrar ficheros->Administrar ficheros, elijo la carpeta del proyecto, doy a comprimir y la descargo en el equipo. Eliminamos el archivo comprimido en el servidor. Paso opcional: Cuando volvamos a subir esta carpeta comprimida al nuevo servidor nos podemos encontrar con el problema que lo ha guardado todo dentro de una carpeta, que no nos interesa. Para eliminarla lo descomprimimos, seleccionamos todos los archivos menos la carpeta que engloba todo y lo volvemos a comprimir.
  2. Hacemos un backup de la base de datos. En Cpanel vamos a Administrar ficheros->Asistente para copias de seguridad (backup)->Generar copia de seguridad->Copia de seguridad parcial->Copia de bases de datos Mysql->Elegimos la base de datos que queremos descargar y la guardamos en nuestro equipo.

B) Operaciones en el servidor DESTINO:

  1. Subir el archivo comprimido de la pagina web al directorio del servidor donde lo queremos alojar, lo descomprimimos ahí y borramos el archivo comprimido del servidor
  2. Entramos en Cpanel->Mysql Databases. Creamos una base de datos (puede tener el mismo nombre que la que hemos copiado a nuestro ordenador), un usuario con su contraseña y añadimos nuestro usuario a la base de datos dándole todos los privilegios
  3. Entramos en phpmyadmin y en nuestra base de datos creada importamos la base de datos que grabamos en nuestro ordenador
  4. Ahora tenemos que editar el archivo Setting.php, lo hago directamente desde el gestor de archivos o editando el setting.php que tenemos en nuestro disco duro y luego subirlo al servidor, el archivo setting.php se encuentra en Sites –> Default –> Setting.php.
    Cuando digo que lo editemos es para cambiar, si es necesario, la ruta donde le indicamos a Drupal el nombre del servidor, el nombre de la base de datos, el usuario y la contraseña, ésto es necesario para que el drupal en el nuevo servidor conecte con la base de datos:
    $db_url = 'mysql://username:password@localhost/databasename';y tb $base_url = 'http:// ......'; por en la nueva dirección web de nuestro proyecto
  5. Abrimos el navegador y ponemos la direrección de nuestro sitio seguido de update.php:
    http://www.miDominio.com/update.php
    éste paso no es necesario realmente pero me gusta hacerlo para comprobar que conecta bien con la base de datos.
    Al realizar éste paso es muy probable que te salga un error ya que no tendrás permisos para acceder al archivo update.php, hay que editarlo y poner el TRUE a FALSE, restablecer posteriormente obligatoriamente por seguridad.

Ya está todo y debe funcionar correctamente, solo comentar que en una ocasión se me olvidó, como dije al principio, subir el .htacces y la portada (index) se me abría correctamente pero al intentar acceder al cualquier página interior me daba error 404 (página no encontrada), era debido a que en el anterior server tenía las Url’s limpias, subiendo de nuevo el htaccess se solucionó, pero te puedes encontrar con el problema de que el nuevo servidor no acepte las url’s limpias y tendras que acceder a la administración del sitio para desconectarlas, para poder hacerlo tendras que marcar las url’s «sucias» de tal manera que para entrar a cambiarlas tedrás que poner:
http://localhost/drupal/?q=admin/settings/clean-urls

Puede que tengamos un problema con Variable register globals de PHP(‘1’) habilitado, para cambiarlo creo un archivo llamado php.ni cuyo contenido es:

register_globals = Off

Lo grabo y lo subo al servidor y debería funcionar correctamente.

Usar ORDER BY en SQL

Una de las claúsulas que podemos utilizar en SQL es ORDER, el cual usamos para especificar el orden, cuya sintaxis es primero «ORDER BY» y luego una lista de Campos que definirán los campos a ordenar:

La síntaxis es la siguiente:
SELECT campo1, campo2, campo3, campo4 FROM Clientes ORDER BY campo_ordenar_primero, campo_ordenar_segundo

Incluso se puede especificar el orden de los registros:

  • ASC: ascendente (valor que toma por defecto si no se especifica)
  • DESC: descendente

Veamos unos ejemplos:

SELECT * FROM nombre_tabla ORDER BY campo1, campo3, campo8Esta sintaxis nos va a seleccionar todos los registros de la tabla y los traerá ordenados de la manera específica que le solicitamos, es decir primero se ordenarán por el «campo1», luego ante la igualdad de este se decidirá el orden por el segundo campo en la lista de campos especificada luego de la cláusula ORDER BY, es decir el campo de nombre «campo3», para finalizar ordenando por el «campo8» como tercer y último criterio.SELECT * FROM nombre_tabla ORDER BY campo8, campo1, campo2

Esta sintaxis nos va a seleccionar todos los registros de la tabla y pero ahora los traerá ordenados primero por el «campo8», luego ante la igualdad de este se decidirá el orden por el segundo campo en la lista es decir el campo de nombre «campo1», para finalizar ordenando por el «campo2» como último criterio.
En definitiva el orden que aparecen en la lista, otorga la prioridad en el ordenamiento de los registros, desde el primero de mayor prioridad hasta el último.

Estos dos ejemplos anteriores toman por defecto un ordenamiento ascendente de los registros, seria lo mismo que colocar la cláusula ASC en todos los casos:

SELECT * FROM nombre_tabla ORDER BY campo1 ASC, campo3 ASC, campo8 ASC
SELECT * FROM nombre_tabla ORDER BY campo8 ASC, campo1 ASC, campo2 ASC

Si hubiésemos querido lo contrario tendríamos que haber colocado la cláusula DESC para lograr un orden descendente como ya dijimos, y se puede utilizar logicamente una o la otra en un mismo campo, pero cualquiera de las dos puede ser utilizada en otro campo del mismo listado como por ejemplo:

SELECT * FROM nombre_tabla ORDER BY campo1 DESC, campo3 ASC, campo8 DESC

Hay que tener en cuenta que el orden no distingue entre mayúsculas y minúsculas para el caso que se trate de letras, en este caso se realiza un orden simplemente alfabético, mientras que los números tienen menor orden que las letras, quedando por delante de éstas, así mismo los distintos símbolos y signos de puntuación, tienen menor orden que los números.

Por ejemplo ordenando de menor a mayor (de manera ascendente) los siguientes campos quedarían así:

9 de Julio
25 de Mayo
Arrecifes
Bahía Blanca
Córdoba

Fuente: http://www.lenguajesql.com.ar/lenguajesql/default.asp?id=10

Detectar navegador Mozilla Firefox, IE, etc. con PHP

Para poder ofrecer formatos distintos según el navegador podemos hacerlo averiguando que navegador se está utilizando y dando en consecuencia un formato adecuado. Normalmente el navegador que va a dar problemas es IE, así que debemos generar un formato para IE y otro para los demas, lo podemos crear así:

<?php
$navegador = getenv("HTTP_USER_AGENT");
if (preg_match("/MSIE/i", "$navegador"))
{}
else
{}
?>