<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:series="http://unfoldingneurons.com/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" version="2.0">

<channel>
	<title>Codigo PHP</title>
	
	<link>http://codigophp.net</link>
	<description>Snippets de PHP.</description>
	<lastBuildDate>Wed, 12 May 2010 13:11:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/CodigoPhp" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="codigophp" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-nc-sa/3.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><item>
		<title>Función en php para pasar de Farenheit a Centígrados y viceversa</title>
		<link>http://codigophp.net/funcion-en-php-para-pasar-de-farenheit-a-centigrados-y-viceversa/</link>
		<comments>http://codigophp.net/funcion-en-php-para-pasar-de-farenheit-a-centigrados-y-viceversa/#comments</comments>
		<pubDate>Wed, 12 May 2010 13:11:53 +0000</pubDate>
		<dc:creator>Amadeo Bolzano</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[centigrados]]></category>
		<category><![CDATA[farenheit]]></category>
		<category><![CDATA[grados]]></category>

		<guid isPermaLink="false">http://codigophp.net/?p=198</guid>
		<description><![CDATA[
			
				
			
		
Estas son dos funciones muy simples para cambiar los valores de la temperatura de Farenheit a grados centígrados y viceversa.
De Farenheit a Centígrados.

function F_a_C( $temperatura ) {
       return( ( 5/9 )*( $temperatura-32 ) );
}

De Centígrados a Farenheit

function C_a_F( $temperatura ) {
       return( ( [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcodigophp.net%2Ffuncion-en-php-para-pasar-de-farenheit-a-centigrados-y-viceversa%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcodigophp.net%2Ffuncion-en-php-para-pasar-de-farenheit-a-centigrados-y-viceversa%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Estas son dos funciones muy simples para cambiar los valores de la temperatura de Farenheit a grados centígrados y viceversa.<br />
De Farenheit a Centígrados.</p>
<pre class="brush: php;">
function F_a_C( $temperatura ) {
       return( ( 5/9 )*( $temperatura-32 ) );
}
</pre>
<p>De Centígrados a Farenheit</p>
<pre class="brush: php;">
function C_a_F( $temperatura ) {
       return( ( 9/5 )*$temperatura+32 );
}
</pre>
 <img src="http://codigophp.net/wp-content/plugins/feed-statistics.php?view=1&post_id=198" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://codigophp.net/funcion-en-php-para-pasar-de-farenheit-a-centigrados-y-viceversa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Saber si un año es bisiesto en php.</title>
		<link>http://codigophp.net/saber-si-un-ano-es-bisiesto-en-php/</link>
		<comments>http://codigophp.net/saber-si-un-ano-es-bisiesto-en-php/#comments</comments>
		<pubDate>Fri, 07 May 2010 11:55:29 +0000</pubDate>
		<dc:creator>Amadeo Bolzano</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[bisiesto]]></category>
		<category><![CDATA[fechas]]></category>

		<guid isPermaLink="false">http://codigophp.net/?p=196</guid>
		<description><![CDATA[
			
				
			
		
Un año es bisiesto cuando se producen unas determinadas condiciones implantadas hace unos siglos para ajustar el desfase que existe entre un año de 365 días y el año real que tiene casi un cuarto de día más. Con el calendario Juliano, a lo largo de los siglos, este desfase provocó hasta 3 años entre [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcodigophp.net%2Fsaber-si-un-ano-es-bisiesto-en-php%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcodigophp.net%2Fsaber-si-un-ano-es-bisiesto-en-php%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Un año es bisiesto cuando se producen unas determinadas condiciones implantadas hace unos siglos para ajustar el desfase que existe entre un año de 365 días y el año real que tiene casi un cuarto de día más. Con el calendario Juliano, a lo largo de los siglos, este desfase provocó hasta 3 años entre aquellos lugares donde se usaba el Juliano con respecto al nuevo Gregoriano. Por ejemplo, el azar hizo que la muerte de Shakespeare y Miguel de Cervantes coincidiera en fechas, a pesar de que murieron con 3 años de diferencia ya que Inglaterra y España llevaban diferente calendario.</p>
<p>Después de este &#8220;rollo&#8221; pseudo-histórico paso a poner una sencilla función que nos permite saber si un año es o no bisiesto.</p>
<p>Las condiciones que debe cumplir un año para ser bisiesto es que sea divisible por 4 y no sea divisible por 100, a excepción de los divisibles por 400 que si son bisiestos.</p>
<pre class="brush: php;">
function es_bisiesto( $a ) {
   return( ( ( $a % 4 == 0 ) &amp;&amp; ( $a % 100 != 0 ) || ( $a % 400 == 0 ) ) );
}
</pre>
 <img src="http://codigophp.net/wp-content/plugins/feed-statistics.php?view=1&post_id=196" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://codigophp.net/saber-si-un-ano-es-bisiesto-en-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Función para conocer si una imagen es válida en php.</title>
		<link>http://codigophp.net/funcion-para-conocer-si-una-imagen-es-valida-en-php/</link>
		<comments>http://codigophp.net/funcion-para-conocer-si-una-imagen-es-valida-en-php/#comments</comments>
		<pubDate>Fri, 07 May 2010 11:45:20 +0000</pubDate>
		<dc:creator>Amadeo Bolzano</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[imagenes]]></category>

		<guid isPermaLink="false">http://codigophp.net/?p=194</guid>
		<description><![CDATA[
			
				
			
		
Esta sencilla función nos permitirá saber, gracias a las librerías GD, si una imagen es válida o no independientemente de su extensión, principalmente para evitar que un usuario suba un fichero de otro tipo bajo una extensión de imagen.

&#60;?php
function is_image( $imagen ) {
    if( !getimagesize( $imagen ) ) {
    [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcodigophp.net%2Ffuncion-para-conocer-si-una-imagen-es-valida-en-php%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcodigophp.net%2Ffuncion-para-conocer-si-una-imagen-es-valida-en-php%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Esta sencilla función nos permitirá saber, gracias a las librerías GD, si una imagen es válida o no independientemente de su extensión, principalmente para evitar que un usuario suba un fichero de otro tipo bajo una extensión de imagen.</p>
<pre class="brush: php;">
&lt;?php
function is_image( $imagen ) {
    if( !getimagesize( $imagen ) ) {
        return( FALSE );
    } else {
        return( TRUE );
    }
}
?&gt;
</pre>
<p>Su uso es sencillo <img src='http://codigophp.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre class="brush: php;">
if( is_image( 'imagen.png' ) ) {
   echo( 'Es una imagen válida' );
} else {
   echo( 'No es una imagen válida' );
}
</pre>
 <img src="http://codigophp.net/wp-content/plugins/feed-statistics.php?view=1&post_id=194" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://codigophp.net/funcion-para-conocer-si-una-imagen-es-valida-en-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Almacenamiento local con jQuery y HTML5</title>
		<link>http://codigophp.net/almacenamiento-local-con-jquery-y-html5/</link>
		<comments>http://codigophp.net/almacenamiento-local-con-jquery-y-html5/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 18:00:43 +0000</pubDate>
		<dc:creator>Amadeo Bolzano</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[dases de datos]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://codigophp.net/?p=192</guid>
		<description><![CDATA[
			
				
			
		
Para muchas aplicaciones web puede ser muy útil almacenar algunos datos directamente en el navegador del usuario.
jStorage (llamado anteriormente DOMCache) permite su eso de forma muy sencilla. Es compatible con Prototype, JQuery o MooTools, y prácticamente con cualquier navegador (Aquí varía la cantidad de espacio que puede almacenarse en cada uno, en general 5MB salvo [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcodigophp.net%2Falmacenamiento-local-con-jquery-y-html5%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcodigophp.net%2Falmacenamiento-local-con-jquery-y-html5%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Para muchas aplicaciones web puede ser muy útil almacenar algunos datos directamente en el navegador del usuario.<br />
<a href="http://www.jstorage.info">jStorage</a> (llamado anteriormente DOMCache) permite su eso de forma muy sencilla. Es compatible con Prototype, JQuery o MooTools, y prácticamente con cualquier navegador (Aquí varía la cantidad de espacio que puede almacenarse en cada uno, en general 5MB salvo IE6 e IE7 que permiten 128kb).<br />
aquí viene un ejemplo de su uso con JQuery:</p>
<pre class="brush: xml;">
&lt;script src=&quot;jquery.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;jstorage.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
// Verifica que existe &quot;key&quot;
var value = $.jStorage.get(&quot;key&quot;);
if(!value){
	// Si no carga los datos del servidor
 	value = load_data_from_server()
 	// y se guarda
	$.jStorage.set(&quot;key&quot;,value);
}
&lt;/script&gt;
</pre>
 <img src="http://codigophp.net/wp-content/plugins/feed-statistics.php?view=1&post_id=192" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://codigophp.net/almacenamiento-local-con-jquery-y-html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sencilla función para hacer copia de seguridad de MySQL</title>
		<link>http://codigophp.net/sencilla-funcion-para-hacer-copia-de-seguridad-de-mysql/</link>
		<comments>http://codigophp.net/sencilla-funcion-para-hacer-copia-de-seguridad-de-mysql/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 12:03:25 +0000</pubDate>
		<dc:creator>Amadeo Bolzano</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://codigophp.net/?p=190</guid>
		<description><![CDATA[
			
				
			
		
He encontrado en fluidbyte una sencilla función para hacer backup de una base de datos MySQL.

function backupDatabase($file){
   $tables = array();
   $result = mysql_query('SHOW TABLES');
     while($row = mysql_fetch_row($result)){ $tables[] = $row[0]; }
     //cycle through
     $return = &#34;&#34;;
    [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcodigophp.net%2Fsencilla-funcion-para-hacer-copia-de-seguridad-de-mysql%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcodigophp.net%2Fsencilla-funcion-para-hacer-copia-de-seguridad-de-mysql%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>He encontrado en <a href="http://www.fluidbyte.net/simple-mysql-backup-with-php">fluidbyte</a> una sencilla función para hacer backup de una base de datos MySQL.</p>
<pre class="brush: php;">
function backupDatabase($file){
   $tables = array();
   $result = mysql_query('SHOW TABLES');
     while($row = mysql_fetch_row($result)){ $tables[] = $row[0]; }
     //cycle through
     $return = &quot;&quot;;
     foreach($tables as $table){
     $result = mysql_query('SELECT * FROM '.$table);
     $num_fields = mysql_num_fields($result);
     $return.= 'DROP TABLE '.$table.';';
     $row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
     $return.= &quot;\n\n&quot;.$row2[1].&quot;;\n\n&quot;;
     for ($i = 0; $i &lt; $num_fields; $i++){
       while($row = mysql_fetch_row($result)){
       $return.= 'INSERT INTO '.$table.' VALUES(';
         for($j=0; $j&lt;$num_fields; $j++){
         $row[$j] = addslashes($row[$j]);
         $row[$j] = ereg_replace(&quot;\n&quot;,&quot;\\n&quot;,$row[$j]);
         if (isset($row[$j])) { $return.= '&quot;'.$row[$j].'&quot;' ; } else { $return.= '&quot;&quot;'; }
           if ($j&lt;($num_fields-1)) { $return.= ','; }
         }
       $return.= &quot;);\n&quot;;
       }
     }
     $return.=&quot;\n\n\n&quot;;
     }
   //save file
   $handle = fopen($file,'w+');
   fwrite($handle,$return);
   fclose($handle);
}
</pre>
<p>Su uso es bien sencillo:</p>
<pre class="brush: php;">
backupDatabase('/path_to_file/backup' . date('m-d-y') . '.sql');
</pre>
 <img src="http://codigophp.net/wp-content/plugins/feed-statistics.php?view=1&post_id=190" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://codigophp.net/sencilla-funcion-para-hacer-copia-de-seguridad-de-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crear un pequeño plugin para barra de marcadores</title>
		<link>http://codigophp.net/crear-un-pequeno-plugin-para-barra-de-marcadores/</link>
		<comments>http://codigophp.net/crear-un-pequeno-plugin-para-barra-de-marcadores/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 17:38:20 +0000</pubDate>
		<dc:creator>Amadeo Bolzano</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ie8]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://codigophp.net/?p=187</guid>
		<description><![CDATA[
			
				
			
		
Actualmente todos los navegadores (a excepción de Internet Explorer, como siempre) acepta añadir a la barra de marcadores funciones javascript que nos pueden facilitar la vida.
En esta ocasión traigo cómo hacer que se envíen datos a una página en función de un texto seleccionado en la página actual, así al pinchar en la barra de [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcodigophp.net%2Fcrear-un-pequeno-plugin-para-barra-de-marcadores%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcodigophp.net%2Fcrear-un-pequeno-plugin-para-barra-de-marcadores%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Actualmente todos los navegadores (a excepción de Internet Explorer, como siempre) acepta añadir a la barra de marcadores funciones javascript que nos pueden facilitar la vida.</p>
<p>En esta ocasión traigo cómo hacer que se envíen datos a una página en función de un texto seleccionado en la página actual, así al pinchar en la barra de marcadoes haría lo que le dijéramos con ese texto.</p>
<p>Lo primero que hay que tener en cuenta es cómo se añade el javascript a la barra de marcadores. Siempre hay que empezar con</p>
<pre class="brush: jscript;">
javascript:
</pre>
<p>Después hay que añadir lo que queremos que haga. Aquí teneis un ejemplo para comprobar el whois de un dominio en el caso de seleccionarlo:</p>
<pre class="brush: jscript;">
javascript:location.href='http://www.who.is/' + encodeURIComponent(document.getSelection());
</pre>
<p>Si lo que queremos es comprobar el dominio donde estamos podemos emplear:</p>
<pre class="brush: jscript;">
javascript:location.href='http://www.who.is/' + encodeURIComponent(document.location.href);
</pre>
 <img src="http://codigophp.net/wp-content/plugins/feed-statistics.php?view=1&post_id=187" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://codigophp.net/crear-un-pequeno-plugin-para-barra-de-marcadores/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como detectar la IP del usuario de la página con PHP</title>
		<link>http://codigophp.net/como-detectar-la-ip-del-usuario-de-la-pagina-con-php/</link>
		<comments>http://codigophp.net/como-detectar-la-ip-del-usuario-de-la-pagina-con-php/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 13:49:10 +0000</pubDate>
		<dc:creator>Amadeo Bolzano</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[ip]]></category>

		<guid isPermaLink="false">http://codigophp.net/?p=185</guid>
		<description><![CDATA[
			
				
			
		
Nos es muy útil, en muchas ocasiones, almacenar la ip del visitante, por ejemplo cuando queremos controlar los mensajes de spam para bloquearles, almacenar la ip para un tracking de afiliados o para infinidad de cosas.
Con esta pequeña función podemos obtenerla saltando los proxies.

function user_ip() {
   if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
     [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcodigophp.net%2Fcomo-detectar-la-ip-del-usuario-de-la-pagina-con-php%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcodigophp.net%2Fcomo-detectar-la-ip-del-usuario-de-la-pagina-con-php%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Nos es muy útil, en muchas ocasiones, almacenar la ip del visitante, por ejemplo cuando queremos controlar los mensajes de spam para bloquearles, almacenar la ip para un tracking de afiliados o para infinidad de cosas.<br />
Con esta pequeña función podemos obtenerla saltando los proxies.</p>
<pre class="brush: php;">
function user_ip() {
   if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
     $ip=$_SERVER['HTTP_CLIENT_IP'];
   } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
     $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
   } else {
     $ip=$_SERVER['REMOTE_ADDR'];
   }
   return( $ip );
}
</pre>
 <img src="http://codigophp.net/wp-content/plugins/feed-statistics.php?view=1&post_id=185" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://codigophp.net/como-detectar-la-ip-del-usuario-de-la-pagina-con-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evitar inyeccion de código en formularios en php</title>
		<link>http://codigophp.net/evitar-inyeccion-de-codigo-en-formularios-en-php/</link>
		<comments>http://codigophp.net/evitar-inyeccion-de-codigo-en-formularios-en-php/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 00:23:00 +0000</pubDate>
		<dc:creator>Amadeo Bolzano</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[inyección de código]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[snippet]]></category>

		<guid isPermaLink="false">http://codigophp.net/?p=183</guid>
		<description><![CDATA[
			
				
			
		
Uno de los peligros de implementar formularios en nuestros proyectos, formularios que pueda rellenar el público, como comentarios o mensajes de correo, es que se presta fácilmente a la inyección de código en función de su labor. Por ejemplo, si tenemos un formulario para añadir un comentario y cuando lo mostramos lo ejecutamos directamente puede [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcodigophp.net%2Fevitar-inyeccion-de-codigo-en-formularios-en-php%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcodigophp.net%2Fevitar-inyeccion-de-codigo-en-formularios-en-php%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Uno de los peligros de implementar formularios en nuestros proyectos, formularios que pueda rellenar el público, como comentarios o mensajes de correo, es que se presta fácilmente a la inyección de código en función de su labor. Por ejemplo, si tenemos un formulario para añadir un comentario y cuando lo mostramos lo ejecutamos directamente puede incluir código de javascript o php que robe información o estropee nuestro server.<br />
El siguiente código nos permite limitar este peligro limpiando la variable post, añadiendo barras de literal cuando sea necesario.</p>
<pre class="brush: php;">
$_POST = (get_magic_quotes_gpc() ? array_map('stripslashes', $_POST) : $_POST);
</pre>
 <img src="http://codigophp.net/wp-content/plugins/feed-statistics.php?view=1&post_id=183" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://codigophp.net/evitar-inyeccion-de-codigo-en-formularios-en-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redirección 301 genérica con www o sin www con htaccess</title>
		<link>http://codigophp.net/redireccion-301-generica-con-www-o-sin-www-con-htaccess/</link>
		<comments>http://codigophp.net/redireccion-301-generica-con-www-o-sin-www-con-htaccess/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 21:17:33 +0000</pubDate>
		<dc:creator>Amadeo Bolzano</dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[301]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://codigophp.net/?p=180</guid>
		<description><![CDATA[
			
				
			
		
Hay muchas situaciones en las que tenemos que decidir si poner las &#8220;www&#8221; o quitarlas del dominio. En ocasiones va en gusto, en otras por no perder links, en otras por estética, en otras por SEO, pero casi siempre terminamos poniéndolas a mano dominio por dominio.
Aquí traigo una forma de dejarlo para cualquier dominio con [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcodigophp.net%2Fredireccion-301-generica-con-www-o-sin-www-con-htaccess%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcodigophp.net%2Fredireccion-301-generica-con-www-o-sin-www-con-htaccess%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Hay muchas situaciones en las que tenemos que decidir si poner las &#8220;www&#8221; o quitarlas del dominio. En ocasiones va en gusto, en otras por no perder links, en otras por estética, en otras por SEO, pero casi siempre terminamos poniéndolas a mano dominio por dominio.<br />
Aquí traigo una forma de dejarlo para cualquier dominio con las www o sin ellas.</p>
<p>Siempre con www:</p>
<p>RewriteEngine On<br />
RewriteCond %{HTTP_HOST} !^www\.<br />
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]</p>
<p>En el caso de no querer poner las www</p>
<p>RewriteEngine On<br />
RewriteCond %{HTTP_HOST} ^www\.(.*)$<br />
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]</p>
 <img src="http://codigophp.net/wp-content/plugins/feed-statistics.php?view=1&post_id=180" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://codigophp.net/redireccion-301-generica-con-www-o-sin-www-con-htaccess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Formularios estilo inline en HTML y javascript</title>
		<link>http://codigophp.net/formularios-estilo-inline-en-html-y-javascript/</link>
		<comments>http://codigophp.net/formularios-estilo-inline-en-html-y-javascript/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 10:19:41 +0000</pubDate>
		<dc:creator>Amadeo Bolzano</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[blur]]></category>
		<category><![CDATA[focus]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://codigophp.net/?p=178</guid>
		<description><![CDATA[
			
				
			
		
En muchos formularios nos puede venid bien que tengan un formato inline al estilo del login de facebook, es decir, que el contenido del campo nos indique qué hay que introducir y cuando vayamos a ese campo eliminemos el contenido para que el usuario lo rellene. Con esto nos ahorraríamos poner &#8220;label&#8221; para cada campo.

&#60;input [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcodigophp.net%2Fformularios-estilo-inline-en-html-y-javascript%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcodigophp.net%2Fformularios-estilo-inline-en-html-y-javascript%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>En muchos formularios nos puede venid bien que tengan un formato inline al estilo del login de facebook, es decir, que el contenido del campo nos indique qué hay que introducir y cuando vayamos a ese campo eliminemos el contenido para que el usuario lo rellene. Con esto nos ahorraríamos poner &#8220;label&#8221; para cada campo.</p>
<pre class="brush: xml;">
&lt;input type=&quot;text&quot; name=&quot;mi_variable&quot;
     onfocus=&quot;if( this.value == 'etiqueta' ) { this.value = ''; }&quot;
     onblur=&quot;if( this.value == '' ) { this.value = 'etiqueta'; }&quot;
     value=&quot;etiqueta&quot; /&gt;
</pre>
<p>Siendo &#8216;etiqueta&#8217; el nombre del contenido. En el caso de las contraseñas se podría hacer igual pero solamente veríamos asteriscos, así que habría que cambiar el type también. Como añadido podríamos cambiar el color según es onfocus u onblur a través de this.style.color.<br />
Aquí va otro ejemplo:</p>
<pre class="brush: xml;">
&lt;input type=&quot;text&quot; name=&quot;Password&quot;
     onfocus=&quot;
       if( this.value == 'Password' ) {
          this.value = ''; // Borramos el contenido para dejarlo limpio para el usuario
          this.style.color = '#000000'; // Lo ponemos en negro
          this.type = 'password'; // Lo convertimos en password para que muestre asteriscos
       }&quot;
     onblur=&quot;
       if( this.value == '' ) {
          this.value = 'Password'; // Volvemos a ponerle el texto en caso de no haber añadido una password
          this.style.color = '#CCCCCC'; // Lo ponemos en gris
          this.type = 'text'; // Lo pasamos a texto si no ha introducido password
       }&quot;
     value=&quot;Password&quot; /&gt;
</pre>
 <img src="http://codigophp.net/wp-content/plugins/feed-statistics.php?view=1&post_id=178" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://codigophp.net/formularios-estilo-inline-en-html-y-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
