Configurar la base de datos en WordPress

Configurar la base de datos en WordPress

La creación de la base de datos en WordPress para una instalación de WordPress va estar muy condicionada por el entorno o plataforma donde se va a llevar a cabo.

Por ejemplo, hay alojamientos que condicionan el nombre de la base de datos, normalmente aplicando un prefijo, esto puede ser un problema a la hora de realizar ciertos procesos como un cambio de hosting, recomendamos elegir un hosting fiable y de calidad. Dicho prefijo puede ser aplicado también al nombre de usuario.

Si su caso es como el descrito anteriormente, recopile la información en cuanto al nombre de la base de datos, usuario y contraseña proporcionado por su proveedor y téngalo localizado. Es necesario para realizar los trabajos oportunos así como para solucionar posibles problemas que surjan.

La experiencia y la teoría dicen que la configuración de MySQL en WordPress es muy sencilla:

  1. Comprobar que MySQL se está ejecutando correctamente.
  2. Crear un usuario para WordPress en la base de datos MySQL
  3. Con el usuario anterior crear la base de datos para guardar las tablas de WordPress

El proceso descrito se puede realizar, bien desde la línea de comandos del propio MySQL, desde PhpMyAdmin o bien desde cualquier programa que facilite la gestión de la base de datos, hay una amplia variedad en el mercado.

Base de datos en WordPress

¿Existen problemas en la base de datos en WordPress con MySQL?

Cómo hemos dicho anteriormente la configuración es muy trivial, no obstante le mostramos las tres causas principales que pueden surgir en cuanto a fallos de instalación. Recalcamos que debe de existir una estructura básica en MySQL que incluya el usuario ‘admin’ antes de poder arrancar la sesión como administrador.

  1. El servidor no encuentra la base de datos. Revise el archivo wp-config.php que se encuentra en la raíz del alojamiento, es posible que el nombre de la base de datos no esté bien indicado.
  2. Si localiza la base de datos MySQL pero es imposible iniciar sesión. Probablemente el nombre de usuario o la contraseña asignada a la base de datos no son los correctos. Revise su archivo wp-config.php y contraste con los datos proporcionados por el hosting.
  3. Se realiza la conexión con MySQL pero no se puede seleccionar la base de datos correcta. Es importante resaltar que no por el hecho de poder establecer la conexión, esta esté disponible para ese usuario. Este caso se puede diagnosticar incluyendo la función mysql_error() en el archivo wp-db.php para identificar el fallo en la selección. Así comprobaremos si los permisos de ejecución son los correctos o cualquier otro error.

RECOMENDACIÓN DE SEGURIDAD

Como ya hemos comentado en otros artículos, sobre todo haciendo énfasis en la diferencia entre un desarrollo web a medida y otro con CMS, WordPress es un popular gestor de contenidos que conocen muy bien los hackers y otros programadores con propósitos nada amigables, por esto en la medida de lo posible hay que salir del estándar que trae WordPress.

Por defecto el prefijo que se asigna a las tablas de WordPress es ‘wp_’, este prefijo es conocido por los mencionados hackers con el propósito de extraer información. Así que a la hora de realizar la instalación es muy importante cambiar el conocido prefijo por otro distinto, por ejemplo usar tres caracteres que no contengan w o p es una buena idea.

¿Por qué actualizar WordPress?

¿Por qué actualizar WordPress?

Muchos usuarios nos preguntan por qué actualizar WordPress, en primer lugar siempre pensamos en la seguridad, sin embargo hay otros factores tan importantes como la seguridad.

Repasemos rápidamente: ¿ qué es WordPress ?

WordPress es un sistema de administración de contenidos muy extendido en los últimos tiempos, pertenece a las plataformas de código abierto, Licencia Pública General Gnu (GPL), tiene comunidades globales con millones de usuarios, programadores y mucha asistencia.

Sobre todo, WordPress se diferencia del resto de sistemas CMS gracias a la gran variedad de opciones de alojamiento, funcionalidades, plugins y gran cantidad de plantillas disponibles en el mercado, unas gratuitas y otras bajo compra.

Cabe destacar que según datos recogidos recientemente, cada día se crean más de 100.000 sitios nuevos en WordPress, ya sea en la propia plataforma wordpress.com o en otros hostings o alojamientos.

Si es tan popular, ¿ por qué actualizar WordPress me tiene que preocupar ?

Puesto que es un sistema totalmente abierto, en consecuencia el código está al alcance de todo tipo de usuarios, unos con fines encaminados a la mejora del popular CMS frente a otros programadores que prefieren trabajar más bien en buscar agujeros por donde insertar virus y provocar el caos.

Es una de las grandes diferencias entre un desarrollo a medida y uno bajo gestor de contenidos CMS.

Por qué actualizar WordPress

Qué hacer antes de actualizar WordPress

Si bien una actualización de WordPress no es complicada, esta puede resultar todo lo contrario e incluso llegar a ser una misión imposible.

