Google y su sentido del humor

Era una nota que no podía dejar pasar! Vía baluart me entero de éste "interesante" y gracioso error del traductor de Google.

Google Translate

Captcha con PHP fácil de implementar

En Nodstrum encuentro una utilidad en PHP para crear Captcha facilmente (uno de los pocos en toda la red que funciona. Garantizado!). Les explicaré como hacerlo.

Easy Captcha

Paso 1: obligatorio! verifica que tengas habilitado la librería GD de PHP.

Paso 2: Nos descargamos la clase captcha.class.php del blog del autor, y vamos a configurar este archivo. Busca la variables $imageDirectory e $imageURL. La primera variable contiene el nombre de la carpeta donde se almacenarán las imágenes generadas dinámicamente. Esta carpeta debe tener permiso de escritura. La segunda variable es la dirección URL completa de la carpeta anterior. Ejemplo:

var $imageDirectory = 'image_directory';
var $imageURL = 'http://localhost/mi_sistema_captcha/image_directory';

Paso 3: Creamos un archivo PHP, le damos cualquier nombre, para este ejemplo index.php.  Lo que vamos hacer es:

  • Llamar a la clase captcha.class.php
  • Crear una instancia de la clase Captcha
  • Usamos el método create() de la instancia y lo pasamos a una variable, en este caso $captchaImage
  • Note: que verificamos si la variable POST[$captcha->captchaInputName] esta declarada. Esto lo hacemos porque usamos el mismo archivo index.php para el proceso de verificación del captcha.
  • Usamos el método verify() para verificar si el captcha el correcto ó no. Se almacenerá el resultado en la variable $message.
  • Ya en  la parte del body, si $message esta declarado, se muestra; caso contrario mostrará el formulario. Note que imprimos la variable $captchaImage. Ésta contiene una imagen con un código y campo de texto, osea en captcha en sí.

Código de index.php

<?php
require_once('captcha.class.php');
$captcha = new Captcha;
$captchaImage = $captcha->create();

//verificamos si variables POST estan declaradas
if(isset($_POST[$captcha->captchaInputName])){

//verificamos el captcha
$verified = $captcha->verify($_POST[$captcha->captchaInputName]);
if($verified){
$message='Correcto';
}else{
$message='Incorrecto';
}
}
?>

<html>
<head>
<title>Captcha</title>
</head>

<body>
<?php
if(isset($message)){
echo $message;
}else{
?>

<form name="formulario" method="post" action="index.php">
<?php echo $captchaImage; ?>
<input type="submit" value="Verificar" />
<?php } ?>
</form>
</body>
</html>

