Servicios de desarrollo

10 errores MySQL de programadores de PHP

Linda recopilacion de errores cometidos por desarrolladores de PHP al trabajar con MySQL. Yo no soy un programador experto y por lo tanto me han servido, espero que a ustedes tambien

1. Usar MyISAM en vez de InnoDB
MySQL tiene una variedad de motores o database engines; pero, es probable que nos hayamos encontrado casi siempre con MyISAM y/o InnoDB.

MyISAM es el motor por defecto; sin embargo, a menos que no estemos creando una base de datos sencilla o de pruebas, usar MyISAM como nuestro motor es una opción equivocada. MyISAM no soporta restricciones de claves foráneas o transacciones, esenciales para mantener la integridad referencial de los datos. Además, del hecho de que toda la tabla se bloquea cuando uno inserta o actualiza un registro, lo que provoca un efecto adverso en el rendimiento de la aplicación, cuando esta crece.

La solución: Usar InnoDB…

2. Usar las funciones MySQL de PHP
Desde sus inicios, PHP nos provee de librerías de funciones especiales para el manejo de MySQL. Muchas aplicaciones dependen de las funciones mysql_connect, mysql_query, mysql_fetch_assoc, etc. pero el propio manual de PHP dice:

Si estas usando la versión de MySQL 4.1.3 o superior se recomienda el uso de la extensión mysqli.

mysqli o la extensión mejorada de MySQL, tiene notorias ventajas:

  • Una (opcional) interfaz orientada a objetos
  • Declaraciones preparadas (que nos ayudan a prevenir inyecciones SQL y a incrementar el rendimiento)
  • Múltiples declaraciones y soporte de transacciones

Alternativamente, debes de considerar usar PDO si deseamos mantener un soporte a múltiples bases de datos.

(más…)

Continuar leyendo

Vim como IDE para PHP

Estuve 2 dias googleando y buscando opiniones sobre si aprender a usar vim o emacs. Se que son 2 editores de texto muy pero muy potentes. Al final el unico…

Continuar leyendo

Colocar un mensaje flotante en tu blog

Yo mismo use esta tira flotante en mi blog durante un mes. Tiene muchas utilidades, por ejemplo en mi blog de [un blog que ya no existe :P] lo uso para incentivar a la gente para que se suscriba via RSS. El tutorial de como hacerlo lo encontre en esta web pero esta en ingles asi que lo coloco traducido aqui.

Paso 1– Se bajan la ultima version de jquery de aqui y la renombran a jquery.js
Paso 2– Colocan el archivo jquery.js en la carpeta del theme de su blog
Paso 3– Abren el archivo header.php y despues de la etiqueta colocan el siguiente codigo:

<script src="<?php bloginfo('template_url'); ?>/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
	jQuery(document).ready(function($){
	$(window).scroll(function(){
  		$('#message_box').animate({top:$(window).scrollTop()+"px" },{queue: false, duration: 350});
	});

	$('#close_message').click(function(){
		$('#message_box').animate({ top:"+=15px",opacity:0 }, "slow");
	});
		jQuery(function(){
			jQuery('ul.sf-menu').superfish();
		});
	});
</script>

(más…)

Continuar leyendo

Sistema de login con KumbiaPHP spirit

Hace mucho publique un tuto de un sistema de login para kumbiaphp y queria mostrar como hacerlo ahora con la beta2 de kumbiaphp.

Vamos a hacer uso de la libreria Auth que sirve justamente para facilitar toda esta tarea de autenticacion de usuarios.

Vamos a suponer que tenemos una tabla como la siguiente:

Tabla Usuarios

Vamos a tener un controlador llamado principal_controller.php con 2 acciones: index y login. Y tendremos 2 vistas correspondientes a esas acciones. Ya saben que index siempre va, aunque en este ejemplo no la vamos a usar para nada.

Lo primero para que los usuarios se logueen sera un formulario de logueo, entonces creamos el archivo login.phtml en la carpeta views/principal que contendra el siguiente codigo:

<?php echo View::content(); ?>

<?php echo Form::open("principal/login"); ?>
<?php echo Form::label("Usuario","login"); ?>
<?php echo Form::text("login"); ?>
<?php echo Form::label("Password","password"); ?>
<?php echo Form::pass("password"); ?>
<?php echo Form::submit("Ingresar"); ?>
<?php echo Form::close(); ?>

(más…)

Continuar leyendo

Como usar FBML en tus aplicaciones para facebook

Vimos hace poco como hacer nuestra primera aplicacion para facebook, un “Hola [tu nombre]”. Era lo basico y vamos a seguir avanzando de a poco, a medida que vaya aprendiendo yo

Hoy quiero mostrarles como usar FBML. FBML es un lenguaje de etiquetas muy similar al HTML. El FBML es lo que nos va a permitir tener acceso a diferentes elementos del perfil y acciones de un usuario. Como es eso? Pues facebook por cuestiones de privacidad no permite que uno pueda acceder a datos de los usuarios, uno solo puede acceder a los ID de usuario. Y mediante ese ID mas FBML uno puede acceder a los otros datos del perfil (nombre, foto, amigos, etc etc) y solo desde una aplicacion que se ejecute en el mismo facebook. Es todo una cuestion de seguridad y muy buena segun yo.

Tenemos que recordar que nuestras aplicaciones estan alojadas en nuestros propios servidores y que facebook no nos da ningun alojamiento ni nada parecido, por lo tanto las bases de datos tambien las alojamos nosotros. Entonces a la hora de guardar algo deben guardar el ID de un usuario pues no tendran acceso al nombre, foto ni nada mas del usuario.

Ej: vamos a suponer que tenemos el ID de un usuario X que es 111222777 entonces…si en nuestra aplicacion quisieramos mostrar el nombre de esa persona hariamos asi:

<fb:name uid="111222777" />

O si por ejemplo quisieramos ver las foto de perfil de ese usuario hariamos asi:

<fb:profile-pic uid='111222777' />

Como veran no es dificil. No son muchas etiquetas. Y reciben parametros con las que podremos aprovecharlas mejor.

Veamos un ejemplo mas completo inspirado en un post de ikhuerta.

(más…)

Continuar leyendo