Seguramente si hemos conocido desde el principio como está desarrollado el proyecto a actualizar, responderemos con más sencillez a por qué actualizar WordPress, comprobaremos si se separó correctamente el diseño de la lógica de funcionamiento, es decir, ¿se realizó un tema hijo de WordPress?

Si el tema a actualizar sufrió retoques o modificaciones sobre el tema original (padre), probablemente y casi con toda seguridad, una actualización afectaría al correcto funcionamiento. Por lo tanto, lo primero es separar el núcleo o Cuore de WordPress del diseño y otras funcionalidades extras.

LA SEGURIDAD

Cómo ya hemos comentado al principio, el motivo principal de por qué actualizar WordPress es precisamente la seguridad.

En este artículo no vamos a entrar en el detalle sobre cómo construir para seguridad o que plugin es el más adecuado ya que el tema que nos trae aquí es el por qué actualizar.

Cada nueva versión de WordPress que aparece está encaminada por un lado a mejorar el entorno de trabajo y sus funcionalidades y por otro a mejorar la seguridad del sistema según las nuevas tecnologías y mejoras en el programa.

Para asegurar que no perdemos datos, lo ideal si nuestro hosting no tiene un sistema robusto de backups, es realizar una copia de todo el sitio, tanto a nivel de archivos como de bases de datos.

Seguridad en WordPress

LOS PLUGINS

Antes de realizar una actualización de versión del tema hay que verificar minuciosamente que cada uno de los plugins que hay instalados, va a responder correctamente tras su instalación.

Es necesario comprobar que cada plugin será compatible en la nueva versión, no hay un sistema automático que indique esto, por lo tanto hay que acceder al sitio web de cada plugin y comprobar que sus desarrolladores han validado el correcto funcionamiento para la última versión de WordPress.

En consecuencia a lo anteriormente dicho, realizaremos la actualización de los plugins de uno en uno y comprobando el funcionamiento después de cada uno.

Diseño web para móvil

Diseño web para móvil

Un diseño web para móvil, no consiste simplemente en una adaptación de la versión web de escritorio. Si es cierto que nos debería de proporcionar también la misma información que la versión para monitor.

Muchos son los factores que hay que manejar para crear una página web con una versión móvil eficiente, hojas de estilo CSS, optimización de código JavaScript, compresión de imágenes, usabilidad, accesibilidad, etc.

En primer lugar hay que tener en cuenta que un dispositivo móvil, sobre todo smartphone o similar, consumen ancho de banda a través de un proveedor de comunicaciones, por lo tanto, es especialmente relevante reducir el peso en Kilobytes de la web con el fin de tener un consumo mínimo.

Por otro lado, algunos elementos que ocupan gran espacio en una versión de escritorio, sobre todo sistemas tipo SLIDER o carrusel, se deberían suprimir en la versión móvil y así ofrecer una mejor experiencia de usuario y optimizar la carga de la página web.

Llegados a este punto en el que estamos quitando elementos y modificando otros, nos damos cuenta que según trabajemos sobre un gestor de contenidos CMS, por ejemplo WordPress, o un diseño a medida, esto nos va a condicionar en gran medida el resultado.

Diseño web para móvil

CMS vs Diseño web para móvil a medida. Ventajas y desventajas

Gestor de contenidos CMS

Ventajas: En un sistema CMS encontraremos miles de plantillas en el mercado que ya incorporan la versión móvil por defecto. Si tenemos los conocimientos y pericia adecuados, podremos manipular la plantilla para adaptarla a las necesidades del proyecto.

Desventajas: Al ser plantillas que pretenden dar soluciones a muchos proyectos, tienen numerosas páginas con diferente código que en consecuencia desaceleran la carga de la página y consumen más ancho de banda. Más notable aun es la manipulación que hay que realizar para mover elementos dentro de la página.

Diseño web a medida

Ventajas:

La velocidad de carga de la página web es muy alta, el consumo de ancho de conexión a internet es muy reducido como resultado de emplear el código y recursos imprescindibles para el óptimo visualizado de la web.

En las futuras actualizaciones o modificaciones que se realicen en la página web, el tiempo que se invierta será mínimo.

Desventajas:

El trabajo para el desarrollo web inicial es más complicado ya que hay que elaborar todos los elementos de la web, esto requiere una gran labor al principio, sin embargo a medio plazo la inversión está más que amortizada.

Entonces ¿qué versión móvil debo elegir?

Parece muy evidente que una versión a medida es la opción idónea, pero lamentablemente esta es una pregunta que no se puede resolver mediante una fórmula, claro que siempre queremos lo mejor para un proyecto, sin embargo, como se ha expuesto anteriormente un desarrollo a medida supone un desembolso inicial alto frente a un sistema CMS.

Probablemente la mejor recomendación sea, si es un proyecto que inicia sus primeros pasos y no dispone de mucho presupuesto, pues adelante con la versión bajo plantilla CMS además con el plugin adecuado podremos tener la versión de página AMP incluida.