[ ver un demostración del captcha

Realmente una práctico y sencillo.

Vía | Nodstrum 

LiveValidation, validación de campos con Ajax

LiveValidationLiveValidation es una utilidad en Javascript que permite validar los campos o entradas de textos de los formularios HTML (textarea, input text, input check) en tiempo real. Tiene interesantes características:

  • Verifica que un campo no esté vacio.
  • Verifica que el texto ingresado corresponda a uno determinado. Si usted exige que el usuario escriba "hola" entonces el validador actuará en función de ello, independientemente de si es con mayúsculas o minúsculas.
  • Verifica que cierta palabra aparezca en una expresion ingresada.
  • Verifica que el texto ingresado solo contenga números, números enteros ó un número específico.
  • Verifica que el texto ingresado solo contenga números, pero que éste sea mayor ó menor que cierto valor, ó también verifica que el número corresponda a un valor entre un rango específico.
  • Verifica la longitud de caracteres del texto ingresado, puede ser mayor ó menor a cierto valor específico, ó corresponda a un rango específico.
  • Verifica que ciertas expresiones ó texto este incluido ó excluido del texto ingresado.
  • Verifica que un checkbox este clickeado ó no.
  • Verifica que contraseña y confirmanción coincidan (por ejemplo para un formulario de registro.)
  • Verifica la estructura de un e-mail (tunickname@servidor.xxx)
  • Finalmente todo lo descrito anteriormente lo puede combinar para obtener un validador avanzado.
  • Entre otras características muy interesantes.

LiveValidation Example

Cómo usarlo

En la parte del head, agrega el archivo javascript, esto dependerá del tipo de archivo que descarges... en este caso usamos en standalone.

<script type="text/javascript" src="livevalidation_standalone.compressed.js"></script>

Luego dentro del body en los campos ó entradas de texto que desees validar, llama a los métodos necesarios. En este ejemplo estamos validando que el campo cuyo id "f1" no quede en blanco.

<input id="f1" type="text">
<script type="text/javascript">
var f1 = new LiveValidation('f1');
f1.add(Validate.Presence);
</script>

En la sección ejemplos del LiveValidation puede encontrar otras formas de uso.

Enlaces | LiveValidation, Documentación

lazierLoad - carga las imágenes necesarias de una página web (con Prototype)

lazierLoad, es una utilidad hecha en Javascript que funciona con Prototype, que tiene como función cargar las imágenes de una página web mientras nos desplazamos por ella. Supongamos que tenemos una serie de 15 imágenes en una página web. Con lazierLoad, solo se cargarán las n primeras imágenes que alcance a ver el usuario en su monitor. Mientras el usuario se desplaza por la página las imágenes se irán cargando. Nada mal la idea!  Dejemos que una demostración de esta utilidad nos diga todo.

lazierLoad Demo 

Cómo usarlo

Necesitas una página con varias imágenes y colocar esto en la parte de head. 

<script type="text/javascript" src="js/lib/prototype.js"></script>
<script type="text/javascript" src="js/bramus/lazierLoad.js"></script>

Nota: lazierLoad necesita de Prototype 1.6.0 r0 ó superior para un correcto funcionamiento. 

Enlaces | lazierLoad

Gestión de sitios web con External Test

External Test

External Test no es un servicio nuevo, ya tiene varios años en la web brindando buenas funcionalidades en lo que se refiere a gestión de sitios web. Uno de sus principales funciones es la monitorización de sitios web. Si tienes, o estás a cargo, de varios sitios en la web esta herramienta te puede ayudar. También te brinda alertas de posibles errores al acceso. Esa información te lo envian a tu correo, explicando cual es el error. Además, brindan informes de tiempo de acceso desde diferentes puntos.  Y mucho más.

Una herramienta en español que ningún administrador web puede dejar de usar. Recomendado.

Enlace | External Test

Función "hace n días n horas n minutos" en PHP

Seguramente han visto en algunos sitios o blogs, en los post o comentarios la fecha en formato: escrito por tal_usuario hace 10 días 9 horas 7 minutos. Yo siempre me preguntaba como se hace, así que investigando (googleando) no di, así que se me ocurrió hacerlo por mi cuenta ¿Cómo? lo explicare.

Lo que necesitas es trabaja con una tabla de datos (en MySQL por ejemplo) y tener un campo de tipo datetime. Cuando realices una consulta de esta tabla hazlo de la siguiente forma:

SELECT *, UNIX_TIMESTAMP(campo_fecha) AS fecha_unix FROM mitabla

¿Qué hemos hecho? La consulta SELECT devolverá los datos con un campo adicional llamado fecha_unix, por eso usamos función la UNIX_TIMESTAMP que devuelve la fecha unix (segundos desde 1970-01-01 00:00:00 GMT). 

Ahora veamos la función PHP, la llamaremos hace() que tendrá como parámetro de entrada la fecha en formato Unix:

 function hace($fecha_unix){
//obtener la hora en formato unix
$ahora=time();

//obtener la diferencia de segundos
$segundos=$ahora-$fecha_unix;

//dias es la division de n segs entre 86400 segundos que representa un dia;
$dias=floor($segundos/86400);

//mod_hora es el sobrante, en horas, de la division de días;
$mod_hora=$segundos%86400;

//hora es la division entre el sobrante de horas y 3600 segundos que representa una hora;
$horas=floor($mod_hora/3600);

//mod_minuto es el sobrante, en minutos, de la division de horas;
$mod_minuto=$mod_hora%3600;

//minuto es la division entre el sobrante y 60 segundos que representa un minuto;
$minutos=floor($mod_minuto/60);

if($horas<=0){
echo $minutos.' minutos';
}elseif($dias<=0){
echo $horas.' horas '.$minutos.' minutos';
}else{
echo $dias.' dias '.$horas.' horas '.$minutos.' minutos';
}
}

Seguramente hay otras formas de hacer esto, pero esta es mi aportación. Espero que les sirva.

PollKit, encuestas web 2.0

Después de muchos días sin agregar artículos al Blog (debido a un proyecto en el cual me enfrasque y que hoy doy a conocer abiertamente) nuevamente vuelvo a la carga y esta vez espero que sea cierto. Bueno y como mencione antes, explicaré el proyecto web que he desarrollado y espero que les guste a algunos de los lectores de este blog y a otros más.

PollKit, las mejores encuestas en españolSe trata de un portal de encuestas a la web 2.0 al cual nombre PollKit (poll-> encuesta, kit->equipo, aunque puede variar), entre las caracteristicas están:

  •  Crear encuestas, incluye: pregunta, descripción, alternativas; pudiendo eligir categorías con las cuales se relaciona.
  • Da puntos a la mejor encuesta, al momento de crear tu encuesta puedes elegir entre si será Privada o Pública. Las encuestas Públicas, preguntas de interés común, aparecen en un directorio Recientes donde podrásn recibir puntos de otros usuarios para ser destacadas. Si reunén puntos suficientes pasan al index. Las encuestas Privadas, preguntas de interes personal, no puede recibir puntaje y no aparecen el directorio Recientes.
  • Comentar sobre una encuesta,  puedes opinar sobre que te parece la encuesta en sí, su estructura pregunta-alternativas ó preguntar/responder a otros usuarios.
  • Obtener el código HTML, puedes obtener el código para luego copiar/pegar la encuesta en tu blog, web, portal, etc.
  • Los usuarios también reciben puntos cuando sus encuestas son destacadas y también mediante sus comentarios.
  • y muchas otras características más.
PollKit tiene como objetivo almacenar las mejores encuestas (relación excelente "pregunta-alternativas") de interés común y de diversos temas.

El proyecto está en fase beta y sigo trabajando en su buen funcionamiento. Cualquier error que vean pueden comentarlo o enviarme un mail. Les invito a participar!

Google

Categorias

Archivos