Diseño Web

Diseño Web, Sistemas, Trucos

En phpMyAdmin no aparece la opción de editar, copiar o eliminar en una tabla

Ayer estábamos manejando la base de datos de un cliente, queríamos eliminar una fila en una tabla, pero esa tabla no tenía las opciones de editar, copiar o eliminar. En las demás tablas de la misma base de datos si que aparece. Os mostramos cómo solucionar esto y por qué sucede. Obviamente lo primero es mirar si tienes todos los permisos correctos para esa base de datos y tabla y para ese usuario. Mira en la pestaña privilegios, pero suponemos que todo está bien. La razón por la que una tabla puede no mostrarte esas opciones es porque no esté definida una Clave Primaria (Primary Key). Así que lo primero que hay que probar es eso, pinchar en la pestaña estructura en esa tabla y pinchar en el icono de la llave (Clave Primaria) en el campo que queramos definir como tal. Si podemos definir clave primaria verás que luego aparecen los campos que faltaban y podemos modificar campos. PERO, no en todas las tablas podemos definir Clave Primaria. Porque dicha clave tiene que ser única. Es decir en tablas donde un mismo valor se repite no puedes definir una Clave Primaria. ¿Qué hacer entonces? Necesitas hacerlo por MySQL. Tranquilo, no tienes que aprender muchos comandos, en la pestaña MySQL en la tabla, tienes botones de Insertar, Actualizar y Borrar. Cuando pinchas a estos botones te añade el comando de MySQL y sólo tienes que cambiar los valores. Además, en alguno de ellos de permite probar el comando antes de ejecutarlo. Obviamente, haz una copia de la base de datos antes desde Exportar en la raíz de la base de datos.  

Diseño Web, Gestores de contenidos

Cómo conseguir el ID de usuario en WordPress

En ocasiones, por ejemplo para cambiar la contraseña con alguno de los trucos que os dejamos el otro día, necesitamos el ID de usuario de WordPress. ¿Cómo puedo conseguirlo? Aquí os dejamos algunas opciones. Si entras en el backend y vas a Usuarios > Todos los usuarios, y en la lista de usuarios pinchas en el que quieres ver, en la url (la barra donde está la dirección del navegador), además de muchas otras cosas verás algo como user_id=XXX. Ese XXX es el id de usuario. Puedes añadir una columna en tu lista de usuarios donde venga el ID. Para eso tiene que editar el fichero functions.php de tu plantilla y añadir algo como (fuente aquí): /* * Añade la columna */ function rd_user_id_column( $columns ) { $columns[‘user_id’] = ‘ID’; return $columns; } add_filter(‘manage_users_columns’, ‘rd_user_id_column’);   /* * Pone el contenido de la columna */ function rd_user_id_column_content($value, $column_name, $user_id) { if ( ‘user_id’ == $column_name ) return $user_id; return $value; } add_action(‘manage_users_custom_column’, ‘rd_user_id_column_content’, 10, 3);   /* * Estilo de la columna (no es necesario) */ function rd_user_id_column_style(){ echo ‘<style>.column-user_id{width: 5%}</style>’; } add_action(‘admin_head-users.php’, ‘rd_user_id_column_style’); Por PhpMyAdmin podemos comprobarlo en  la tabla: – wp_users en el campo ID Para los programadores, en el enlace donde ponemos fuente (encima del código), tenéis más opciones para que os devuelva el id de usuario. Espero que os sea útil.

Diseño Web, Gestores de contenidos, Trucos

Cómo agregar un superadministrador de red a un multisitio de WordPress

Hace unos días escribimos unos artículos sobre cómo añadir un administrador en WordPress si no tienes acceso al backend (método 1 y método 2). Pero esto crea un administrador para un sitio normal, si tienes un Multisitio, el método sólo crea un administrador local (en la web donde lo hayas creado), no para toda la red. Es decir tu administrador no podrá gestionar el resto de páginas. ¿Cómo lo convertimos en superadmin? Os dejamos varios métodos. Obviamente si tienes acceso al backend como superadministrador, puedes dar ese privilegio a cualquier otro usuario desde Usuarios en el menú de red. Pero no creo que uno busque información en Internet en ese caso porque es sencillo 😀 Por phpMyAdmin. Accediendo a la base de datos por phpMyAdmin sólo tienes que editar el campo admins en la table wp_sitemeta. Para agregar un superusuario Pedro es: “a:2:{i:1;s:5:”admin”;i:2;s:4:”Pepe”;}” El primer número es el número de superadministradores que vas a tener. Por ejemplo si sólo tienes uno, tienes que poner un dos porque vas a agregar otro. El primer campo entre paréntesis es el primer administrador. Así que para agregar otro copia lo mismo después de un punto y coma. Nosotros hemos añadido a Pepe (un usuario ya creado). El número después de la i es el número de superadmin, así que hay que añadir uno respecto al anterior. El primero campo es i:1, el segundo i:2 etc. El número después de la s es el número de caracteres del nombre de usuario. Por ejemplo admin tiene 5 letras, pero Pepe tiene 4 así que s:4. Después comprueba si tienes acceso para ver si has puesto bien los datos. Si no ha puesto tu usuario como superadmin es que has puesto alguno de los parámetros mal. Editando el fichero functions.php de la plantilla por FTP. Si, como en los métodos que mencionamos al principio del artículo, se puede hacer por FTP (nosotros lo hacemos así). Tienes que irte al fichero functions.php de la plantilla y añadir la línea: grant_super_admin(1); Donde el número es el ID del usuario. ¿Cómo saber el ID de un usuario? Eso lo dejamos para otro artículo, pero el administrador creado en la instalación es el 1. Por lo tanto, si lo que queréis es acceder a un multisitio como superadministrador y no tenéis contraseña, podéis entrar como administrador con los métodos al principio del artículo, y luego convertir ese administrador en superadministrador de la red con el método anterior.    