Finalmente, es muy recomendable dedicar unos minutos a la lectura sobre posicionamiento SEO para dispositivos móviles, entonces ya estará condiciones de decidir como quiere su diseño web para móvil.

Plugin AMP de WordPress, instalación y configuración de Google Analytics

Plugin AMP de WordPress, instalación y configuración de Google Analytics

Antes de comenzar con la instalación del plugin AMP de WordPress repasemos muy  brevemente qué es el proyecto AMP para páginas web.

Se trata de un desarrollo open source que ofrece una experiencia de navegación en móvil, rápida y eficaz, a groso modo podríamos explicar que dicha navegación se consigue cargando todos los elementos indispensables que necesita un contenido en la misma página (JavaScript, CSS, etc), puedes consultar toda la información detallada en la web oficial de Acelerated Mobile Pages.

La clave del proyecto reside en optimizar la velocidad de carga, todos sabemos que una página web que no se carga rápidamente es susceptible de que no se vea, algo que además afecta negativamente al posicionamiento SEO.

La idea inicial es aplicar este sistema a páginas del tipo noticias, por lo que las plataformas con formato blog son ideales.

Instalación del plugin AMP recomendado para WordPress

En la web oficial de WordPress encontrarás este fantástico plugin para convertir las entradas en páginas AMP.

plugin-amp-wordpress

Pasos para la instalación y configuración:

  1. Descargar el plugin y subirlo al directorio /wp-content/plugins/ o bien instalarlo directamente desde la zona de plugins del propio WordPress, el nombre a buscar sería: ‘Acelerated Mobile Pages’, dejar el plugin activado.
  2. Incluir dentro del archivo ‘.htacces ‘ y al principio, las siguientes líneas de código:

RewriteEngine On

RewriteCond %{REQUEST_URI} !/amp$ [NC]

