<?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>Guiabreve &#187; PHP</title>
	<atom:link href="http://guiabreve.com/tag/php/feed" rel="self" type="application/rss+xml" />
	<link>http://guiabreve.com</link>
	<description>Red Bull-based programming</description>
	<lastBuildDate>Mon, 06 Feb 2012 17:22:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Usando las expresiones regulares (III)</title>
		<link>http://guiabreve.com/usando-las-expresiones-regulares-iii.html</link>
		<comments>http://guiabreve.com/usando-las-expresiones-regulares-iii.html#comments</comments>
		<pubDate>Wed, 25 Jan 2012 10:58:37 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Expresiones Regulares]]></category>
		<category><![CDATA[Comprobar]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Usar]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=1559</guid>
		<description><![CDATA[Indice de la serie: Creando y entendiendo expresiones regulares Expresiones regulares comunes Usando las expresiones regulares Este es el último artículo de esta Guia de Expresiones Regulares. En el primer capítulo vimos las palabras reservadas para crear nuestras propias expresiones regulares. En el segundo, vimos y explicamos algunas de las expresiones más comunes. Por último, <a href="http://guiabreve.com/usando-las-expresiones-regulares-iii.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<div class="izquierda indice" style="text-align:left;">
<h3>Indice de la serie:</h3>
<ol>
<li><a href="http://guiabreve.com/creando-y-entendiendo-las-expresiones-regulares-i.html" title="Creando y entendiendo las Expresiones regulares (I)">Creando y entendiendo expresiones regulares</a></li>
<li><a href="http://guiabreve.com/expresiones-regulares-mas-comunes-ii.html" title="Expresiones regulares más comunes (II)">Expresiones regulares comunes</a></li>
<li><a href="http://guiabreve.com/usando-las-expresiones-regulares.html" title="Usando las expresiones regulares">Usando las expresiones regulares</a></li>
</ol>
</div>
<p>Este es el último artículo de esta <strong><a href="http://guiabreve.com/categoria/guias/expresiones-regulares" title="Guia de Expresiones Regulares">Guia de Expresiones Regulares</a></strong>. En el primer capítulo vimos las palabras reservadas para <a href="http://guiabreve.com/creando-y-entendiendo-las-expresiones-regulares-i.html" title="Creando y entendiendo las Expresiones regulares (I)">crear nuestras propias expresiones regulares</a>. En el segundo, <a href="http://guiabreve.com/expresiones-regulares-mas-comunes-ii.html" title="Expresiones regulares más comunes (II)">vimos y explicamos algunas de las expresiones más comunes</a>.</p>
<p>Por último, en este tercer capítulo, aprenderemos a usar las expresiones regulares que hemos aprendido a crear o hemos visto anteriormente.</p>
<h4>Usar expresiones en PHP</h4>
<p>En PHP disponemos de la función <a href="http://www.php.net/preg_match">preg_match</a>:</p>
<pre class="brush:php">preg_match ( string $pattern , string $subject [, array &#038;$matches [, int $flags = 0 [, int $offset = 0 ]]] )</pre>
<p>Esta función dispone de 2 parámetros obligatorios y tres opcionales, pero, por lo general con los tres primeros nos será más que suficiente:</p>
<ol>
<li><strong>pattern</strong>, aqui irá nuestra expresión regular.</li>
<li><strong>subject</strong>, será un <code>string</code> en donde se buscará la expresión regular.</li>
<li><strong>matches</strong>, nos devolverá las coincidencias. En <code>matches[0]</code> contendrá el texto completo coincidente con la expresión. En <code>matches[1]</code> la primera parte de la expresión, etc.</li>
</ol>
<p>También podemos usar <a href="http://php.net/manual/en/function.preg-replace.php"><code>preg_replace</code></a> en caso de que queramos buscar y remplazar algo.</p>
<h4>En Javascript</h4>
<p>En javascript usamos <code>match</code>. Como podemos ver en el siguiente código:</p>
<ol>
<li>Definimos la expresión regular (en este caso comprobaremos un email).</li>
<li>Creamos la variable que queremos comprobar.</li>
<li>Y usando <code>email.match(RegExPattern)</code> devolverá true o false dependiendo si coincide o no y entrará a la sección del <em>if</em> correspondiente.</li>
</ol>
<pre class="brush:js">    var RegExPattern = /[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/;
    var email = 'victoor89@gmail.com';

    if ((email.match(RegExPattern))) {
        alert('Email correcto');
    } else {
        alert('Incorrecto');
    } </pre>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/usando-las-expresiones-regulares-iii.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creando y entendiendo las Expresiones regulares (I)</title>
		<link>http://guiabreve.com/creando-y-entendiendo-las-expresiones-regulares-i.html</link>
		<comments>http://guiabreve.com/creando-y-entendiendo-las-expresiones-regulares-i.html#comments</comments>
		<pubDate>Thu, 01 Dec 2011 13:37:50 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Expresiones Regulares]]></category>
		<category><![CDATA[Productividad]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=1291</guid>
		<description><![CDATA[Indice de la serie: Creando y entendiendo expresiones regulares Expresiones regulares comunes Usando las expresiones regulares Las expresiones regulares, o patrones, son una de las cosas m&#225;s difíciles de entender debido a su complejidad, pero no nos asustemos. Una vez que las entendamos y les cojamos el tranquillo nos ser&#225;n de muchísima utilidad. &#191;Que son? <a href="http://guiabreve.com/creando-y-entendiendo-las-expresiones-regulares-i.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<div class="izquierda indice" style="text-align:left;">
<h3>Indice de la serie:</h3>
<ol>
<li><a href="http://guiabreve.com/creando-y-entendiendo-las-expresiones-regulares-i.html" title="Creando y entendiendo las Expresiones regulares (I)">Creando y entendiendo expresiones regulares</a></li>
<li><a href="http://guiabreve.com/expresiones-regulares-mas-comunes-ii.html" title="Expresiones regulares más comunes (II)">Expresiones regulares comunes</a></li>
<li><a href="http://guiabreve.com/usando-las-expresiones-regulares.html" title="Usando las expresiones regulares">Usando las expresiones regulares</a></li>
</ol>
</div>
<p>Las expresiones regulares, o patrones, son una de las cosas m&aacute;s difíciles de entender debido a su complejidad, pero no nos asustemos. Una vez que las entendamos y les cojamos el tranquillo nos ser&aacute;n de muchísima utilidad.</p>
<h3>&iquest;Que son?</h3>
<p>Las expresiones regulares son patrones que permiten buscar coincidencias con combinaciones de caracteres dentro de cadenas de texto. </p>
<h4>Caracteres especiales:</h4>
<p>Para definir el patr&oacute;n usamos una combinaci&oacute;n de caracteres especiales que nos ayudar&aacute;n a crear la expresion. Los caracteres especiales m&aacute;s comunes son:<span id="more-1291"></span></p>
<table style="width:640px;margin: 5px 0 0px -180px;display:block" CELLSPACING=8>
<tbody>
<tr>
<th width="1%" valign="top"></th>
<th width="50%" valign="top">Significado</th>
<th width="49%" valign="top">Ejemplo</th>
</tr>
<tr>
<td><strong>\</strong></td>
<td>Indica que el siguiente<br />
	caracter normal debe ser considerado como especial. Tambi&eacute;n se utiliza como caracter de<br />
	escape para los caracteres especiales.</td>
<td><strong>/\n/</strong><br />
	encuentra un salto de l&iacute;ena. Si se desea buscar el caracter &#8216;\&#8217;, habr&aacute; que utilizar <strong>/\\/</strong></td>
</tr>
<tr class="alt">
<td><strong>^</strong></td>
<td>Se utiliza para<br />
	encontrar el comienzo de una l&iacute;nea.</td>
<td><strong>/a/</strong><br />
	encuentra una &#8216;a&#8217; en cualquier lugar, pero <strong>/^a/</strong> haya una<br />
	coincidencia con el caracter &#8216;a&#8217; si se encuentra al comienzo de una l&iacute;nea.</td>
</tr>
<tr>
<td><strong>$</strong></td>
<td>Se utiliza<br />
	para encontrar el final de una l&iacute;nea.</td>
</tr>
<tr class="alt">
<td><strong>*</strong></td>
<td>Encuentra coincidencia<br />
	del caracter que le precede cuando aparece 0 o m&aacute;s veces en la cadena.</td>
<td><strong>/hola*/</strong><br />
	encuentra coincidencias en las cadena &quot;hol&quot;, &quot;hola&quot; y<br />
	&quot;holaaaa&quot;.</td>
</tr>
<tr>
<td><strong>+</strong></td>
<td>Igual que<br />
	el &#8216;*&#8217;, pero cuando el caracter aparece 1 o m&aacute;s veces.</td>
</tr>
<tr class="alt">
<td><strong>?</strong></td>
<td>Igual que<br />
	el &#8216;*&#8217;, pero cuando el caracter aparece 0 o 1 vez.</td>
<td></td>
</tr>
<tr>
<td><strong>.</strong></td>
<td>Se utiliza para<br />
	encontrar cualquier caracter que no sea un caracter de nueva l&iacute;nea.</td>
<td><strong>/.sa/</strong><br />
	encontrar&aacute; coincidencias en las cadenas &quot;casa&quot;, &quot;cosa&quot; y<br />
	&quot;cesa&quot;, pero no en &quot;asa&quot;.</td>
</tr>
<tr class="alt">
<td><strong>(x)</strong></td>
<td>Encuentra<br />
	coincidencias con &#8216;x&#8217;, y recuerda el patr&oacute;n para su posterior utilizaci&oacute;n.</td>
<td></td>
</tr>
<tr>
<td><strong>x|y</strong></td>
<td>Encuentra<br />
	coincidencia si aparece el caracter &#8216;x&#8217; o el caracter &#8216;y&#8217;.</td>
</tr>
<tr class="alt">
<td><strong>{n}</strong></td>
<td>Encuentra coincidencia<br />
	si hay exactamente n apariciones del caracter que precede.</td>
<td>Por ejemplo, <strong>/a{3}/</strong> encuentra coincidencia en &quot;holaaa&quot;, pero no en<br />
	&quot;holaa&quot;.</td>
</tr>
<tr>
<td><strong>{n,}</strong></td>
<td>Encuentra<br />
	coincidencia si hay al menos n apariciones del caracter que precede.</td>
</tr>
<tr class="alt">
<td><strong>{n,m}</strong></td>
<td>Encuentra<br />
	coincidencia si hay como m&iacute;nimo n y com m&aacute;ximo m apariciones del caracter que precede.</td>
<td></td>
</tr>
<tr>
<td><strong>[xyz]</strong></td>
<td>Representa un conjunto<br />
	de caracteres individuales.</td>
<td><strong>/[aeiou]/</strong><br />
	encuentra coincidencias con cualquier vocal. Si se utiliza el caracter &#8216;-&#8217; se pueden<br />
	definir rangos. Por ejemplo, <strong>/[0-3]/</strong> encuentra coincidencias<br />
	si aparecen en la cadena los caracteres &#8217;0&#8242;, &#8217;1&#8242;, &#8217;2&#8242; o &#8217;3&#8242;.</td>
</tr>
<tr class="alt">
<td><strong>[^xyz]</strong></td>
<td>Representa<br />
	un conjunto de caracteres individuales complementario. Encunetra coincidencias con<br />
	aquellos caracteres que NO aparezcan en el conjunto. Al igual que en el caso anterior, con<br />
	el &#8216;-&#8217; se pueden definir rangos.</td>
<td></td>
</tr>
<tr>
<td><strong>[\b]</strong></td>
<td>Encuentra<br />
	coincidencia con el caracter de retroceso.</td>
</tr>
<tr class="alt">
<td><strong>\b</strong></td>
<td>Encuentra coincidencias<br />
	con los l&iacute;mites de las palabras.</td>
<td>Por ejemplo, <strong>/\bola/</strong> encuentra la cadena &quot;ola&quot; en &quot;Viene una<br />
	ola&quot;, pero no en &quot;Viene una cola&quot;.</td>
</tr>
</tbody>
</table>
<p><!--</p>
<h4>Expresiones populares explicadas:</h4>
<p>A continuaci&oacute;n analizaremos algunas de las m&aacute;s populares para entender el uso de los caracteres especiales en ellas.<br />
&#8211;><br />
<!-- A&ntilde;adir algunas expresiones regulares populares EXPLICADAS --></p>
<p>Y con estoy ya podemos crear nuestras pr&oacute;pias expresiones regulares. </p>
<p>En el próximo capítulo enseñaré algunas de las expresiones regulares más comunes explicándolas para que además de sernos utiles las entendamos.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/creando-y-entendiendo-las-expresiones-regulares-i.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Librerías para todo y para todos</title>
		<link>http://guiabreve.com/librerias-para-todo-y-para-todos.html</link>
		<comments>http://guiabreve.com/librerias-para-todo-y-para-todos.html#comments</comments>
		<pubDate>Wed, 14 Sep 2011 08:00:19 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Descargar]]></category>
		<category><![CDATA[Enlace]]></category>
		<category><![CDATA[Librerías]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Softpedia]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=903</guid>
		<description><![CDATA[Las librerías son algo muy útil para los desarrolladores. Hoy en día prácticamente todo se ha hecho ya antes y probablemente alguien halla liberado alguna librería que nos facilite la tarea ahorrándonos mucho tiempo. En GenvetaDev publican esta web en la que podemos encontrar miles de scripts para cualquier lenguaje y para practicamente cualquier cosa. <a href="http://guiabreve.com/librerias-para-todo-y-para-todos.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-large wp-image-904 encuadre" title="Softpedia, Librerias" src="http://guiabreve.com/wp-content/uploads/Softpedia-Librerias-684x393.png" alt="" width="684" height="393" /></p>
<p>Las librerías son algo muy útil para los desarrolladores. Hoy en día prácticamente todo se ha hecho ya antes y probablemente alguien halla liberado alguna librería que nos facilite la tarea ahorrándonos mucho tiempo.</p>
<p><strong>En <a title="Librerías para todos — GenbetaDev" href="http://www.genbetadev.com/herramientas/librerias-librerias-y-mas-librerias-para-hacerte-la-vida-mas-facil-con-php">GenvetaDev</a> publican <a title="Softpedia" href="http://www.softpedia.com/">esta web</a> en la que podemos encontrar miles de <em>scripts </em>para cualquier lenguaje y para practicamente cualquier cosa.</strong></p>
<p>A partir de ahora. Antes de comenzar a hacer algo es casi obligatorio, comprobar, que no lo halla hecho alguien antes.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/librerias-para-todo-y-para-todos.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disponible librería oficial en PHP para las APIs de Google</title>
		<link>http://guiabreve.com/libreria-php-oficial-para-apis-de-google.html</link>
		<comments>http://guiabreve.com/libreria-php-oficial-para-apis-de-google.html#comments</comments>
		<pubDate>Tue, 13 Sep 2011 10:00:14 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[documentacion]]></category>
		<category><![CDATA[ejemplos]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Libreria]]></category>
		<category><![CDATA[oficial]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=898</guid>
		<description><![CDATA[Hasta ahora las librerías de Google para acceder a sus API&#8217;s &#8220;solo&#8221; estaban disponible en Java, .Net, Objective C, Ruby y Python. Ahora Google ha liberado oficialmente la versión PHP de sus librerías. Al fin, un cliente oficial en PHP. Por ahora esta en versión beta y solo para algunas aplicaciones web de Googe como Buzz, <a href="http://guiabreve.com/libreria-php-oficial-para-apis-de-google.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-899 encuadre" title="Google PHP API Library" src="http://guiabreve.com/wp-content/uploads/Google-PHP-API-Library-300x93.png" alt="" width="300" height="93" />Hasta ahora las librerías de <strong>Google</strong> para acceder a sus <strong>API&#8217;s</strong> &#8220;solo&#8221; estaban disponible en <strong>Java</strong>, <strong>.Net</strong>, <strong>Objective C</strong>, <strong>Ruby</strong> y <strong>Python</strong>. Ahora Google ha liberado oficialmente la versión <a href="http://guiabreve.com/tag/php">PHP</a> de sus librerías. Al fin, un cliente oficial en <strong>PHP</strong>.</p>
<p>Por ahora esta en versión beta y solo para algunas aplicaciones web de <strong>Googe</strong> como <strong>Buzz</strong>, <strong>Latitude</strong>, <strong>Books</strong> o <strong>Tasks</strong> y utilidades como <strong>Page Speed Online</strong> o <strong>URL Shortener</strong>. Además también esta disponible el sistema de autenticación de usuarios <strong>Oauth 2.0</strong>.</p>
<p>Además de la librería ya esta disponible la <a title="Documentacion Google API PHP Library" href="http://code.google.com/p/google-api-php-client/wiki/TableOfContents">documentación</a> necesaria y <a title="Ejemplos Google API PHP Client" href="http://code.google.com/p/google-api-php-client/wiki/Samples">ejemplos funcionales</a> para que no nos cueste nada comenzar a utilizarla en nuestros proyectos.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/libreria-php-oficial-para-apis-de-google.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spoon, librería de PHP 5 para acelerar el desarrollo de sitios con PHP</title>
		<link>http://guiabreve.com/spoon-libreria-de-php-5-para-acelerar-el-desarrollo-de-sitios-con-php.html</link>
		<comments>http://guiabreve.com/spoon-libreria-de-php-5-para-acelerar-el-desarrollo-de-sitios-con-php.html#comments</comments>
		<pubDate>Tue, 23 Aug 2011 12:00:17 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Libreria]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[spoon]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=832</guid>
		<description><![CDATA[Spoon es una librería PHP que contiene clases de programación orientada a objetos para acelerar el desarrollo de sitios web PHP. Cuando comenzamos un nuevo proyecto en PHP nos encontramos con tareas que tenemos que realizar siempre, tareas repetitivas en las que podemos usar código desarrollado anteriormente. Con Spoon disponemos de funciones básicas para realizar <a href="http://guiabreve.com/spoon-libreria-de-php-5-para-acelerar-el-desarrollo-de-sitios-con-php.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://guiabreve.com/wp-content/uploads/Spoon.png" alt="" title="Spoon" width="178" height="98" class="alignright size-full wp-image-835 encuadre" /><a href="http://www.spoon-library.com/" title="Spoon">Spoon</a> es una <a href="http://guiabreve.com/tag/libreria" title="Etiqueta: Librería">librería</a> <a href="http://guiabreve.com/tag/php" title="Etiqueta: PHP">PHP</a> que contiene clases de programación orientada a objetos para acelerar el desarrollo de sitios web <strong>PHP</strong>.</p>
<p>Cuando comenzamos un nuevo proyecto en <strong>PHP</strong> nos encontramos con tareas que tenemos que realizar siempre, tareas repetitivas en las que podemos usar código desarrollado anteriormente. Con Spoon disponemos de funciones básicas para realizar tareas comunes y acelerar asÌ el desarrollo inicial.<span id="more-832"></span></p>
<p>Gracias a la estructura de <strong>Spoon</strong> la curva de aprendizaje es mínima y gracias a la documentación podremos comenzar a aprovechar las funciones que nos provee la librería desde un inicio de forma sencilla.</p>
<p><strong>Spoon</strong> no es un <em><a href="http://guiabreve.com/tag/framework" title="Etiqueta: Framework">framework</a></em>, es simplemente, un conjunto de funciones y clases. Gracias a que no es un framework su instalación y uso es realmente sencillo y no tendremos que cambiar nuestros hábitos de desarrollo para adaptarnos a él. Claro que al ser una librería, su alcance es menor.</p>
<p>Por ahora las clases disponibles se dedican a manejar partes esenciales en una aplicación web como son: sesiones, formularios, cookies, fechas, emails, RSS, archivos, im·genes, plantillas, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/spoon-libreria-de-php-5-para-acelerar-el-desarrollo-de-sitios-con-php.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HybridAuth, librería PHP para autentificarse usando redes sociales</title>
		<link>http://guiabreve.com/hybridauth-libreria-php-para-autentificarse-usando-redes-sociales.html</link>
		<comments>http://guiabreve.com/hybridauth-libreria-php-para-autentificarse-usando-redes-sociales.html#comments</comments>
		<pubDate>Thu, 18 Aug 2011 14:00:55 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[HybridAuth]]></category>
		<category><![CDATA[Libreria]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Windows Live]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=767</guid>
		<description><![CDATA[HybridAuth es una librería PHP de código abierto que nos permitirá autentificar usuarios usando la API de distintas redes sociales. Gracias a ella podremos facilitar el registro en nuestra web permitiendo a los usuarios acceder con su cuenta de OpenID, Facebook, LinkedIn, Google, Twitter, Windows Live, Foursquare, Vimeo, Yahoo, PayPal entre otros. Lo mejor de <a href="http://guiabreve.com/hybridauth-libreria-php-para-autentificarse-usando-redes-sociales.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://guiabreve.com/wp-content/uploads/HybridAuth-300x174.gif" alt="" title="HybridAuth" width="300" height="174" class="encuadre alignright size-medium wp-image-769" /><a href="http://hybridauth.sourceforge.net/" title="HybridAuth">HybridAuth</a> es una librería <strong><a href="http://guiabreve.com/tag/PHP" title="Etiqueta: PHP">PHP</a></strong> de <strong>código abierto</strong> que nos permitirá autentificar usuarios usando la API de distintas redes sociales.</p>
<p>Gracias a ella podremos facilitar el registro en nuestra web permitiendo a los usuarios acceder con su cuenta de <strong>OpenID</strong>, <strong>Facebook</strong>, <strong>LinkedIn</strong>, <strong>Google</strong>, <strong>Twitter</strong>, <strong>Windows Live</strong>, <strong>Foursquare</strong>, <strong>Vimeo</strong>, <strong>Yahoo</strong>, <strong>PayPal</strong> entre otros. </p>
<p>Lo mejor de todos es que nos facilita la comunicación con las distintas APIs por lo que integrar esta funcionalidad en nuestro website no nos llevará horas.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/hybridauth-libreria-php-para-autentificarse-usando-redes-sociales.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usa reCaptcha con PHP</title>
		<link>http://guiabreve.com/usa-recaptcha-con-php.html</link>
		<comments>http://guiabreve.com/usa-recaptcha-con-php.html#comments</comments>
		<pubDate>Tue, 09 Aug 2011 15:43:02 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Programación y Diseño]]></category>
		<category><![CDATA[Captcha]]></category>
		<category><![CDATA[Formulario]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[reCaptcha]]></category>
		<category><![CDATA[Validacion]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=705</guid>
		<description><![CDATA[reCaptcha es un servicio de validación que nos permite evitar robots que rellenan automáticamente formularios. Además de evitar spam, con reCaptcha ayudaremos a transcribir libros con mayor precisión gracias a la ayuda de los usuarios. Podemos implementar reCaptcha en cualquier formulario de forma sencilla. Para empezar necesitamos la librería para PHP que podemos obtener desde <a href="http://guiabreve.com/usa-recaptcha-con-php.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><a title="reCaptcha" href="http://www.google.com/recaptcha"><img class="alignright size-full wp-image-706" title="recaptcha-example-300x119" src="http://guiabreve.com/wp-content/uploads/recaptcha-example-300x119.gif" alt="" width="300" height="119" />reCaptcha</a> es un servicio de validación que nos permite evitar robots que rellenan automáticamente formularios. Además de evitar <em>spam</em>, con <strong>reCaptcha</strong> ayudaremos a transcribir libros con mayor precisión gracias a la ayuda de los usuarios.</p>
<p>Podemos implementar <strong>reCaptcha </strong>en cualquier formulario de forma sencilla. Para empezar necesitamos la librería para PHP que podemos obtener desde <a title="Librería PHP para reCAPTCHA" href="http://code.google.com/p/recaptcha/downloads/list?q=label:phplib-Latest">aquí</a>.</p>
<p>Antes de empezar, necesitamos <a href="http://www.google.com/recaptcha/whyrecaptcha">registrarnos</a> para obtener las claves necesarias.<span id="more-705"></span></p>
<p>Primero <strong>añadimos el captcha al formulario</strong>, tenemos dos formas:</p>
<ol>
<li>Usando el plugin (Recomendado):
<pre class="brush:php">require_once('recaptchalib.php');
  $publickey = "your_public_key"; // you got this from the signup page
  echo recaptcha_get_html($publickey);</pre>
</li>
<li>O sin usar ningún plugin:
<pre class="brush:js">&lt;script type="text/javascript"
     src="http://www.google.com/recaptcha/api/challenge?k=<span style="color: red;">your_public_key</span>"&gt;
  &lt;/script&gt;
  &lt;noscript&gt;
     &lt;iframe src="http://www.google.com/recaptcha/api/noscript?k=<span style="color: red;">your_public_key</span>"
         height="300" width="500" frameborder="0"&gt;&lt;/iframe&gt;&lt;br&gt;
     &lt;textarea name="recaptcha_challenge_field" rows="3" cols="40"&gt;
     &lt;/textarea&gt;
     &lt;input type="hidden" name="recaptcha_response_field"
         value="manual_challenge"&gt;
  &lt;/noscript&gt;</pre>
</li>
</ol>
<p>A continuación, solo nos queda el código para comprobar si el captcha se ha rellenado correctamente o no:</p>
<pre class="brush:php">&lt;?php
// Agregamos la librería
require_once('recaptchalib.php');
// Agregamos las claves
$publickey = "----";
$privatekey = "----";
$error = null;

if ($_POST) {
   $re_ip = $_SERVER["REMOTE_ADDR"];
   $re_challenge = $_POST["recaptcha_challenge_field"];
   $re_response = $_POST["recaptcha_response_field"];
   $re_valid = recaptcha_check_answer($privatekey, $re_ip, $re_challenge, $re_response);

   if ($re_valid-&gt;is_valid) {
      // El Captcha ha sido rellenado correctamente

   } else {
      // Error, captcha erroneo
      $error = $resp-&gt;error;
   }
}
?&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/usa-recaptcha-con-php.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Obtener thumbnail de un vídeo de Youtube</title>
		<link>http://guiabreve.com/obtener-thumbnail-de-un-video-de-youtube.html</link>
		<comments>http://guiabreve.com/obtener-thumbnail-de-un-video-de-youtube.html#comments</comments>
		<pubDate>Thu, 04 Aug 2011 22:04:39 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Programación y Diseño]]></category>
		<category><![CDATA[Function]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Thumbnail]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Youtube]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=682</guid>
		<description><![CDATA[Algo que nos puede ser muy útil, sobre todo si tenemos un sitio en el que publicamos vídeos, es obtener la imagen de un vídeo para mostrarla sin necesidad de cargar el vídeo. Youtube nos lo pone sencillo. Para obtener la imagen de un vídeo solo necesitamos el identificador del vídeo (La variable v). Las <a href="http://guiabreve.com/obtener-thumbnail-de-un-video-de-youtube.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>Algo que nos puede ser muy útil, sobre todo si tenemos un sitio en el que publicamos vídeos, es obtener la imagen de un vídeo para mostrarla sin necesidad de cargar el vídeo. <strong>Youtube</strong> nos lo pone sencillo.</p>
<p>Para obtener la imagen de un vídeo solo necesitamos el <code>identificador</code> del vídeo (La variable <code>v</code>). Las imágenes se guardan bajo la siguiente ruta.</p>
<pre class="brush:php">http://img.youtube.com/vi/ID/default.jpg // Img por defect
http://img.youtube.com/vi/ID/0.jpg // Img a 480x360</pre>
<p>En <a title="Unijimpe" href="http://blog.unijimpe.net/obtener-thumbnails-de-los-videos-de-youtube/">unijimpe</a> nos enseñan que también podemos crear una función en <a href="http://guiabreve.com/tag/php">PHP</a> que nos devuelva el <code>identificador</code> de un vídeo de forma automática.</p>
<pre class="brush:php">function getYoutubeID($url) {
    $tube = parse_url($url);
    if ($tube["path"] == "/watch") {
        parse_str($tube["query"], $query);
        $id = $query["v"];
    } else {
        $id = "";
    }
    return $id;
}</pre>
<p>De forma que le pasamos la url del vídeo y nos imprimirá la imagen de la siguiente forma.</p>
<pre class="brush:php">&lt;?php $url = "http://www.youtube.com/watch?v=aDaOgu2CQtI"; ?&gt;
&lt;img src="http://img.youtube.com/vi/&lt;?php echo getYoutubeID($url); ?&gt;/0.jpg" /&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/obtener-thumbnail-de-un-video-de-youtube.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Crea taxonomías personalizadas en WordPress</title>
		<link>http://guiabreve.com/crea-taxonomias-personalizadas-en-wordpress.html</link>
		<comments>http://guiabreve.com/crea-taxonomias-personalizadas-en-wordpress.html#comments</comments>
		<pubDate>Wed, 08 Jun 2011 09:55:37 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Programación y Diseño]]></category>
		<category><![CDATA[Avanzadas]]></category>
		<category><![CDATA[Personalizadas]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programacion]]></category>
		<category><![CDATA[Taxonomias]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=427</guid>
		<description><![CDATA[Esta es una de las novedades que se introdujo en WordPress 3.1. En WordPress, por defecto, tenemos las categorías y las etiquetas (taxonomías) pero gracias a esta característica podemos crear más para clasificar las noticias. Por ejemplo, imaginemos que vamos a hablar sobre libros en nuestro blog. Sería interesante añadir la taxonomía &#8220;Editorial&#8221; para poder <a href="http://guiabreve.com/crea-taxonomias-personalizadas-en-wordpress.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>Esta es una de las novedades que se introdujo en <a href="http://guiabreve.com/tag/wordpress">WordPress</a> 3.1. En WordPress, por defecto, tenemos las categorías y las etiquetas (taxonomías) pero gracias a esta característica podemos <a href="http://ayudawordpress.com/taxonomias-avanzadas-en-wordpress-3-1/">crear más para clasificar las noticias</a>. </p>
<p>Por ejemplo, imaginemos que vamos a hablar sobre libros en nuestro blog. Sería interesante añadir la taxonomía &#8220;Editorial&#8221; para poder clasificar las noticias por esta característica.</p>
<p>Para crear una taxonomía usamos <code><a href="http://codex.wordpress.org/Function_Reference/register_taxonomy">register_taxonomy</a></code> cuya sintaxis sería <code>register_taxonomy($taxonomy, $object_type, $args);</code>.</p>
<pre class="brush:php">function taxonomias() {
  register_taxonomy('editorial', 'post', array(
  'hierarchical' => false, 'label' => 'Editorial',
  'query_var' => true, 'rewrite' => true));
}
add_action('init', 'taxonomias', 0);
</pre>
<p>Hay que destacar el argumento <code>'hierarchical'</code>. En caso de colocarlo como <code>false</code> el funcionamiento esta taxonomía sería similar a las etiquetas. Si por el contrario lo colocamos como true sería identico a las categorías.</p>
<p>En la documentación de WordPress hay mucha <a href="http://codex.wordpress.org/Function_Reference/register_taxonomy">más información</a> sobre esta característica y una explicación de todas las opciones para personalizarlas a nuestro gusto. El código de arriba es solo lo minimo que tenemos que poner.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/crea-taxonomias-personalizadas-en-wordpress.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CodePad, compila código online</title>
		<link>http://guiabreve.com/codepad-compila-codigo-online.html</link>
		<comments>http://guiabreve.com/codepad-compila-codigo-online.html#comments</comments>
		<pubDate>Fri, 20 May 2011 15:00:55 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[Top]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Codepad]]></category>
		<category><![CDATA[Compilador]]></category>
		<category><![CDATA[Interpretador]]></category>
		<category><![CDATA[Online]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=343</guid>
		<description><![CDATA[Codepad es una copilador e interpretador de código online además de una herramienta de colaboración sencilla que nos permite además compartir código, ver los resultados y comentarios. Es compatible con 13 lenguajes de programación entre los que se encuentra C, C++, PHP, Python, Ruby, etc. Cada fragmento de código que introduzcamos, si no lo hacemos <a href="http://guiabreve.com/codepad-compila-codigo-online.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://guiabreve.com/wp-content/uploads/codepad.jpg" alt="" title="codepad" width="374" class="encuadre alignright size-full wp-image-344" /><a href="http://codepad.org/">Codepad </a>es una <strong>copilador e interpretador de código online </strong>además de una herramienta de colaboración sencilla que nos permite además compartir código, ver los resultados y comentarios.</p>
<p>Es compatible con <strong>13 lenguajes</strong> de programación entre los que se encuentra C, C++, PHP, Python, Ruby, etc.</p>
<p>Cada fragmento de código que introduzcamos, si no lo hacemos privado, nos dará un enlace individual para poder compartirlo con quien queramos. También podremos descargar el código en un archivo o guardarlo si estamos registrados.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/codepad-compila-codigo-online.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enviar correos con PHPMailer</title>
		<link>http://guiabreve.com/enviar-correos-con-phpmailer.html</link>
		<comments>http://guiabreve.com/enviar-correos-con-phpmailer.html#comments</comments>
		<pubDate>Mon, 02 May 2011 19:18:56 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Programación y Diseño]]></category>
		<category><![CDATA[Top]]></category>
		<category><![CDATA[Clase]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHPMailer]]></category>
		<category><![CDATA[SMTP]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=191</guid>
		<description><![CDATA[Para enviar correos podemos utilizar la función mail() de PHP pero desde algunos servidores, o desde localhost esta función no funciona ya que no esta correctamente configurado el servidor SMTP. Para solucionar esto podemos usar PHPMailer. Esta clase nos permite, por ejemplo, mandar correos desde nuestra cuenta de Gmail o cualquier otra y evitar problemas. <a href="http://guiabreve.com/enviar-correos-con-phpmailer.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://guiabreve.com/wp-content/uploads/PHPMailer.jpeg" alt="" title="PHPMailer" width="674" class="encuadre aligncenter size-full wp-image-212" />Para enviar correos podemos utilizar la función <a href="http://php.net/manual/es/function.mail.php">mail()</a> de <a title="Etiqueta: PHP" href="http://guiabreve.com/tag/php">PHP</a> pero desde algunos servidores, o desde localhost esta función no funciona ya que no esta correctamente configurado el servidor <a href="http://es.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol">SMTP</a>.</p>
<p>Para solucionar esto podemos usar <a href="http://phpmailer.worxware.com/">PHPMailer</a>. Esta clase nos permite, por ejemplo, mandar correos desde nuestra cuenta de Gmail o cualquier otra y evitar problemas. Veamos como.<span id="more-191"></span></p>
<p>Lo primero que tenemos que hacer es incluir los archivos necesarios. En este caso nos hace falta la clase PHPMailer y además la SMTP que viene en la misma descarga.</p>
<pre class="brush:php">include("class.phpmailer.php");
include("class.smtp.php");</pre>
<p>A continuación debemos de configurar y<strong> crear el objeto a partir de la clase</strong>. Primero definimos el objeto a partir de la clases PHPMailer y decimos que el <strong>envio será mediante un servidor SMTP</strong> y deforma segura usando <code>SSL</code>.</p>
<pre class="brush:php">$mail = new PHPMailer();
$mail-&gt;IsSMTP();
$mail-&gt;SMTPAuth = true;
$mail-&gt;SMTPSecure = "ssl";</pre>
<p><strong>Configuramos los datos del servidor SMTP</strong>. En este caso lo haremos mediante Gmail por lo que debemos dar un usuario y contraseña ademas del puerto y servidor</p>
<pre class="brush:php">$mail-&gt;Host = "smtp.gmail.com";
$mail-&gt;Port = 465;
$mail-&gt;Username = "usuario@gmail.com";
$mail-&gt;Password = "contraseña";</pre>
<p>Por ultimo solo nos queda <strong>crear nuestro mensaje</strong>. Como vemos es bastante sencillo, solo tenemos que configurar los distintos elementos de un email. Remitente y su nombre, asunto, mensaje en versión de texto plana (por si el destinatario no admite HTML y la versión HTML. En las dos ultimas lineas definimos el destinatario  y que nuestro mensaje se enviara en HTML.</p>
<pre class="brush:php">$mail-&gt;From = "remitente@domain.com";
$mail-&gt;FromName = "Nombre del remitente";
$mail-&gt;Subject = "Asunto del correo";
$mail-&gt;AltBody = "Hola,\neste correo ha sido enviado desde PHP usando PHPMailer.";
$mail-&gt;MsgHTML("Hola,&lt;br&gt;este correo ha sido enviado desde PHP usando &lt;strong&gt;PHPMailer&lt;/strong&gt;.");

// Adjuntar archivos
// Podemos agregar mas de uno si queremos.
$mail-&gt;AddAttachment("ruta-del-archivo/archivo.zip");

$mail-&gt;AddAddress("destinatario@domain.com", "Destinatario");
$mail-&gt;IsHTML(true);</pre>
<p>Por último, solo nos queda enviar el mensaje.</p>
<pre class="brush:php">if(!$mail-&gt;Send()) {
  echo "Error: " . $mail-&gt;ErrorInfo;
} else {
  echo "Mensaje enviado.";
}</pre>
<p>Y ya está, si todo va bien el email se enviará y se imprimirá en pantalla el mensaje <code>Mensaje enviado.</code> si por el contrario se produce algún error nos informará de la misma manera por pantalla.</p>
<p>Recordad configurar el servidor SMTP con vuestros datos de vuestra cuenta de Gmail, si no no funcionará.</p>
<p>Aqui tenéis el <a href="http://codr.cc/s/734ffcd1/php">código completo</a> si quereis copiarla mas comodamente.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/enviar-correos-con-phpmailer.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pasar variables desde PHP a Javascript</title>
		<link>http://guiabreve.com/pasar-variables-desde-php-a-javascript.html</link>
		<comments>http://guiabreve.com/pasar-variables-desde-php-a-javascript.html#comments</comments>
		<pubDate>Sat, 09 Apr 2011 22:10:37 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Programación y Diseño]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Variable]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=113</guid>
		<description><![CDATA[Cuando estamos desarrollando un proyecto sencillo normalmente usaremos PHP además de Javascript. El problema viene cuando queremos comunicar ambos lenguajes. Recordemos que el primero se ejecuta en el servidor y el segundo en el navegador. Para pasar una variable de PHP a Javascript lo que podemos hacer es generar el código Javascript usando PHP y <a href="http://guiabreve.com/pasar-variables-desde-php-a-javascript.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>Cuando estamos desarrollando un proyecto sencillo normalmente usaremos PHP además de Javascript. El problema viene cuando queremos <strong>comunicar ambos lenguajes</strong>. Recordemos que el primero se ejecuta en el servidor y el segundo en el navegador.</p>
<p>Para pasar una variable <strong>de PHP a Javascript lo que podemos hacer es generar el código Javascript usando PHP</strong> y así podremos usar variables PHP sin problemas.</p>
<pre class="brush:php">&lt;?php $v = 4; ?&gt;

&lt;script type="text/javascript"&gt;
	&lt;?php echo 'alert('.$v.');'; ?&gt;
&lt;/script&gt;</pre>
<p>Como vemos es un código muy sencillo simplemente dentro del script, usando <code>echo</code> en PHP generamos el código Javascript. Este ejemplo simplemente decimos que Javascript muestre la variable <code>$v</code> de PHP mediante una alerta.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/pasar-variables-desde-php-a-javascript.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Encriptar información usando md5() en PHP</title>
		<link>http://guiabreve.com/encriptar-informacion-usando-md5-en-php.html</link>
		<comments>http://guiabreve.com/encriptar-informacion-usando-md5-en-php.html#comments</comments>
		<pubDate>Thu, 07 Apr 2011 21:34:26 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Programación y Diseño]]></category>
		<category><![CDATA[Contraseña]]></category>
		<category><![CDATA[Encriptar]]></category>
		<category><![CDATA[Javascript MD5]]></category>
		<category><![CDATA[MD5]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Seguridad Web]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=108</guid>
		<description><![CDATA[Para mejorar la seguridad de nuestro sitio es importante encriptar, entre otros datos, las contraseñas. Si tenemos un sistema de usuarios, para enviar intrusos es importante guardar la contraseña siempre codificada para evitar que ante cualquier fallo alguien pueda verlas. Por lo tanto, para mejorar la seguridad, tenemos que usar un sistema de encriptación en <a href="http://guiabreve.com/encriptar-informacion-usando-md5-en-php.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>Para mejorar la seguridad de nuestro sitio es importante encriptar, entre otros datos, las contraseñas. Si tenemos un sistema de usuarios, para enviar intrusos es importante guardar la contraseña siempre codificada para evitar que ante cualquier fallo alguien pueda verlas.</p>
<p>Por lo tanto, <strong>para mejorar la seguridad, tenemos que usar un sistema de encriptación en un solo sentido</strong>. Es decir, no podremos desencriptar los datos. Un sistema que cumple con esto, es, por ejemplo, <a href="http://php.net/manual/en/function.md5.php">md5</a>.</p>
<pre class="brush:php">&lt;?
$contrasena = md5($contrasena);
?&gt;</pre>
<p>De esta forma encriptamos la variable contraseña usando md5, pero cuando usuario intenta entrar a su cuenta, ¿como comprobamos que la contraseña de ingreso utilizada coincide con la de la base de datos si no podemos desencriptar? Fácil. Tendremos que encriptar la contraseña que el usuario escribe y compararla con la almacenada en la base de datos que también está encriptada. </p>
<p>Otra recomendación <strong>importante es usar conexiones SSL</strong> sino la contraseña es enviada desde el navegador al servidor sin encriptar. Otra alternativa es codificar la contraseña en el navegador usando <a href="http://pajhome.org.uk/crypt/md5/">Javascript MD5</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/encriptar-informacion-usando-md5-en-php.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>TimThumb, script PHP para generar miniaturas</title>
		<link>http://guiabreve.com/timthumb-script-php-para-generar-miniaturas.html</link>
		<comments>http://guiabreve.com/timthumb-script-php-para-generar-miniaturas.html#comments</comments>
		<pubDate>Sun, 20 Mar 2011 20:18:51 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Miniaturas]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Thumbnails]]></category>
		<category><![CDATA[TimThumb]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=41</guid>
		<description><![CDATA[TinThumb es un excelente script en PHP que nos facilita, y mucho, la tarea de generar miniaturas a partir de una imagen de forma dinámica con el alto y ancho que definamos además de poder recortarla o no. El uso es muy sencillo. Descargarmos el script y lo subimos a la carpeta /scripts, por ejemplo, <a href="http://guiabreve.com/timthumb-script-php-para-generar-miniaturas.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><strong>TinThumb</strong> es un excelente script en PHP que nos facilita, y mucho, la tarea de generar miniaturas a partir de una imagen de forma dinámica con el alto y ancho que definamos además de poder recortarla o no.</p>
<p>El uso es muy sencillo. <a href="http://www.darrenhoyt.com/2008/04/02/timthumb-php-script-released/">Descargarmos el script</a> y lo subimos a la carpeta <code>/scripts</code>, por ejemplo, de nuestro hosting.</p>
<pre class="brush:xml">&lt;img src="/scripts/timthumb.php?src=/images/whatever.jpg&amp;h=150&amp;w=150&amp;zc=1"&gt;</pre>
<p>Como vemos el <code>src</code> de la imagen enlaza al scripts con cuatro variables:</p>
<ol>
<li>src: enlaza a la imagen original</li>
<li>w: ancho</li>
<li>h: alto</li>
<li>zc: recortar o no (1 ó 0)</li>
<li>q: calidad (por defecto 75, max. 100)</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/timthumb-script-php-para-generar-miniaturas.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

