<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Neleste 2.0 &#187; Scripts</title>
	<atom:link href="http://www.neleste.com/category/scripts/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.neleste.com</link>
	<description>Información sobre Desarrollo Web</description>
	<lastBuildDate>Thu, 05 Jan 2012 11:00:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Hacer miniaturas de Imágenes</title>
		<link>http://www.neleste.com/hacer-miniaturas-de-imagenes/</link>
		<comments>http://www.neleste.com/hacer-miniaturas-de-imagenes/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 15:07:23 +0000</pubDate>
		<dc:creator>juanra</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.neleste.com/?p=160</guid>
		<description><![CDATA[
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 &#60;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 [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="alignnone size-full wp-image-161" title="Miniaturas" src="http://www.neleste.com/wp-content/uploads/2008/12/pic.jpg" alt="Miniaturas" width="353" height="240" /></p>
<p>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 <em>&lt;img</em>, pero las imagenes se verían mal, puesto que están redimensionadas a tamaño completo.</p>
<p>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:</p>
<p><code>&lt;script type="text/javascript"&gt;<br />
$(document).ready(function() {</code><br />
<code>// aquí realmente hacemos la miniatura</code><br />
<code>$("a.thumb, img.thumb").jThumb();<br />
</code><code>// Posicionar imagen (opcional)</code><br />
<code> </code> <code>$("a.thumb img, img.thumb").jThumbImg();<br />
});<br />
&lt;/script&gt;</code></p>
<p>Lo unico que necesitamos es en enlace previo a nuestro framework favorito jquery:</p>
<p><code>&lt;script type="text/javascript" src="jquery.js"&gt;&lt;/script&gt;</code></p>
<p>Ventajas:</p>
<ul>
<li>No sobrecargamos el servidor con otro script php.</li>
<li>Es un proceso automático.</li>
</ul>
<p>Desventajas</p>
<ul>
<li>La imagen carga entera (aunque visualmente satisfactoria).</li>
</ul>
<p>Descarga | <a rel="nofollow" href="http://jquery.com">JQuery</a> - <a rel="nofollow" href="http://joanpiedra.com/jquery/thumbs/">JThumb</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neleste.com/hacer-miniaturas-de-imagenes/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Cajas de Igoogle</title>
		<link>http://www.neleste.com/cajas-de-igoogle/</link>
		<comments>http://www.neleste.com/cajas-de-igoogle/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 08:53:25 +0000</pubDate>
		<dc:creator>juanra</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Tutos]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[cajas]]></category>
		<category><![CDATA[igoogle]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://www.neleste.com/?p=155</guid>
		<description><![CDATA[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.

¿Como he conseguido lograr el efecto? La base de todo es la [...]]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-156 aligncenter" title="cajaigoogle" src="http://www.neleste.com/wp-content/uploads/2008/10/cajaigoogle.gif" alt="Cajas Igoogle" width="371" height="213" /></p>
<p>¿Como he conseguido lograr el efecto? La base de todo es la clase <a rel="nofollow" href="http://www.prototypejs.org/download"> prototype</a> 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.<br />
Luego mediante CSS, y definiendo las capas en el init() de javascript (se encuentr todo en el fichero index.html) podremos adaptarlo como queramos.</p>
<p>Enlaces |<a title="Cajas de Igoogle" href="http://www.neleste.com/demos/igoogle/">Demo</a> &#8211; <a rel="nofollow" href="http://www.prototypejs.org/download">Prototype</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neleste.com/cajas-de-igoogle/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Formularios en ruby on rails</title>
		<link>http://www.neleste.com/formularios-en-ruby-on-rails/</link>
		<comments>http://www.neleste.com/formularios-en-ruby-on-rails/#comments</comments>
		<pubDate>Fri, 02 May 2008 13:10:33 +0000</pubDate>
		<dc:creator>juanra</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[formulario]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.neleste.com/formularios-en-ruby-on-rails/</guid>
		<description><![CDATA[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

Ya con esto, una vez naveguemos a nuestra ruta http://localhost:3000/receta/new, ya [...]]]></description>
			<content:encoded><![CDATA[<p>Supongamos que estamos haciendo un formulario de recetas, y tenemos definida dentro de nuestra base de datos los campos Titulo, Instrucciones, Descripcion, y Fecha.<br />
Primero crear nuestra aplicacion:<br />
<code>rails recetario<br />
</code><br />
Pues esta es la única instrucción que nos hace falta para crear nuestro formulario es<br />
<code>ruby script\generate controller Receta</code></p>
<p><img src="http://www.neleste.com/wp-content/uploads/2008/05/recipe-controller2.png" alt="controller" /></p>
<p>Ya con esto, una vez naveguemos a nuestra ruta http://localhost:3000/receta/new, ya tenemos los tres apartados de un formulario:</p>
<p>El de rellenado: ( con todos los datos de nuestra base )</p>
<p><img src="http://www.neleste.com/wp-content/uploads/2008/05/recipe-new11.png" alt="relleno de formulario" /></p>
<p>¡Esto ya es una pasada, pero aun así hay más! vamos a rellenar nuestro formulario:</p>
<p><img src="http://www.neleste.com/wp-content/uploads/2008/05/recipe-new3.png" alt="2" /></p>
<p>¡Y encima añade los datos a la base de datos y crea un listado de lo realizado!:</p>
<p><img src="http://www.neleste.com/wp-content/uploads/2008/05/listado.png" alt="listado" /></p>
<p>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 &#8220;astuto&#8221; 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.</p>
<p>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:</p>
<p><img src="http://www.neleste.com/wp-content/uploads/2008/05/recipe-controller3.png" alt="definir list" /></p>
<p>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.</p>
<p>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 <a href="www.neleste.com/ruby-on-rails-vs-php/">me quedo con php</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neleste.com/formularios-en-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Login de usuarios en php</title>
		<link>http://www.neleste.com/login-de-usuarios-en-php/</link>
		<comments>http://www.neleste.com/login-de-usuarios-en-php/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 13:09:17 +0000</pubDate>
		<dc:creator>juanra</dc:creator>
				<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Tutos]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[login]]></category>

		<guid isPermaLink="false">http://www.neleste.com/103/</guid>
		<description><![CDATA[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 

&#60;?php
$host="localhost"; // El nombre del host, usualmente localhost
$username=""; // Nombre de usuario mysql
$password=""; // contraseña [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Creamos la tabla usuarios</strong><br />
<code><br />
CREATE TABLE `usuarios` (<br />
`id` int(4) NOT NULL auto_increment,<br />
`username` varchar(60) NOT NULL default '',<br />
`password` varchar(60) NOT NULL default '',<br />
PRIMARY KEY (`id`)<br />
) TYPE=MyISAM AUTO_INCREMENT=2 ;</code><br />
<code>//insertamos un valor como prueba<br />
INSERT INTO `members` VALUES (1, 'juanra', '123456');</code></p>
<p><strong>Ahora el fichero de checklogin </strong><br />
<code><br />
&lt;?php<br />
$host="localhost"; // El nombre del host, usualmente localhost<br />
$username=""; // Nombre de usuario mysql<br />
$password=""; // contraseña mysql<br />
$db_name="test"; // base de datos que usaremso<br />
$tbl_name="usuarios"; // nombre de la tabla</code><br />
<code><br />
//Conectamos con el servidor y seleccionamos la base de datos<br />
mysql_connect("$host", "$username", "$password")or die("cannot connect");<br />
mysql_select_db("$db_name")or die("cannot select DB");</code><br />
<code>//Cogemos los datos que nos llegan desde el formulario ( lo tendremos que crear)<br />
$minombre=$_POST['minombre'];<br />
$contraseña=$_POST['contraseña'];</code><br />
<code>// Unas pequeñas medidas de seguridad para proteger las bases de datos de posibles inyecciones<br />
$minombre = stripslashes($minombre);<br />
$contraseña = stripslashes($contraseña);<br />
$minombre = mysql_real_escape_string($minombre);<br />
$contraseña = mysql_real_escape_string($contraseña);</code><br />
<code><br />
$sql="SELECT * FROM $tbl_name WHERE username='$minombre' and password='$contraseña'";<br />
$result=mysql_query($sql);</code></p>
<p><code>// Contamos el numero de filas<br />
$count=mysql_num_rows($result);<br />
//Si el resultado marcado es $minombre y $contraseña,debería haber solo una fila<br />
if($count==1){</code></p>
<p><code>//Registramos usuario y redireccionamos a exito.php<br />
session_register("minombre");<br />
session_register("contraseña");<br />
header("location:exito.php");<br />
}<br />
else {<br />
echo "Nombre de usuario equivocado o contraseña";<br />
}<br />
?&gt;</code></p>
<p><strong>El exito.php&#8230; </strong></p>
<p><code>&lt;?//si llegamos aquí, todo fue bien<br />
session_start();<br />
if(!session_is_registered(myusername)){<br />
header("location:principal.php");<br />
}<br />
?&gt;</code></p>
<p><strong>Por último el formulario </strong></p>
<p>//a gusto del consumidor <img src='http://www.neleste.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.neleste.com/login-de-usuarios-en-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crear un captcha</title>
		<link>http://www.neleste.com/crear-un-captcha/</link>
		<comments>http://www.neleste.com/crear-un-captcha/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 20:26:54 +0000</pubDate>
		<dc:creator>juanra</dc:creator>
				<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Tutos]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[captcha]]></category>

		<guid isPermaLink="false">http://neleste.uni.cc/crear-un-captcha/</guid>
		<description><![CDATA[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 &#8220;obligar a los usuarios a demostrar [...]]]></description>
			<content:encoded><![CDATA[<p>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 <a href="http://neleste.uni.cc/category/tutoriales/" title="tutoriales">tutorial</a> para crear un captcha, para &#8220;obligar a los usuarios a demostrar que son humanos&#8221;.</p>
<p><strong>Primera Parte </strong><br />
<code>&lt;?php<br />
session_start();</code></p>
<p><code>//Creamos una cadena aleatoria de caracteres<br />
$md5 = md5(microtime() * mktime());</code></p>
<p><code>//Reducimos a 5 los caracteres<br />
$string = substr($md5,0,5);<br />
?&gt;</code></p>
<p><strong>Crear una imagen de fondo<br />
</strong></p>
<p><code>&lt;?php</code></p>
<p><code>//creamos un fondo de imagen y lo subimos, luego con la funcion imagecreatefrompng, la pasamos al captcha<br />
$captcha = imagecreatefrompng("./imagencaptcha.png");</code></p>
<p><code>//podemos configurar los colores para las lineas<br />
$black = imagecolorallocate($captcha, 0, 0, 0);<br />
$line = imagecolorallocate($captcha,233,239,239);</code><br />
<code><br />
//y para evitar las arañas le añadimos las lineas<br />
imageline($captcha,0,0,39,29,$line);<br />
imageline($captcha,40,0,64,29,$line);<br />
?&gt;</code></p>
<p><strong>Insertamos el texto en la imagen</strong></p>
<p><code>&lt;?php<br />
//insertamos la cadena creada aleatoriamente en la imagen<br />
imagestring($captcha, 5, 20, 10, $string, $black);<br />
</code><br />
<code>//como no, encriptamos y almacenamos el valor de la cadena en una variabe sesion<br />
$_SESSION['key'] = md5($string);</code><br />
<code><br />
//devolvemos la imagen para crearla<br />
header("Content-type: image/png");<br />
imagepng($captcha);<br />
?&gt;</code></p>
<p><strong>Comprobamos el valor que ingresa el usuario</strong></p>
<p><code>&lt;?php<br />
session_start();<br />
</code><br />
<code>if(md5($_POST['code']) != $_SESSION['key']){<br />
//lo enviamos a la página de error<br />
echo "header('Location: error.php');";<br />
}else{<br />
//lo enviamos a donde queríamos ha puesto bien el captcha<br />
echo "header('Location: buena.php');";<br />
}</code><br />
<code><br />
?&gt;</code></p>
<p>La parte de la creación del formulario en este caso, es la más básica.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neleste.com/crear-un-captcha/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Chat en php</title>
		<link>http://www.neleste.com/chat-en-php/</link>
		<comments>http://www.neleste.com/chat-en-php/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 15:50:39 +0000</pubDate>
		<dc:creator>juanra</dc:creator>
				<category><![CDATA[Scripts]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[chat]]></category>

		<guid isPermaLink="false">http://neleste.uni.cc/chat-en-php/</guid>
		<description><![CDATA[
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 [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"><img src="http://www.neleste.com/wp-content/uploads/2008/02/chat.jpg" /></p>
<p>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.</p>
<p>Descargar | <a href="http://www.neleste.com/files/chat.rar" title="Chat">chat </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neleste.com/chat-en-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

