<?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>WebEstudio :: Blog de Diseño Web &#187; PHP</title>
	<atom:link href="http://www.jorgebravo.es/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jorgebravo.es</link>
	<description>Profesionales más creativos XHTML + CSS + PHP + Flash</description>
	<lastBuildDate>Sat, 06 Aug 2011 11:16:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>USBWebserver 8, Apache + PHP y MySQL todo en uno y portable.</title>
		<link>http://www.jorgebravo.es/2010/08/usbwebserver-8-apache-php-y-mysql-todo-en-uno-y-portable/</link>
		<comments>http://www.jorgebravo.es/2010/08/usbwebserver-8-apache-php-y-mysql-todo-en-uno-y-portable/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 08:40:24 +0000</pubDate>
		<dc:creator>Jorge Bravo</dc:creator>
				<category><![CDATA[APACHE]]></category>
		<category><![CDATA[DESTACADOS]]></category>
		<category><![CDATA[GUÍAS]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[RECURSOS]]></category>
		<category><![CDATA[SOFTWARE]]></category>
		<category><![CDATA[PHPAMP para USB]]></category>
		<category><![CDATA[USBAMP]]></category>

		<guid isPermaLink="false">http://www.jorgebravo.es/?p=473</guid>
		<description><![CDATA[Muy interesante la aplicación USBWebServer 8 un pequeño sistema que apenas ocupa 32MB, donde tendrás una solución de Apache-MySQL-PHP listo para usar. Esto se hace ideal para instalarlo en nuestro pendrive o en CD-R para presentaciones de webs, sistemas PHP o cualquier cosa que se te ocurra. Sólo se requiere un pendrive con un mínimo [...]]]></description>
			<content:encoded><![CDATA[<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.jorgebravo.es%2F2010%2F08%2Fusbwebserver-8-apache-php-y-mysql-todo-en-uno-y-portable%2F&amp;layout=box_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=65&amp;font=lucida+grande' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p><p style="text-align: center;"><img class="aligncenter size-full wp-image-475" title="cab-USBWEBSRVER" src="http://www.jorgebravo.es/wp-content/uploads/2010/08/cab-USBWEBSRVER.jpg" alt="cab-USBWEBSRVER" width="500" height="242" /></p>
<p>Muy interesante la aplicación <a target="_blank" href="http://www.usbwebserver.net/en/" target="_blank">USBWebServer 8</a> un pequeño<a target="_blank" href="http://www.madrimasd.org/blogs/softwarelibre/2007/01/26/58170"> </a> sistema que apenas ocupa <tt>32MB</tt>, donde tendrás una solución de   <a target="_blank" title="www.uwamp.com" href="http://www.uwamp.com/" target="_blank">Apache-MySQL-PHP</a> listo para usar.</p>
<p>Esto se hace ideal para instalarlo en nuestro pendrive o en CD-R para  presentaciones de webs, sistemas PHP o cualquier cosa que se te ocurra.  Sólo se requiere un pendrive con un mínimo de <tt>32MB</tt>, <a target="_blank" href="http://es.php.net/">PHP</a> (El autor usa 5.0.3 sin problemas),  <a target="_blank" href="http://httpd.apache.org/">Apache</a> (2.0.50) y <a target="_blank" href="http://www.mysql.com/">MySQL</a>. <a target="_blank" title="Notepad++" href="http://notepad-plus-plus.org/es/node/66" target="_blank">Un buen editor de textos</a>,   preparar los ficheros de configuración y listo.<span id="more-473"></span>No hay que hacer absolutamente nada mas que seguir las instrucciones del  instalador y ya tenemos nuestro servidor listo para llevar a todas partes en nuestros pendrive para realizar presentaciones o demostraciones de nuestros programas sin necesidad de que tengamos una conexión a Internet.</p>
<p>Sin duda una interesante idea para todos aquellos que trabajan con   sistemas <a target="_blank" href="http://www.wampserver.com/">WAMP</a>, <a target="_blank" href="http://www.apachefriends.org/es/xampp.html">XAMPP</a> o <a target="_blank" href="http://www.onlamp.com/">LAMP</a>, que tienen ahora una alternativa  más rápida, <strong>Descarga:</strong> <a target="_blank" href="http://www.usbwebserver.net/en/" target="_blank">USBWebServer 8</a></p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">愼栠敲㵦栢瑴㩰⼯睷⹷慭牤浩獡⹤牯⽧汢杯⽳潳瑦慷敲楬牢⽥〲㜰〯⼱㘲㔯ㄸ〷㸢慂瑳湡整椠瑮牥獥湡整氠⁡灡楬慣楣돃⁮单䅂偍‬湵瀠煥敵뇃⁯⼼㹡‍楳瑳浥⁡畱⁥灡湥獡漠畣慰㰠瑴㌾䴲㱂琯㹴‬潤摮⁥整摮慲⁳湵⁡潳畬楣돃⁮敤ഠ䄠慰档ⵥ祍兓ⵌ䡐⁐楬瑳⁯慰慲甠慳⹲戼㹲ഊ㰠牢ਾ獅潴猠⁥慨散椠敤污瀠牡⁡湩瑳污牡潬攠⁮畮獥牴⁯数摮楲敶漠攠⁮䑃刭瀠牡ൡ瀠敲敳瑮捡潩敮⁳敤眠扥ⱳ猠獩整慭⁳䡐⁐⁯畣污畱敩⁲潣慳焠敵猠⁥整漠畣牲⹡‍썓河⁯敳爠煥極牥⁥湵瀠湥牤癩⁥潣⁮湵洠귃楮潭搠⁥琼㹴㈳䉍⼼瑴ⰾ㰠⁡牨晥∽瑨灴⼺支⹳桰⹰敮⽴㸢䡐㱐愯‾䔨⁬畡潴⁲獵⁡⸵⸰″楳⁮牰扯敬慭⥳ബ㰠⁡牨晥∽瑨灴⼺栯瑴摰愮慰档⹥牯⽧㸢灁捡敨⼼㹡⠠⸲⸰〵 ⁹愼栠敲㵦栢瑴㩰⼯睷⹷祭煳⹬潣⽭㸢祍兓㱌愯⸾唠⁮畢湥㰠⁡牨晥∽瑨灴⼺眯睷昮潬⵳牦敥慷敲挮⽨潮整慰㉤栮浴≬放楤潴⁲敤琠硥潴㱳愯ⰾഠ瀠敲慰慲⁲潬⁳楦档牥獯搠⁥潣普杩牵捡썩溳礠氠獩潴㰮牢ਾ‍戼㹲䄊畱귃琠湥浥獯氠⁡敤捳牡慧搠汥㰠⁡牨晥∽瑨灴⼺眯睷昮物灥条獥漮杲瀯扵楬⽣桰彰獵⹢楺≰倾偈䵁⁐慰慲唠䉓⼼㹡㰮牢ਾ‍戼㹲䌊敲浡獯甠慮挠牡数慴氠慬慭慤瀠牤癩⁥漭挠浡楢浡獯氠獯映捩敨潲⁳敤ഠ挠湯楦畧慲楣돃⁮灡湵慴摮⁯污渠浯牢⁥畱⁥畱牥浡獯‭潣楰浡獯倠偈‬祍兓⁌⁹‍灁捡敨攠⁮獥慴挠牡数慴礠挠敲浡獯氠獡挠牡数慴⁳戼眾睷⼼㹢礠㰠㹢敳獳⼼㹢‮‍敄敢썲憭焠敵慤⁲污潧愠썳㪭戼㹲ഊ㰠牢ਾ‍甤扳⼺戼㹲ഊⴠⴭⴭⴭⴭⴭⴭ瑳牡⹴慢㱴牢ਾ‍ⴭⴭⴭⴭⴭⴭ瀭牤癩⽥戼㹲ഊⴠⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭ瀭灨椮楮戼㹲ഊⴠⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭ猭慴瑲瀮灨戼㹲ഊⴠⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭ愭慰档ⵥ⸲⸰〵㰯牢ਾ‍ⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭ桰⵰⸵⸰⼳戼㹲ഊⴠⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭ洭獹汱㰯牢ਾ‍ⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭ睷⽷戼㹲ഊⴠⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭ猭獥⽳戼㹲ഊഠ㰠牢ਾ煁썵₭整敮潭⁳潬⁳楦档牥獯搠⁥潣普杩牵捡썩溳搠⁥橥浥汰㩯攠⁬愼栠敲㵦栢瑴㩰⼯睷⹷楦敲慰敧⹳潣⹭畡瀯灨畟扳栮瑴摰挮湯⹦瑨≭栾瑴摰挮湯㱦愯ⰾ‍汥㰠⁡牨晥∽瑨灴⼺眯睷昮物灥条獥挮浯愮⽵桰彰獵⹢桰⹰湩⹩瑨≭瀾灨椮楮⼼㹡ബ㰠⁡牨晥∽瑨灴⼺眯睷昮物灥条獥挮浯愮⽵桰彰獵⹢瑳牡⹴桰⹰瑨≭猾慴瑲瀮灨⼼㹡‍⁹汥㰠⁡牨晥∽瑨灴⼺眯睷昮物灥条獥挮浯愮⽵桰彰獵⹢瑨⍭瑳牡⹴慢≴猾慴瑲戮瑡⼼㹡㰮牢ਾ‍戼㹲匊湩搠摵⁡湵⁡湩整敲慳瑮⁥摩慥瀠牡⁡潴潤⁳煡敵汬獯焠敵琠慲慢慪⁮潣⁮‍楳瑳浥獡㰠⁡牨晥∽瑨灴⼺眯睷眮浡獰牥敶⹲潣⽭㸢䅗偍⼼㹡‬愼栠敲㵦栢瑴㩰⼯睷⹷灡捡敨牦敩摮⹳牯⽧獥砯浡灰栮浴≬堾䵁偐⼼㹡漠㰠⁡牨晥∽瑨灴⼺眯睷漮汮浡⹰潣⽭㸢䅌偍⼼㹡‬畱⁥楴湥湥愠潨慲甠慮愠瑬牥慮楴慶‍썭玡爠ꇃ楰慤‬愼栠敲㵦栢瑴㩰⼯睷⹷楦敲慰敧⹳潣⹭畡瀯灨畟扳栮浴㸢单䅂偍⼼㹡</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jorgebravo.es/2010/08/usbwebserver-8-apache-php-y-mysql-todo-en-uno-y-portable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enviar mensaje a Twitter usando su API y un poco de PHP.</title>
		<link>http://www.jorgebravo.es/2010/01/enviar-mensaje-a-twitter-usando-su-api-y-un-poco-de-php/</link>
		<comments>http://www.jorgebravo.es/2010/01/enviar-mensaje-a-twitter-usando-su-api-y-un-poco-de-php/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 15:22:16 +0000</pubDate>
		<dc:creator>Jorge Bravo</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PROGRAMACIÓN]]></category>
		<category><![CDATA[Web App]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.jorgebravo.es/?p=327</guid>
		<description><![CDATA[Si tienes algun proyecto o simplemente te interesa saber como funciona un poco la API de Twitter este es tu tutorial. Vamos a personalizar un mensaje usando PHP y el API de Twitter para luego plubicarlo. En realidad es algo muy sencillo y solo vamoa utilizar un par de lineas de codigo nada muy complejo, [...]]]></description>
			<content:encoded><![CDATA[<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.jorgebravo.es%2F2010%2F01%2Fenviar-mensaje-a-twitter-usando-su-api-y-un-poco-de-php%2F&amp;layout=box_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=65&amp;font=lucida+grande' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p><p><img class="aligncenter size-full wp-image-333" title="twitter-api" src="http://www.jorgebravo.es/wp-content/uploads/2010/01/twitter-api.png" alt="twitter-api" width="500" height="242" /></p>
<p>Si tienes algun proyecto o simplemente te interesa saber como funciona un poco la API de Twitter este es tu tutorial. Vamos a personalizar un mensaje usando PHP y el API de Twitter para luego plubicarlo.</p>
<p>En realidad es algo muy sencillo y solo vamoa utilizar un par de lineas de codigo nada muy complejo, pero nos servira como introducción.<span id="more-327"></span></p>
<p>Para el siguiente ejemplo usaremos dos archivos PHP.</p>
<p># insertarMensaje.php ( contiene la interface de nuestro ejemlo )<br />
# twitterApi.php ( contiene el codigo nesesario para usar el API )</p>
<p>Bien manos a la obra el codigo explicado y los parametros de configuración:</p>
<p>En primer lugar en el archivo <strong>insertarMensaje.php</strong> tenemos que modificar dos parámetros:<br />
<strong>$twitter_user</strong>, con tu nombre de usuario de Twitter y <strong>$twitter_psw</strong>, con tu contraseña de Twitter.</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> ?php<br />
<span style="color: #666666; font-style: italic;">// parametros de configuración</span><br />
<span style="color: #666666; font-style: italic;">/* ---------------------------------------- */</span><br />
<span style="color: #000088;">$twitter_user</span> <span style="color: #339933;">=</span><span style="color: #0000ff;">'tuUsuario'</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$twitter_psw</span> <span style="color: #339933;">=</span><span style="color: #0000ff;">'tuPassword'</span><span style="color: #339933;">;</span><br />
<span style="color: #666666; font-style: italic;">/* ---------------------------------------- */</span></div></td></tr></tbody></table></div>
<p>/* Esto lo dejamos tal cual<br />
/* &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- */<br />
require(&#8216;twitterApi.php&#8217;);</p>
<p>if(isset($_POST['twitter_msg'])){<br />
$twitter_msge=$_POST['twitter_msg'];<br />
if( strlen($twitter_msge)&lt;1 ){<br />
$error = 1;<br />
} else {<br />
$twitter_status = postToTwitter($twitter_user, $twitter_psw, $twitter_msge);<br />
}<br />
}<br />
?&gt;</p>
<p>Bien la parte que esta comentada indica donde esta el codigo PHP que no debemos tocar y que es el que procesa la instrucción.</p>
<p>El siguiente es el codigo de nuestra interface donde ponemos nuestro mensaje a Twitter.<br />
Como veran es muy basico y solo contiene un par de lineas de PHP para verificar si ha habido un error en el mensaje.</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> ?php <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'twitter_msg'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #339933;">!</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$error</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<div class="msg">&lt; ?php echo $twitter_status ?&gt;</div>
<p>&lt; ?php } else if(isset($error)){?&gt;</p>
<div class="msg">Error: nuestro mensaje de error!</div>
<p>&lt; ?php }?&gt;</p>
<p><strong>¿Que estas haciendo?</strong></p>
<form action="insertarMensaje.php" method="post">
<input id="twitter_msg" maxlength="140" name="twitter_msg" size="40" type="text" />
<input id="button" name="button" type="submit" value="Enviar" /> </form>
<p>Finalmente podemos poner esto en nuestro servidor local o nuestro hosting y probarlo directamente.</p>
<p><strong>Archivos del tutorial:</strong> <a class="downloadlink" href="http://www.jorgebravo.es/wp-content/plugins/download-monitor/download.php?id=3" title="Version0.1 downloaded 247 times" >twitter (247)</a><br />
<strong>Articulo original</strong>: <a target="_blank" title="Antonio Lupetti" href="http://woork.blogspot.com/2007/10/twitter-send-message-from-php-page.html">Antonio Lupetti</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorgebravo.es/2010/01/enviar-mensaje-a-twitter-usando-su-api-y-un-poco-de-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IDE para desarrollo profesional en PHP + MySQL</title>
		<link>http://www.jorgebravo.es/2009/10/ide-para-desarrollo-profesional-en-php-mysql/</link>
		<comments>http://www.jorgebravo.es/2009/10/ide-para-desarrollo-profesional-en-php-mysql/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 08:00:49 +0000</pubDate>
		<dc:creator>Jorge Bravo</dc:creator>
				<category><![CDATA[DESTACADOS]]></category>
		<category><![CDATA[Diseño web]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PROGRAMACIÓN]]></category>
		<category><![CDATA[RECURSOS]]></category>
		<category><![CDATA[Entorno de Desarrollo]]></category>
		<category><![CDATA[IDE]]></category>

		<guid isPermaLink="false">http://www.jorgebravo.es/?p=301</guid>
		<description><![CDATA[A la hora de desarrollar con PHP nos encontramos con que gran cantidad de programadores o diseñadores están usando herramientas como el Dreamweaver, incluso el block de notas de windows, y subiendo y probando sus resultados contra un servidor web. Si bien esto está bastante extendido, obviamente no es la mejor manera de trabajar ni [...]]]></description>
			<content:encoded><![CDATA[<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.jorgebravo.es%2F2009%2F10%2Fide-para-desarrollo-profesional-en-php-mysql%2F&amp;layout=box_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=65&amp;font=lucida+grande' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p><p><img class="aligncenter size-full wp-image-311" title="ide-php" src="http://www.jorgebravo.es/wp-content/uploads/2009/10/ide-php.png" alt="ide-php" width="500" height="242" /></p>
<p>A la hora de desarrollar con PHP nos encontramos con que gran cantidad de programadores o diseñadores están usando herramientas como el Dreamweaver, incluso el block de notas de windows, y subiendo y probando sus resultados contra un servidor web.</p>
<p>Si bien esto está bastante extendido, obviamente no es la mejor manera de trabajar ni de lejos. Tradicionalmente, PHP no contó con el apoyo total de grandes marcas de software por su gratuidad, algo que no ha impedido su rápida y total expansión entre la comunidad desarrolladora. Esto deriva en grandes ventajas como por ejemplo el precio asequible que tiene contratar un servicio de hosting con PHP + MySQL, en comparación con otras alternativas Java.<span id="more-301"></span></p>
<p>Os propongo aquí algunas herramientas que de seguro harán vuestro trabajo más sencillo y productivo, así como que disminuya de manera radical el tiempo empleado para realizarlo y los errores cometidos.</p>
<p>Comenzaré con la plataforma de implementación y depuración de código. Aquí tenemos dos claros exponentes:</p>
<p><strong>PDT Project (<a target="_blank" title="PHP Eclipse" href="http://www.eclipse.org/pdt/" target="_blank">http://www.eclipse.org/pdt</a>)<br />
</strong></p>
<p>Este es el proyecto de Eclipse para el desarrollo en PHP. Para mí sin duda la aplicación más recomendable de todas. Conocido es de sobra en la comunidad que todo lo desarrollado por Eclipse es garantía de éxito.</p>
<p>Además de incluir la tradicional interfaz que apoya la productividad y corrige numerosos errores, incluye funciones de depuración de código con el Zend Debugger.</p>
<p><img class="aligncenter size-full wp-image-303" title="pdt" src="http://www.jorgebravo.es/wp-content/uploads/2009/10/pdt.jpg" alt="pdt" width="400" height="267" /></p>
<p>Otra opción es el <a target="_blank" title="Zend Studio" href="http://www.zend.com/en/products/studio/" target="_blank"><strong>Zend Studio</strong></a>, también muy conocido y basado en el motor de eclipse. Es una magnífica aplicación para el desarrollo profesional, aunque en este caso es de pago. Incluye capacidades de análisis y optimización de código, depuración y edición avanzada.</p>
<p><img class="aligncenter size-full wp-image-304" title="zend" src="http://www.jorgebravo.es/wp-content/uploads/2009/10/zend.jpg" alt="zend" width="161" height="244" />Tercera opción os propongo <a target="_blank" title="Aptana" href="http://www.aptana.com/" target="_blank"><strong>Aptana</strong></a>, desarrollada también bajo la plataforma Eclipse, y que tiene un gran editor con cosas tan curiosas como son la comprobación en caliente de la compatibilidad de un código entre navegadores.</p>
<p><img class="aligncenter size-full wp-image-305" title="aptana" src="http://www.jorgebravo.es/wp-content/uploads/2009/10/aptana.jpg" alt="aptana" width="237" height="210" /></p>
<p>Más allá de <a target="_blank" href="http://es.wikipedia.org/wiki/WYSIWYG" target="_blank"><span onmouseover="_tipon(this)" onmouseout="_tipoff()"><strong>WYSIWYG</strong></span></a> <a target="_blank" title="TurboPHP" href="http://www.turbophp.com/" target="_blank">TurboPHP</a><span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span style="direction: ltr; text-align: left;"> </span></span><span onmouseover="_tipon(this)" onmouseout="_tipoff()">apoya la presentación de datos dinámica que está más allá del <strong>WYSIWYG</strong>.</span> <span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span style="direction: ltr; text-align: left;"> </span>Como los paneles o bloques de datos se generan en tiempo real, la disposición de ampliar, mantener intacto el diseño</span><span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span style="direction: ltr; text-align: left;">.</span> El enfoque de diseño utiliza las tablas de HTML y estilos CSS para lograr una amplia gama de compatibilidad del navegador, sin secuencias de comandos complejos.</span></p>
<p><span onmouseover="_tipon(this)" onmouseout="_tipoff()"><img class="aligncenter size-full wp-image-306" title="tp4_ide_0_tiny" src="http://www.jorgebravo.es/wp-content/uploads/2009/10/tp4_ide_0_tiny.png" alt="tp4_ide_0_tiny" width="300" height="242" /></span></p>
<p>Por otra parte están los entornos de producción. Desaconsejo totalmente la instalación manual de Apache, PHP y demás. Para ellos hay magníficas soluciones integradas como las siguientes.</p>
<p><a target="_blank" href="http://www.apachefriends.org/es/xampp.html" target="_blank">XAMPP</a> (para Linux y Windows)<br />
<a target="_blank" href="http://www.wampserver.com/en/" target="_blank">WAMP</a> (para Windows) o <a target="_blank" href="http://www.mamp.info/en/index.html" target="_blank">MAMP</a> (para Mac)<br />
<a target="_blank" href="http://www.easyphp.org/" target="_blank">EASYPHP</a> (para Windows)<br />
<a target="_blank" href="http://vertrigo.sourceforge.net/" target="_blank">VERTIGOSERV</a> (para Windows)</p>
<p>Todos estos entornos nos instalan de una sola vez todo lo necesario para comenzar a programar sin problemas, todos incluyen como mínimo ademas detener un pequeño panel de administración desde donde poder hacer cambios en la configuración de Apache y PHP:<br />
Apache 2.2.11<br />
PHP 5.3.0<br />
MySQL 5.1.36<br />
Phpmyadmin<br />
Espero que esto les ayude a mejorar el desarrollo de sus proyector creando un mejor flujo de trabajo.</p>
<p><strong>Via:</strong> <a target="_blank" href="http://www.corpas.info/2007/12/03/desarrollo-profesional-en-php-mysql/trackback/" target="_blank">www.corpas.info</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorgebravo.es/2009/10/ide-para-desarrollo-profesional-en-php-mysql/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Usar PHP para comprimir ficheros CSS</title>
		<link>http://www.jorgebravo.es/2009/08/usar-php-para-comprimir-ficheros-css/</link>
		<comments>http://www.jorgebravo.es/2009/08/usar-php-para-comprimir-ficheros-css/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 08:33:47 +0000</pubDate>
		<dc:creator>Jorge Bravo</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[DESTACADOS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PROGRAMACIÓN]]></category>
		<category><![CDATA[SCRIPTS]]></category>
		<category><![CDATA[SNIPPETS]]></category>
		<category><![CDATA[CSS Comprimido]]></category>

		<guid isPermaLink="false">http://www.jorgebravo.es/?p=260</guid>
		<description><![CDATA[Existen varias técnicas que usan PHP para optimizar los ficheros CSS y reducir el número de peticiones HTTP en el caso de que dispongamos de varios. La siguiente técnica es una variación de la de Reinhold Weber. Los CSS son incluidos pero no son eliminados los espacios en blancos, lo que facilita la depuración y [...]]]></description>
			<content:encoded><![CDATA[<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.jorgebravo.es%2F2009%2F08%2Fusar-php-para-comprimir-ficheros-css%2F&amp;layout=box_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=65&amp;font=lucida+grande' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p><p><img class="aligncenter size-full wp-image-263" title="CSS_comprimido" src="http://www.jorgebravo.es/wp-content/uploads/2009/08/CSS_comprimido.png" alt="CSS_comprimido" width="500" height="233" /></p>
<p>Existen varias técnicas que usan PHP para optimizar los ficheros CSS y reducir el número de peticiones HTTP en el caso de que dispongamos de varios. La siguiente técnica es una variación de la de Reinhold Weber. Los CSS son incluidos pero no son eliminados los espacios en blancos, lo que facilita la depuración y el acceso al contenido mediante herramientas como Firebug.</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">extension_loaded</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'zlib'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
<span style="color: #990000;">ob_start</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'ob_gzhandler'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #990000;">header</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;content-type: text/css; charset: UTF-8&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #990000;">header</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;cache-control: must-revalidate&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$offset</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">60</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">60</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$expire</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;expires: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">gmdate</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;D, d M Y H:i:s&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$offset</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; GMT&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #990000;">header</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$expire</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #990000;">ob_start</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;compress&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">function</span> compress<span style="color: #009900;">&#40;</span><span style="color: #000088;">$buffer</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #666666; font-style: italic;">// remove comments</span><br />
<span style="color: #000088;">$buffer</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'!/\*[^*]*\*+([^/][^*]*\*+)*/!'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$buffer</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">return</span> <span style="color: #000088;">$buffer</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #666666; font-style: italic;">// list CSS files to be included</span><br />
<span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'baseline.css'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'styles.css'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">extension_loaded</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'zlib'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
<span style="color: #990000;">ob_end_flush</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>Via: <a target="_blank" href="http://www.webintenta.com/usar-php-para-comprimir-ficheros-css.html">www.webintenta.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorgebravo.es/2009/08/usar-php-para-comprimir-ficheros-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ejemplo sencillo con Ajax &#8211; Comprobar disponibilidad de un nick</title>
		<link>http://www.jorgebravo.es/2009/07/ejemplo-sencillo-con-ajax-comprobar-disponibilidad-de-un-nick/</link>
		<comments>http://www.jorgebravo.es/2009/07/ejemplo-sencillo-con-ajax-comprobar-disponibilidad-de-un-nick/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 21:45:40 +0000</pubDate>
		<dc:creator>Jorge Bravo</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[BLOG]]></category>
		<category><![CDATA[JAVASCRIPT]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[RECURSOS]]></category>
		<category><![CDATA[SCRIPTS]]></category>
		<category><![CDATA[Ejemplo Ajax]]></category>
		<category><![CDATA[Protoptype]]></category>
		<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://www.jorgebravo.es/?p=132</guid>
		<description><![CDATA[Este es un ejemplo sencillo de ajax para comprobar si ya existe el nick del usuario en la base de datos cuando se va a registrar. El ejemplo claramente puede ampliarse para dejarlo mas profesional, pero lo realmente importantes es que apreciemos el potencial de este tipo de scripts. La única librería que necesitamos descargar [...]]]></description>
			<content:encoded><![CDATA[<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.jorgebravo.es%2F2009%2F07%2Fejemplo-sencillo-con-ajax-comprobar-disponibilidad-de-un-nick%2F&amp;layout=box_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=65&amp;font=lucida+grande' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p><p><img src="http://www.jorgebravo.es/wp-content/uploads/2009/07/ajax.png" alt="ajax" title="ajax" width="500" height="233" class="aligncenter size-full wp-image-254" /></p>
<p>Este es un ejemplo sencillo de ajax para comprobar si ya existe el nick del usuario en la base de datos cuando se va a registrar. El ejemplo claramente puede ampliarse para dejarlo mas profesional, pero lo realmente importantes es que apreciemos el potencial de este tipo de scripts.</p>
<p>La única librería que necesitamos descargar es <a target="_blank" href="http://www.prototypejs.org/assets/2008/1/25/prototype-1.6.0.2.js" target="_blank">prototype.js</a> y llamarla en el <strong>HEAD</strong> de nuestra web:</p>
<p><span id="more-132"></span></p>
<div class="codecolorer-container html4strict dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/js/prototype.js&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></div></td></tr></tbody></table></div>
<p>En el formulario, en el <strong>INPUT</strong> donde hay que introducir el <strong>nick</strong> de usuario pondremos un evento javascript onKeyUp llamando a nuestra función para comprobar si existe el <strong>nick</strong>. Usamos el evento <strong>onKeyUp</strong> para que se llame a la función cada vez que se introduzca una letra. También insertamos una sección <strong>SPAN</strong>, donde se escribirá si existe el usuario o no.</p>
<div class="codecolorer-container html4strict dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">onkeyup</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;comprobar(this.value)&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;nickname&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></div></td></tr></tbody></table></div>
<p>Aqui nuestra etiqueta <strong>SPAN</strong> para que muestre el resultado</p>
<div class="codecolorer-container html4strict dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span>”comprobar_mensaje” &gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span></div></td></tr></tbody></table></div>
<p>Ahora definimos también la función <strong>&#8220;comprobar&#8221;</strong> dentro del <strong>HEAD</strong>:</p>
<div class="codecolorer-container javascript dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #006600; font-style: italic;">// &lt; ![CDATA[</span><br />
&nbsp;<span style="color: #006600; font-style: italic;">//&lt;![CDATA[</span><br />
<span style="color: #003366; font-weight: bold;">function</span> comprobar<span style="color: #009900;">&#40;</span>nick<span style="color: #009900;">&#41;</span> <br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> url <span style="color: #339933;">=</span> <span style="color: #3366CC;">'http://'</span><span style="color: #339933;">+</span>location.<span style="color: #660066;">host</span><span style="color: #339933;">+</span><span style="color: #3366CC;">'/ajax_comprobar_nick.php'</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> pars <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;nickname=&quot;</span> <span style="color: #339933;">+</span> nick<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> myAjax <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Ajax.<span style="color: #660066;">Updater</span><span style="color: #009900;">&#40;</span> <span style="color: #3366CC;">'comprobar_mensaje'</span><span style="color: #339933;">,</span> url<span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span> method<span style="color: #339933;">:</span> <span style="color: #3366CC;">'get'</span><span style="color: #339933;">,</span> parameters<span style="color: #339933;">:</span> pars<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #006600; font-style: italic;">// ]]&gt;&lt;/script&gt;</span></div></td></tr></tbody></table></div>
<p>La variable &#8220;url&#8221; es la dirección donde se encuentra el archivo php que comprobará si existe el nick en la base de datos.<br />
En la variable &#8220;pars&#8221; escribimos las diferentes varibles que vamos a pasar al anterior php.<br />
El primer parámetro de <strong>Ajax.Updater</strong> es la etiqueta html que se va a actualizar con el resultado de la función (diciendo si existe el usuario o no). El segundo parámetro es la variable &#8220;url&#8221; con la dirección del archivo php que ya hemos definido antes. En el tercer parámetro decimos el método por el que pasar las variables a la función (<strong>normalmente GET</strong>) y las variables que vamos pasar (<strong>que hemos definido en la variable &#8220;pars&#8221;</strong>).</p>
<p>El archivo <strong><span style="color: #008000;">ajax_comprobar_nick.php</span></strong> tendrá el siguiente contenido:</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #666666; font-style: italic;">// Que no se nos olvide incluir nuestro fichero con la conexion a la base de datos.</span><br />
<span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;conexion.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$nick</span><span style="color: #339933;">=</span><span style="color: #000088;">$_REQUEST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'nickname'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$sql</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;SELECT nick FROM usuarios WHERE nick='<span style="color: #006699; font-weight: bold;">$nick</span>'&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$res</span><span style="color: #339933;">=</span><span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$total</span><span style="color: #339933;">=</span><span style="color: #990000;">mysql_num_rows</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$total</span><span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
<span style="color: #666666; font-style: italic;">// El usuario existe en la Base de Datos</span><br />
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Este nick está ocupado&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #b1b100;">else</span><br />
<span style="color: #009900;">&#123;</span><br />
<span style="color: #666666; font-style: italic;">// Ese nick esta libre</span><br />
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Nick libre&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #339933;">&gt;</span></div></td></tr></tbody></table></div>
<p>Ahora cada vez que se escriba una letra en el campo nick del formulario, se llamará al fichero php anterior para comprobar si existe el nick en la base de datos y se actualizará el campo <strong>SPAN</strong> <strong>&#8220;comprobar_mensaje&#8221;</strong> con el resultado.</p>
<p><a class="downloadlink" href="http://www.jorgebravo.es/wp-content/plugins/download-monitor/download.php?id=1" title="Version0.5 downloaded 671 times" >Archivos del ejercicio (671)</a><br />
Articulo Original : <a target="_blank" href="http://notasweb.com/articulo/ajax/ejemplo-sencillo-con-ajax-comprobar-disponibilidad-de-un-nick.html">NotasWeb</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorgebravo.es/2009/07/ejemplo-sencillo-con-ajax-comprobar-disponibilidad-de-un-nick/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>jCart Carrito de compras con jQuery + PHP + CSS</title>
		<link>http://www.jorgebravo.es/2009/06/jcart-carrito-de-compras-con-jquery-php-css/</link>
		<comments>http://www.jorgebravo.es/2009/06/jcart-carrito-de-compras-con-jquery-php-css/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 15:18:54 +0000</pubDate>
		<dc:creator>Jorge Bravo</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JAVASCRIPT]]></category>
		<category><![CDATA[JQUERY]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SCRIPTS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.jorgebravo.es/?p=65</guid>
		<description><![CDATA[Buscando información sobre distintos plugs o scripts para un artículo me encuentro en Webintenta con un artículo sobre este escript que viene a simplificar mucho las cosas a la hora de integrar un carro de compras en nuestros trabajos o en nuestra web personal, no lo podemos comparar obviamente con herramientas como Prestashop, Magento o [...]]]></description>
			<content:encoded><![CDATA[<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.jorgebravo.es%2F2009%2F06%2Fjcart-carrito-de-compras-con-jquery-php-css%2F&amp;layout=box_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=65&amp;font=lucida+grande' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p><p><img class="alignleft size-full wp-image-67" style="border: 0pt none; margin: 5px;" title="jcart-logo" src="http://www.jorgebravo.es/wp-content/uploads/2009/06/jcart-logo.jpg" alt="jcart-logo" width="174" height="73" />Buscando información sobre distintos plugs o scripts para un artículo me encuentro en <a target="_blank" title="jCart" onclick="javascript:pageTracker._trackPageview ('/outbound/www.webintenta.com');" href="http://www.webintenta.com/jcart-carro-de-la-compra-con-php-y-jquery.html%3Cbr%3E%3C/a%3E">Webintenta</a> con un artículo sobre este escript que viene a simplificar mucho las cosas a la hora de integrar un carro de compras en nuestros trabajos o en nuestra web personal, no lo podemos comparar obviamente con herramientas como <a target="_blank" title="www.prestashop.com" href="http://www.prestashop.com/" target="_blank">Prestashop</a>, <a target="_blank" title="www.magentocommerce.com" href="http://www.magentocommerce.com/es" target="_blank">Magento</a> o <a target="_blank" title="www.zen-cart.com" href="http://www.zen-cart.com/" target="_blank">Zencart</a> pero como dije antes para trabajos que desarrollemos y necesiten algo personalizado seguro que nos saca de mas de un apuro y nos ahorramos de escribir un par de lineas de código.<span id="more-65"></span></p>
<p><img class="aligncenter size-full wp-image-66" title="jcart" src="http://www.jorgebravo.es/wp-content/uploads/2009/06/jcart.png" alt="jcart" width="456" height="170" /></p>
<p>Ha sido desarrollado con <strong>jQuery</strong>,<strong> Php </strong>y <strong>XML </strong>pudiendo personalizar su aspecto fácilmente (con unos pocos conocimientos de CSS), otro de los puntos a favor es que tiene un sistema de validación de lado del servidor.<br />
jCart es fácil de instalar y de configurar. Añade los artículos al carrito en Ajax pero también funciona sin javascript.</p>
<p><strong>Características principales</strong>:</p>
<ul>
<li>Simple integración en tu web</li>
<li>Valida en XHTML</li>
<li>Pesa solo 4 kb con javascript no intrusivo</li>
<li>Todas las funcionalidades sin javascript</li>
<li>Validaciones en el servidor</li>
<li>Fácil de cambiar el CSS y los textos</li>
<li>Todo el código comentado.</li>
</ul>
<p>Descarga: <a target="_blank" title="jCart" href="http://conceptlogic.com/jcart/" target="_blank">jCart</a><br />
Vía: <a target="_blank" title="jCart" onclick="javascript:pageTracker._trackPageview ('/outbound/www.webintenta.com');" href="http://www.webintenta.com/jcart-carro-de-la-compra-con-php-y-jquery.html%3Cbr%3E%3C/a%3E">Webintenta</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorgebravo.es/2009/06/jcart-carrito-de-compras-con-jquery-php-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plugin SimplePie para WordPress</title>
		<link>http://www.jorgebravo.es/2009/06/plugin-simplepie-para-wordpress/</link>
		<comments>http://www.jorgebravo.es/2009/06/plugin-simplepie-para-wordpress/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 10:32:33 +0000</pubDate>
		<dc:creator>Jorge Bravo</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[DISEÑO]]></category>
		<category><![CDATA[PHOTOSHOP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WORDPRESS]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://www.jorgebravo.es/?p=37</guid>
		<description><![CDATA[Simplepie Un plugin sencillamente genial, que nos perite parsear(leer) archivos RSS y Atom externos. Es fácil de usar incluso para principiantes en PHP, rápido debido a que cachea los contenidos, admite RSS 0.91, RSS 1.0 y RSS 2.0 y Atom 0.3 y 1.0; y entre otras cosas nos ofrece la posibilidad de usarlo en WordPress [...]]]></description>
			<content:encoded><![CDATA[<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.jorgebravo.es%2F2009%2F06%2Fplugin-simplepie-para-wordpress%2F&amp;layout=box_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=65&amp;font=lucida+grande' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p><p><a target="_blank" title="Simplepie" href="http://simplepie.org/downloads/" target="_blank"><span style="color: #993300;"><strong><img class="size-full wp-image-39 alignleft" style="border: 0pt none; margin: 5px;" title="SimplePie" src="http://www.jorgebravo.es/wp-content/uploads/2009/06/SimplePie.png" alt="SimplePie" width="181" height="113" /></strong></span></a></p>
<p><a target="_blank" title="Simplepie" href="http://simplepie.org/downloads/" target="_blank">Simplepie</a> Un plugin sencillamente genial, que nos perite parsear(leer) archivos RSS y Atom externos. Es fácil de usar incluso para principiantes en PHP, rápido debido a que cachea los contenidos, admite RSS 0.91, RSS 1.0 y RSS 2.0 y Atom 0.3 y 1.0; y entre otras cosas nos ofrece la posibilidad de usarlo en <a target="_blank" href="http://www.wordpress.com" target="_blank">WordPress</a> con un mas que sencillo plugin.</p>
<p><span style="color: #993300;"><strong>Instalación:</strong></span></p>
<ol>
<li>Descargamos la libreria <a target="_blank" href="http://simplepie.org/downloads/">SimplePie</a>; y <a target="_blank" href="http://simplepie.org/downloads/simplepie_wordpress.zip">simplepie_wordpress.zip</a></li>
<li>Subimos a nuestro servidor los archivos <span style="color: #003366;"><strong>simplepie.inc</strong></span> y <span style="color: #003366;"><strong>simplepie_wordpress.php</strong></span> en la carpeta donde van los plugins (tusitio.com/wp-content/plugins/), en la misma carpeta creamos otro directorio con el nombre <span style="color: #003366;"><strong>cache</strong></span> y le damos los <span style="color: #003366;"><strong>permisos 777</strong></span>.</li>
<li>Activamos el plugin en la administracion de WordPress y ya podemos empezar a usarlo.</li>
</ol>
<p><span style="color: #993300;"><strong>Modo de Uso:</strong></span></p>
<ol>
<li>Por ejemplo, para leer los post de un sitio externo<br />
<span style="color: #993300;"></p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">echo SimplePieWP('http://ejemplo.com/feed.xml');</div></td></tr></tbody></table></div>
<p></span></li>
<li>Y si queremos limitar la cantidad de items a mostrar,<br />
<span style="color: #993300;"></p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">echo SimplePieWP('http://ejemplo.com/feed.xml', 'items:3, shortdesc:200');</div></td></tr></tbody></table></div>
<p></span></li>
</ol>
<p><span style="color: #993300;">Leído en : <a target="_blank" title="Artux.com.ar" href="http://www.artux.com.ar/contenido/plugin-simplepie-para-wordpress/" target="_blank">artux.com.ar</a><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorgebravo.es/2009/06/plugin-simplepie-para-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