RewriteCond %{HTTP_USER_AGENT} (android|blackberry|googlebot\-mobile|iemobile|iphone|ipod|\#opera\ mobile|palmos|webos) [NC]

RewriteRule ^([a-zA-Z0-9-]+)([\/]*)$ http://www.tu-url.xxx/$1/amp [L,R=302]

  1. Sustituir http://www.tu-url.xxx por la url donde está el proyecto.

Si bien la inclusión del código en .htaccess es opcional, por el momento, la experiencia nos dice que a Google le ayuda a detectar antes nuestras versiones de páginas en AMP.

La nueva url para páginas AMP será el enlace habitual del artículo con la terminación /amp/, por ejemplo:

URL para escritorio: https://webreunidos.es/mi-pagina-noticia

URL para versión AMP: https://webreunidos.es/mi-pagina-noticia/amp/

Como veis la instalación es muy simple, ahora queda esperar a que aparezcan en las búsquedas realizadas en dispositivos móviles.

¿Cómo configuro Google Analytics para el plugin AMP?

Google analytics. ImagenAunque sabemos que existen algunos plugins para implementar analytics en las páginas web de AMP, somos partidarios de evitar la instalación de plugins adicionales, con el fin de no retardar la ejecución y carga de páginas.

La buena noticia es que no necesitas instalar un plugin adicional, con el siguiente código incluido dentro del archivo function.php tendremos controlado el seguimiento de páginas y perfectamente enlazado con la cuenta de Google Analitycs.

Estos son los pasos:

  1. Evidentemente, si no tienes una cuenta de Google Analitycs, crea una y abre un espacio personalizado para tu proyecto en la versión AMP.
  2. Consigue el id de seguimiento y guárdalo para utilizarlo más adelante.

Ahora tendrás que ir a Google Api y crear una CLAVE API para incluirla dentro del script que se ejecutará en el function.php con el fin de que funcione correctamente la analítica de AMP.

Plugin AMP para WordPress. Imagen

Personalizar el archivo function.php para enlazar Google Analitycs con el plugin AMP

Normalmente en un proyecto que disponga de un plugin AMP, el webmaster deberá disponer de una analítica para la versión de escritorio y otra para la versión de AMP para móviles.

Es necesario diferenciar el seguimiento para páginas con el plugin AMP, con su id correspondiente, por esto en WordPress precisamos llegar al archivo function.php e incluir el siguiente código:

<?php

add_filter( ‘amp_post_template_analytics’, ‘xyz_amp_add_custom_analytics’ );

function xyz_amp_add_custom_analytics( $analytics ) {

if ( ! is_array( $analytics ) ) {

$analytics = array();

}

// https://developers.google.com/analytics/devguides/collection/amp-analytics/

$analytics[‘xyz-googleanalytics’] = array(

‘type’ => ‘googleanalytics’,

‘attributes’ => array(

// ‘data-credentials’ => ‘include’,

),

‘config_data’ => array(

‘vars’ => array(

‘account’ => «UA-XXXXXXX-2»

),

‘triggers’ => array(

‘trackPageview’ => array(

‘on’ => ‘visible’,

‘request’ => ‘pageview’,

),

),

),

);

// https://www.parsely.com/docs/integration/tracking/google-amp.html

$analytics[‘xyz-parsely’] = array(

‘type’ => ‘parsely’,

‘attributes’ => array(),

‘config_data’ => array(

‘vars’ => array(

‘apikey’ => ‘XXXXXXXXXXXXXXXXXXXXXXXXXXX’,

)

),

);

return $analytics;

}

?>

Sustituiremos las cadenas de XX con su correspondiente id y APIKEY.

Si bien no se ha mencionado hasta ahora, lo ideal es que el function.php se encuentre dentro de un tema hijo, puedes encontrar más información en la web oficial de WordPress.

Hay otras maneras de instalar el plugin AMP de WordPress con Google Analytics, pero creemos que esta es la más simple por ahora.

Lenguajes de desarrollo web

Lenguajes de desarrollo web

Introducción al desarrollo web

El desarrollo web es el conjunto de técnicas, tecnologías y habilidades, orquestadas por un programador, y aplicadas para la obtención de nuevos sitios web.

Todo desarrollo de aplicaciones web está apoyado con un lenguaje de programación orientado a internet. Dependiendo del lenguaje elegido para el proyecto, éste podrá ser estructurado u orientado a objetos, si bien ambos tipos pueden convivir en su ejecución, es importante definir el proyecto  desde el origen en uno u otro sentido.

Un desarrollo web cuenta con dos zonas distintas y relacionadas entre sí, la parte del servidor y la parte del cliente. La primera se considera la fuente donde se produce la información en formato HTML y a la que el cliente va a acceder a través de un navegador web.

Un factor muy importante a tener en cuenta a la hora de escoger un ‘lenguaje web’ es cómo se produce la información del lado del servidor, y cómo se reproduce en la parte del cliente.

En las reuniones previas a la concepción del proyecto, es indispensable contar con la figura de un desarrollador web con experiencia que analice la clase de información a tratar en el proyecto así como la ‘lógica de negocio’, con el fin de asesorar qué lenguaje y sistema se va a implementar.

Por otro lado se deber realizar un estudio minucioso acerca de qué sistema de bases de datos va a convivir con el lenguaje de programación web elegido, atendiendo siempre a la funcionalidad del proyecto.

Cómo son los lenguajes de desarrollo web para internet

Muchas veces tendemos a enumerar los diferentes lenguajes que usamos tanto en diseño como en programación web confeccionando una lista rápida llena de acrónimos, HTML, JAVASCRIPT, PHP, ASP, C#,… Es importante clasificarlos según la función que realiza cada uno, si son estáticos o dinámicos, interpretados o compilados, etc.

No vamos a decir que unos son más importantes que otros, no obstante el programador web va a dedicar la mayor parte del trabajo, con diferencia, al lenguaje que está del lado del servidor, en lo que se denomina popularmente ‘back-end’. En este lado se realizan las labores para la futura administración del sitio web: altas, bajas, modificaciones, cómo se construye la presentación del contenido y tantas otras como necesite el proyecto.

Básicamente, el lenguaje del servidor genera la información en HTML que viajará por la red hasta llegar al navegador del cliente, y ese proceso tiene que ser lo más seguro y rápido posible con el fin de acercar al usuario final una experiencia positiva.

Lenguaje interpretado o compilado

Cómo ya hemos mencionado, no se trata de valorar si un sistema es mejor que otro, más bien se trata de decidir en función de la información a tratar, cómo se va generar ésta y cómo va a presentarse al cliente o internauta.

En un lenguaje compilado, cada vez que se produzca una actualización de contenido es necesario que el lenguaje genere un nuevo ‘paquete’ que será el que estará accesible al usuario, conlleva un tiempo de espera importante mientras se compila la información, pero una vez generado la máquina lo distribuye en tiempos ínfimos.

Leguajes de internet. Imagen

Encontramos que para un proyecto con numerosas actualizaciones, por ejemplo un periódico, blog, tienda online, no es recomendable. Normalmente este tipo de lenguajes están bajo licencia privada y tienen más demanda en plataformas empresariales.

En un lenguaje interpretado, la información no tiene que producir ningún paquete cada vez que hay una actualización, lo que hace el lenguaje es traducir cada instancia del código,  generando dinámicamente la última información de la que requiere, es ideal para sitios con actualizaciones frecuentes.

La norma general es que el código esté bajo licencia libre ‘Open Source’ con la ventaja de tener acceso a una enorme cantidad de recursos e información.

Autocomplete PHP

A estas alturas y con lo que hemos aprendido podemos deducir la importancia de tener un alojamiento web o hosting de calidad capaz de responder a las exigencias de nuestro proyecto,  que deseamos se ejecute con precisión y rapidez.

Rasmus Lerdorf, creador de PHP

Entrevista con el Creador de PHP Rasmus Lerdorf a cerca del futuro del OpenSource en el marco del sofware libre. El artículo tiene ya un tiempo, pero es muy interesante.

Cualidades ideales de un desarrollador web

Diseño web

  • Ser capaz de generar código limpio
  • Trabajar con programación orientada a objetos
  • Aplicar técnicas de programación seguras para la web
  • Utilizar estándares actuales como son los recomendados por el W3C
  • Está a la última en posicionamiento SEO técnico
  • Tener conocimientos de accesibilidad y usabilidad web
  • Emplear procedimientos que permitan la actualización o evolución del proyecto a futuras versiones del lenguaje empleado

¿Y qué pasa con el diseño web?

Si bien hasta ahora hemos hecho énfasis en la parte de desarrollo web, es cierto que el diseño es la parte que más va a captar la atención del internauta. En el diseño también se integran pequeños fragmentos de programación web con el fin de reproducir la información de forma dinámica.

La correcta distribución de la información así como su construcción es determinante a la hora de facilitar la usabilidad y proporcionar una experiencia satisfactoria al usuario.

En esta fase se destaca la importancia del correcto uso de las hojas de estilo css, que aportarán estética y funcionalidad, sobre todo a la hora de adaptar el contenido a los distintos dispositivos de las  versiones móviles (Smartphone y Tablet).

Lo ideal es contar siempre con un diseño web a medida, concebido desde los principios fundamentales del diseño web, ya que un sitio web mal construido no va a tener una repercusión optima en las analíticas, proporcionando unas tasas de rebote altas que son muy perjudiciales para el posicionamiento SEO, recuerda que una buena web no se consigue en una de esas plataformas que ofrecen crear tu página con solo unos clics, una web eficiente requiere de un trabajo serio.

¿Es importante la accesibilidad web?

El  W3C (World Wide Web Consortium) es el organismo a nivel mundial que define las reglas a aplicar a una web para que sea accesible y tenga un nivel usabilidad como mínimo aceptable.

Lo ideal es llegar al nivel: accesibilidad web AA, una calificación resultado de tener un sitio web que puede ser visitado sin limitaciones por cualquier usuario independientemente de su condición física o discapacidad. Este esfuerzo no queda sin premio, por lo que los buscadores premiarán el trabajo realizado con mejores calificaciones respecto a competidores que no han tenido en cuenta este factor dentro del diseño web.

Imagen del W3C

Si te ha gustado este artículo y buscas un desarrollo web en Madrid profesional, contacta con nosotros, estamos encantados de poder ayudarte, tenemos los conocimientos, pero sobre todo tenemos la experiencia para comprometernos a realizar el proyecto que necesitas.

Lista SELECT desde ARRAY (PHP)

Lista SELECT desde ARRAY (PHP)

ista SELECT dede ARRAY (php) es un ejemplo muy sencillo de cómo ‘alimentar’ una lista select a través de la información que le proporciona una variable tipo array. Este ejemplo nos servirá para mostrar en un desplegable los meses del año que estarían cargados en una variable definida como array.

Para conseguirlo vamos a

  • Definir el array.
  • Crear una función que construya el select.
  • Crear el formulario HTML correspondiente.

Vamos a suponer que necesitamos para un formulario mostrar un campo desplegable con los meses del año.

Código fuente para crear un select dinámico

<?php

$meses = array(‘enero’,’febrero’,’marzo’,’abril’,’mayo’,’junio’,’julio’, ‘agosto’,’septiembre’,’octubre’,’noviembre’,’diciembre’);

echo ‘<form name=»form1″ id=»form1″ method=»post» action=»»>’;

$nombre = ‘meses’; $resultado = lista($nombre, $meses); echo $resultado; echo ‘</form>’;

function lista($nombre, $meses){

$array = $meses; $txt= «<select name=’$nombre’ id=’$nombre’>»;

for ($i=0; $i<sizeof($array); $i++){

$txt .= «<option value=’$i’>». $array[$i] . ‘</option>’;

} $txt .= ‘</select>’; return $txt; }

?>calendarioHemos creado la variable tipo array $meses y le asignamos los meses del año, a continuación creamos la cabecera del formulario (para nuesto ejemplo dejamos el action vacio) y creamos una variable $nonbre que define el name y id del select que se construye en la función lista.

Creamos la función lista que se encarga de definir el select y completarlo con la información del array a través de un bucle for.

Autocomplete PHP, MySQL y Jquery.

Autocomplete PHP, MySQL y Jquery.

Este artículo es la continuación de ‘Tutorial para crear un buscador PHP para web muy sencillo’, debido en gran parte al gran número de peticiones donde nos preguntan cómo poder enriquecer dicho buscador con una función autocomplete en PHP, MySQL y Jquery.

Cierto es que los sistemas de autocompletado están presentes en la mayoría de INPUTS o cajas de entrada, además facilitan al usuario la gestión a realizar contribuyendo a una buena experiencia de usuario (usabilidad).

Ahora bien, es importante desarrollar sistemas rápidos y eficaces, éstos no deben de consumir demasiados recursos con el fin de evitar al usuario molestos tiempos de espera mientras los sistemas de autocompletado se resuelven.

Por un lado, recomendamos elegir la arquitectura adecuada para BBDD de MySQL y por otro minimizar los accesos a la BBDD, con esto ganaremos mucha velocidad.

Cómo en nuestro anterior artículo dedicado al buscador, vamos a seguir utilizando la base de datos de provincias de España y en esta ocasión nos vamos a apoyar en la potencia que nos ofrece la universal galería de Jquery, como dice su lema: ‘escribe menos, haz más’.

El código fuente está comentado con el fín de facilitar su uso. Puedes ver el funcionamiento en la siguiente demo.

Autocomplete PHP

Pasos para autocomplete PHP con MySQL y Jquery

1. CONEXIÓN CON LA BASE DE DATOS MYSQL

Al inicio del programa definimos la conexión para la base de datos, a diferencia de nuestro anterior post, aquí vamos a conectar siguiendo la directiva de la nueva versión de PHP 7

<?php// Primero definimos la conexión a la base de datos, para que se fácil 
cambiar los parámetros si procede.define('HOST_DB', 'localhost');
//Nombre del host, nomalmente localhostdefine('USER_DB', 'root');
//Usuario de la bbdddefine('PASS_DB', '');
//Contraseña de la bbdddefine('NAME_DB', 'spainprov'); //Nombre de la bbdd?>

2. FUNCIONES CONTECTAR Y DESCONECTAR

Una vez más, para facilitar las futuras acciones, defino las funciones para abrir o cerrar conexión con la BBDD, aunque para el ejemplo puede resultar escesivo, es una muy buena práctica para contribuir siempre a la seguridad.

<?php
// Definimos la conexión (versión PHP 7)
function conectar(){
    global $conexion; 
//Definición global para poder utilizar en todo el contexto    
$conexion = mysqli_connect(HOST_DB, USER_DB, PASS_DB, NAME_DB)    
or die ('NO SE HA PODIDO CONECTAR AL MOTOR DE LA BASE DE DATOS');    
mysqli_select_db($conexion, NAME_DB)    or die
('NO SE ENCUENTRA LA BASE DE DATOS ' . NAME_DB);}
function desconectar(){    
global $conexion;    
mysqli_close($conexion);}
?>

3. CREO UNA FUNCIÓN PARA REALIZAR LA BÚSQUEDA

En nuestro caso queremos completar o mejor dicho autocompletar la caja de búsqueda con las provincias a medida que vayamos tecleando, si se necesitasen usar otras tablas para otros campos o realizar un futuro cambio, tan solo tendríamos que volver a esta función y actualizarla.

<?php
function opciones() {
global $conexion; //Variable que contendrá el resultado de la búsqueda
$texto = '';
conectar();
mysqli_set_charset($conexion, 'utf8');
// para indicar a la bbdd que vamos a mostrar la info en utf8
//Contulta para recoger la información de todas las provincias
$sql = "SELECT * FROM provincia ORDER BY provincia";
$resultado = mysqli_query($conexion, $sql); //Ejecución de la consulta
//Si hay resultados...
if (mysqli_num_rows($resultado) > 0){
while($fila = mysqli_fetch_assoc($resultado)){
// se recoge la información según la vamos a pasar a la variable de javascript
$texto .= '"' . $fila['Provincia'] . '",';
}
}else{
$texto = "NO HAY RESULTADOS EN LA BBDD";
}
// Después de trabajar con la bbdd, cerramos la conexión
(por seguridad, no hay que dejar conexiones abiertas)
mysqli_close($conexion);
return $texto;}
?>

4. INICIAMOS EL TEXTO PARA  AUTOCOMPLETAR

Pasamos el resultado de la búsqueda que realizamos sobre el texto que nos interesa a una variable ‘llamando a la función opciones()’, en nuestro caso vamos a pasar las provincias que contiene nuestra tabla y le vamos a dar un formato válido para que se pueda utilizar en la parte de javaScript, quedando así: «Albacete», «Álava», …

$opciones = opciones();

5. MONTAMOS LA PARTE HTML

Definimos la cabecera con las llamadas a los correspondientes scripts y css.

<!doctype html>
<html>
<head>
<meta charset=»utf-8″>
<title>Buscador web php autocompletado – WebReunidos</title>

// Parte correspondiente a Jquery

<link rel=»stylesheet» href=»//code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css»>
<script src=»https://code.jquery.com/jquery-1.12.4.js»></script>
<script src=»https://code.jquery.com/ui/1.12.0/jquery-ui.js»></script>
<script>
$( function() {

// Variable que recoge el resultado de la consulta sobre la tabla Provincias, Jquery trabajará sobre este resultado para dinamizar el funcionamiento.
var availableTags = [<?php echo $opciones ?>];
$( «#buscador» ).autocomplete({
source: availableTags
});
} );
</script>
</head>