Diseño Web, Internet, Noticias Informáticas

Todas las páginas web comerciales deben incluir un Aviso Legal

Recientemente hemos recibido mensajes, que parecen lícitos, del Ministerio de Energía, Turismo y Agenda Digital, sobre la falta de Aviso Legal en una de las páginas web que gestionamos. La LSSI ,  Ley 34/2002, de 11 de julio, de servicios de la sociedad de la información y de comercio electrónico, obliga a las páginas web a incluir un mínimo de información de forma permanente y gratuita. Esta información suele incluirse en un Aviso Legal o en un Quienes Somos. Nota: “La Ley no se aplicará a una página web personal cuando su titular no realice ningún tipo de actividad económica a través de la misma.” La información a incluir está en esta página y aquí. Es la siguiente: Los prestadores de servicios relacionados con internet deben indicar en su página web de forma permanente, fácil, directa y gratuita: Su nombre o denominación social y datos de contacto: domicilio, dirección de correo electrónico y cualquier otro dato que permita una comunicación directa y efectiva, como por ejemplo un teléfono o un número de fax. Si la empresa está registrada en el Registro Mercantil o cualquier otro registro público, deberá señalar también el número de inscripción que le corresponda. En el caso en que la actividad que se ejerza precise de una autorización administrativa previa, los datos relativos a la misma y los identificativos del órgano encargado de su supervisión. Si se ejerce una profesión regulada, los datos del colegio profesional y el número de colegiado; el título académico y el Estado de la Unión Europea en que se expidió; la correspondiente homologación (en su caso); y los códigos deontológicos aplicables al ejercicio de su profesión. Su Número de Identificación Fiscal (NIF). Información sobre el precio de los productos, indicando si incluye o no los impuestos aplicables y los gastos de envío. Los códigos de conducta a los que esté adherido, en su caso, y la forma de consultarlos electrónicamente. En caso de no tener dicha información, como dice la Ley, se le puede advertir al infractor (de ahí el aviso que recibimos) antes de abrir un procedimiento sancionador. Dentro de las novedades legislativas introducidas en la Ley General de Telecomunicaciones y que afectan a la LSSI ya que modifican parte de su articulado, cabe señalar la facultad incluida en el Artículo 39bis, Punto 2 que permite a los órganos con potestad sancionadora apercibir al sujeto responsable de una infracción con el fin de que adopte las medidas correctoras necesarias antes de la apertura del procedimiento sancionador. Esta posibilidad de apercibimiento previo facilita la regularización de situaciones anómalas por parte del prestador sin por ello causarle perjuicio económico. Las sanciones se pueden ver aquí y son desde 30.000 a 600.000 € Esto es UN MÍNIMO. Aquellas páginas web que recopilen información de clientes (como tiendas online), información de salud,  u otros datos deben cumplir más requisitos de los que hablaremos otro día. Es decir, revisad vuestras páginas web para ver si incluyen esta información, y si no incluidla cuanto antes.    

Diseño Web, Gestores de contenidos, Trucos

Cómo crear una nueva cuenta de administrador en WordPress por FTP

