Julio 2nd, 2008

CodeIgniter, Framework PHP

Framework php

CodeIgniter es un gran framework para PHP creado para ofrecer un alto rendimiento, además este framework es bastante ligero y muy sencillo de configurar.

A la larga lista de frameworks para PHP, y que ha conseguido que php vuelva a ser el lenguage de programación web por excelencia (recordemos que lo utilizan todas las grandes compañías online) dejando en la cuneta a otros grandes lenguages como ruby y su framework rails; este framework podría pasar por una alternativa mas, pero si la aplicación que desarrollamos requiere de una plataforma que no decante mucho nuestra estructura y que necesite un alto CodeIgniter debería ser tu elección.

Cumple perfectamente el fin de cualquier framework, una estructura bien definida que da soporte a nuestro proyecto web y que ayude a que este nuevo proyecto sea organizado y desarrollado.

La documentación de CodeIgniter es muy buena y esto nos facilita en gran medida aprender a utilzarlo, sólo echando un simple vistazo a los videotutoriales de su página sabremos como podemos empezar a utilizarlo.

Link | Codelgniter

Mayo 29th, 2008

Ajax en php

Hoy en día resulta algo feo ver una página que no utiliza ajax, además que a los usuarios no nos gusta mucho ver como nuestras páginas vuelven a cargar a la hora de enviar un formulario, subir una imagen etc, etc.

La manera más sencilla de empezar a utilizar ajax, es con la clase xajax, que nos trae un cumulo de funciones que simplifican nuestra tarea. Está bastante bien implementada, y no le falta de nada. A continuación explicaré por qué resulta tan sencillo:
<?php include './xajax/xajax_core/xajax.inc.php';$xajax = new xajax();$rqstAdd =& $xajax->register(XAJAX_FUNCTION, 'doAdd');

$rqstReset =& $xajax->register(XAJAX_FUNCTION, 'doReset');

// set the parameters$rqstAdd->setParameter(0, XAJAX_JS_VALUE, 39);

$rqstAdd->setParameter(1, XAJAX_JS_VALUE, 571);

$xajax->processRequest();

function doAdd($a, $b)
{

$response = new xajaxResponse();

$response->assign('answer', 'innerHTML', $a + $b);

$response->assign('reset', 'style.display', 'block');

return $response;

}

function doReset()

{

$response = new xajaxResponse();

$response->clear('answer', 'innerHTML');

$response->assign('reset', 'style.display', 'none');

return $response;

}

?>
Las funciones doreset y do add son las que proximamente podremos llamar desde cualquier parte de la pagina, sin necesidad de volver a cargarla!
<form action="#" method="post">
<input type="button" onclick="<?php $rqstAdd->printScript(); ?>” id=”btnAdd” value=”Click Me” />
<input type="button" onclick="<?php $rqstReset->printScript(); ?>” id=”btnReset” value=”Reset” />
<p id="answer"></p>
</form>


ahí esta el truco,  llamamos a las funciones en javascritp pero gracias a el objeto XmlHttpRequest, podemos interactuar con los ficheros php.

Link  | xajaxproject

Mayo 2nd, 2008

Plugin ruby on rails

Hobo Imagen

Los frameworks que han salido tanto para ruby como para php, permite simplificar mucho las funciones que antes se programaban a mano, haciéndose ahora de manera automática. Dentro de las comunidades tanto php como ruby on rails, hay multitud de extensiones y scripts que permiten hacernos la vida más sencilla.
Hobo es un plugin para Ruby on Rails que añadirá velocidad turbo a el proceso de construcción de una aplicación web. Su características principales son:

  • Plantillas que permiten definir tags personalizados.
  • Tags predefinidos y listos para usar AJAX.
  • Soporte de AJAX.
  • Soporte de temas.

A todo el que quiera realizar aplicaciones web en ruby on rails le recomiendo echarle un ojo.

Link | HOBO

Marzo 9th, 2008

Login de usuarios en php

Creamos la tabla usuarios