6. CUERPO DEL HTML

Por último incluimos el INPUT que va a realizar el trabajo para que sea autocomplete PHP.

<body>

<div class=»ui-widget»>
<label for=»buscador»>Buscador : </label>
<input id=»buscador»>
</div>

</body>
</html>

Con este código ya estamos en condiciones de optimizar el funcionamiento de nuestro buscador php, tal y como decíamos al principio de este artículo que esperamos os sea de mucha utilidad.

MyISAM vs InnoDB

MyISAM vs InnoDB

Base de datosEn este post, vamos a tratar de explicar las características mas importantes que hay a la hora de trabajar con bases de datos entre los motores Myisam vs Innodb, qué ventajas tiene Myisam  frente a Innodb o desventajas, así como las diferencias existentes, muy enfocado al desarrollo web.

A la hora de abarcar un proyecto web que sobre todo va a tener diversas ejecuciones o comunicaciones con bases de datos, es muy importante conocer las capacidades del servidor (alojamiento) que va a gestionar nuestro desarrollo, no solo en capacidad de almacenamiento sino también en cuanto a versión de software y base de datos que van a manejarlo.

Los motores más populares y usados en desarrollo web son MyISAM e InnoDB, su correcta elección definirá como se gestionarán los recursos en cuanto a velocidad, consumo de esos recursos y calidad de servicio.