Hace unos días explicamos cómo cambiar la contraseña de administrador de WordPress por FTP. Hoy os dejamos una variante, que es crear una nueva cuenta de administrador usando un método similar. Este método lleva mucho tiempo funcionando, el artículo que usamos como fuente es del 2011 y, aunque no lo hemos probado (lo haremos), por lo que parece funciona todavía. La manera de hacerlo es similar: Entra por FTP a la carpeta de tu tema, y edita el fichero functions.php Pon el siguiente código (cambia los datos de login, password e e-mail): function add_admin_acct(){ $login = ‘myacct1’; $passw = ‘mypass1’; $email = ‘myacct1@mydomain.com’; if ( !username_exists( $login ) && !email_exists( $email ) ) { $user_id = wp_create_user( $login, $passw, $email ); $user = new WP_User( $user_id ); $user->set_role( ‘administrator’ ); } } add_action(‘init’,’add_admin_acct’); Entra en tu web para cargar el archivo de functions. Ahora deberías poder entrar por el backend. Si no, prueba el método del otro día para cambiar la contraseña  

Diseño Web, Trucos

Cambiar la contraseña de administrador de WordPress por FTP

Si, lo habéis oído, se puede cambiar la contraseña de administrador de WordPress for FTP. Lo hemos hecho ya varias veces, la última para acceder a una página que teníamos que administrar y no tenían los datos de acceso. Y es mucho más rápido y sencillo que por base de datos. Nota: hay que saber el nombre del usuario administrador. ¿Cómo hacerlo? Es sencillo, sólo tenéis que ir por FTP a la carpeta del tema que estéis usando. Dentro de esta carpeta debería estar el archivo functions.php .  Tenéis que editarlo. En Filezilla se puede hacer con el botón derecho y Editar, o descargándolo, editándolo y volviendo a subirlo. Al principio de este archivo tenéis que añadir la línea: wp_set_password( ‘password’, 1 ); Donde pone password entre paréntesis poned la nueva contraseña. Ahora deberéis entrar en vuestra página web y luego intentad iniciar sesión con la nueva contraseña (debéis conocer que usuario es el administrador). Este código se ejecuta cada vez que accedéis a la web y lo que hace es cambiar la contraseña para el usuario 1 (el administrador). Una vez que entréis en la página, quitad el código editando de nuevo el archivo.    

Diseño Web, Trucos

Cómo usar Mysql por línea de comandos en XAMPP

Si has instalado XAMPP para emular servidores web en un ordenador Windows, peude que te encuentres que tienes que usar la línea de comandos de MYSQL y no sepas como. No te va a ocurrir muy a menudo, pero hay ciertas cosas, como la importación de bases de datos grandes con source o mysqldump, que pueden requerirlo. Aquí te dejamos cómo hacerlo. Tienes que irte al directorio de instalación de XAMPP, y buscar ahí el mysqldump/bin, por ejemplo, en la ruta por defecto: C:\xampp\mysql\bin\ Ahí debería haber un fichero mysql.exe. Abre una línea de comandos (un terminal). Ve a la ruta C:\xampp\mysql\bin\  y ejecuta ese mysql.exe de esta manera: mysql.exe –h localhost –u root -p Te preguntará la contraseña, déjalo en blanco. Y ya lo tienes, acceso root a tu mysql por línea de comando en XAMPP.

Diseño Web, Trucos

Insertar mapas de Google de manera responsive

Cuando coges el código de Google Maps, para insertar un mapa en tu web, ese código no es responsive. Tiene un tamaño fijo. Normalmente unos 450px de alto por 600px de ancho. Hoy os enseñamos un truco para insertarlos de manera responsive. Hay que poner este código (o similar): <style> .google-maps { position: relative; padding-bottom: 75%; height: 0; overflow: hidden; } .google-maps iframe { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; } </style> Con esto podemos coger el código de Google Maps que es algo como: <div class=”google-maps”> <iframe src=”……código de Google va aquí”></iframe> </div> Como veis lo que estamos haciendo es cambiar el css de la clase que nos da Google. Fuente.

Diseño Web, Información Tecnica, Sistemas

Gestionar Mysql por línea de comandos. Comandos básicos

