Noviembre 11th, 2014

Redireccionar una url

Cuando vamos a cambiar el contenido de nuestro dominio a otra dirección, es importante indicar este cambio. De esta forma, tanto los motores de búsqueda como los propios usuarios podrán seguir encontrando la información que desean.
Hay varios métodos para hacer una redirección:
Método 1, HTML:

<meta http-equiv="acción" content="segundos";
                       url="http://www.neleste.com/nuevaruta" />

Método 2. PHP (para este método, es imprescindible no haber escrito html antes, esto cambiaría las cabeceras del documento):

<?php header ("Location: http://www.neleste.com/nuevaruta"); ?>

Método 3. JavaScript:

<script type="text/javascript">
window.locationf="http://www.neleste.com/nuevaruta";
</script>

Método 4. editar .htaccess (gracias por recordarlo Emilio):
Este método también se puede hacer en los archivos de configuración de apache si tenemos acceso

Redirect /viejaruta/ http://neleste.com/nuevaruta/

Diciembre 10th, 2008

Hacer miniaturas de Imágenes

Miniaturas

Quien no ha tenido alguna vez que crear una miniatura (Thumbnails), de sus imágenes automáticamente. Una opción puede ser añadirle el tamaño por css, o en la misma etiqueta <img, pero las imagenes se verían mal, puesto que están redimensionadas a tamaño completo.

Una opción muy buena, sin usar php y sin hacerlo manualmente, sería usar JQuery u JThumbs. Mediante el siguiente script tendremos las deseadas miniaturas:

<script type="text/javascript">
    $(document).ready(function() {
        // aquí realmente hacemos la miniatura
        $("a.thumb, img.thumb").jThumb();
        // Posicionar imagen (opcional)
        $("a.thumb img, img.thumb").jThumbImg();
    });
</script>

Lo unico que necesitamos es en enlace previo a nuestro framework favorito jquery:

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

Ventajas:

  • No sobrecargamos el servidor con otro script php.
  • Es un proceso automático.

Desventajas

  • La imagen carga entera (aunque visualmente satisfactoria).

Descarga | JQueryJThumb

Octubre 17th, 2008

Cajas de Igoogle

Llevo bastante tiempo intentando lograr hacer el efecto de arrastrar y soltar de las cajas de igoogle, hay poquísima información en la red respecto a cómo se consigue crear este efecto, a pesar de que es algo muy interesante a nivel de diseño.

Cajas Igoogle

¿Como he conseguido lograr el efecto? La base de todo es la clase prototype que podeis descargar desde ese link. Prototype es un framework hecho en JavaScript que se sirve para ayudar a un desarrollo sencillo y dinámico de aplicaciones web (como cualquier framework) con el uso de técnicas Ajax.
Luego mediante CSS, y definiendo las capas en el init() de javascript (se encuentr todo en el fichero index.html) podremos adaptarlo como queramos.

Enlaces |DemoPrototype

Mayo 2nd, 2008

Formularios en ruby on rails

Supongamos que estamos haciendo un formulario de recetas, y tenemos definida dentro de nuestra base de datos los campos Titulo, Instrucciones, Descripcion, y Fecha.
Primero crear nuestra aplicacion:

rails recetario

Pues esta es la única instrucción que nos hace falta para crear nuestro formulario es

ruby script\generate controller Receta

controller

Ya con esto, una vez naveguemos a nuestra ruta http://localhost:3000/receta/new, ya tenemos los tres apartados de un formulario:

El de rellenado: ( con todos los datos de nuestra base )

relleno de formulario

¡Esto ya es una pasada, pero aun así hay más! vamos a rellenar nuestro formulario:

2

¡Y encima añade los datos a la base de datos y crea un listado de lo realizado!:

listado

Se me olvidaba comentar que nuestra tabla debe llamarse Recetas, Rails otorga dinámicamente a la clase Receta de funciones para seleccionar las filas de la tabla recetas otorga un atributo para cada columna de la tabla.un modelo singular de nombre de clase (Receta) se mapea a una tabla de la base de datos en plural (recetas). Rails es bastante “astuto” y conoce las reglas de pluralización, de forma que company sea mapea a companies y person se mapea  a people. Para lo demás la s final.

Volviendo a lo anterior, todo esto simplemente con el atributo scaffold: receta. Nos ha permitido empezar a trabajar con nuestro modelo datos: casi sin trabajo de nuestro lado ha creado las acciones List, Show, Edit, Delete. Y ha creado tambien las vistas para cada una de las acciones.  Si quisieramos editar alguna de estas acciones también lo podemos hacer:

definir list

dentro tendríamos que crear el script correspondiente a lo que queramos que se muestre con una nueva view, hay que tener en cuenta que a esta ya le podemos añadir los estilos que queramos.

En definitiva es muy fácil crear formularios con ayuda del framework, rails hace que programar sea cosa de niños, aunque si tengo que elegir lenguage me quedo con php.

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
// El nombre del host, usualmente localhost
$host       = "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