Cada proyecto tiene su casuística, a la que debemos prestar atención, conociendo el número de usuarios que accederán o pueden acceder simultáneamente a realizar altas, bajas, etc., o bien si tenemos miles de accesos solamente a consulta.

En el presente artículo no vamos a entrar al detalle de que diseño de base de datos o sistema de desarrollo es más idoneo a la hora de manipular la información, evidentemente precisa de un capítulo a parte, pero ni que decir tiene que es un punto muy importante, el cual se ha de tratar con detenmiento.

Características de MyISAM:

  • Se establece por defecto cuando se crea una tabla, salvo que se indique lo contrario.
  • Soporta transacciones.
  • Realizar bloqueo de registros.
  • Soporta un gran número de consultas SQL, lo que se refleja en una velocidad de carga muy rápida para nuestra web.

Como desventaja, señalamos que no realiza bloqueo de tablas, esto puede ser un problema si como se ha mencionado anteriormente hay un acceso simultáneo al mantenimiento de registros por parte de varios usuarios.

Características de InnoDB

  • Bloqueo de registros. Importante para accesos múltiples al mantenimiento de tablas, es decir, ejecuciones de sentencias tipo INSERT o UPTATE, éstas ejecuciones tienen una velocidad optimizada.
  • Capacidad para soportar transacciones e integridad de datos, es decir previene el alta de datos no adecuados.
  • Aplica las características propias de ACID (Atomicity, Consistency, Isolation and Durability), consistentes en garantizar la integridad de las tablas.