Si, como nosotros a veces, tenéis que gestionar bases de datos Mysql por línea de comandos (porque, por seguirdad, no admita gestión web por phpMyadmin), seguramente os olvidaréis de los comandos. Nosotros no estamos todo el día trabajando con Mysql, y usamos muchos tipos de lenguaje, así que solemos olvidarnos de los detalles. Os dejamos aquí los comandos que más necesitaréis. Recordad que esto es una guía MUY básica. Acceder a mysql. Lo ideal es acceder un un usuario que tenga permisos totales para las bases de datos o permisos tipo root. Aunque en muchos sistemas el usuario root no puede entrar en mysql. Todo depende de cómo hayas configurado el sistema. En Debian al instalar creo que lo llama debian-sys-maint. No es buena idea poner tu contraseña de mysql en línea de comandos, así que lo mejor para acceder es:mysql -u nombreusuario -p Mostrara las bases de datos: show databases; Acceder a una base de datos: use nombrebasededatos; Mostrar tablas de una base de datos: show tables; Crear una base de datos:  CREATE DATABASE nombrebasededatos; Borrar una base de datos: DROP DATABASE nombrebasededatos; Ver una lista de usuarios:  select user,host from mysql.user; Ver los permisos de un usuarios:  show grants for ‘nombredeusuario‘@’%’;% es localhost, si eso otra máquina es: show grants for ‘nombredeusuario‘@’ipdelservidor‘; Crear un usuario: CREATE USER ‘nombre_usuario’@’localhost’ IDENTIFIED BY ‘tu_contrasena’; Dar permisos a un usuario en una base de datos. En general, para todos los permisos es: GRANT ALL PRIVILEGES ON nombredelabasededatos.* TO ‘usuario’@’servidor’; Todo esto puede ampliarse con los permisos de Mysql y las opciones. Por ejemplo para una tabla sólo: GRANT ALL PRIVILEGES ON nombredelabasededatos.tabla TO ‘usuario’@’servidor’; Por ejemplo si quieres crear otro super-usuario: GRANT ALL PRIVILEGES ON *.* TO ‘usuario’@’servidor’; Quitar permisos para un usuario: REVOKE permission ON nombrebasededatos.tabla FROM ‘user’@’localhost’; Hacer copia de seguridad de la base de datos. Para esto es mejor hacerlo desde FUERA de Mysql, desde el shell del servidor, la línea de comandos de Linux, usando Mysqldump.$ mysqldump -u nombreusuario -p nombrebasededatos > nombrefichero.sql’; Para exportar una tabla:mysqldump -p –user=username database_name tableName > tableName.sql Esto lo copiará a la ruta donde estés en Linux. Más avanzado:$mysqldump –user=nombreusuario -p –all-databases > nombrefichero$(date +%Y-%m-%d-%H.%M.%S).sql; Esto hace una copia de todas las bases de datos a un fichero donde pone fecha al final del nombre. Recordad que todo esto se puede poner en un fichero para hacer copias cada cierto tiempo. Importar fichero a una base de datos. Se puede hacer de dos maneras. 1) Mysqldump. mysql -p -u username database_name < filename.sql O para una tabla: mysql -u username -p -D database_name < tableName.sql 2)Desde dentro de mysql (la que uso yo) Entrar en la base de datos con: use basededatos; Importar el fichero con source: source rutaalfichero/nombredelfichero.sql; Iremos poniendo más según vayamos echando en falta algún comando.

Diseño Web, Gestores de contenidos, Servidores, Sistemas, Trucos

Modificar parámetros de php.ini en GoDaddy como max_input_vars, max_execution_time

GoDaddy es un hosting que nos encontramos en muchos clientes, porque es muy económico. Eso si, como pasa en muchos servidores compartidos, en cuanto les pides “algo más” , normalmente con gestores de contenidos como WordPress y Prestashop, empiezan a poner problemas. Una de las primeras cosas que necesitas para añadir funcionalidades extra es modificar los parámetros de php.ini como max_execution_time, max_input_vars , memory_limit etc. En cada hosting hay que cambiar esto de manera diferente, según su configuración, y no siempre se puede. Hoy os explicamos cómo hacerlo en GoDaddy. Manera sencilla. Muchos de los parámetros como max_execution_time o memory_limit se pueden cambiar desde el menú, con una opción que está algo escondida. Para ello tienes que entrar en tu CPanel, bajar hasta la parte donde pone Select Php Version y pinchar en esa opción. Puede que ahí tengas que cambiar la versión a 5.6 o superior. Arriba a la derecha tiene que poner Switch to Php Options, si no, cambia la versión. En los Php Options verás que te deja cambiar muchos parámetros. Si el tuyo está ahí, cámbialo y dale a Save. Recuerda que siempre puedes comprobar si está cambiado en tu servidor subiendo por FTP un phpinfo.php y llamándolo desde el navegador. Método algo más complicado. No todos los parámetros están en ese menú anterior. Por ejemplo max_input_vars, necesario para cambiar las traducciones de Prestashop, no está. Entonces tienes que seguir el siguiente método. Tienes que crear un fichero .user.ini en la raíz de tu hosting. Pero yo lo intenté subir por ftp y no sirvió por la codificación. Lo mejor es hacerlo desde el File Manager de tu panel de GoDaddy. Abre el File Manager, ve a la raíz de tu sitio, dale a crear un fichero (arriba a la izquierda) con codificación utf8, y llámalo .user.ini. Ese fichero tiene que empezar por {PHP} (a algunos les funciona sin eso) y luego los comandos que quieras. Por ejemplo: {PHP} max_input_vars = 10000 Salvalo y prueba. Cuidado que a veces la caché del navegador juega malas pasadas. Vuelve a comprobarlo con un phpinfo.php. Esperamos os ayude.

Scroll al inicio