CREATE TABLE `usuarios` (
`id` int(4) NOT NULL auto_increment,
`username` varchar(60) NOT NULL default '',
`password` varchar(60) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;

//insertamos un valor como prueba
INSERT INTO `members` VALUES (1, 'juanra', '123456');

Ahora el fichero de checklogin

<?php
$host="localhost"; // El nombre del host, usualmente localhost
$username=""; // Nombre de usuario mysql
$password=""; // contraseña mysql
$db_name="test"; // base de datos que usaremso
$tbl_name="usuarios"; // nombre de la tabla


//Conectamos con el servidor y seleccionamos la base de datos
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

//Cogemos los datos que nos llegan desde el formulario ( lo tendremos que crear)
$minombre=$_POST['minombre'];
$contraseña=$_POST['contraseña'];

// Unas pequeñas medidas de seguridad para proteger las bases de datos de posibles inyecciones
$minombre = stripslashes($minombre);
$contraseña = stripslashes($contraseña);
$minombre = mysql_real_escape_string($minombre);
$contraseña = mysql_real_escape_string($contraseña);


$sql="SELECT * FROM $tbl_name WHERE username='$minombre' and password='$contraseña'";
$result=mysql_query($sql);

// Contamos el numero de filas
$count=mysql_num_rows($result);
//Si el resultado marcado es $minombre y $contraseña,debería haber solo una fila
if($count==1){

//Registramos usuario y redireccionamos a exito.php
session_register("minombre");
session_register("contraseña");
header("location:exito.php");
}
else {
echo "Nombre de usuario equivocado o contraseña";
}
?>

El exito.php…

<?//si llegamos aquí, todo fue bien
session_start();
if(!session_is_registered(myusername)){
header("location:principal.php");
}
?>

Por último el formulario

//a gusto del consumidor :)

Marzo 6th, 2008

Crear un captcha

Es habitual que se nos cuele mucho spam por formularios, y es que los spamers, suelen crear aplicaciones para enviar miles y miles de correos por formularios vulnerables, que envían copia del e-mail al autor, por ejemplo. Voy a iniciar un pequeño tutorial para crear un captcha, para “obligar a los usuarios a demostrar que son humanos”.

Primera Parte
<?php
session_start();

//Creamos una cadena aleatoria de caracteres
$md5 = md5(microtime() * mktime());

//Reducimos a 5 los caracteres
$string = substr($md5,0,5);
?>

Crear una imagen de fondo

<?php

//creamos un fondo de imagen y lo subimos, luego con la funcion imagecreatefrompng, la pasamos al captcha
$captcha = imagecreatefrompng("./imagencaptcha.png");

//podemos configurar los colores para las lineas
$black = imagecolorallocate($captcha, 0, 0, 0);
$line = imagecolorallocate($captcha,233,239,239);


//y para evitar las arañas le añadimos las lineas
imageline($captcha,0,0,39,29,$line);
imageline($captcha,40,0,64,29,$line);
?>

Insertamos el texto en la imagen

<?php
//insertamos la cadena creada aleatoriamente en la imagen
imagestring($captcha, 5, 20, 10, $string, $black);

//como no, encriptamos y almacenamos el valor de la cadena en una variabe sesion
$_SESSION['key'] = md5($string);


//devolvemos la imagen para crearla
header("Content-type: image/png");
imagepng($captcha);
?>

Comprobamos el valor que ingresa el usuario

<?php
session_start();

if(md5($_POST['code']) != $_SESSION['key']){
//lo enviamos a la página de error
echo “header(’Location: error.php’);”;
}else{
//lo enviamos a donde queríamos ha puesto bien el captcha
echo “header(’Location: buena.php’);”;
}


?>

La parte de la creación del formulario en este caso, es la más básica.

Febrero 25th, 2008

Chat en php

Con estos pequeños scripts en php, podrás montar un chat en tu web en poco tiempo. Solo tienes que insertarlo en tu web e ir indicando tu base de datos, dominio y contraseñas. Puedes borrar los enlaces, es completamente libre, pero siempre es de agradecer que no los eliminen y contribuyan a mejorar el pagerank de la web.

Descargar | chat

Register your domain name and build your site at UNI.CC