Como desventaja, marcamos que al ser un tipo de motor que define un sistema más complejo de diseño de tablas, reduce el rendimiento en velocidad para desarrollo que requieren de un elevado número de consultas.

Base datos archivosRECOMENDACIONES

Un solo gestor de mantenimiento para una plataforma que requerirá muchas consultas o visitas: MyISAM

Necesitas velocidad y mínimo consumo de recursos en servidor, espacio, RAM, etc.: MyISAM

Varios o muchos gestores de mantenimiento: InnoDB

Desarrollo donde se prioriza el diseño relacional de bases de datos: InnoDB

Independientemente del sistema que se elija, hay que hacer un buen diseño de la estructura y funcionalidad de la base de datos, si bien este tema requiere un capítulo aparte, os damos unas nociones a tener en cuenta.

La información o datos no deben almacenarse de cualquier manera. Hay que buscar el mayor aprovechamiento de los recursos que tenemos a nuestra disposición, tanto a nivel de almacenamiento como de rendimiento.

Hay que mantener la consistencia de la información durante todo el ciclo de vida de la base de datos, más aún si los datos que se manejan son críticos, por ejemplo los salarios de una organización.

Los primeros factores que realizará el analista, serán el análisis del sistema que servirá de modelo, la observación de los elementos que lo componen y la descomposición en partes mucho más pequeñas.

Cuando se consiga un modelo sólido, estaremos en condiciones de pasar a la parte de Qué es el desarrollo web.

Si te ha gustado este artículo y estás buscado una empresa de diseño y desarrollo web profesional para un proyecto importante, te recomendamos que confíes siempre en programadores con experiencia.

YouTube responsive video

YouTube responsive video

Video YouTube

En este tutorial te enseñamos a incluir en tu web un video YouTube responsive, con el fin de que se vea correctamente en monitores de escritorio, tablets y dispositivos móviles.

Cada ve más, Google tiene más en cuenta las páginas web que tienen una versión móvil correcta y por lo tanto están siendo premiadas.

Una de las complicaciones con las que un diseñador web se puede encontrar está en cómo adaptar un vídeo de YouTube para que se visualice correctamente en todos los dispositivos. En este tutorial, no vamos a crear una versión móvil sino que vamos de una manera muy sencilla a explicar cómo se puede adaptar un vídeo para que sea líquido, y por lo tanto se ajuste correctamente a cualquier tamaño.

Como todos sabemos la inclusión del vídeo pasa por utilizar una etiqueta llamada <iframe>, que si bien no es buena para la accesibilidad, es necesaria para el funcionamiento de códigos externos, lo más normal es que no tengamos acceso al control de lo que se está ejecutando dentro de ese marco, sin embargo si tenemos la oportunidad de manejar las características de iframe.responsive web para youtube

Definición de etiquetas y CSS

Aunque no es obligatorio, sí es recomendable la inclusión de la etiqueta viewport con el fin de que se vea correctamente en dispositivos Tablet y móviles.

<meta name="viewport" content="width=device-width, user-scalable=no"> 
<!-- opcional -->

El código CSS para este ejemplo es muy simple

<style>#video {	
width: 100%;
height:1%;
min-height:380px;
overflow:hidden;
float:left;
margin-bottom: 30px;
margin-top: 7px;
}
#video iframe {
width: 100%;
min-height:360px;
}
</style>

Para el cuerpo de nuestro código solo nos queda tener la url del  vídeo que queremos incluir, luego cada uno maquetará a su gusto.

<body>
<h1>YouTube responsive video: Demo</h1>
<div id="video">
<iframe src="https://www.youtube.com/embed/ELDTyQj_UL4?autoplay=1" frameborder="0"
allowfullscreen></iframe>
</div>
<p>Tutorial desarrollado por: <a href="https://webreunidos.es"
title="Diseño Web Madrid: WebReunidos" target="_self">WebReunidos</a></p>
</body>

Aquí tenéis una Demo de YouTube responsive video de cómo funciona este código tan simple.

Como siempre os dejo el código completo.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, user-scalable=no">
<!-- opcional --><title>Documento sin título</title>
<style>
#video {
width: 100%;
height:1%;
min-height:380px;
overflow:hidden;
float:left;
margin-bottom: 30px;
margin-top: 7px;
}
#video iframe {
width: 100%;
min-height:360px;
}
</style>
</head>
<body>
<h1>YouTube responsive video: Demo</h1>
<div id="video">
<iframe src="https://www.youtube.com/embed/ELDTyQj_UL4?autoplay=1" frameborder="0"
allowfullscreen></iframe>
</div>
<p>Tutorial desarrollado por: <a href="https://webreunidos.es"
title="Diseño Web Madrid: WebReunidos" target="_self">WebReunidos</a></p>
</body>
</html>

Creo que con este tutorial se ha demostrado que tener un YouTube responsive video es simple.

Cómo ayuda un Community Manager a tu empresa

Cómo ayuda un Community Manager a tu empresa

Hoy en día, con la importancia que tienen las redes sociales en el marketing online, se hace imprescindible contar con una persona que sepa gestionarlas y sea capaz de mantener activa a tu comunidad. Y esa persona es, por supuesto, un Community Manager.

Funciones del Community ManagerEl Community manager en la empresa

Aunque muchas veces el Community Manager se relaciona única y exclusivamente a las redes sociales, lo cierto es que realiza algunas otras funciones. Aquí te las detallamos:

  1. Redes sociales: Sí, el Community Manager debe ser capaz de gestionar las diferentes redes sociales de la empresa de forma eficaz, dándoles dinamismos y manteniendo activos a los fans y seguidores de la marca, haciendo que éstos conecten emocionalmente.
  2. Gestión del blog: Este punto es, a menudo, más olvidado que el anterior. Es importante que el Community Manager también gestione el blog o, al menos, esté bien informado de lo que allí sucede y pueda actuar. ¿Por qué? Porque la comunidad que debe gestionar también está en el blog, no solo en las redes sociales, y, por lo tanto, él debe estar en ambos lugares.
  3. Promoción de ofertas: Por último, no es algo imprescindible pero sí algo oportuno el hecho de que el Community Manager tenga cierta manga ancha para hacer algunas ofertas o promociones. Por supuesto, no debes permitirle que lleve a cabo un sorteo al día que arruine a tu empresa, pero dotarlo de cierta libertad para que tenga herramientas con las que dinamizar la comunidad es importante.

Por último, recuerda que esos tres aspectos son fundamentales para que el Community Manager alcance sus objetivos, y dichos objetivos son, en primer lugar, la dinamización de la comunidad ya existente, por otro, la obtención de nuevos seguidores que formen parte de la comunidad y, por último, la consecución de conversiones y ventas para la empresa.

En definitiva, el Community Manager es alguien imprescindible en una empresa, siempre y cuando ésta quiera desarrollar una buena estrategia de marketing en internet. Las redes sociales son su medio natural, y es por ello que los usuarios le adoran.